⽬录
⽬录
1.
if语句
2.
switch语句
3.
while循环
4.
for循环
5.
do-while循环
6.
break和continue语句
7.
循环的嵌套
8.
goto语句
C语言是结构化的程序设计语言,这里的结构指的是 顺序结构、选择结构、循环结构,C语言是能实现这三种结构,其实把我们日常生活中的事情给抽象化,都可以用着三种结构表达出来,例如太阳每天都循环的从东边升起从西边落下……;
1. if语句
if语句的语法形式如下:
if(表达式)
语句
表达式成立(为真),则执行if下面一条语句,表达式不成立(为假),则不执行
在C语⾔中,0为假,⾮0表⽰真,也就是表达式的结果如果是0,则语句不执⾏,表达式的结果不 是0,则语句执⾏。
#include<stdio.h>int mian(){int num=0;scanf("%d",&num);if(num%2==1//当这条语句成立 才会执行下一条语句printf("%d 是奇数\n"num);return 0;}
else
如果⼀个数不是奇数,那就是偶数了,如果任意⼀个整数,我们要清楚的判断是奇数还是偶数怎么表
⽰呢?
else是否则的意思,必须与if语句一起出现 他会与最近的if语句匹配;
这⾥就需要
if...else...
语句了,语法形式如下:
if(表达式)语句1else语句2
1.4
嵌套if
在
if else
语句中,
else
可以与另⼀个
if
语句连⽤,构成多重判断。
⽐如:要求输⼊⼀个整数,判断输⼊的整数是0,还是正数或者负数。请看如下代码:
#include<stdio.h>int main(){int i;scanf("%d "&num);if(num>=0){if(num==0){printf("输入的这个数字是0\n");}else if(num%2==0){printf("输入的这个数字是偶数\n");}else{printf("输入的这个数字是奇数\n");}}return 0;}
如果有多个
if
和
else
,可以记住这样⼀条规则,
else
总是跟最接近的
if
匹配。
2. switch语句
除了 if 语句外,C语⾔还提供了 switch 语句来实现分⽀结构。 switch 语句是⼀种特殊形式的 if...else 结构,⽤于判断条件有多个结果的情况。它把多重 的 else if 改成更易⽤、可读性更好的形式。
switch(xz)
{
case 1:语句1break;
case 2:语句2;break;
default :语句3;break;
}
如果xz与1匹配就执行语句1,如果此时case 1这个选项中没有break关键字 它就会继续执行下一条语句知道遇到break关键字才退出switch语句
switch 中的xz必须是整型表达式
case 后的值,必须是整型常量表达式
case 和后边的数字之间必须有空格
每⼀个
case
语句中的代码执⾏完成后,需要加上
break
,才能跳出这个switch语句
3. while循环
C语⾔提供了3种循环语句,
while
就是其中⼀种,接下来就介绍⼀下
while
语句。
while
语句的语法结构和
if
语句⾮常相似。
#include<stdio.h>if(表达式)语句;while(表达式)语句;//如果需要更多的语句就用大括号括起来,括起来的就是循环体
⾸先上来就是执⾏判断表达式,表达式的值为0,循环直接结束;表达式的值不为0,则执⾏循环语
句,语句执⾏完后再继续判断,是否进⾏下⼀次判断。
4. for循环
for
循环是三种循环中使⽤最多的,
for
循环的语法形式如下:
for(表达式1;表达式2;表达式3)语句//如果需要更多的语句就用大括号括起来,括起来的就是循环体
表达式1 ⽤于循环变量的初始化
表达式2 ⽤于循环结束条件的判断
表达式3 ⽤于循环变量的调整
![](https://i-blog.csdnimg.cn/blog_migrate/76e385bbdcd5d9f01a6eacb9162df387.png)
看以上程序 执行的顺序为;先执行语句1 ---->在判断语句2是否成立---->成立就会去执行语句4,否者直接退出该循环 走去执行循环语句的下一个指令---->执行完语句4再执行语句3---->在判断语句2是否成立成立就继续执行语句4,反之就退出该循环。
语句1:初始化
语句2:判断
语句3:调整
5. do-while循环
语法形式
在循环语句中
do while
语句的使⽤最少,它的语法如下:
do语句;while(表达式);
while
和
for
这两种循环都是先判断,条件如果满⾜就进⼊循环,执⾏循环语句,如果不满⾜就跳
出循环;
⽽
do while
循环则是先直接进⼊循环体,执⾏循环语句,然后再执⾏
while
后的判断表达式,表
达式为真,就会进⾏下⼀次,表达式为假,则不再继续循环。
6. break和continue语句
在循环执⾏的过程中,如果某些状况发⽣的时候,需要提前终⽌循环,这是⾮常常⻅的现象。C语⾔中
提供了
break
和
continue
两个关键字,就是应⽤到循环中的。
•
break
的作⽤是⽤于永久的终⽌循环,只要
break
被执⾏,直接就会跳出循环,继续往后执
⾏。
•
continue
的作⽤是跳过本次循环
continue
后边的代码,在
for
循环和
while
循环中有所
差异的。
举个例子:
break:
就相当余小学毕业了,以后不用写小学作业了,跳出来小学的这个循环
continue:
是今天小学运动会拿了第一名,班主任奖励你今天不用写作业
7. 循环的嵌套
前⾯学习了三种循环
while
,
do while
,
for
,这三种循环往往会嵌套在⼀起才能更好的解决
问题,就是我们所说的:循环嵌套,这⾥我们就看⼀个例⼦。
找出100~200之间的素数,并打印在屏幕上。
注:素数⼜称质数,只能被1和本⾝整除的数字。
#include<stdio.h>int main(){int i=0;//循环产生100-200之间的数for(i=100;i<=200;i++){//判断i是否位素数//循环产生20~i-1之间的数int j=0;int flag=1;//for(j=2;j<1;j++){if(i%j==0)flag=0;break;}if(flag==1)printf("%d ",i);}return 0;}
8. goto语句
C语⾔提供了⼀种⾮常特别的语法,就是
goto
语句和跳转标号,
goto
语句可以实现在同⼀个函数
内跳转到设置好的标号处。
例如:
#include<stdio.h>int main(){printf("hehe\n");goto next;//是跳到next标记点执行 不一定要去next 这个是自己命名的printf("haha\n");next://名字printf("跳过了haha的打印\n");return 0;}