如果表达式A为 真 则 执行语句块1 ,执行完语句块1 再去判断表达式A的值,如果为真则继续 执行语句块1,执行完语句块1之后再去判断表达式A,如此反复,直到表达式A的结果变为假, 则跳出循环。
练习:
2)、计算从1加到100的和
while循环使用注意
1> 死循环:任何数值都真假性
while(-1) {
printf(“死循环\n”);
}
2> 、当一个变量与一个常量进行== 或 != 的时候, 通常把常量写在前面
int num = 3; while (3 == num) {
printf("num = %d\n",num);
num++; }
3> 、while 后如果只有一条语句它可以省略大括号
1)空语句它也是一条语句
2)while小阔号后面不可以直接写分号
int num = 0; while (num < 3); {
printf("num = %d\n",num);
num++; }
4> 、作用域:内部代码块中定义的变量不可以在外边 代码块中访问
while (1 < 3) { int a = 0;
}
printf("a = %d\n",a);
5> 、作用域紊乱
while (1 < 3) int num = 5;
2、do...while循环介绍及语法格式
基本格式:
do ... while循环的基本格式 do {
语句1; 语句2; ....
} while ( 条件 ); 直到型循环:先执行循环体,然后判断条件,直到条件为假就结束
2> 、do...while语句用法
1)do...while语句的语义是:
当执行到do-while循环时,首先会执行一遍循环体中的语句。接着判断while中的条件,如果条 件成立,就执行循环体中的语句。然后再次判断条件,重复上述过程,直到条件不成立就结束 while循环
2)do-while循环的特点:
不管while中的条件是否成立,循环体中的语句至少会被执行一遍
int i=0; do{
i++; } while(i<10);
3、do...while和while的对比
while是先判断在执行
例:
int i=10;
while(i<10){
i++;
}
结果是什么都不打印,最终i的值为10do-while 是先执行再判断例: int i=10;do{i++;}while(i<10); 打印的也是10,最终i=11两者的区别在于第一圈循环时,while是先判断循环条件,再循环.所以第一个程序什么都不打印.而do-while则是先执行后判断.所以,第二个程序先打印10,然后i++然后跳出循环.
4、for循环结构及执行过程1)、for循环的语法格式
一般形式:
for(表达式1;表达式2;表达式3) {
语句块A;}语句C;….
2)for循环执行过程
(1) 先求解表达式1。(2) 求解表达式2,若其值B2为真(值为非0),则执行for语句中指定的内嵌语句块A,然后执行下面第(3)步。若B2为假(值为0),则结束循环,执行语句C;(3) 求解表达式3。(4) 转回上面第(2)步骤继续执行。5、for循环的使用1)使用for循环,算出100-999之间的水仙花数(水仙花数指的是1个三位数. 各位数的立方和等于该数本身 那么这个数就是1个水仙花数)6、for循环的其他形式1)表达式省略(三个表达式都可以省略)如:for(; ;) 语句相当于while(1) 语句,即不设初值,不判断条件(认为表达式2为真值),循环变量不增值。无终止地执行循环体。2)多个非控制表达式类型表达式1和表达式3可以是一个简单的表达式,也可以是逗号表达式。如:for(sum=0,i=1;i<=100;i++) {sum=sum+i;}或for(i=0,j=100;i<=j;i++,j--) {
k=i+j;
}7、for循环的嵌套练习:使用for循环的嵌套模式打印9*9乘法表
8、break与continue用法:常用在do while、for、while循环语句中。break:可使程序终止循环二执行循环后面的语句,通常break语句总是与while语句联系在一起,既能满足条件时便跳出循环。continue语句的作用是跳过循环体中剩余的语句而继续下次用来加速循环。只用在for、while、do while等循环体中,常与if条件语句一起使用。continue练习:while循环for循环break练习:while循环for循环
思考1:计算r=1到r=10时的圆面积,直到面积area大于100为止。 打印 r和 area
思考2:
把1-100之间不能被3整除的数输出
注:在多层循环中,一个break语句只向外跳一层。
break语句对if—else的条件语句不起作用