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

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


目录

循环语句

while

do ..... while

while与do ....while比较

for循环语句

三种循环语句的比较

循环嵌套

循环嵌套实例

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

2.打印乘法口诀表

转移语句

goto语句

break语句

continue语句


循环语句

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

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

while

20210426220020583.png

20210426220041884.png

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

20210426220100291.png

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

20210426220107991.png

20210426220155902.png

20210426220229387.png

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

20210426220304123.png

五个注意

image.png

while与do ....while比较

20210426220423635.png

20210426220442239.png

for循环语句

20210426220552884.png

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

20210426220615777.png

20210426220639149.png

省略表达式1

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

省略表达式13

int sum=0;
int i=0;  //赋初值
for(; i<=10 ; )
{
  sum+=i;
  i++; //改变循环变量
}
cout <<sum << endl;
int sum=0;
int i=0;  //赋初值
while(i<=10 )
{
  sum+=i;
  i++; //改变循环变量
}
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语句将在本文后续内容中进行介绍)。


循环嵌套

20210426220920988.png

202104262209374.png

20210426221010907.png

循环嵌套实例

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

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

image.png

2.打印乘法口诀表

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

image.png

转移语句

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语句可以跳转到函数体内的任何位置。


相关文章
|
2月前
|
C语言
初识C语言2——分支语句和循环语句
初识C语言2——分支语句和循环语句
77 5
|
14天前
|
存储 编译器 C语言
【C语言】数据类型全解析:编程效率提升的秘诀
在C语言中,合理选择和使用数据类型是编程的关键。通过深入理解基本数据类型和派生数据类型,掌握类型限定符和扩展技巧,可以编写出高效、稳定、可维护的代码。无论是在普通应用还是嵌入式系统中,数据类型的合理使用都能显著提升程序的性能和可靠性。
36 8
|
17天前
|
C语言
C语言编程中,错误处理至关重要,能提升程序的健壮性和可靠性
C语言编程中,错误处理至关重要,能提升程序的健壮性和可靠性。本文探讨了C语言中的错误类型(如语法错误、运行时错误)、基本处理方法(如返回值、全局变量、自定义异常处理)、常见策略(如检查返回值、设置标志位、记录错误信息)及错误处理函数(如perror、strerror)。强调了不忽略错误、保持处理一致性及避免过度处理的重要性,并通过文件操作和网络编程实例展示了错误处理的应用。
50 4
|
3月前
|
安全 C语言
C语言循环的使用注意点
在C语言中,合理使用循环对于编写高效、安全的代码至关重要。以下是几点建议:确保循环条件正确以避免无限循环;每次迭代时正确更新循环变量;恰当使用`break`和`continue`控制执行流程;注意嵌套循环中的变量作用域;简化循环体内逻辑;根据需求选择合适的循环类型;注意数据类型以避免溢出;保持良好的缩进和注释习惯;减少重复计算以提升性能;确保循环终止条件明确。遵循这些建议,可以提高代码质量和可维护性。
228 88
|
2月前
|
C语言
【c语言】循环语句
循环结构是C语言中用于简化重复操作的重要工具,主要包括while循环、do-while循环和for循环。while循环是最基本的形式,通过不断检查条件来决定是否继续执行循环体。do-while循环则先执行循环体,再检查条件,至少执行一次。for循环逻辑更复杂,但使用频率最高,适合初始化、条件判断和更新变量的集中管理。此外,循环中还可以使用break和continue语句来控制循环的提前终止或跳过当前迭代。最后,循环可以嵌套使用,解决更复杂的问题,如查找特定范围内的素数。
46 6
|
2月前
|
NoSQL C语言 索引
十二个C语言新手编程时常犯的错误及解决方式
C语言初学者常遇错误包括语法错误、未初始化变量、数组越界、指针错误、函数声明与定义不匹配、忘记包含头文件、格式化字符串错误、忘记返回值、内存泄漏、逻辑错误、字符串未正确终止及递归无退出条件。解决方法涉及仔细检查代码、初始化变量、确保索引有效、正确使用指针与格式化字符串、包含必要头文件、使用调试工具跟踪逻辑、避免内存泄漏及确保递归有基准情况。利用调试器、编写注释及查阅资料也有助于提高编程效率。避免这些错误可使代码更稳定、高效。
394 12
|
2月前
|
Serverless C语言
C语言控制语句:分支、循环和转向
C语言控制语句:分支、循环和转向
|
2月前
|
算法 编译器 C语言
【C语言】实现猜数字游戏(分支语句与循环语句的运用)
【C语言】实现猜数字游戏(分支语句与循环语句的运用)
|
2月前
|
C语言
教你快速理解学习C语言的循环与分支
教你快速理解学习C语言的循环与分支
17 0
|
2月前
|
小程序 C语言
初识C语言:走近循环
初识C语言:走近循环