分支语句

[toc]
C语言是结构化的程序设计语言

  • 结构
    • 顺序结构
    • 选择结构
    • 循环结构

分支语句

  • if
  • switch

循环语句

  • while
  • for
  • do while

goto语句


语句:分号隔开

if else语句

0为假,非0为真

常规

1
2
3
4
5
6
7
8
9
10
11
12
13
14
int main()
{
int age = 20;
if (age>=18)
{
printf("成年老人实锤\n");
}
else
{
printf("快乐小屁孩\n");
}
//花括号作用是框住多条语句,让他们对应上面的语句if或者else的结果,一个{}就是一个代码块
return 0;
}

多种情况

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
int main()
{
int age = 79;
if age<=18
printf("小屁孩\n")
//else if (18 <= age <= 26)打不出来的!!!
//18<=age 判断为真就结束辣
else if (age>=18 && age<26)
printf("老大不小\n");
else if(age>=26 && age<40)
printf("年富力强\n");
else if(age>=40 && age<4=60)
printf("中流砥柱\n");
else if(age>=60 && age<80)
printf("老而不死\n");
return 0;
}

悬空else

else和离他最近的if匹配(就近原则)

1
2
3
4
5
6
7
8
9
10
11
int main()
{
int a = 0;
int b = 1
if (a == 1)
if (b == 2)
printf("扑街仔\n");
else
printf("靠北\n");
return 0;
}

奇丑无比!!!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int main()
{
int a = 0;
int b = 1

if (a == 1)
{
if (b == 2)
{
printf("扑街仔\n");
}
else
{
printf("靠北\n");
}
}
return 0;
}

顶级代码风格

高质量的C++编程

迷惑案例示意

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
//代码1
if (condition) {
return x;
}
return y;
//满足条件返回x就不再执行跳出函数,所以满足条件输出x,不满足输出y

//代码2
if(condition)
{
return x;
}
else
{
return y;
}
//满足条件输出x,不满足输出y

int main()
{
int num = 3;

if(5 == num)//这样写妙哉妙哉
printf("hehe\n");
return 0;
}

应用

1
2
3
4
5
6
7
8
9
10
11
12
//判断奇数偶数
int main()
{
int num = 0;
scanf("%d", &num);

if (num %2 == 1)
printf("奇数\n");
else
printf("偶数\n");
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
//输出1~100之间的奇数
int main()
{
int i = 1;
while i <100
{
if (i %2 == 1)
{
printf("%d ", i);
}
i++;
}
return 0;
}

switch语句

switch语句的格式

1
2
3
4
switch(整形表达式)
{
语句项
}

语句项则是
case 后接==整形表达式==

1
2
3
//一些case语句如下
case 整形表达式:
语句;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
int main()
{
int day = 0;
scanf("%d", &day);
//输入1,如果case后不加break,会从case1开始一直往下执行
//加上break才会运行完一个case就跳出
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;
default:
printf("你输错辣!");
}
return 0;
}
  • 编程好习惯
    ==在最后一个case后面加上一条break==