C语言重要知识点总结【6】:C语言9种控制语句(详解)

C语言重要知识点总结【6】:C语言9种控制语句(详解)

1. if()···else··· 语句- 2. break语句 和 continue语句- 3. switch 语句- 4. while 语句- 5. do()···while 语句- 6. for 语句- 7. for、while、do···while() 语句对比- 8. goto 语句- 9. return 语句

大一下学期学习了C语言、暑假在家没事又把C语言复习了一遍。因此,趁热打铁,把所学内容写成笔记,以便以后复习,也希望能够帮助大家学好C语言。 以下内容如有错误,请大家在评论区指正,谢谢支持,共同进步。 go、go、go !!!

一、控制语句及其用处(表格)

控制语句,用于完成一定的控制功能。C语言 只有 9种控制语句,它们的形式是:

共9个

表现形式

用处

1

if()···或 if()···else···

条件语句

2

for()···

循环语句

3

while()···

循环语句

4

do···while()

循环语句

5

continue

结束本次循环语句

6

break

中止执行 switch 或 循环语句

7

switch

多分支选择语句

8

return

从函数返回语句

9

goto

转向语句,在结构化的程序中基本不用goto语句

在上边的9种语句表示形式中:

() 表示括号中是一个“判别条件” **···** 表示 内嵌的语句

二、控制语句详细表示(图片)

下面这张图片是《C程序设计》书附录中的一个片段,我个人感觉这张图片对9种控制语句概括的内容写得也很不错。

算是上边内容的一个补充吧:上边表格中的“判别条件”实际就是由表达式构成

三、9种控制语句(详解)

1. if()···else··· 语句

if(a>b)

max=a;

else

max=b;

x>y 是判别条件 max=a; 和 max=b;是语句,这两个语句内嵌在if···else语句中,这个if···else语句的作用是:先判别条件a>b是否成立,如果a>b成立,就执行内嵌语句max=a;,否则就执行内嵌语句max=b;

在选择结构中条件语句一共有3种形式:

①第一种:

if(表达式) 语句1 (没有else部分)

②第二种:

if(表达式1)

语句1

else

语句2

③第三种:

if(表达式) 语句1

else if(表达式) 语句2

else if(表达式) 语句3

······

else 语句 n

2. break语句 和 continue语句

在介绍break语句 和 continue语句在程序中作用之前我们先看一下下面3个简单的程序,我会在最后用图片总结出 break语句 和 continue语句的区别:

①题目:输出以下4X5矩阵 程序:…………………………………………

#include

int main()

{

int i,j,n=0;

for(i=1;i<=4;i++)

{

for(j=1;j<=5;j++)

{

printf("%d\t",i*j);

n=n+1;

if(n%5==0)

printf("\n");

}

printf("\n");

}

return 0;

}

运行结果:…………………………………………

程序:…………………………………………

②break语句在程序中的应用:

#include

int main()

{

int i,j,n=0;

for(i=1;i<=4;i++)

{

for(j=1;j<=5;j++,n++)

{

if(n%5==0)

printf("\n");

if(i==3 && j==1) break;

printf("%d\t",i*j);

}

}

printf("\n");

return 0;

}

运行结果:………………………………………… ③continue语句在程序中的应用:

程序:…………………………………………

#include

int main()

{

int i,j,n=0;

for(i=1;i<=4;i++)

{

for(j=1;j<=5;j++,n++)

{

if(n%5==0)

printf("\n");

if(i==3 && j==1) continue;

printf("%d\t",i*j);

}

}

printf("\n");

return 0;

}

运行结果:…………………………………………

④ break语句 和 continue语句对比

图中两个程序中的代码就红方框中不一样,其它代码完全相同,那么我们从中可以得到什么结论:

从上图的对比情况,可以很容易看出:

break 直接跳出 i=3(1<= j <=5)的 整个循环 continue 是只循环结束 j=1(i=3) 本次循环

continue 和 break语句在循环结构 for、while、do···while() 语句中用的都比较多。

但,continue语句一般只用于循环语句中;而break语句 不仅可以在循环语句中可以使用,在switch语句中也会经常使用到,在switch语句中的运用在后面对switch 语句百分制成绩中介绍。

3. switch 语句

switch语句的一般形式如下:

switch(表达式)

{

case 常量表达式1 : 语句1

case 常量表达式2 : 语句2

···

case 常量表达式n : 语句n

default : 语句n+1

}

前缀case 和 default 本身并不改变控制流程,它们之起标号作用,在执行上一个case后标志的语句后,继续顺序执行下一个case 前缀所标志的语句,除非上一个语句中最后用break语句是控制转出switch结构。

注意: ②case 后面的常量必须互不相同

下面我们看一个switch实例:

switch 语句(内含break语句)

题目:要求按照考试成绩的等级输出百分制分数段,A等为85分以上,B等为70 ~ 84分,C等为60 ~ 69,D等为60分以下。成绩等级由键盘输入。

switch语句:多分支选择语句

#include

int main()

{

char grade;

printf("输入等级:");

scanf("%c",&grade);

printf("成绩范围:"); //输入大写字母:A B C D

switch(grade)

{

case 'A':printf("85~100");break;

case 'B':printf("70~84");break;

case 'C':printf("60~69");break;

case 'D':printf("<60\n");break;

default: printf("enter data error!\n");break; //输入数据不在范围内

}

return 0;

}

执行结果…………………………

其它文章:

1. c语言百分制成绩转换的2种方法(switch语句或if语句) 2. 判断闰年的3种方法(判断+范围输出)

4. while 语句

while语句的一般形式如下:

while(表达式) 语句

下面举一个简单的例子:

问题:求1+2+3+…+100

程序:………………………………

#include

int main()

{

int i=1,s=0;

while(i<=100)

{

s=s+i; //累加求和

i++;

}

printf("s=%d\n",s,i);

return 0;

}

执行结果…………………………

5. do()···while 语句

do()···while语句的一般形式:

do

语句

while(表达式);

【注意】while(表达式)后面要以 ; 结尾

问题:求1+2+3+…+100

程序:……………………………………

#include

int main()

{

int i=1,s=0;

do

{

s=s+i; //累加求和

i++;

}

while(i<=100);

printf("s=%d\n",s,i);

return 0;

}

执行结果…………………………………

6. for 语句

for语句的一般形式为:

for(表达式1;表达式2;表达式3)

语句

问题:求1+2+3+…+100

程序:………………………………

#include

int main()

{

int i,sum=0;

for(i=1;i<=100;i++)

sum+=i; //累加求和

printf("sum=%d\n",sum);

return 0;

}

执行结果:………………………………

7. for、while、do···while() 语句对比

① for语句与while语句对比

3种循环都可以用来处理同一问题,一般情况下他们可以相互代替。而for语句在有关循环的问题中是最常用的,for语句更为灵活,不仅可以用于 循环次数已确定 的情况,还可以用于循环次数不确定而只给出循环条件的情况,它完全可以代替while语句。

for(表达式1;表达式2;表达式3)

语句

表达式1;

while(表达式2;)

{

语句

表达式3;

}

② while语句与do···while()语句对比

do···while()语句的执行过程:先执行一次循环体,然后再检查条件是否成立,若成立,在执行循环体。do···while()语句至少要执行一次循环体

while语句:先判断条件是否成立,若成立再执行循环体。

③ for、while、do···while() 三种循环语句可以处理很多复杂的问题,我们就不一一介绍了,如果你感觉对于上面的循环内容还没有看够,可以看一下下面几个关于循环的几个算法实例:

1. 素数(判断,统计,范围输出) 3. 水仙花数(输出全部水仙花数)

8. goto 语句

goto:转向语句,在结构化的程序中基本不用goto语句,在这里就不作介绍了。

9. return 语句

return:从函数返回语句

几乎我们写的每一个程序一般都要使用return语句,作用就是从函数返回语句。一个函数可以有一个以上的 return语句 ,执行到那个return语句,哪一个return语句起作用。return后面的括号可以不要:

即 return z; 与 return(z); 等价

return 0;

return z;

return(z);

函数的返回值是通过函数中的return语句获得的:

主函数main的返回值为 0 时表示程序正常退出 返回值为非零时,表示程序异常退出

最简单的程序(Hello world!及详解)

最后推荐文章:

C语言重要知识点总结【4】:C语言的32个关键字和9种控制语句- C语言重要知识点总结【7】:C语言中的常量、变量、标识符- C语言重要知识点总结【8】:C语言中变量的数据类型- C语言重要知识点总结【9】:C语言运算符(详解)

相见就是【猿分】

以上内容如有错误,请大家在评论区指正,谢谢支持,共同进步。 加油!!! 如果你感觉我写的内容对你有一定的帮助,请给我点一个 【赞】作为您对我的鼓励, 谢谢!!

💎 相关推荐

空气炸锅总排行榜
365bet特点

空气炸锅总排行榜

📅 07-07 👁️ 6410
巧用史诗之路玩转增幅 百级版本红字装指南
亚洲365bet网址

巧用史诗之路玩转增幅 百级版本红字装指南

📅 08-24 👁️ 5177
买血糖仪选哪个牌子好?推荐这10款,好用又准确
365平台官方版下载

买血糖仪选哪个牌子好?推荐这10款,好用又准确

📅 07-15 👁️ 1851