switch 语句:
1
|
一个 switch 语句允许测试一个变量等于多个值时的情况。每个值称为一个 case,且被测试的变量会对每个 switch case 进行检查。 |
注意事项:
- 在case每一行的语句或程序块后面要加上break;(否则程序将会把所有程序块从前到后运行一遍。
- default是可选的,如果上面的case中没有符合的才会选择default(属于备选情况),但是如果不加default则switch语句则不会做出任何响应。
语句形式:
…//其他语句
switch(表达式)
{
case 常量表达式1:语句或程序块1
case 常量表达式2:语句或程序块2
…
case 常量表达式n:语句或程序块n
default:语句或程序块n+1
}
…//其他语句
流程图:
示例:根据评级查分数区间:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
#include<stdio.h> int main() { char grade; printf ( "请输入你的成绩:" ); scanf ( "%c" ,&grade); switch (grade) { case 'A' : printf ( "你的成绩大于九十。\n" ); break ; case 'B' : printf ( "你的成绩在八十分到九十分之间。\n" ); break ; case 'C' : printf ( "你的成绩在七十分到八十分之间。\n" ); break ; case 'D' : printf ( "你的成绩在六十分到七十分之间。\n" ); break ; case 'E' : printf ( "你的成绩在六十分以下。\n" ); break ; default : printf ( "请输入正确的评级。\n" ); } return 0; } |
分支结构的嵌套:
1
|
套娃,一个if语句套一个if语句或者一个else语句套一个if语句。 |
注意事项:
- else总是与其最近的if匹配:无论是switch或if语句,一定要保持写花括号的习惯,否则容易出bug。
- 在if嵌套时,要加入getchar()来屏蔽回车键,防止在判断下一个表达式时,将回车键算作一个常量。
- 用if判断单个字符时要加单引号,比如例三。
语句形式:
…//其他语句
if(表达式)
{
if(表达式){
…}
else{
…
}
}
else{
…
}
…//其他语句
上方语句为简写形式,讲花括号的前者放到if后面也可以。
流程图:
示例:
例一:判断两个数的大小
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
#include<stdio.h> int main() { int a,b; printf ( "请输入两个数,以供于判断大小:" ); scanf ( "%d %d" ,&a,&b); if (a<b) { printf ( "%d<%d\n" ,a,b); } else { if (a==b) { printf ( "%d=%d\n" ,a,b); } else { printf ( "%d>%d\n" ,a,b); } } return 0; } |
例二:约小花出门玩:
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
|
#include<stdio.h> int main() { char israin,isfree; printf ( "是否有空?(Y/N)\n" ); scanf ( "%c" ,&isfree); if (isfree== 'Y' ) { printf ( "这就很好喽!\n" ); getchar (); //这里是用getchar()来频屏蔽回车键 printf ( "是否下雨?(Y/N)\n" ); scanf ( "%c" ,&israin); if (israin== 'Y' ) { printf ( "记得带伞哦!!!\n" ); } else { 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
19
20
21
22
23
24
25
26
|
#include<stdio.h> int main() { char a,b; printf ( "小花,你有男朋友吗?(Y/N)\n" ); scanf ( "%c" ,&a); if (a== 'Y' ) { printf ( "那你们在一起吧!\n" ); } else { getchar (); printf ( "做我女朋友好不好?(Y/N)\n" ); scanf ( "%c" ,&b); if (b== 'Y' ) { printf ( "oh Yeah!\n" ); } else { printf ( "啊这!!!\n" ); } } return 0; } |
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注服务器之家的更多内容!
原文链接:https://blog.csdn.net/HICKER_BOY/article/details/122515846