C语言-->(五)选择结构if、switch


C语言中结构化程序:
1、顺序结构
2、分支结构
3、循环结构


知识点
1.if语句
2.if-else语句
3.if语句嵌套
4.if--else if语句
5.switch语句

===================if语句===========================

if语句的三种形式:

• 实现单分支选择结构的形式
• 实现双分支选择结构的形式if else
• 实现多分支选择结构的形式

if语句 ——之单分支选择结构
1.作用
实现程序中逻辑判断, 改变程序运行流程
2.简单表现形式
if (条件表达式) 关系表达式
{
执行语句; (若干条语句;)
}
语句;

3.演示
如何判断输入的字符是数字还是字母

1.接收用户输入的一个字符
2.判断该字符的ascii码范围


4.练习
1)从键盘上输入两个整数,检查第一个数是否能被第二个数整除
OK NO

==============================================

if语句——之双分支选择结构
一般形式:
if(条件表达式)
{语句1}
else
{语句2}
有两条路,你可以而且只能够选择其中的一条
需要判断一次

语句;


1.需求:当成绩大于等于60分时输出及格,小于60分时输出不及格:
if (score >= 60) 90
{
及格;
}
if (score < 60)
{
不及格;
}

改成if-else如下:
2.
if (score >= 60) 50
{
及格;
}
else
{
不及格;
}
3.练习
1)判断输入的数字是否在指定范围内(80,90)
2)判断用户输入字母,如果是大写字母,将该字母的ascii码输出,否则 直接输出

3)编程判断输入的整数是否既是5又是7的倍数。若是,则输出yes,否则输出no.  

===========================================
if 语句——嵌套

if()
{
if()
{
if()
{
}
}
} 嵌套结构
1.需求:输入一个字母,可以再进行输入,判断该字母对应的星期的英文单词
Monday Tuesday Wednesday Thursday Friday Saturday Sunday


2.练习
成绩转换器
if(>= 60)
{
60~69 D
70~79 C
80~89 B
90~100 A
}
else
不及格!


==============================================

if语句——之多分支选择结构

1.表现形式
if(条件表达式)
{语句 1;}
else if(条件表达式)
{语句2;}
else if(条件表达式)
{语句 3;}
else if(条件表达式)
{语句 4;}
…….

2.与else一起
if(条件表达式)
{语句 1;}
else if(条件表达式)
{语句 2;}
...
else if(条件表达式n)
{语句 n;}
else
{语句 n+1;}

 

3、好处:顺序判断每一个if的条件表达式,直到遇到一个满足条件的表达式时,执行相应的语句,就结束整个
if … else if …else 语句。

4.演示
成绩转换器 比较
<60 输出"不及格"
60~69 'D'
70~79 'C'
80~89 'B'
90~100 'A'


if (毕业待遇 >= 10000)
printf("very good");
else if (毕业待遇 >= 8000)
printf("good");
else if (毕业待遇 >= 6000)
printf("so so");
else
printf("\n");

 

5.练习
1)解方程式
2x+1 (-20 < x < 0)
y = x*x + 5 (0 <= x < 20)
50x + 10 (20 <= x <= 30)
100x (x > 30)


2)BMI值计算公式
BMI = 体重(公斤) / 身高^2(米)
体重过轻 BMI < 18
正常范围 18 <= BMI <24
   过重: 24 <= BMI<27
轻度肥胖: 27 <= BMI<30
中度肥胖: 30 <= BMI<35
重度肥胖: BMI >= 35 

 

 

=====================switch语句=========================
switch语句 (跳转语句 标号语句) 

1.语法
switch(表达式)//结果必须是整形或字符形
{
case 常量表达式:
语句1;
break;
case 常量表达式:
语句2;
break;
case 常量表达式:
语句3;
break;


case 常量表达式:
语句n;
break;
default:
语句n+1;
break;
}

2.本质
switch是一个标号跳转语句,跳转到对应的标号位置,
从标号处从上往下顺序执行,当遇到break的时候或者
执行到switch的末尾“}”退出。

【相关说明】
a、标号各不相同,必须是int、char中的一种,最终能确定为一个值。
b、break作用,系统一旦找到入口标号,就从此标号开始执行,不再进行标号的判断,所以必须加break语句,以便结束退出switch

3.演示
int x;

4.练习
1)输入指定的月份 输出相应的天数

2)将100分制转换为ABCD
90 ~ 100 A
80 ~ 89 B
70 ~ 79 C
60 ~ 69 D
0 ~ 59 E


5.switch与if的区别和使用的场合
1)如果是判断一个关系表达式,例如 x > 2,此时使用if

2)如果选择功能时,用swith结构清晰明了,
如1.向前, 2.向后, 3.向左, 4.向右,此时选择switch

3)switch可以看做是多个if整合而成的。两个都是属于分支判断语句。
对于某一个变化的量,有很多种可能的情况,而且可以一一列举出来,
那么使用switch是很方便的,如果变化的情况只有一种或者两种,
那么使用if比较快,也比较清楚。
>=3 switch
==============================================

转载于:https://www.cnblogs.com/iOSteemo/p/4303727.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值