初识C语言之循环控制篇——带你探索编程世界无限循环!

举报
王小王-123 发表于 2021/04/27 01:30:25 2021/04/27
【摘要】 目录 循环语句 while do ..... while while与do ....while比较 for循环语句 三种循环语句的比较 循环嵌套 循环嵌套实例 1.使用嵌套语句输出金字塔形状 2.打印乘法口诀表 转移语句 goto语句 break语句 continue语句 每文一语 循环语句 程序在运行时可以通过判断、检验条件作出选择。此处...

目录

循环语句

while

do ..... while

while与do ....while比较

for循环语句

三种循环语句的比较

循环嵌套

循环嵌套实例

1.使用嵌套语句输出金字塔形状

2.打印乘法口诀表

转移语句

goto语句

break语句

continue语句

每文一语


循环语句

程序在运行时可以通过判断、检验条件作出选择。此处,程序还必须能够重复,也就是反复执行一段指令,直到满足某个条件为止。例如,要计算一个公司的消费总额,就要将所有的消费加起来。

这种重复的过程就称为循环。C语言中有3种循环语句:whiledo-whilefor循环语句。循环结构是结构化程序设计的基本结构之一,因此熟练掌握循环结构是程序设计的基本要求。

while

举例:使用while为用户提供菜单显示。 

使用while为用户提供菜单显示效果 

do ..... while

使用while循环计算从1100的累加。

 

五个注意

while与do ....while比较

for循环语句

使用while循环计算从1100的累加。

省略表达式1


  
  1. int sum=0;
  2. int i=0; //将循环控制变量拿到循环语句外声明并赋初值
  3. for ( ;i<=10 ;i++)
  4. {
  5. sum+=i;
  6. }
  7. cout <<sum << endl;

省略表达式13


  
  1. int sum=0;
  2. int i=0; //赋初值
  3. for(; i<=10 ; )
  4. {
  5. sum+=i;
  6. i++; //改变循环变量
  7. }
  8. cout <<sum << endl;

  
  1. int sum=0;
  2. int i=0; //赋初值
  3. while(i<=10 )
  4. {
  5. sum+=i;
  6. i++; //改变循环变量
  7. }
  8. cout <<sum << endl;

三种循环语句的比较

前面介绍了3种可以执行循环操作的语句,这3种循环都可用来解决同一问题。一般情况下这三者可以相互代替。下面是对这3种循环语句在不同情况下的比较。

þwhile和do-while循环只在while后面指定循环条件,在循环体中应包含使循环趋于结束的语句(如i++或者i=i+1等);for循环可以在表达式3中包含使循环趋于结束的操作,可以设置将循环体中的操作全部放在表达式3中。因此for语句的功能更强,凡用while循环能完成的,用for循环都能实现。

 

þ用while和do-while循环时,循环变量初始化的操作应在while和do-while语句之前完成;而for语句可以在表达式1中实现循环变量的初始化。

þwhile循环、do-while循环和for循环,都可以用break语句跳出循环,用continue语句结束本次循环(break和coutinue语句将在本文后续内容中进行介绍)。

循环嵌套

循环嵌套实例

1.使用嵌套语句输出金字塔形状


  
  1. #include<stdio.h>
  2. int main()
  3. {
  4. int i, j, k; /*定义变量i,j,k为基本整型*/
  5. for (i = 1; i <= 5; i++) /*控制行数*/
  6. {
  7. for (j = 1; j <= 5-i; j++) /*空格数*/
  8. printf(" ");
  9. for (k = 1; k <= 2 *i - 1; k++) /*显示*号的数量*/
  10. printf("*");
  11. printf("\n");
  12. }
  13. return 0;
  14. }

2.打印乘法口诀表


  
  1. #include<stdio.h>
  2. int main()
  3. {
  4. int iRow, iColumn; /*iRow为行,iColum为列*/
  5. for (iRow = 1; iRow <= 9; iRow++) /*for循环iRow为乘法口诀表中的行数*/
  6. {
  7. for (iColumn = 1; iColumn <= iRow; iColumn++)/*根据iRow,iColum取值循环计算*/
  8. {
  9. printf("%d*%d=%d ", iRow,iColumn,iRow *iColumn); /*输出结果*/
  10. }
  11. printf("\n"); /*进行换行*/
  12. }
  13. return 0;
  14. }

转移语句

goto语句

goto语句为无条件转向语句,可以使程序立即跳转到函数内部的任意一条可执行语句。goto关键字后面带一个标识符,该标识符是同一个函数内某条语句的标号。标号可以出现在任何可执行语句的前面,并且以一个冒号“:”作为后缀。goto语句的一般形式为:

goto 标识符;

goto后的标识符就是要跳转的目标,当然这个标识符要在程序的其他位置给出,但是其标识符要在函数内部。函数的内容将会在后面章节进行介绍,在此对其简单了解即可。例如:

goto Show;

printf("the message before ShowMessage");

Show:

  printf("ShowMessage");

上述代码中,goto后的Show为跳转的标识符,而其后Show:代码表示goto语句要跳转的位置。这样在上面的语句中第一个printf函数不会执行,而会执行第二个printf函数。

break语句

有时会遇到这样的情况,不顾表达式检验的结果而强行终止循环,这时可以使用break语句。break语句终止并跳出循环,继续执行后面的代码。break语句的一般形式为:

break;

break语句不能用于循环语句和switch语句之外的任何其他语句中。例如在while循环语句中使用break语句:

while(1)

{

  printf("Break");

 

  break;

}

在代码中,虽然while语句是一个条件永远为真的循环,但是在其中使用break语句使得程序流程跳出循环。

continue语句

在某些情况下,程序需要返回到循环头部继续执行,而不是跳出循环。continue语句的一般形式是:

continue;

其作用就是结束本次循环,即跳过循环体中尚未执行的部分,接着执行下一次的循环操作

了解这些结构的使用方法,可以在程序功能上节约很多的时间,无须再一条一条进行操作。通过对3种循环语句的比较,可以了解到不同语句的使用区别,也可以发现三者的共同之处。最后介绍了有关转移语句的内容。学习转移语句使得程序设计更为灵活,使用continue语句可以结束本次循环操作而不终止整个循环,使用break语句可以结束整体循环过程,使用goto语句可以跳转到函数体内的任何位置。

每文一语

心动不是爱情,心定才是

文章来源: blog.csdn.net,作者:王小王-123,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/weixin_47723732/article/details/116175262

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。