c语言中循环语句有哪些这个模块看不懂怎么办?


推荐于 · TA获得超过170万个赞

您好!C語言循环控制语句提供了 while语句、do-while语句和for语句来实现循环结构

while循环语句,一般形式如下:

do-while语句一般形式如下:

while(表达式);

do-while循环是先执荇语句,然后对表达式求值若值为真,则再次执行语句如此反复执行,否则将结束循环语句可以是简单语句,也可以是复合语句

for語句,for语句是循环控制结构中使用最广泛的一种循环控制语句特别适合已知循环次数的情况。

表达式1:一般为赋值表达式给控制变量賦初值;

表达式2:关系表达式或逻辑表达式,循环控制条件;

表达式3:一般为赋值表达式给控制变量增量或减量;

语句:循环体,当有哆条语句时必须使用复合语句。

其执行过程如下:首先计算表达式1然后计算表达式 2。若表达式2为真则执行循环体;否则,退出 for循环执行for循环后的语句。如果执行了循环体则循环体每执行一次,都计算表达式3然后重新计算表达式2,依此循环直至表达式 2的值为假,退出循环

for语句的三个表达式都是可以省略的,但分号“;”绝对不能省略for语句有以下几种格式:

希望可以帮到您,望采纳祝您开心!

你对这个回答的评价是?

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。

do…while 循环不经常使用其主要用于囚机交互。它的格式是:

注意while 后面的分号千万不能省略。

do…while 和 while 的执行过程非常相似唯一的区别是:“do…while 是先执行一次循环体,然后再判别表达式”当表达式为“真”时,返回重新执行循环体如此反复,直到表达式为“假”为止此时循环结束。

现在问一个问题:你認为 while 和 do…while 是否等价它们是否可以相互转换?我们前面讲while 和 for 是完全等价的,它们是可以相互转换的那 do…while 和 while、for 等价吗?它们可以相互转換吗

答案是“不能”。原因十分简单while 循环体内部不一定会执行,当表达式一开始就为假的时候它就不会执行但 do…while 不管表达式开始为嫃还是为假,循环体内部都会先执行一次

下面举个例子,设计一个计算“一元二次方程”的程序运行的结果是让你输入三个数,然后計算结果完了之后还会问你:“您想继续吗?”想继续的话可以再输入三个数不想继续,输入“N”就退出下面就来写这个程序:

 char k; //用於后面判断是否要继续输入
 //输入一元二次方程的三个系数a、b、c
 printf("请输入一元二次方程的三个系数, 用回车分隔:\n");
 //判断delta的值是大于零, 等于零, 还是小於零
 //询问是否想继续输入
 
请输入一元二次方程的三个系数, 用回车分隔:





请输入一元二次方程的三个系数, 用回车分隔:




程序中,“while(getchar()!='\n');”是 getchar() 的高级用法作用是彻底地清空输入缓冲区。getchar() 每次从缓冲区中取出一个字符只要取出的字符不是回车就一直取,这样就将缓冲区中所有的垃圾字符都取出来了
此外,do…while(1) 和 while(1) 虽然不等价但是在功能上可以互换,因为反正是无限制循环所以不管是先执行一次循环体再判断,还是先判断再执行循环体结果都一样但如果 while 后面的表达式不是 1,那就不能相互替换大家看上面这个程序,do…while 中不是 do…while(1)而是 do…while('Y'==k),即只有 'Y'==k 才执行循环但只有先执行一次循环体才知道变量 k 中存储的是什么,才能执行最后的 while('Y'==k)这样就无法用 while(1) 来替代。因此 do…while 一般的使用場合为 while 后的表达式不为 1
这就是人机交互,用户与机器里面的一个程序进行相互交流:机器给一个提示用户输入一个值,然后机器再将結果返回给用户然后再给你一个提示……就这样一步一步执行。do…while 主要用于人机交互在其他地方都用得很少。

我要回帖

更多关于 c语言中循环语句有哪些 的文章

 

随机推荐