本文重点学习分支语句和循环语句
if |
switch |
while |
for |
do while |
什么是语句?
c语言中由一个分号;隔开的就是一条语句。比如:
printf("语言"); |
分支语句(选择结构)
如果好好学习,校招时就可以拿一个好offer。
如果不学习,毕业就等于失业,无可事事。
这就是选择!
if语句
那if语句的语法结构是怎样的呢?
语法结构:
1.if (表达式)
语句;
2.if (表达式)
语句1;
else
语句2;
//多分支
if (表达式1)
语句1;
else if (表达式2)
语句2;
else
语句3;
#include <stdio.h>
int main()
{
int weight = 70;
if (weight >=65)
printf("微胖\n");
else
printf("正常\n");
return 0;
}
注意:if 和 else默认只控制一条语句,如果需要控制多条语句,需加 {}。
#include <stdio.h>
int main()
{
int weight = 80;
if (weight < 45)
printf("过瘦\n");
else if (weight >= 45 && weight < 70)
printf("正常体重\n");
else if (weight >= 70 && weight < 80)
printf("过重\n");
else
printf("肥胖");
return 0;
}
注意:&&在C语言中是"且" 的意思
测试一个数是否为奇数
#include <stdio.h>
int main()
{
int num = 21;
if (num % 2 == 1)
printf("奇数\n");
return 0;
}
switch语句
switch语句也是一种分支语句,常常用于多种分支的情况
比如:
输入1,输出第一名
输入2,输出第二名
输入3,输出第三名
没写成if .... else else......if的形式太复杂,那我们就得有不一样的语法形式,这就是switch语句。
#include <stdio.h>
int main()
{
int number = 0;
scanf ("%d",&number);
switch (number)
{
case 1 :
printf("第一名\n");
break;
case 2 :
printf("第二名\n");
break;
case 3 :
printf("第三名\n");
break;
}
return 0;
}
switch语句写法
switch (整型表达式)
{
语句项;
}
而语句项是什么呢?
//是一些case语句
//如下
case 整型常量表达式;
语句项;
switch语句中的break(跳出一个分支)
在switch语句中,没办法实现直接分支,必须搭配break使用才能实现真正的分支
循环语句
while
for
do while
while语句
语法结构
while (表达式)
循环语句;
表达式语句若为真(非0),则循环语句执行,反之不执行
用while语句打印1-10
#include <stdio.h>
int main()
{
int i = 1;
while (i <= 10)
{
printf("%d ", i);
i ++;
}
return 0;
}
输出结果便为:1 2 3 4 5 6 7 8 9 10;
break
在while语句中,break用于永久的终止语句
#include <stdio.h>
int main
{
int i = 1;
while (i <= 10)
{
if(i == 5)
break;
printf("%d ", i);
i ++;
}
return 0;
}
加入break后,输出值变为:1 2 3 4 5(因为当 i == 5 时,直接跳出循环)
continue
#include <stdio.h>
int main
{
int i = 1;
while (i <= 10)
{
if(i == 5)
continue;
printf("%d ", i);
i ++;
}
return 0;
}
跳过本次循环continue后面的部分,直接去判断部分,看要不要进行下一次循环。
输出值就为 1 2 3 4 死循环
在while循环中,break用于永久的终止循环
在while循环中,continue的作用是直接跳过本次循环continue后边的代码,直接去判断部分,看是否进行下一次循环
清理缓冲区的内容
#include <stdio.h>
int main()
{
int tmp = 0;
while((tmp = getchar()) != '\n')
{
;
}
return 0;
}