当前位置:文档之家› 第6章 选择结构程序设计(1)

第6章 选择结构程序设计(1)

3
6.1 条件运算符
【例6_1】通过键盘输入x,使用条件运算符 求下面分段函数的值:
3x2-6 x≤3 y=
x2+12 x>3
#include<stdio.h>
void main()
{
float x;
/*定义变量x*/
printf("请输入x的值:\n");
scanf("%f",&x);
/*输入x的值*/
6.2 if选择语句
6.2.2 if选择语句──单分支选择结构
表达式 F
T 语句X
8
6.2 if选择语句
【例6_4】通过键盘输入两个实数,按照从小到大的顺 序输出这两个数。
1.第一种实现方法──不改变x和y的值
开始
定义浮点型 变量x和y
输入x和y
x<y F
T 输出x、y
x>y F
T 输出y、x
结束
暗含score<90 score>=80
且score<90
T
F
暗含score<80
score>=80
score>=70
T score>=70 F
且score<80 暗含score<70 score>=70
T
且score<80
score>=60 F
暗含score<60
T
优秀
良好
一般
及格 不及格
结束
16
else if(x<=6) y=4*x*x-41;
/*如果x<1*/ /*y=x+4*/ /*如果x<=4*/ /*y=6x-1*/ /*如果x>12且x<=6*/ /*y=4x2-41*/
表达式1 F
T
F
表达式2
T 表达式3 F
T 表达式4 F
T
语句1
语句2
语句3
语句4 语句5
15
6.2 if选择语句
if选择语句的嵌套格式如下: if(表达式1)
11
6.2 if选择语句
6.2.3 if-else选择语句──双分支的选择结构
if-else选择语句的一般形式如下: if(表达式) 语句X; else 语句Y;
T
F
表达式
语句X
语句Y
12
6.2 if选择语句
【例6_5】通过键盘输入两个实数,按照从小到大的顺序输出 这两个数。
开始
定义浮点型 变量x和y
#include<stdio.h> void main() {
float x,y; printf(“请输入两个 数:\n"); scanf("%f,%f",&x,&y); if(x<y) printf("从小到大的顺序输出:
%.2f,%.2f\n",x,y); if(x>y)
printf(“从小到大的顺序 输出:%.2f,%.2f\n",y,x);
}
9
6.2 if选择语句
2.第二种实现方法──交换x和y的值
temp
x
y

12.8
2.7
交换前
temp
x
y
12.8
2.7
2.7
第2步
temp
x
y
12.8
12.8
2.7
第1步
temp
x
y
12.8
2.7
12.8
第3步
开始
定义浮点型变 量x、y和temp
输入x和y
交换x和y
x>y F
T temp=x
x=y
6
6.2 if选择语句
6.2.1 为什么要有if选择语句──理解容易
#include<stdio.h> void main() {
float x; printf(“请输入一个学生的成绩(0~100):\n”); scanf(“%f”,&x); if(x>=60)
printf(“合格\n”); }
7
6.2 if选择语句
【例6_7】下面是一个阶跃函数:
-1 x<0 y= 0 x=0
1 x>0
编写程序,请根据输入的x值,输出y的值。
开始
定义变量x和y
输入x的值
F x<0
暗含x>=0
x==0
T
F
x==0
暗含x>0
T
y=-1
y=0
y=1
输出y的值 结束
17
6.2 if选择语句
6.2.5 if选第6章 选择结构程序设计
6.1 条件运算符 6.2 if选择语句 6.3 switch选择语句 6.4 选择结构程序应用 举例 6.5 本章小结
2
6.1 条件运算符
6.1.1 条件运算符与条件表达式
条件表达式的一般形式如下:
表达式1?表达式2:表达式3
条件表达式中运算符的执行顺序是:先求表达式1的值,如果表 达式1的值为真(非0),则求解表达式2,表达式2的值就是整 个条件表达式的值。如果表达式1的值为假(为0),则求解表 达式3,表达式3的值就是整个条件表达式的值。
if-else if-…-else选择语句的一般形式如下:
if(表达式1) 语句1;
else if(表达式2) 语句2;
else if(表达式3) 语句3; …
else if(表达式n) 语句n;
else 语句n+1;
14
6.2 if选择语句
if(x<1) y=x+4;
else if(x<=4) y=6*x-1;
printf("函数的值是:%.2f.\n",
x<=3?(3*x*x-6):(x*x+12));
}
4
6.1 条件运算符
【例6_2】通过键盘输入一个字符。如果输入的是小写英 文字母,将该字母转换为大写英文字母;如果不是小写 英文字母,则不转换。最后输出得到的字符。
5
6.1 条件运算符
【例6_3】输入整型变量a、b、c的值,求出a、b、c三者 中的最大者,并输出。
y=temp
输出x和y 结束
10
6.2 if选择语句
#include<stdio.h> void main() {
float x,y,temp; printf("请输入两个数(逗号分隔):\n"); scanf("%f,%f",&x,&y); if(x>y) {
temp=x; x=y; y=temp; } printf("从小到大的顺序输出:%.2f,%.2f\n",x,y); }
【例6_6】使用if-else if-…-else多分支选择结构编写程序,对输入的学 生成绩按照90~100为优秀,80~90(不包括90)为良好,70~80(不包括80) 为一般,60~70(不包括70)为及格,0~60(不包括60)为不及格。
开始
定义变量score
输入成绩score
score>=90 F
输入x和y
第1次 判断
x<y F
T 输出x、y
开始
定义浮点型 变量x和y
输入x和y
一次判断 x<y
F
T
输出x、y
输出y、x
第2次 判断
x>y F
T 输出y、x
结束
结束 if单分支选择结构
if-else选择结构
13
6.2 if选择语句
6.2.4 if-else if-…-else选择语句──多分支选择 结构
相关主题