第六章:分支控制流(if else switch)
Posted 歌咏^0^
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第六章:分支控制流(if else switch)相关的知识,希望对你有一定的参考价值。
一、if语句
(1)if单独使用
if(表达式)
{
}
没有else 与之匹配
用法:
只要表达式的值为真(非0),执行{ }复合语句 .
"表达式":任意的C语言合法的表达式都可以
如果只有一条执行语句,可以这样写:
if(表达式)
执行语句xxxx; ---> 如果表达式为真,那么执行该语句
yyyyy; ---> 不管条件是否为真,永远执行这个语句,因为这个表达式不属于if响 应范围
(2)if 与 else 配合使用
if(表达式)//如果为真,执行复合语句1,如果为假,则执行复合语句2
{
复合语句1;
}
else{
复合语句2;
}
if(判定条件)
xxxxx;
else
yyyyy; 可以
(3)
if(表达式1)//如果为真,执行复合语句1
{
复合语句1;
}
else if(表达式2)
//如果判定条件1和判定条件2都满足,那么只会执行复合语句1,而不会执行复合语句2
{
复合语句2;
}
else if(表达式3)
{
复合语句3;
}
else //以上三个条件都不满足的时候,就会执行这个
{
复合语句4;
}
(4)if的嵌套: 条件里面再分条件
if(表达式1)//如果为真,执行复合语句1
{
if(表达式11)
{
复合语句1;
}
}
else if(表达式2)
{
复合语句2;
}
编程规范:写完if或else后,不管后面有没有语句,请先写{}圈定它的范围,然后再到{}里面补充语句,请用Tab缩进
注意写法:
1、if(a>b);
2、if(a=b)
3、if(a>b>c)
4、if(a>b) printf("1\\n"); else printf("2\\n");
5、if( 1)
if(2)
printf("1\\n");
else
printf("2\\n");
---------------------------------------------------------
练习1:制作一个简单的打分系统(满分制:100)
60分以下:评级 D
60-80: 评级 C
80-90: 评级 B
90-100: 评级 A
不在0-100范围之内,错误
二、switch语句(开关语句)
格式:
switch(表达式) // 或者也可以说是 判断值
{
case 常量表达式1:
执行语句1
break;
case 常量表达式2:
执行语句2
break;
case 常量表达式3:
执行语句3
break;
default:
其他情况下执行的语句
break;
}
- "表达式"的值必须为整数值(整型,字符型,枚举)
- "常量表达式"的值必须为整数值,且每个case后面的常量表达式的值必须不相同。常量表达式不能出现变量
- 当表达式的值与某一个case后面的常量表达式的值相同时,就会打开"开关",执行冒号后面的语句,直到有break语句就提前跳出switch,否则就轮到下一个case,且不会比较常量表达式的值,就直接执行冒号后面的语句(因为开关已经打开了)。当所有的语句都执行完了,就结束了switch。
- break; 提前跳出switch语句,常用的用法是每个case语句后都有一个break语句。
- 当所有case后面的常量表达式都不匹配时,就会执行default后面的语句,且打开"开关"。
补充:switch语句中多条case值可以执行同一条语句,例
switch(x)
{
case 1:case2:case3: 语句1;(或写为:case 1||2||3 : 语句1;)
.......................
}
注意:
1,break在这里是退出switch的关键,如果在case当中的执行语句中没有遇到break,它将会一直执行下去,直到遇到break或者到底了
2,default这个可加可不加
3,default放在哪里都不会影响switch的正常使用
4,“判断值”只能是整型数据或者是枚举
---------------------------------------------------
练习2: 计算加盟费
小张加盟了一家餐饮企业,在每个季度结束后,小张必须向总部缴纳加盟费,
加盟费与营业额的提成关系如下
营业额 提成系数
0<= n <10w 0.1
10<=n <20w 0.075
20<=n <40w 0.05
40<=n <60w 0.03
60<=n <100w 0.015
n >=100w 0.01
请输入小张的营业额,然后求出他需要提交的加盟费
以上是关于第六章:分支控制流(if else switch)的主要内容,如果未能解决你的问题,请参考以下文章
JavaScript-流程控制(if else三元表达式switch)循环(forwhilecontinue break)