1.分支语句
- if
- switch
- 语法结构
if(表达式)
语句;
else
语句;
if(表达式)
语句一;
else if(表达式二)
语句二;
else
语句三;//多分支
2.代码展示
#include<stdio.h>
int main()
{
int score=0;
scanf("%d",&score);
if(score>90)
{
printf("优秀\n");
}
else if(score>80)
{
printf("良好\n");
}
else if(score>70)
{
printf("中等\n");
}
else if(score>600)
{
printf("及格\n");
}
else
{
printf("不及格");
}
}
注意:
- if和else后一定要加花括号,这是一种良好的编程习惯。
- 分支语句只会进行一个语句,从上往下,满足条件则执行语句,之后分支不再进行。
- 把使用频率最高的写在第一个分支,减少判定。
- else 永远和最近的if及语句结合。
- 如下两个代码段:
int n=1;
if(n==5)
{
printf("haha\n");
}
int n=5;
if(5==n)
{
printf("haha\n");
}
- 推荐使用第二个代码段,防止写程序时把==写成=,便于更好的修改程序中的错误。
switch语句
switch(整型表达式)//只能进行整型判断
{
语句项;
}
//一些case语句
case 整型常量表达式
语句;
一. break
在switch语句中,我们没办法实现直接分支,搭配break才能真正实现。
比如:
#include<stdio.h>
int main()
{
int day=0;
switch(day)
{
case 1:
printf("星期一\n");
break;
case 2:
printf("星期二\n");
break;
case 3:
printf("星期三\n");
break;
case 4:
printf("星期四\n");
break;
case 5:
printf("星期五\n");
break;
case 6:
printf("星期六\n");
break;
case 7:
printf("星期天\n");
break;
}
return 0;
}
又或者如下:
#include<stdio.h>
int main()
{
int day=0;
switch(day)
{
case 1:
case 2:
case 3:
case 4:
case 5:
printf("周内\n");
break;
case 6:
case 7:
printf("周末\n");
break;
}
return 0;
}
同时,要是都不满足,则需要一个defacult子句;和case一样,都需要加break。
每一个switch语句中放一个default子句是一个好习惯。
练习
输出m,n的值
#include<stdio.h>
int main()
{
int n=1;
int m=2;
switch(n)
{
case 1:
m++; // m=3,n=1
case 2:
n++; //n=2,m=3
case 3:
switch(n)
{
case 1:
n++;
case 2:
m++; //m=4
n++; //n=3
break;
}
case 4:
m++; //m=5
break;
defaut:
break;
}
printf("m=%d,n=%d",m,n);
return 0;
}
-
小结
-
if(0){ 代码块}相当于注释
-
scanf在vs中使用不安全,有两种解决方案:
#pragma warning(disable:4996)
#define +宏
3.c语言没有布尔类型(bool) -
三种注释的办法:
-
//
-
/* */
-
if(0){ }