c语言switch case语句是什么?
int I, k, a, b, c, d, e, f;
printf("请输入利润I:\n");
scanf("%d", &I);
a = 100000 * (1/10);
b = (200000 - 100000) * 75/1000;
c = (400000 - 200000) * 5/100;
d = (600000 - 400000) * 3/100;
e = (1000000 - 600000) * 15/1000;
if(I <= 100000)
printf("奖金总数k=%d\n", I/10);
else if(100000 < I && I <= 200000)
printf("奖金总数k=%d\n", a + (I - 100000) * 75/1000);
else if(200000 < I && I <= 400000)
printf("奖金总数k=%d\n", a + b + (I- 200000) * 5/100);
else if(400000 < I && I <= 600000)
printf("奖金总数k=%d\n", a + b + c + (I- 400000) * 3/100);
else if(600000 < I && I <= 1000000)
printf("奖金总数k=%d\n", a + b + c + d + (I- 600000) * 15/1000);
else
printf("奖金总数k=%d\n", a + b + c + d + e + (I -1000000) * 1/100);
扩展资料:
遵守switch语句规则
switch语句非常有用,但在使用时必须谨慎。所写的任何switch语句都必须遵循以下规则:
只能针对基本数据类型中的整型类型使用switch,这些类型包括int、char等。对于其他类型,则必须使用if语句。
switch()的参数类型不能为实型 。
case标签必须是常量表达式(constantExpression),如42或者'4'。
case标签必须是惟一性的表达式;也就是说,不允许两个case具有相同的值。
参考资料来源:百度百科-switch
switch的用法是判断case后面的表达式和switch后面的表达式是否相匹配,一旦case匹配,就会顺序执行后面的程序代码,而不管后面的case是否匹配,直到遇见break。
Switch case 语句表达式为:
switch
{
case 常量1: 语句体1;
case 常量2: 语句体2;
case 常量3: 语句体3;
case 常量4: 语句体4;
....
default : 语句体;
}
当常量表达式所表达的量与其中一个case语句中的常量相符时,就执行此case语句后面的语句,并依次下去执行后面所有case语句中的语句,除非遇到break;语句跳出switch语句为止。如果常量表达式的量与所有case语句的常量都不相符,就执行default语句中的语句并跳出switch语句。
扩展资料
遵守switch语句规则
switch语句非常有用,但在使用时必须谨慎。所写的任何switch语句都必须遵循以下规则:
只能针对基本数据类型中的整型类型使用switch,这些类型包括int、char等。对于其他类型,则必须使用if语句。
switch()的参数类型不能为实型 。
case标签必须是常量表达式(constantExpression),如42或者'4'。
case标签必须是惟一性的表达式;也就是说,不允许两个case具有相同的值。
括号里的表达式具有整数类型,并且这里的语句就是该 switch 主体,它包括了多个 case 标签,以及最多一个 default 标签。
case 后的常量指的是常量表达式,它必须是整数类型。在一个特定的 switch 语句中,每个 case 常量都必须具有独一无二的值,不可以重复。但是 switch 语句可以包含多个 case 标签。
扩展资料:
说明:
1、switch 后面括号内的“表达式”必须是整数类型。也就是说可以是 int 型变量、char 型变量,也可以直接是整数或字符常量,哪怕是负数都可以。但绝对不可以是实数,float 型变量、double 型变量、小数常量通通不行,全部都是语法错误。
2、当switch后面括号内“表达式”的值与某个case后面的“常量表达式”的值相等时,就执行此case后面的语句。
执行完一个case后面的语句后,流程控制转移到下一个case继续执行。如果你只想执行这一个case语句,不想执行其他case,那么就需要在这个case语句后面加上break,跳出switch语句。