流程控制《2》switch
来源:互联网 发布:获取windows权限 编辑:程序博客网 时间:2024/05/28 20:19
#include <stdio.h>
/*
switch语句的结构:
switch (表达式) {
case 数值1或范围1:
代码段1
break; //break用来跳出整个switch语句块,如果某一个case下面没有出现break,那么会依次执行后续的每一个case下的代码,直到遇到第一个break,跳出switch
case 数值2或范围2:
代码段2
break;
...
default:
代码段n
[break;]
}
//switch语句块执行的流程是:首先根据switch后面的()里的表达式的值,依次和每个case标号后的数值进行比较,一旦和某个case后的值比较的结果相等,就会执行这个case标号下的语句,直到遇到break才跳出整个switch语句块。
*/
/*
switch和if的比较:
1,并不是所有情况下if都可以和switch互换的
2,当分支非常多时,建议使用switch
3,当无法确定一个有限范围时,只能用if
*/
int main()
{
/*
printf("请输入任意一个字符:\n");
char c;
scanf("%c", &c);
printf("请输入两个整数:\n");
int n1, n2;
scanf("%d%d", &n1, &n2);
switch (c) {
case '+':
printf("%d + %d = %d\n", n1, n2, n1+n2);
//break; //因为这里的break被注释起来了,所以程序会继续向下执行,在下一个case标号下面的代码中出现了break,才使得程序跳出了整个switch语句块
case '-':
printf("%d - %d = %d\n", n1, n2, n1-n2);
break;
case '*':
printf("%d * %d = %d\n", n1, n2, n1*n2);
break;
case '/':
printf("%d / %d = %d\n", n1, n2, n1/n2);
break;
default:
; //空语句可以解除default分支下没有任何代码带来的编译错误
}
*/
/*
switch (c) {
case 'a' ... 'z':
printf("小写字母!\n");
break;
case 'A' ... 'Z':
printf("大写字母!\n");
break;
case '0' ... '9':
printf("个位数字!\n");
break;
default:
printf("特殊字符!\n");
}
*/
/*
printf("请输入一个整数(1~12):\n");
int month;
scanf("%d", &month);
switch (month) {
//case 5 ... 3: //错误的,范围必须是从小到大的
case 3 ... 5:
printf("春季\n");
break;
case 6 ... 8:
printf("夏季\n");
break;
case 9 ... 10:
printf("秋季\n");
break;
case 12:
case 1:
case 2: //三个case用的是同一段代码,前两个case下面是不能有break的
printf("冬季\n");
break;
default:
printf("输入不合法!\n");
}
*/
/*
//if和switch不能互换的一个返利:
int a = 101;
switch (a) {
case a>100: //编译报错
printf("a > 100\n");
break;
}*/
return0;
}
#include <stdio.h>
int main()
{
int a =0;
switch (a) {
int x =10;//在swith下面case之前定义变量,并不会真正被赋值,因为switch执行的流程就决定了,这条代码会执行跳过
case0: {//在某一个case下面定义变量,需要明确的告诉编译器这个变量的作用范围,就是将这个case下面的代码段用{}包住。否则编译错误。
int b =20 + a;
printf("x = %d\n", x);//因为x的赋值操作并没有执行,所以打印出来的是一个垃圾数字。
break;
}
case2:
break;
}
return0;
}
- 流程控制《2》switch
- 【流程控制】 - switch
- JavaScript-流程控制switch
- 流程控制语句if/switch
- swift-控制流程03-switch
- C#编程--流程控制switch case
- js流程控制语句(switch语句)
- PHP流程控制if-else ,switch
- PHP中switch流程控制语句
- [学习笔记]if、switch 流程控制
- JAVA中的流程控制 if switch
- 流程控制语句:分支语句-switch
- JS:流程控制(if,switch)高级 + Switch Case中的经典
- java程序流程控制(if、switch、for)
- 第七讲 流程控制--if...else 和 switch...case
- 四.Python流程控制の(三)分支结构switch
- 程序流程控制 if switch while do while for
- C语言基础 选择结构 流程控制 If Switch
- 杭电1302 The Snail
- 流程控制《1》if
- OpenGL导入三维模型
- Win32控制台中使用定时器的方法
- swift学习 一 基础部分 (上)
- 流程控制《2》switch
- [leetcode] Largest Number
- Codeforces Round #285 (Div. 1)A. Misha and Forest(构造题)
- 流程控制《3》while
- 嵌套《1》
- 嵌套《2》
- Android_常见控件之DatePicker详解
- android sdk content loader 一直显示0% 问题解决办法
- 在scala中访问postgresql(使用sbt)