第七章:C语言循环
Posted 歌咏^0^
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第七章:C语言循环相关的知识,希望对你有一定的参考价值。
- goto语句与if构成的循环
- while
- do~while
- for
一、goto 语句: 无条件跳转语句
格式:
语句标号:(再要跳转到的位置添加)
goto 语句标号; //此时程序将会直接跳转到语句标号的地方开始执行
"语句标号":在C语言中,把一个名字(C标识符)与某一行的地址相关联。
格式为在一行的开始处定义一个名字,然后再加一个冒号
例:
loop:
n++;
goto loop;
作用:
(1)与if语句向上跳转构成循环结构
(2)向后跳转可以跳出多重循环体等语句
多用于跳出多层循环
注意:
1、goto本身没有任何问题,但是goto语句是无条件跳转语句,应用太灵活,会使程序的可读性变差,应限制使用。
2、goto语句只能够在函数内进行跳转,不可以跨越函数跳转。
3、goto语句一般用于代码出现异常时,直接goto跳转到异常处理的代码处。比如说多层循环嵌套执行时出现异常,则直接跳出。
二、while
流程: 表达式的值 --> 真 --> 执行循环体 --> 表达式的值 --> 假 --> 跳出循环
(1)
while(表达式)//表达式的值为真(非0)时,进入循环体;为假时,跳出循环体
{
循环体
}
(2)死循环
while(1)
{
循环体
}
等价于
while(1); //没有循环体
(3)如果循环体只有一条语句,可以使用下列格式:
while(1)
printf("11\\n");
编程建议:不管while后面有没有语句,请先写一个{},再到{}里面填内容
三、do{}while
do while循环的特点:无论判定条件是否为真,至少会执行一遍循环体
流程:执行一遍循环体--》判断表达式的值--》(非0)真--》再次执行循环体--》判断表达式的值--》假(0)--》跳出循环
(1)循环判定条件
do{
循环体;
}while(表达式); ---》注意:表达式后有一个分号 ;
(2)死循环
do{
}while(1);
四、for
(1)判定条件
for( 初始化语句表达式1; 判断语句表达式2; 循环操作语句表达式3)
{
循环体
}
流程:初始化语句 --> 判断条件 --> 真 --> 循环体 --> 循环操作 --> 判断条件 --> 假 --> 跳出循环
(2)死循环
for( ; ; );
或者
for( ; ; )
{
}
注意:
1、for循环中 的表达式123都可以为空,表达式2为空表示判断条件永远为真。while的表达式不能为空。
2、while循环与for循环的区别:一般来说,while更注重循环条件,for更注重循环次数。 当然它们是可以相互替换的。
五、循环的嵌套
int i,j,a=0;
for(i=0;i<5;i++)//外循环
{
for(j=0;j<4;j++)//内循环
{
printf("%d %d %d\\n",i,j,a++);
}
}
六、break关键字
1)break关键字只能用于循环(while for do...while)和switch语句中,表示结束循环或者跳出switch语句
2)break关键字只能跳出最近一层的循环,也就是说,如果有多重循环,只能跳出最靠近break语句那层循环
3)break关键字 不能 单独用于 if语句中,除非if语句外面包含了循环
七、continue关键字
1)continue关键字只能用于循环体中(while do...while for),用于提前结束当前这一次循环,重新执行下一次循环
2)continue关键字不能 单独用于 if语句或者switch 语句中,除非外面包含了循环
=====================================================================
#include <stdio.h>
int main()
{
float money = 0;
float k = 0;
int i = 0;
int ret = 0;
while(1)
{
printf("*************************************\\n");
printf("请输入小张的营业额\\n");
ret = scanf("%f", &money);
if(money < 0 || 0 == ret)
{
printf("输入错误,请重新输入\\n\\n");
while('\\n' != getchar());
sleep(1);
continue;
}
if(money < 10)
{
i = 1;
}
else if(money < 20)
{
i = 2;
}
else if(money < 40)
{
i = 3;
}
else if(money < 60)
{
i = 4;
}
else if(money < 100)
{
i = 5;
}
else
{
i = 6;
}
switch(i)
{
case 1: k = 0.1;
break;
case 2: k = 0.075;
break;
case 3: k = 0.05;
break;
case 4: k = 0.03;
break;
case 5: k = 0.015;
break;
case 6: k = 0.01;
break;
default:
break;
}
printf("他需要提交的加盟费为:%.3fw\\n\\n", k*money);
sleep(1);
}
return 0;
}
以上是关于第七章:C语言循环的主要内容,如果未能解决你的问题,请参考以下文章
c_cpp 这个简单的代码片段显示了如何使用有符号整数在C中完成插值。 for()循环确定要插入的范围
C++_第七章函数的基本知识_求阶乘的子函数_ 函数参数类型为数组_ 求数组内所有元素和部分元素和的方法_实现了先从键盘输入到一个数组中,再用for循环取读出数组中的元素 for循环也可以用bre(