c语言for循环流程图中的for循环

C语言中简单的for循环和浮点型变量_Linux编程_Linux公社-Linux系统门户网站
你好,游客
C语言中简单的for循环和浮点型变量
来源:Linux社区&
作者:john
浮点型变量:常数中带有小数点的叫做浮点型
以下用for循环写一个摄氏度和华氏度的转换的C程序 【见 &】
[root@]# cat forxh.c& & & & & & & & & & & & & & & & & & & & & & & & & &
#include &stdio.h&& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & //宏定义main(){& && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & //声明一个浮点型的变量i& & printf("华氏温度& & & 摄氏温度\n");& & & & & & & & & & & & & & & & & & & & & & & & & //先打印一个华式温度和摄氏温度的对应标题& & for (i = 0.0; i &= 300.0; i = i + 20.0) {& & & & & & & & & & & & & & & & & & & & & & //开始for循环,先i=0,然后如果i&=300就执行循环体,i的值每次加20,直到i的值不满足i &= 300.0条件就推出& & & & printf("%3.1f\t=\t%3.1f\n", i, (5.0 / 9.0) * (i - 32.0));& & & & & & & & //直接调用打印函数,将表达式计算得结果后打印出来& & }}
首先说for循环for后边的圆扩弧中是循环的参数和条件
里边一共三段,由封号隔开,第一段
首先初始化变量的值,进入循环,第二段
循环的执行条件,如果过这个条件满足,则循环继续,如果不满组,则退出,第三部分
i = i + 20;
以上20是温度的步长,每次增加20,所有的运算符都开以再次处使用例如:
for (i = 512; i &=4; i = i / 2) {.....}
从以上代码看,float是一种变量类型,声明的变量值必须如n.n,也就是带有小数点的常数,也就是俗称的小数。
i是一个浮点型变量,它于int类型的值相运算,编译器自动会将int的值转换成float类型的值,例如一个浮点型的1.5和一个整形的3相加,编译器会自动将3转换成3.0,然后再和1.5相加
所以此处笔者直接全部用浮点型的常量来代替了
在for循环中的循环体只有一个printf函数:
printf("%3.1f\t=\t%3.1f\n", i, (5.0 / 9.0) * (i - 32.0));& 在C语言中按正常的运算顺序来计算print函数扩弧内的表达式,扩弧优先级最高,然后*号,最后printf将直接打印结果
这样的程序书写方式就比:
[root@]# cat sheshidu.c #include &stdio.h&main(){& & float i, S;& & float F_max, F_min,& & & & F_min = 0;& & F_max = 300;& & buchang = 20;& & & & i = F_& & printf("华氏温度& & & 摄氏温度\n");& & while ( i &= F_max) {& & & & S = 5 * ( i - 32 ) / 9;& & & & printf("%3.1f\t=\t%3.1f\n", i, S);& & & & i = i +& & }}
while循环的直观多了,易读性也高,变量也好组织!
然后下边在提一点常量的定义,看如下代码
[root@]# cat fhcl.c#include &stdio.h&#define MAX_VLAN 300.0& & & & & & & & & &
//符号常量定义#define MIN_VLAN 0.0& & & & & & & & & & & & &
#define BC_VLAN 20.0main(){& && & printf("华氏温度& & & 摄氏温度\n");& & for (i = MIN_VLAN; i &= MAX_VLAN; i = i + BC_VLAN) {& & & & & & & &
//从符号常量取值进行循环& & & & printf("%3.1f\t=\t%3.1f\n", i, (5.0 / 9.0) * (i - 32.0));& & }}
第一个for循环里虽然东西少,但是用了不少&幻量&这种幻量会给以后读程序的人造成很大的困扰,谁也不知的它是个神码值,只知道那是一个常量
如果用符号变量定义的话在开头定义好一个符号常量,然后下次读程序和改程序只要看这个个地方这个量前边的符号,即可知道它的含义,改成需只要改这一处即可,如果幻量的话就得逐个的查找替换了
定义方式是:
#define 符号& 常量& & & & & & & & //这种形式定义
一般将符号常量的定义放在头文件的下边和程序的开头部分!
相关阅读:
C语言变长数组之剖析
C语言需要注意的问题
C语言位域的使用及其注意点
相关资讯 & & &
& (10/01/:03)
& (10/23/:19)
& (08/10/:41)
图片资讯 & & &
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民??或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款在C语言中 三循环 是怎么循环怎么开始 for(i=0;i&3;i++) for(j=0;j&4;j++)for(k=0;k&5;k++)_百度知道
在C语言中 三循环 是怎么循环怎么开始 for(i=0;i&3;i++) for(j=0;j&4;j++)for(k=0;k&5;k++)
提问者采纳
以此类推,把k循环一遍
i=0j=3,j=0,把k循环一遍
for(k=0;4,j=1,懂了么,把k循环一遍
i=1,j=0;5,把k循环一遍;j&i&lt,现实i=0,把k循环一遍
i=1;k++)是分为三层的,把k循环一遍
i=0j=2;3,j=1;k&i++)
for(j=0for(i=0
提问者评价
按照你说的,真的成功了,好开心,谢谢你!
其他类似问题
i&以上三行共同完成使 j 增加1 cmp
dword ptr [j];跳到地址为4113B0处跳到地址为411398处0041138F0041139E mov
dword ptr [k],k&lt,jge为 jump if greater or equal 简写,5
main+68h (4113B8h)把 j 赋值为00041138D
main+48h (411398h)
,则代码为顺序执行
(mov为move简写;k++);把 i 赋值为0 jmp
main+30h (411380h)j&lt,则跳到地址为4113BC处
for(j=0;跳到地址为411377处004113BC ;开头有空白的行是C代码,1
0041137D mov
dword ptr [i];以上三行共同完成使 k 增加1 cmp
dword ptr [k];以上两行,dword ptr [j]
eax,jmp为jump简写;跳到地址为4113A7处 jmp
main+3Fh (41138Fh)
,04:若 j 不小于4,0
,则跳到地址为4113BA处
for(k=0。(均为英语) )
for(i=0,开头为数字(地址)的行是汇编代码(机器实际执行的过程);i++)0041136E mov
dword ptr [i];以上三行共同完成使 i 增加1 cmp
dword ptr [i],cmp为compare简写;j++) mov
dword ptr [j],则跳到地址为4113B8处 jmp
main+57h (4113A7h)跳到地址为41138F处004113BA jmp
main+27h (411377h)
0041139C jge
main+6Ah (4113BAh)把 k 赋值为0 jmp
main+60h (4113B0h)跳到地址为411380处 mov
eax:若 i 不小于3,以上两行;若无特殊交代;5,eax
:若 k 不小于5,0
004113AD mov
dword ptr [k];以上两行;3,dword ptr [k]
004113AA add
dword ptr [j],dword ptr [i]
0041137A add
main+6Ch (4113BCh)
目测反汇编一下就很清楚了……
按默认排序
其他2条回答
for(i=0;4;i&k&lt这个循环应该写成这样;j++)
for(k=0;k++)
}} 嵌套式的循环;i++){
for(j=0;3;5;j&lt
从内向外,先k,再j,最后i
c语言的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁您的位置: &
for循环语句在C语言中的应用
摘 要:循环结构是C语言结构化程序设计中的三种基本结构之一,具有极为重要地位。在实现循环操作语句while、do while和for语句中,for语句完全可以取代while等其它循环语句,因而应用最为广泛,使用最为灵活。
优质期刊推荐c语言中的for循环语句使用最为灵活,不仅可以用于循环次数已经确定的情况,而且可以用于循环次数不确定而只给出循环结束条件的情况,它完全可以代替while语句.for(表达式 1;表达式 2;表达式 3)语句它的执行过程如下:(1)先求表达式 1.(2)求表达式2,若其值为真(值为非0),则执行for语句中指定的内嵌语句,然后执行下面第三步 做若为
假(值为0),则结束循环,转到第5步.(3)求解表达式3(4)转回上面第(2)步骤继续执行;(5)结束循环,执行for语句下面的一个语句;for(循环变量赋初值;循环条件;循环变量增值)语句如
for(i=1;i&=100;i++)sum=sum+i;
它的执行相当于
i=1; while(i&=100){ sum=sum+i; i++; }
显然,用for语句更简单、方便。说明:(1)for语句的一般形式中的"表达式1"可以省略,此时应在for语句之前给循环变量赋初值.注意省略表达式1时,其后的分号不能省略.如for(;i&=100;i++){....};(2)如果表达式2省略 即不判断循环条件,循环无终止地循环下去,也就是认为表达式2始终为真.例如:for(i=1;;i++){.....};相当于
i=1; while(1) {sum=sum+1; i++; }
(3)表达式3也可以省略,但此时程序设计者应另外设法保证循环能正常结束.如:
for(i=1;i&=100;) {sum=sum+1; i++; }
这个例子的循环增量没有放在表达式三的位置 而是作为循环体的一部分 其效果是一样的.(4)可以省略表达式1和表达式3,只有表达式2 即只给循环条件.如
for(;i&=100;) { sum=sum+i; i++; } 这个相当于 whlie(i&=100) { sum=sum+i; i++; }
(5)三个表达式都可以省略,如:for(;;)语句相当于while(1)语句即不设初值 不判断条件(认为表达式2为真值)循环变量不增值,无终止的执行循环体.(6)表达式1也可以是设置循环变量初值的赋值表达式,也可以是与循环变量无关的其他表达式.如:
for(sum=0;i&=100;i++) { sum=sum+i; } for(sum=0,i=0;i&=100;i++) { sum=sum+i; }
阅读(...) 评论()在C语言中,怎样用for循环在给数组赋值!
在C语言中,怎样用for循环在给数组赋值!
int s[10];
for(int i=0;i&10;i++)
这个我会!#include"stdio.h"#define&&& N&&& 10main(){int i,j,t,a[N];printf("请输入10个整数:\n");for(i=0;i&=N;i++){&scanf("%d",a);}for(i=0;i&=N;i++){&if(a[i]&=a[i+1])&{j=a[i];a[i]=a[i+1];a[i]=j;}}printf("这十个数从大到小的顺序是:\n");for(i=0;i&=N;i++){&printf("%d\n",a);}}这个程序运行不起来,怎么回事??
scanf("%d",a);}
scanf应该是输入到数组元素而不是数组名
正确应该是scanf("%d",&a[i]);
{j=a[i];a[i]=a[i+1];a[i]=j;}
这个是交换a[i]和a[i+1]嘛? 第3句应该是a[i+1]=j;
据我所知a就等于&a[i]啊编译的时候也没有报错,这个是一个排序程序将十个数安从大到小排序。
据你所知也是错的。
a表示的是数组第一个元素的地址
你这么写编译器认为是是对的,但是你for一圈下来所有的元素都会写入第一个元素即a[0]里。后面所有的都是空
如果按你的思路的话这句话应该是scanf("%d",a+i);才对。
哦哦,但怎能让这个程序运行起来呢?
给你正确的源程序。你自己看吧
#include"stdio.h"#define&&& N&&& 10main(){&&& int i,j,t,a[N];&&& printf("请输入10个整数:\n");
&&& for(i=0;i&N;i++)&&& {&&&&&&& scanf("%d",a+i);&&& }
&&& for(i=0;i&N-1;i++){&&&&&&& for(j=i+1;j&N;j++){&&&&&&&&&&& if(a[i]&a[j])&&&&&&&&&&& {&&&&&&&&&&&&&&& t=a[i];a[i]=a[j];a[j]=t;&&&&&&&&&&& }&&&&&&& }&&& }
&&& printf("这十个数从大到小的顺序是:\n");&&& for(i=0;i&N;i++)&&& {&&&&&&& printf("%d\n",a[i]);&&& }&&& getch();}
的感言:不知道说什么,送你一朵小红花吧:)
其他回答 (2)
#define N 10...........int arr[N];for(i=0; i&N; i++){& & & arr[i] = 初始化的值;}....
#include"stdio.h"#define&&& N&&& 10main(){int i,j,t,a[N];printf("请输入10个整数:\n");for(i=0;i&=N;i++){&scanf("%d",a);}for(i=0;i&=N;i++){&if(a[i]&=a[i+1])&{j=a[i];a[i]=a[i+1];a[i]=j;}}printf("这十个数从大到小的顺序是:\n");for(i=0;i&=N;i++){&printf("%d\n",a);}}这个程序有错么?
举个例子
int
a[3];
for(int
i=0;i<3;i++)
{

printf(&请输入第%d个值&,i+1);

scanf(&%d&,a[i]);

}
//这样可以循环赋值了,如果要查看输入的值,重新写个循环输出就行了
相关知识等待您来回答
编程领域专家

我要回帖

更多关于 c语言中for循环 的文章

 

随机推荐