目录
2.例子:用while在屏幕上打印1~10,遇到5,停止打印。
一. C语言是一门结构化的程序设计语言。
支持三种结构:
顺序结构
选择(分支)结构:(if语句,switch语句)
循环结构:(for语句,while语句,do-while语句)
二.while语句
1.while语句的一般形式
while(表达式)语句;
或
while(表达式)
{
语句;
}
其中,表达式是循环条件,语句为循环体。
2.while语句的执行过程
可以用如下图表示,
首先计算表达式的值,如果表达式的值为“假”(表达式的值为0),则退出循环;如果表达式的值为“真”(非0),则执行循环体中的语句。执行后,再次计算表达式的值,重复如上,直至退出循环。
3.特殊情况下,循环条件为1时,整个循环变为死循环。
例如:
while(1)
{
语句;
}
循环体中可以是空语句,只有分号,不进行任何操作。
4.例1:在屏幕上打印1~10的值
例2:输入一个正整数,逆序打印这个整数的每一位
解题思路:当n=1234时
打印个位4为n%10,除去4为n/10,此时n=123;
打印个位3为n%10,除去3为n/10,此时n=12;
打印个位2为n%10,除去2为n/10,此时n=1;
打印个位1为n%10,除去1为n/10,此时n=0.
三.do-while语句
1.do-while语句的一般形式
do
{
语句
}
while(表达式);
2.do-while语句的执行过程
可以用如下图表示:
首先执行循环体中的语句序列,然后计算while后面的表达式,如果表达式的值为“假”(为0),则退出循环结构;如果表达式的值为“真”(非0),则继续执行循环体,执行后继续计算表达式的值,如此反复,直到为假。do-while语句先执行语句,后判断表达式的值。
3. 例1:打印1~10的值
例2:输入一个正整数,计算这个整数是几位数?
四.while和do-while语句的区别
while语句先判断表达式的值是否为真(非0)来决定进入循环体;
do-while语句先执行一次循环体,然后计算表达式的值。
因此,do-while循环体中的语句无论表达式的值是否为真(非0),至少都要执行一次。
五. for语句
for循环是三种循环中使用最多的
1.for语句的一般形式
for(表达式1;表达式2;表达式3)语句
其中:for是C语言的关键字;表达式1,表达式2,表达式3都用之间用“;”隔开。
表达式1:用于循环变量的初始化(只执行一次)
表达式2:用于循环结束条件的判断
表达式3:用于循环变量的调整
2.for语句的执行过程
可以用如下图表示:
(1)求解表达式1。
(2)求解表达式2,若值为真(非0),则执行for语句中指定的内嵌语句,然后执行下面第(3)步;若值为假(非0),则结束循环,转到第(5)步。
(3)求解表达式3。
(4)转回到第(2)步继续执行。
(5)循环结束,执行for语句下面的一个语句。
3. 例1:在屏幕上打印1~10的值
例2:计算1~100之间3的倍数的数字之和
六.break语句
在选择结构程序设计的switch语句中,break语句跳出switch结构的用法。实际上,break语句也可以用于从某循环体内跳出,即提前结束循环。
1.break语句的一般形式
if(表达式)
break;
2.例子:用while在屏幕上打印1~10,遇到5,停止打印。
打印结果如下:当i=5时,循环在break的地方终止,不再打印,不再循环。
七.continue语句
continue语句的作用是跳过循环体中剩余的语句而强制执行下一次循环。continue语句只用在for,while,do-while等循环体中,常与if条件语句一起使用,用来加速循环。
1.continue语句的一般形式
if(表达式)
continue;
2.continue语句在while和do-while循环中特别容易陷入死循环!!
八.循环的嵌套
循环嵌套是指在一个循环体内又包含另一个完整的循环结构,这与选择结构的嵌套类似。内嵌的循环体内还可以嵌套循环,构成多层循环。而在多层循环执行中,内层的优先级比外层的高,即只有等内层循环执行完后,才能进行外层循环的执行。
在C语言中,三种循环(while,do-while和for循环)都可以互相嵌套。如下面是几种比较常见的循环嵌套形式。
1.while循环嵌套while循环
while(表达式)
{
语句序列
while(表达式)
{
语句序列
}
}
2.while循环嵌套do-while循环
while(表达式)
{
语句序列
do
{
语句序列
}while(表达式);
}
3.do-while循环嵌套do-while循环
do
{
语句序列
do
{
语句序列
}while(表达式);
}while(表达式);
4.do-while循环嵌套for循环
do
{
语句序列
for(;;)
{
语句序列
}
}while(表达式);
5.for循环嵌套for嵌套
for( ;;)
{
语句序列
for( ; ;)
{
语句序列
}
}
6.for循环嵌套do-while循环
for( ;;)
{
语句序列
do
{
语句序列
}while(表达式);
}
7.例子:找出100~200之间的素数,并打印在屏幕上
注:素数又称质数,只能被1和本身整除的数字。
九.控制语句
用于控制程序的执行流程,以实现程序的各种结构方式(C语言中支持三种结构:顺序,选择,循环结构),它们由特定的语句定义符组成,C语言有九种控制语句。
1.条件判断语句
也叫分支语句(if语句,switch语句)
2.循环语句
(while语句,do-while语句,for语句)
3.转向语句
(break语句,continue语句,return语句,goto语句)
a.goto语句
goto语句可以实现在同一个函数内跳转到设置好的标号处。
例子
运行结果如下: