C语言Switch分支语句yjh
- 格式:ppt
- 大小:404.00 KB
- 文档页数:21
c语言中switch使用方法C语言中的switch语句是一种用于多分支选择的控制语句,它可以根据变量的不同值,执行相应的代码块。
本文将详细介绍switch语句的使用方法。
1. 语法结构switch语句的基本语法结构如下:```switch (表达式) {case 值1:代码块1;break;case 值2:代码块2;break;...default:默认代码块;}```其中,表达式的值将与各个case后的值进行比较,如果匹配成功,则执行相应的代码块。
如果没有任何匹配项,将执行default后的代码块。
2. 值的类型在switch语句中,表达式的类型可以是整型、字符型、枚举型或者指向枚举类型的指针。
每个case后的值也必须是与表达式类型相同的常量表达式。
3. 执行流程当程序执行到switch语句时,首先计算表达式的值。
然后,依次与各个case后的值进行比较,如果找到匹配项,则执行相应的代码块。
在执行完代码块后,使用break语句跳出switch语句,防止继续执行其他case后的代码块。
如果没有找到匹配项,则执行default 后的代码块。
4. 注意事项- 在case后的值必须是常量,不能是变量或表达式。
- 每个case后的代码块可以包含多条语句,但需要用花括号括起来。
- 如果在某个case后没有使用break语句,程序将会继续执行后面的case代码块,直到遇到break或switch语句结束。
- default后的代码块是可选的,如果没有匹配项,将执行default 后的代码块。
- switch语句可以嵌套,即在case后的代码块中继续使用switch 语句。
下面通过一个简单的例子来说明switch语句的使用方法:```c#include <stdio.h>int main() {int num;printf("请输入一个数字:");scanf("%d", &num);switch (num) {case 1:printf("你输入的是1\n");break;case 2:printf("你输入的是2\n");break;case 3:printf("你输入的是3\n");break;default:printf("你输入的不是1、2、3\n");}return 0;}```在上述代码中,先通过scanf函数获取用户输入的数字,并将其赋值给变量num。
c语言中switch的用法c语言中switch的用法的用法你知道吗?下面小编就跟你们详细介绍下c语言中switch的用法的用法,希望对你们有用。
c语言中switch的用法的用法如下:C语言还提供了另一种用于多分支选择的switch语句,其一般形式为:switch(表达式){case 常量表达式1: 语句1;case 常量表达式2: 语句2;…case 常量表达式n: 语句n;default: 语句n+1;}其语义是:计算表达式的值。
并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时,即执行其后的语句,然后不再进行判断,继续执行后面所有case后的语句。
如表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。
【例4-9】01.#include <stdio.h>02.int main(void){03. int a;04. printf("input integer number: ");05. scanf("%d",&a);06. switch (a){07. case 1:printf("Monday\n");08. case 2:printf("Tuesday\n");09. case 3:printf("Wednesday\n");10. case 4:printf("Thursday\n");11. case 5:printf("Friday\n");12. case 6:printf("Saturday\n");13. case 7:printf("Sunday\n");14. default:printf("error\n");15. }16. return 0;17.}本程序是要求输入一个数字,输出一个英文单词。
switch语句是多分支选择语句,用来实现多分支选择结构。
它的一般形式如下:switch(表达式){case 常量表达式1:语句1case 常量表达式2:语句2...case 常量表达式n:语句ndefault:语句n+1}例如,要求按照考试成绩的等级打印出百分制分数段,可以用switch语句实现:.switch(grade).{.case 'A': cout<<"85~100\n";.case 'B': cout<<"70~84\n";.case 'C': cout<<"60~69\n";.case 'D': cout<<"<60\n";.default: cout<<"error\n";.}说明:1) switch后面括号内的“表达式”,允许为任何类型。
2) 当switch表达式的值与某一个case子句中的常量表达式的值相匹配时,就执行此case子句中的内嵌语句,若所有的case子句中的常量表达式的值都不能与switch表达式的值匹配,就执行default子句的内嵌语句。
3) 每一个case表达式的值必须互不相同,否则就会出现互相矛盾的现象(对表达式的同一个值,有两种或多种执行方案)。
4) 各个case和default的出现次序不影响执行结果。
例如,可以先出现“default:…”,再出现“case 'D':…”,然后是“case 'A':…”。
5) 执行完一个case子句后,流程控制转移到下一个case子句继续执行。
“case常量表达式”只是起语句标号作用,并不是在该处进行条件判断。
在执行switch语句时,根据switch表达式的值找到与之匹配的case子句,就从此case子句开始执行下去,不再进行判断。
c语言中switch的用法c语言中switch的用法的用法你知道吗?下面就跟你们详细介绍下c语言中switch的用法的用法,希望对你们有用。
c语言中switch的用法的用法如下:C语言还提供了另一种用于多分支选择的switch语句,其一般形式为:switch(表达式){case 常量表达式1: 语句1;case 常量表达式2: 语句2;…case 常量表达式n: 语句n;default: 语句n+1;}其语义是:计算表达式的值。
并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时,即执行其后的语句,然后不再进行判断,继续执行后面所有case后的语句。
如表达式的值与所有case后的常量表达式均不相同时,则执行default 后的语句。
【例4-9】01.#include <stdio.h>02.int main(void){03.int a;04.printf("input integer number:");05.scanf("%d",&a);06.switch (a){07.case 1:printf("Monday\n");08.case 2:printf("Tuesday\n");09.case 3:printf("Wednesday\n");10.case 4:printf("Thursday\n");11.case 5:printf("Friday\n");12.case 6:printf("Saturday\n");13.case 7:printf("Sunday\n");14.default:printf("error\n");15.}16.return 0;17.}本程序是要求输入一个数字,输出一个英文单词。
C语言中switch语句的用法总结一、switch语句的基本概念switch语句是一种多分支选择语句,它可以根据一个表达式的值,选择执行不同的代码块。
switch语句的一般形式如下:switch (expression) {case constant-expression1 :statement(s);break; /* 可选的 */case constant-expression2 :statement(s);break; /* 可选的 *//* 您可以有任意数量的 case 语句 */default:/* 可选的 */statement(s);}其中,expression是一个整型或枚举类型的表达式,它的值会与每个case后面的常量表达式进行比较,如果相等,则执行该case后面的语句,直到遇到break语句或switch语句结束为止。
如果没有任何一个case匹配,则执行default后面的语句,如果没有default,则不执行任何语句。
二、switch语句的使用规则在使用switch语句时,需要注意以下几个规则:switch语句中的expression必须是一个整型或枚举类型的表达式,不能是浮点型、字符串型或布尔型。
case后面的constant-expression必须是一个常量或字面量,不能是变量或表达式,且必须与expression具有相同的数据类型。
case后面的常量表达式不能重复,否则会导致编译错误。
case和default只起标号的作用,它们本身不控制程序流程,只有break语句才能跳出switch语句。
不是每一个case都需要包含break语句,如果没有break语句,则程序会继续执行后续的case,直到遇到break为止,这称为case穿透现象。
default可以省略,也可以放在任何位置,但建议放在最后,以便处理其他情况。
三、switch语句的优缺点switch语句相比于if-else语句,有以下几个优点:switch语句结构清晰,易于阅读和理解。
C语言中switch语句的用法一、概述C语言中的switch语句是一种多分支选择结构,它可以根据不同的情况执行不同的代码块。
switch语句通常用于替代多个if-else语句,使程序更加清晰和简洁。
二、基本语法switch语句的基本语法格式如下:```switch (表达式){case 值1:语句序列1;break;case 值2:语句序列2;break;...default:默认语句序列;}```其中,表达式是一个常量表达式,值1、值2等为case标签,可以是整数、字符或枚举类型的常量。
三、执行流程在执行switch语句时,程序会先计算表达式的值,然后与每个case 标签的值进行比较,如果找到值相等的case标签,就会执行相应的语句序列,并且遇到break时跳出switch语句;如果没有找到匹配的case标签,则执行default语句序列。
若没有default标签,程序将跳过switch语句继续执行下面的代码。
四、示例下面是一个简单的示例,展示了switch语句的用法:```c#include <stdio.h>int m本人n(){int day = 3;switch (day){case 1:printf("Monday\n");break;case 2:printf("Tuesday\n");break;case 3:printf("Wednesday\n");break;default:printf("Other\n");}return 0;}```上面的示例中,根据变量day的值执行不同的代码块,输出星期三。
五、注意事项1. case标签的值必须是一个常量表达式,不能是变量或表达式。
2. 每个case标签后面的语句序列都需要跟上break语句,否则会继续执行下一个case标签的语句序列。
3. default标签是可选的,用于处理除case标签外的其他情况。
c语言switch的用法switch 是一个开关语句,和case配套使用,和if else 判断语句差不多,switch 语句是用于多分支语句进行条件判断下面小编就来为大家介绍一下c语言switch的用法。
用于多分支选择的switch 语句,其一般形式为:switch(表达式){ case 常量表达式1: 语句1; case 常量表达式2: 语句2; case 常量表达式n: 语句n; default: 语句n+1; } 其语义是:计算表达式的值。
并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时,即执行其后的语句,然后不再进行判断,继续执行后面所有case后的语句。
如表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。
【例4-9】#include stdio.h int main(void){ int a; printf(input integer number: );scanf(%d,switch (a){case 1:printf(Monday\n);case 2:printf(Tuesday\n);case 3:printf(Wednesday\n); case 4:printf(Thursday\n); case 5:printf(Friday\n);case 6:printf(Saturday\n);case 7:printf(Sunday\n); default:printf(error\n); } return 0; } 本程序是要求输入一个数字,输出一个英文单词。
但是当输入3之后,却执行了case3以及以后的所有语句,输出了Wednesday 及以后的所有单词。
这当然是不希望的。
为什么会出现这种情况呢?这恰恰反应了switch语句的一个特点。
在switch语句中,case 常量表达式只相当于一个语句标号,表达式的值和某标号相等则转向该标号执行,但不能在执行完该标号的语句后自动跳出整个switch 语句,所以出现了继续执行所有后面case语句的情况。