C语⾔重要知识点总结【6】:C语⾔9种控制语句(详解)
⽬录:
⼤⼀下学期学习了C语⾔、暑假在家没事⼜把C语⾔复习了⼀遍。因此,趁热打铁,把所学内容写成笔记,以便以后复习,也希望能够帮助⼤家学好C语⾔。
以下内容如有错误,请⼤家在评论区指正,谢谢⽀持,共同进步。 go、go、go
⼀、控制语句及其⽤处(表格)
控制语句,⽤于完成⼀定的控制功能。C语⾔ 只有 9种控制语句,它们的形式是:
共9个表现形式⽤处
1if()···或 if()···else···条件语句
2for()···循环语句
3while()···循环语句
4do···while()循环语句
5continue结束本次循环语句
6break中⽌执⾏ switch 或 循环语句
7switch多分⽀选择语句
8return从函数返回语句
9goto转向语句,在结构化的程序中基本不⽤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<stdio.h>
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");
}
return0;
}
运⾏结果:…………………………………………
程序:…………………………………………
②break语句在程序中的应⽤:
#include<stdio.h>
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");
return0;
}
运⾏结果:…………………………………………
③continue语句在程序中的应⽤:
程序:…………………………………………
#include<stdio.h>
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");
return0;
}
运⾏结果:…………………………………………
④ 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结构。
注意:
①根据程序要求 default 可要可不要
②case 后⾯的常量必须互不相同
下⾯我们看⼀个switch实例:
switch 语句(内含break语句)
题⽬:要求按照考试成绩的等级输出百分制分数段,A等为85分以上,B等为70 ~ 84分,C等为60 ~ 69,D等为60分以下。成绩等级由键盘输⼊。
switch语句:多分⽀选择语句
#include<stdio.h>
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;//输⼊数据不在范围内
}
return0;
}
执⾏结果…………………………
其它⽂章:
1.
2.
4. while 语句
while语句的⼀般形式如下:
while(表达式)语句
下⾯举⼀个简单的例⼦:
问题:求1+2+3+…+100
程序:………………………………
#include<stdio.h>
int main()
{
int i=1,s=0;
while(i<=100)
{
s=s+i;//累加求和
i++;
}
printf("s=%d\n",s,i);
return0;
}
执⾏结果…………………………
5. do()···while 语句
do()···while语句的⼀般形式:
do
语句
while(表达式);
【注意】while(表达式)后⾯要以 ; 结尾问题:求1+2+3+…+100
程序:……………………………………
#include<stdio.h>
while语句简单例子
int main()
{
int i=1,s=0;
do
{
s=s+i;//累加求和
i++;
}
while(i<=100);
printf("s=%d\n",s,i);
return0;
}
执⾏结果…………………………………
6. for 语句
for语句的⼀般形式为:
for(表达式1;表达式2;表达式3)
语句
问题:求1+2+3+…+100
程序:………………………………
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论