上QQ阅读APP看书,第一时间看更新
7.3.3 do…while语句
do…while语句可以在指定条件为真时不断执行一个语句块。do…while语句会在每次循环结束后检测条件,而不像for语句或while语句那样在开始前进行检测。使用do…while语句的格式如下。
do 语句 while(表达式);
上述格式与while循环的不同点在于,do…while先执行循环中的语句,然后再判断表达式是否为真,如果为真则继续循环;如果为假,则终止循环。所以do…while循环至少要执行一次循环语句。其执行过程如图7-18所示。
图7-18 do…while语句的执行过程
通过如下代码也可以计算整数1~100的和。
int main(void) { int i, sum=0; i=1; do { sum=sum+i; i++; } while(i<=100) printf("%d\n", sum); }
在使用do…while语句时,它除了有和while循环相同的注意事项之外,还需要注意如下两点。
(1)do…while先执行循环体中的语句,然后再判断条件是否为真,如果为真则继续循环;如果为假,则终止循环。
(2)while语句后面必须有一个分号。
实例7-8
猜数游戏
源码路径daima\7\7-8
本实例的功能是预先设置一个数字,然后提示用户去猜,并根据用户猜的数字输出对应的提示。本实例的实现文件为“dowhile.c”,具体实现代码如下。
#include<stdio.h> int main(void){ int number=5, guess; //设置正确的数字是5 printf ("guess a Digit 1-10 \n"); do { printf("num:"); scanf("%d", &guess); if (guess > number) //如果大于5 printf("smalle\n"); //提示小一点 else if (guess < number) //如果小于5 printf("big\n"); //提示大一点 } while (guess ! = number); printf("right! is%d\n", number); }
拓展范例及视频二维码
范例7-8-01:加密和解密
源码路径:演练范例\7-8-01\
范例7-8-02:逆序输出整数
源码路径:演练范例\7-8-02\
程序执行后先在界面中提示用户输入1~10的1个数字,输入1个数字并按Enter键后将在界面中显示对应的提示,如图7-19所示。
图7-19 执行效果