表达式1,是初始化条件,如i=0。
表达式2,循环条件,满足就继续执行循环体,不满足就跳出循环。
表达式3,这个一般是改变循环条件的地方,如i++。
参考代码:
#include<stdio.h>
int main()//for循环计算1到10累加和
{
int i,sum=0
for (i=0i<=10i++)
sum+=i
printf("%d\n",sum)
return 0
}
/*
运行结果:
55
*/
②while(表达式){循环体}
表达式的值为真(非0)时,
执行循环体语句。
参考代码:
#include<stdio.h>
int main()//while循环计算1到10累加和
{
int i,sum=0
while(i<=10) {
sum+=i
i++
}
printf("%d\n",sum)
return 0
}
/*
运行结果:
55
*/
③ do{循环体} while(表达式);
先执行循环中的语句,然后再判断表达式是否为真,
如果为真则继续循环;否则,
则终止循环。
参考代码:
#include<stdio.h>
int main()//do……while循环计算1到10累加和
{
int i,sum=0
do{
sum+=i
i++
} while(i<=10)
printf("%d\n",sum)
return 0
}
/*
运行结果:
55
*/
在C语言中循环可分为3中,while循环、do - while循环、for 循环。
while即:首先检查启动循环的条件是否满足,当条件满足时,不断地重复循环体内的语句,直到不满足条件就退出。
do while即:进入do while前不做检查,而是在执行完一轮循环后再来检查循环的条件是否满足,如果满足则继续下一轮循环,不满足则结束循环。
while循环和do while循环的区别:while循环是先判断条件,do while循环是在执行了一轮循环后再来判断条件,无论条件是否满足do while都至少会被执行一轮,而while循环是条件满足执行,不满足结束循环。
for循环类似一个计数循环,设定一个计数器,初始化它,然后在计数器到达某值之前重复执行循环体,同时每执行一轮循环,计数器值以一定步进进行调整。
循环语句一般用来解决需要重复执行某些语句的问题。
例1:画矩形,输入一行,包括四个参数:前两个参数为整数,依次代表矩形的高和宽(高不少于3行不多于10行,宽不少于5列不多于10列);第三个参数是一个字符,表示用来画图的矩形符号;第四个参数为1或0,0代表空心,1代表实心。输出画出的图形。
矩形的高和宽是已知的,那么输出行和列时,需要循环的次数就是已知的,可以用for语句来控制行和列的输出。
例2:余数相同问题,已知三个正整数a,b,c。现有一个大于1的整数x,将其作为除数分别除a,b,c,得到的余数相同。
语句内容如下:
# include <stdio.h >
Voidmain()
{
Int[100].
Ints=0,I,num,Max,min,av;
Printf("enternumberofstudents:");
Thescanf("%d",num);
Printf("inputfraction\n");
(I = 0The <num+ +)
{printf("%d:",I+1);
Scanf("%d",and[I]);}
(I = 0The <num+ +)
Printf("%4d",[I]);
Printf("\n");
Max=[0];
Min=[0];
(I = 0The <num+ +)
S=s+[I];
Av=s/10;
(I = 0The <num+ +)
{if ([I]>Max) Max =[I]
If ([I]<min) minutes =[I]
}
Printf("Max=%d,min=%d,assertion=%d\n",Max,min,av);
}
goto语句的争论
在20世纪60年代末和70年代初,关于 goto 语句的用法的争论比较激烈。主张从高级程序语言中去掉 goto 语句的人认为,goto 语句是对程序结构影响最大的一种有害的语句,他们的主要理由是: goto 语句使程序的静态结构和动态结构不一致,从而使程序难以理解,难以查错。
去掉 goto 语句后,可直接从程序结构上反映程序运行的过程。这样,不仅使程序结构清晰,便于理解,便于查错,而且也有利于程序的正确性证明。
持反对意见的人认为, goto 语句使用起来比较灵活,而且有些情形能提高程序的效率。若完全删去 goto 语句,有些情形反而会使程序过于复杂,增加一些不必要的计算量。