大一下学期学习了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<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");
}
return 0;
}
运行结果:…………………………………………
程序:…………………………………………
②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");
return 0;
}
运行结果:…………………………………………
③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");
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结构。
注意:
①根据程序要求 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; //输入数据不在范围内
}
return 0;
}
执行结果…………………………
其它文章:
1.
c语言百分制成绩转换的2种方法(switch语句或if语句)
2.
判断闰年的3种方法(判断+范围输出)
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);
return 0;
}
执行结果…………………………
5. do()···while 语句
do()···while语句的一般形式:
do
语句
while(表达式);
【注意】while(表达式)后面要以 ;
结尾
问题:求1+2+3+…+100
程序:……………………………………
#include<stdio.h>
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<stdio.h>
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.
素数(判断,统计,范围输出)
2.
完数 (判断、范围输出)
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 时表示程序正常退出
返回值为非零时,表示程序异常退出
最后推荐文章:
以上内容如有错误,请大家在评论区指正,谢谢支持,共同进步。 加油!!!
如果你感觉我写的内容对你有一定的帮助,请给我点一个 【赞】作为您对我的鼓励, 谢谢!!
转载:https://blog.csdn.net/weixin_46022083/article/details/107993677