switch与case语句,switch case语句的用法

http://www.itjxue.com  2023-01-06 17:59  来源:未知  点击次数: 

c语言switch case语句是什么?

switch (表达式)

{

case 常量表达式1:语句1

case 常量表达式2:语句2

......

case 常量表达式n:语句n

default:语句n+1

}

执行过程:

1、首先计算“表达式”的值,假设为m。

2、从第一个case开始,比较“整型数值1”和m,如果它们相等,就执行冒号后面的所有语句,也就是从“语句1”一直执行到“语句n+1”,而不管后面的case是否匹配成功。

3、如果“整型数值1”和m不相等,就跳过冒号后面的“语句1”,继续比较第二个case、第三个case……一旦发现和某个整型数值相等了,就会执行后面所有的语句。假设m和“整型数值5”相等,那么就会从“语句5”一直执行到“语句n+1”。

4、如果直到最后一个“整型数值n”都没有找到相等的值,那么就执行default后的“语句n+1”。

遵守switch语句规则

任何switch语句都必须遵循以下规则:

1、只能针对基本数据类型中的整型类型使用switch,这些类型包括int、char等。对于其他类型,则必须使用if语句。

2、switch()的参数类型不能为实型 。

3、case标签必须是常量表达式(constantExpression),如42或者'4'。

4、case标签必须是唯一性的表达式;也就是说不允许两个case具有相同的值。

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 case语句例子有哪些?

switch语句中使用的表达式必须具是int或enum类型,否则如float等其他数据类型是无法通过的编译的,因为编译器需要switch后面的语句和case后面的值精确匹配,而计算机无法精确表达一个float数据类型。

switch可以任意个case语句(包括没有), 值和语句之间使用:分隔。

case后面的值必须是int常量值,或者返回结果为int类型的表达式,以下代码无法编译通过。

当switch后面的变量值和case后面的常量值匹配相等后,case后面的代码将会被执行,直到break语句被执行后跳出switch代码块。

break不是必须的,如果没有break,则执行完当前case的代码块后会继续执行后面case代码块的内容,直到执行break才可以退出。

switch有一个默认的情况,我们用default关键词表示,当switch后面的变量和所有case后面的常量都不匹配的情况下,默认执行default后面的语句。

关于switch case语句

单引号括起1个字符的叫字符常量。例如:'f','i','l'。 你用了2个字符。程序会略去一个字符,只用1个。

char ch; 只能存放1个字符。 输入语句一次读入1个字符。 fifffffl 含8个字符。

你可以改用 scanf("%*1c%c",ch); 的读法,略去1个字符,读1个字符。即 fi,ff ,fl 略去 前面的 f, 读入 i,f,l 。 拍入 a 表示输入结束。

#includeiostream

using namespace std;

#includestdio.h

main(){

int ffCnt=0,flCnt=0,fiCnt=0;

char ch;

while ( 1 )

{

scanf("%*1c%c",ch); //输入语句

if (ch=='a') break; //拍入 a 结束循环

switch (ch)

{

case 'f': ++ffCnt; break;

case 'l': ++flCnt; break;

case 'i': ++fiCnt; break;

default: break;

}

}

cout"ff:... "ffCntendl;

cout"fl:... "flCntendl;

cout"fi:... "fiCntendl;

return 0;

}

(责任编辑:IT教学网)

更多

推荐windows vista文章