c语言swich语句例子,swich循环语句
c语言switch case语句例子是什么?
c语言switch case语句例子如下:
case 常量表达式1:
语句1;可以是多行,可以加括号,也可以不加,到下一个case之前,都是本case的语句范围。
[break;] 中括号,表示此语句可以没有。
case 常量表达式2:
[break;]……case 常量表达式n:语句n。
[break;][default:]。
switch语句规则:
case标签必须是常量表达式(constant Expression) 只能针对基本数据类型使用switch,这些类型包括int、char等。对于其他类型,则必须使用if语句。
case标签必须是惟一性的表达式;也就是说,不允许两个case具有相同的值。
如果两个case语句间没有break,则执行完匹配的case语句后,会顺序执行下面的语句,直到遇到break语句或switch结束。
连续的两个case语句表示,这两个case是同一种情况。
c语言 switch的用法
执行过程:
先计算并获得switch后面小括号里的表达式或变量值,然后将计算结果顺序与每个case后的常量比较。
当二者相等时,执行个case块中的代码,当遇到break时,就跳出switch选择结构,执行switch选择结构之后的代码。
如果任何一个case之后的常量与switch后的小括号中的值相等,则执行switch尾部的default块中代码。
求一个switch语句的例子
随便写了一个,输入月份,判断天数。语句中有注释。
#includeiostream.h
void main()
{
int n;
cout"请输入月份:";
cinn;
switch(n)? ? ? ? ? ?//如果n等于1~12,则执行相关语句,如果不等于,则执行default所对应语句
{
//以下语句可以这么理解:case 1(如果n=1),执行该段语句(cout"1月有31天";),break表示结束。
case 1: cout"1月有31天";break;
case 2: cout"2月有28天";break;
case 3: cout"3月有31天";break;
case 4: cout"4月有30天";break;
case 5: cout"5月有31天";break;
case 6: cout"6月有30天";break;
case 7: cout"7月有31天";break;
case 8: cout"8月有31天";break;
case 9: cout"9月有30天";break;
case 10: cout"10月有31天";break;
case 11: cout"11月有30天";break;
case 12: cout"12月有31天";break;
default: cout"输入错误!!!"endl;
}
coutendl;
}
执行结果如下:
拓展:
注意:1,case表达式后为冒号,一定不能丢;
2,case 语句体后若没有break,则会顺次执行,直到遇到break 或所有case 执行完毕,所以break一定不能丢,但也有例外;
3,若几个相邻的case ,语句体一样,则前面case 的语句体和break都可以省略,但分号(;)要保留; ? ? ? ? ? ? ? ? ? ?
4, default 视情况而定并不是必须的,default 后的break可省略,因为已经是最后了,有没有break 此时程序都会跳出switch。
c语言switch case语句例子是什么?
c语言switch case语句例子是:
#include
int main(void){
int a;
printf("input integer number: ");
scanf("%d",a);
switch (a){
case 1:printf("Monday\n"); break;
case 2:printf("Tuesday\n"); break;
case 3:printf("Wednesday\n"); break;
case 4:printf("Thursday\n"); break;
case 5:printf("Friday\n"); break;
case 6:printf("Saturday\n"); break;
case 7:printf("Sunday\n"); break;
default:printf("error\n");
}
return 0;
}
程序解读:
本程序是要求输入一个数字,输出它对应的星期的英文单词。
注意项:
1、在case后的各常量表达式的值不能相同,否则会出现错误。
2、在case后,允许有多个语句,可以不用{}括起来。
3、各case和default子句的先后顺序可以变动,而不会影响程序执行结果。
4、default子句可以省略不写。
求教c语言中switch 语句的详细用法
switch 是一个开关语句,和case配套使用, 和if else 判断语句差不多, switch 语句是用于多分支语句进行条件判断,比如:
i++;
switch (i)
{
case 1 : P1 = 0xFE; //i =1; 执行P1 = 0XFE;
breK; //执行完成后跳出
case 2 : P1 = 0xFD; //i =2; 执行P1 = 0XFD;
break;
case 3 : P1 = 0xFB; //i =3; 执行P1 = 0XFB;
break;
case 4 : P1 = 0xF7 //i =4; 执行P1 = 0X7E;
break;
..........................................................................
default: break; //如果i 不符合以上条件直接跳出不执行任何东西
}
建议你还是先把C语言看熟把,书上都写的很清楚。
c语言switch语句
执行case 2是因为在switch (x) 中x=1,所以执行case 1,然而case 1 这条语句没有break,所以switch (x)在执行了case 1之后将继续往下依次执行case语句,直到碰到break就跳出switch 循环。
对于“a的自加是先执行后在自加,当此程序a自加的时候没有执行其他语句啊?????? ” 则是你没看到程序中的语句a++,b++它自加完了以后把值任然是赋值给a,b本身的,而不是赋值给其他变量例如c=a++;z=b++。如果是这样赋值给别的变量的话那么就很明确了c,z的值将和课本上说得一样都是自加以前的值 。也就是说这个程序当中最后printf输出的是a,b的值,但是a,b在自加过程中值都变化了,就是说相当于语句a=a++,b=b++.
我将你的程序进行了更改,你将两个程序都运行下然后再对照着看一下就明白为什么a,b的值最后是2和1了,程序如下
#include stdio.h
main()
{
int x=1,y=0,a=0,b=0,c=0,z=0;
switch (x)
{case 1:
switch(y)
{
case 0:c=a++;break;
case 1:b++;break;
}
case 2: c=a++,z=b++;break;
case 3:a++,b++;
}
printf("c=%d,z=%d\n",c,z) ;
}
对于 ++i 和i++ 有什么区别?
简单而言: ++i在i 存储的值上增加一并向使用它的表达式“返回” 新的, 增加后的值; 而i++ 对i增加一, 但返回原来的是未增加的值。