第四章 选择结构程序设计 if语句

合集下载

C语言 第4章 选择结构程序设计

C语言 第4章 选择结构程序设计

例4.3 输入3个数 ,b,c,要求按由小 输入 个数a, , , 个数 到大的顺序输出。 到大的顺序输出。
解题思路:可以先用伪代码写出算法: 解题思路:可以先用伪代码写出算法:
if a>b,a和b对换 , 和 对换 if a>c,a和c对换 , 和 对换 if b>c,b和c对换 , 和 对换 顺序输出a, , 顺序输出 ,b,c 中的小者) (a是a、b中的小者) 是 、 中的小者 (a是三者中最小者) 是三者中最小者) 是三者中最小者 是三者中次小者) (b是三者中次小者) 是三者中次小者
小于) ① < (小于 小于 大于) ③ > (大于 大于 ⑤ == ② <= ④ >= ⑥ != (小于或等于 小于或等于) 小于或等于 (大于或等于 大于或等于) 大于或等于 (不等于 不等于) 不等于
if(number > 500) cost = 0.15; else if (number > 300) cost = 0.10; else if (number > 100) cost = 0.075; else if (number > 50) cost = 0.05; else cost=0; 等价于 if (number > 500) cost = 0.15; else if (number > 300) cost = 0.10; 分号不能丢 else if (number > 100) cost = 0.075; else if (number > 50) cost = 0.05; else cost = 0;

第4章 选择结构程序设计《C语言程序设计(第三版)》-电子教案

第4章 选择结构程序设计《C语言程序设计(第三版)》-电子教案

year%400 == 0 || ( year%4 == 0 && year%100 != 0)
4.3.5 条件运算符和条件表达式
? : 表达式1? 表达式2 表达式 表达式 :表达式3 表达式
if(x>y) max=x; else max=y;
max=x>y?x:y 优先级 右结合性 :
a>b?a:c>d?c:d 等价于 a>b?a:(c>d?c:d)
逻辑运算符的"短路" 逻辑运算符的"短路"现象
若&&运算符左边的表达式为假(或0),则其 运算符左边的表达式为假( ),则其 运算符左边的表达式为假 ), 右边的表达式将不再运算 ,整个表达式的值 必然为假 运算符左边的表达式为真( 若||运算符左边的表达式为真(或非 值),则 运算符左边的表达式为真 或非0值),则 其右边的表达式将不再运算 ,整个表达式的 值必然为真
【注意】
switch后跟的"表达式"允许为任何类型的表达式,其 后跟的"表达式"允许为任何类型的表达式, 后跟的 数据类型和case后面的常量表达式的数据类型一致. 后面的常量表达式的数据类型一致. 数据类型和 后面的常量表达式的数据类型一致 每一个case后的各常量表达式的值不允许重复,否则 后的各常量表达式的值不允许重复, 每一个 后的各常量表达式的值不允许重复 会报错. 会报错. 每一个case后允许有多条语句 可以不用花括号" 后允许有多条语句, 每一个case后允许有多条语句,可以不用花括号"{}" 括起来. 括起来. case和default子句出现的先后顺序可以变动,不会影 子句出现的先后顺序可以变动, 和 子句出现的先后顺序可以变动 响程序的执行结果. 子句也可以省略不用. 响程序的执行结果.default子句也可以省略不用. 子句也可以省略不用 多个case可以共用一组执行语句.例如: 可以共用一组执行语句. 多个 可以共用一组执行语句 例如: … case 'A': case 'B': case 'C':printf("Pass\n");break;

第四章选择结构程序设计(A级)

第四章选择结构程序设计(A级)

第四章选择结构程序设计(A级)

填空题:

1、表达式not true or true and false的值为false。

2、表达式ord(false)+5的值为5。

3、表达式pred(succ(true))的值为true。

4、表达式5 div 2<(5-2)的值为true。

5、"若A-B不小于C,则将B增加1,否则将B减少1“用Pascal 语言可表示为if A-B>=C then B:=B+1 else B:=B-1;。

6、"闰年指年号能被4整除,但不能被100整除,或者年号能被400整除的年"写成Pascal语言表达式为(year mod 4=0) and (year mod 100<>0) or (year mod 400=0)。

7、inc(ord(true))的结果是2。

8、表达式(2<=1) or not(2<10) and (10>4)的结果是false。

9、命题"m,n都是偶数或都是奇数"可表示为(m mod 2=0) and (n mod 2=0) or (m mod 2=1) and (n mod 2=1)。

10、dec(inc(ord(true)))的结果是1。

单项选择题:

1、下面的表达式中,布尔值为true的是4+5 mod 2>4。

(4+5) mod 2>4

'0'>'a'

0>a

2、下列选项中,不是布尔表达式的是5 div 3。

not b

(x>0) or (y>0)

9+4>5+3

C语言程序设计-if_else选择结构PPT

C语言程序设计-if_else选择结构PPT
C语言程序设计
使用if-else语句实现选择结构程序
目录
CONTENTS
01 情景导入 02 情景分析 03 if-else选择语句 04 例题讲解 05 课堂练习
情景导入
明天是周末,天气预报说明天有可能下雨, 小明计划如果明天不下雨就出去春游,否则 的话就去图书馆看书。 请根据以上情景设计一个C语言程序,模拟 小明明天的活动情况。
情景实现
int main() {
int i; printf(“明天下雨请输入1,不下雨请输入0\n”); scanf(“%d”,&i); if(i==0)
printf(“明天不下雨去春游\n”); else
printf(“明天下雨去图书馆\n”); return 0; }
例题讲解
从键盘上输入两个实数,比较并输出这两个数中 较大的一个。
情景分析
根据案例描述,小明明天的活动有两个选择,去春游 或者去图书馆。小明具体选择什么活动要看明天是否 下雨。 在C语言中,可以通过if-else语句来实现类似的选择程序。
if-else选择语句
if-else语句的语法结构
if(条件) 选择语句1:; else 选择语句2;
开始if结构
成立
判断条件 成立
printf(“两个数中较大的为%d\n”,b); return 0; }
课堂练习

C程序设计(第五版)-第4章选择结构程序设计课后习题答案

C程序设计(第五版)-第4章选择结构程序设计课后习题答案

C程序设计(第五版)-第4章选择结构程序设计课后习题答案1. 什么是算术运算?什么是关系运算?什么是逻辑运算?

【答案解析】

算熟运算:

算术运算即“四则运算”,是加法、减法、乘法、除法、乘⽅、开⽅等⼏种运算的统称。

其中加减为⼀级运算,乘除为⼆级运算,乘⽅、开⽅为三级运算。在⼀道算式中,如果有多级运算存在,则应先进⾏⾼级运算,再进⾏低⼀级的运算。

C语⾔中的算熟运算符包括:+、-、*、/、++、--、%等种类。

如果只存在同级运算;则从左⾄右的顺序进⾏;如果算式中有括号,则应先算括号⾥边,再按上述规则进⾏计算。

⽰例:$ (1 + 1)^{2} * 4+5 * 3$

解析:

1. 先进⾏括号内运算1+1,然后进⾏乘⽅运算得到结果4.

2. 接下来与4相乘,得到结果16

3. 因为乘法优先级⼤于加法,因此先进⾏5*3,得到结果15

4. 最终相加得到结果31

结果:31

关系运算:

关系的基本运算有两类:⼀类是传统的集合运算(并、差、交等),另⼀类是专门的关系运算(选择、投影、连接、除法、外连接等),⽽在C语⾔中,关系运算通常被认为是⽐较运算,将两个数值进⾏⽐较,判断⽐较结果是否符合给定的条件。

常见的关系运算符包括:<、<=、>、>=、==、!=等种类。

其中,前4种关系运算符(<、<=、>、>= )的优先级别相同,后2种(==、!=)也相同。⽽前4种⾼于后2种。

例如, >优先于==。⽽>与<优先级相同。

并且,关系运算符的优先级低于算术运算符,关系运算符的优先级⾼于赋值运算符(=)。

C语言程序设计实例教程(第2版)丁爱萍第4章 选择结构程序设计_百度文库

C语言程序设计实例教程(第2版)丁爱萍第4章 选择结构程序设计_百度文库

本文由xjsir2010贡献

ppt文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。

第4章 选择结构程序设计 章

第4章 选择结构程序设计 章

4.1 关系运算符及其表达式 4.2 逻辑运算符及其表达式 4.3 条件运算符 4.4 单条件选择if语句 单条件选择 语句 4.5 开关分支 开关分支switch语句 语句 习题4

第4章 选择结构程序设计 章

4.1 关系运算符及其表达式

关系表达式是由关系运算符连接表达式构成的。 1. 关系运算符 1) 关系运算符 关系运算符都是双目运算符,共有如下6种: >,<,>=,<=,==,!= 分别是大于、小于、大于或等于、小于或等于、 等于和不等于。

第4章 选择结构程序设计 章 2) 运算符的优先级和结合性 前4种关系运算符的优先级别相同,后2种也相同,前4 种高于后2种。关系运算符具有自左至右的结合性。 关系运算符、算术运算符和赋值运算符之间的优先级次序 为:算术运算符优先级最高,关系运算符次之,赋值运算 符最低。 2. 关系表达式 1) 关系表达式 由关系运算符组成的表达式称为关系表达式。 关系运算符两边的运算对象可以是C语言中任意合法 的表达式。例如,x>y,(x=5)<=y,x==y等。

第4章 选择结构程序设计 章 2) 关系表达式的值 关系表达式的值是整数0(代表结果为逻辑假)或 1(代表结果为逻辑真),在C语言中不存在专门的“逻 辑值”,此处请读者务必清楚。例如,关系表达式 (x=3)>(y=4)的值为0。 关系表达式常用在条件语句和循环语句中。 3) 举例 一般情况下,关系表达式用在选择结构或循环结 构的关系判断中,并不需要输出关系表达式的值,这 里我们为了了解关系表达式的内部运行机制,在例4-1 中可以看到关系表达式的值只能是0或1。

地图学第四章

地图学第四章

printf("max=%d\n",max); /* 输出max的值 */
} 程序运行结果: input a,b=5,3↙ max=5
4.2 if语句
例4.2 输入一个成绩,当成绩≥60时,输出“Pass!”,否则什么 都不输出。 #include <stdio.h> void main() { float score; /* 定义整型变量score,用以表示成绩 */ printf("input score:"); /* 输出提示信息 */ scanf("%f",&score); /* 从键盘输入一个成绩 */ if(score>=60) /* 判断成绩是否大于等于60分*/ printf("Pass!"); /* 成绩大于等于60分,输出Pass! */ } 程序运行结果: input score:75↙ Pass! /* 成绩大于等于60分输出Pass! */ input score:55↙
/* 成绩小于60分什么都不输出 */
input score:95↙ Pass!
/* 成绩大于等于60分输出Pass! */
4.2 if语句
例 幼儿园里三个小朋友站队要求小个站在前面,高个 站在后面。 分析:我们可以把个子最小的小朋友放在a位置上,较 高的小朋友放在b位置上,个子最高的小朋友放在c位置 上。 输入三个数,a,b,c,要求按由小到大的顺序输出。先 比较a和b,若a大于b,则a与b对换,再比较a和c,若 a大于c,则a与c对换,这时a的值是最小的,最后比较b 和c,若b大于c,则b与c对换。这样操作之后就使 a<b<c的关系成立。然后顺序输出a,b,c既可。

C语言习题四选择结构程序设计

C语言习题四选择结构程序设计

习题四选择结构程序设计

1. 设变量x和y均已正确定义并赋值。以下if语句中,在编译时将产生错误信息的是______。

A、if(x++);

B、if(x>y && y!=0);

C、if(x>0) x--

D、if(y<0) {;}

else y++; else x++;

解析:本题考查的是if语句。if后表达式两侧的圆括号不可少,最后是一条语句或是用花括号括起来的一组语句。选项A和B是在表达式后跟了一条空语句,选项D是在表达式后跟了一组空语句,选项C中x--是表达式而不是语句,所以在编译时会出现错误信息。故本题答案选C。

2. 有以下程序

main()

{ int i;

for(i=1;i<=40;i++)

{ if(i++%5==0)

if(++i%8==0) printf ("%d",i);}

printf("\n"); }

执行后的输出结果是______。

A、5

B、24

C、32

D、40

解析:本题考查的是if语句的应用。在满足for 语句条件下,第一个if语句的条件是指i先对5取余后,再自行加1;第二个if语句的条件是指:i=i+1后,再对8取余。故本题答案选C。

3. 在嵌套使用if语句时,C语言规定else总是______。

A、和之前与其具有相同缩进位置的if配对

B、和之前与其最近的if配对

C、和之前与其最近的且不带else的if配对

D、和之前的第一个if配对

解析:本题考查的是if语句的使用规则。在嵌套使用if语句时,C语言规定else总是和之前与其最近的且不带else的if配对。故本题答案为C。

4. 有以下程序

选择结构程序设计(if~else语句)

选择结构程序设计(if~else语句)

h
12
if-else语句应用举例
判断一个给定的数为奇数还是偶数
scanf(“%d”,&n); if(n%2==0)
printf(“%d是偶数”,n); else
printf(“%d是奇数”,n);
h
假 输出n是奇数
输入n n%2==0
真 输出n是偶数
上机演示程序6-2执
13
行流程
课堂练习
求学生的成绩总评 scanf(“%f”,&s); if(s>=60) printf(“pass”); else printf(“fail”);
如果表达式值非零,则执行if子句,然后跳过else子句,去执行if语句后 的下一条语句;
如果表达式的值为零,则跳过if子句,去执行else子句,接着去执行if语 句后的下一条语句。
h
17
h
18
if35语句关于关于ifelseifelse语句的几点说明语句的几点说明else不是一条独立的语句它只是if语句的一部分在程序中else必须和if配对共同组成一条ifelse语2
《C语言程序设计》
第4章
选择结构程序设计
if~else语句
下班买10个包子,如果看到卖西瓜的, 就买一个。
if(遇到卖西瓜) 买一个包子;
statement
h
9
if语句应用举例

选择结构程序设计

选择结构程序设计

使用IF语句实现的程序段如下: If x>=90 then Print "优秀" ElseIf x>=80 Then Print "良好" ElseIf x>=70 Then Print "中等" ElseIf x>=60 Then Print "及格" Else Print "不及格" End If
实验4 选择结构
本章内容:
1、 If…Then语句(单分支结构) 2、If…Then…Else语句(双分支结构) 3、 If…Then…ElseIf语句(多分支结构) 4、 Select Case语句(情况语句) 5、 选择结构的嵌套
选择结构及条件表达式
1、在日常生活中,常常需要对给定的条件进 行分析、比较、判断,并根据判断结果采取不 同的操作,选择结构是计算机科学用来描述自 然界和社会生活中分支现象的重要手段,其特 点是:根据给定的条件成立与否,决定从各实 际可能的不同分支中执行某一分支的相应操作。 2、在条件语句中,作为判断依据的表达式称 为“条件表达式”,它的值要么是真(True), 要么为假(False)。
将例4.3 使用select case…..语句来实现的程序段如下: Select Case x Case 90 to 100 Print "优秀" Case 80 to 89 Print "良好" Case 70 to 79 Print "中等" Case 60 to 69 Print "及格" Case Else Print "不及格" End Select

if选择结构程序设计PPT教案

if选择结构程序设计PPT教案
结束
第5页/共43页
例1:输入两个正整数,输出其中较大的数。
#include<stdio.h> main() { int a,b,max; scanf(“%d,%d”,&a,&b); max=a; if(max<b) max=b; printf(“max=%d”,max); }

max<b

max=b
#include<stdio.h> main() { char c;
c=getchar(); if(c>=‘a’ && c<=‘z’ || c>=‘A’ && c<=‘Z’)
printf(“\nyes”); else
printf(“\n no”);
}
第12页/共43页
两种if结构的比较
#include<stdio.h> main() { char c;
}
s>=90 真

真 s>=80 假
s>=70 假 真
真 s>=60 假
优秀 良好 中等 及格 不及格
条件进一步简化 s>=80 && s<=89 简化为 s>=80
第34页/共43页
课堂练习
从键盘输入一个学生等级成绩,成绩A输出“>=90”;成绩B输出“80~89”;成绩C输出 “70~79”;成绩D输出“60~69”;否则输出“<60”。

c4、c5选择结构及循环结构程序设计

c4、c5选择结构及循环结构程序设计

if语句的嵌套
1、含义:一条if语句重又包含另一个if语句称为if语句的嵌 套. 2、一般形式 if() if() 语句块1 内嵌if else 语句块2 else if() 语句块3 内嵌if else 语句块4 3、使用要点 4、例
嵌套使用要点
1、if语句中if与else的配对关系为 else总是与它上面的最近的if配对.书写格式的缩进与否与它 们之间的配对无关. 例如: if() if() 语句块1 else 语句块2 这时的else配对的对象为内层的if,而不是外层的if. 2、要实行强行的配对关系可以利用{ }。 如:if() {if() 语句块1} else 语句块2
if语句的使用要点
1、语句块:当有若干条语句时,必须用{;;;}括起来。
如:if(a>b) { x=1; max=a;} 当只有一条语句时,用“;”。
2、表达式:
•if语句的表达式一般情况下为逻辑表达式或关系表达式。
如:if(a= =b && x= =y) printf(“a=b,x=y”);
•也可以是任意类型(包括整型、实型、字符型、指针类型)
第四章 选择结构程序设计
【教学要求】
1.熟练掌握IF语句的三种形式,掌握IF 语句的基本结构以及IF语句的嵌套,并 能将条件运算符给出的语句转化成IF 语句的形式。
2.掌握SWITCH语句的一般形式,并能把复杂的分支选择性结构化成SWITCH 来解决问题。

第四章 选择(分支)结构程序设计

第四章 选择(分支)结构程序设计

4.2 逻辑运算符和逻辑表达式
4.2.2 逻辑表达式 作业:写出C语言的表达式
1.|x|>2 2.x≤1+a 并y≤b
3.
的定义域
fabs(x)>2 或 x>2||x<-2 x<=1+a&&y<=b (x>=2||x<=1)&&x!=0 或(x-1)*(x-2)>=0&&x!=0
4.3 if语句
❖ A 和B 可以使单一语句,也可以是复合语句。 ❖ else 部分不能独立存在,前面一定有;和if 语句。
4.3 if语句
4.3.1 if语句三种形式 注意: ▪ 在if和else后面可以是单条语句,也可以是复合语 句,如果使用了复合语句,一定要用花括号括起来, 语句块后面不要“;”号。
Hale Waihona Puke Baidu
4.3 if语句
4.3.1 if语句三种形式
▪ 在C语言中,表达式P的值是非0时,系统均按真 值处理。
例(1) if (‘a’) printf(“ok!”); (2) x=-5; if(x) printf(“ok!”); (3) y=0; if(y==0) printf(“ok!”); if(y) printf(“ok!”);
逻辑运算的真值表:
a b a&&b

计算机二级C语言第4章 选择结构程序设计

计算机二级C语言第4章 选择结构程序设计

4.3 条件运算符和条件表达式
C语言中提供的条件运算符为“?:”。条件表达式的一般格式是: 表达式1? 表达式2:表达式3
它的执行过程如下:
也就是说表达式2与表达式3中只有一个被执行,而不会是全部执行。 整个执行过程见图4-3。
4.3 条件运算符和条件表达式
【说明】 ①“表达式1”、“表达式2”和“表达式3”可以是任意合法的表达式。 ②条件运算符是C语言中唯一的一个三目运算符,其优先级高于赋值 运算符、关系运算符和算术运算符,即条件运算符的优先级是最高的, 并且其结合性是自右至左。
case常量表达式2: 语句2

case常量表达式n: 语句n
default:
语句n+1
}
【说明】
①switch后面的表达式必须用圆括号括起来,其取值必须是整型或字
符型。switch语句后面用花括号“{}”括起来的部分称为switch语句体,
其中的“{}”不能缺。
②case后面必须是常量或常量表达式,不能是变量。case与其后面
一般形式如下:
if(表达式1)
if(表达式2) 语句1
else
语句2
else
if(表达式3) 语句3
else
语句4
这种基本形式嵌套的if语句也可以进行以下几种变化。
①只在if子句中嵌套if语句,形式如下:

选择结构课件

选择结构课件

采用形式二的算法: 定义变量x、y 输入x if (x<=0) if (x<0) y=-1; else y=0 else y=1; 输出y值
举一反三:试判断下列选择结构是否可以表示上例函数。 if (x<0) y=-1; if (x==0) y=0 else y=1;
教育改变命运,励志改变人生。
第四章 选择结构程序设计—if语句
在if语句嵌套中 ,特别注意else与if的配对问题。 C编译系统处理该问题的原则是: else总是与同一语法层次中离它最 近的尚未配对的if配对。为了避免 出现else的配对错误,通常利用大 括号将if- else语句结构括起来。
程序段一: if (a>=0) 程序段二: if (a>=0) if(……) if(……) if(……) else…... else…... else…...
教育改变命运,励志改变人生。
第四章 选择结构程序设计—if语句
任务2:由键盘输入x、y两个数,要求从大到小排序并输出。
开始 定义变量X、Y 从键盘给X、Y赋值 No
X<Y? Yes X、Y互换
输出X、Y 结束
#include 〈 stdio.h 〉 void main( ) { float x,y,t; scanf(“%f,%f”,&x,&y); if (x<y) {t=x;x=y;y=t;} printf(“%6.2f,%6.2f”,x,y); }

第4章 C语言选择结构程序设计

第4章  C语言选择结构程序设计
《 C语言程序设计》
4.2.2 if-else结构 if-else结构
1、格式: if(条件表达式 语句1 条件表达式) if(条件表达式) 语句1; 真 (非0) else 语句2; 语句 ; 语句1 2、执行过程:
例:if (x>y) max=x; else max=y;
假(0) 表达式
语句2
《 C语言程序设计》
4.2.1 if结构 if结构
1、格式: if (条件表达式 语句; 条件表达式) 条件表达式 语句; 2、执行过程:
例:if (x>y) printf(“%d”,x); 3、功能:首先计算if后面条件表达式的值,如果表达式的 值为非0(即“真”),则执行表达式后面的语句,否则 跳过这个语句执行if语句后面的语句。其中if(表达式) 后面的语句只能是一条语句或一个复合语句。
《 C语言程序设计》
例4.5 代码
#include<stdio.h> void main() { int y,leap; printf("请输入您要判断的年份 请输入您要判断的年份:"); 请输入您要判断的年份 scanf("%d",&y); if ((y%4==0) && (y%100!=0) || (y%400==0)) printf("%d是闰年 是闰年\n",y); 是闰年 else printf("%d不是闰年 不是闰年\n",y); 不是闰年 }
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4.3 if语句
1.if语句的三种基本形式 (1)if(表达式) 语句 例: if(x>y) printf(“%d”,x);
表达式 真(非0) 假 (0)
语句
(2)if(表达式) 语句1 else 语句2 例: if (x>y) printf(“%d”,x); else printf(“%d”,y);
说明:
(1)3种形式的if语句中在if后面都有表达式, 一般为逻辑表达式或关系表达式。 (2)第二,第三种形式的if语句中,在每个 else前面有一个分号,整个语句结束处有一 个分号。 (3)在if和else后面可以只含有一个内嵌的操 作语句,也可以由多个操作语句,此时用花 括号将几个语句括起来成为一个复合语句。
Y 语句1
条件
N 语句2
(3)if(表达式1) 语句1 else if(表达式2) 语句2 else if(表达式3) 语句3 …… else if(表达式m) 语句m else 语句n
例:
if (number>500) cost=0.15; else if(number>300) cost=0.10; else if(number>100) cost=0.075; else if(number>50) cost=0.05; else cost=0;
程序4:
y=0; if(x!=0) if(x>0) y=1; else y= -1;
3.条件运算符
•格式: •功能: 表达式1?表达式2∶表达式3 判断表达式1的值,如果成立(表达式1 的值为真)就执行表达式2,否则就执 行表达式3 •使用场合:若在if语句中,当被判别的表达式的 值为“真”或“假” 时,都执行一个 赋值语句且向同一个变量赋值时,可以 用一个条件运算符来处理。
例4.2输入一个字符,判别它是否大写字母,如果是,将 它转换成小写字母;如果不是,不转换。然后输出最后 得到的字符。 #include <stdio.h> int main ( ) { char ch; scanf("%c",& ch); ch=(ch>='A'&& ch<='Z')?(ch+32):ch; printf("%c\n",ch); return 0; }
例:
if (a>b) max=a; else max=b; 当a>b时将a的值赋给max,当a≤b时将b的值赋给max, 可以看到无论a>b是否满足,都是向同一个变量赋值。 可以用下面的条件运算符来处理:
max=(a>b)?a∶b;
说明: (1)条件运算符的执行顺序:先求解表达式1,若为非0(真) 则求解表达式2,此时表达式2的值就作为整个条件表达式 的值。若表达式1的值为0(假),则求解表达式3,表达 式3的值就是整个条件表达式的值。 (2)条件运算符优先级高于赋值运算符 ,低于关系运算符 和算术运算符。 (3)条件运算符的结合方向为“自右至左”。 (4)“表达式2”和“表达式3”不仅可以是数值表达式,还可以 是赋值表达式或函数表达式。 (5)条件表达式中,表达式1的类型可以与表达式2和表达 式3的类型不同。
语句1
else
{if()
语句1}
if() 语句2 else 语句3
if() 语句2 else 语句3
当if和elswenku.baidu.com数目不同时,可以加花括号来确定配对关系。
-1 例 5.3 有一个函数 y= 0 值,输出y值。 1
(x<0) (x=0),编一程序,输入一个x (x>0)
#include <stdio.h> int main( ) {float x,y; scanf("%f",&x); if(x<0) y=-1; else if(x==0) y=0; else y=1; printf("x=%5.2f,y=%5.2f\n",x,y); return 0; }
例4.1 输入三个数a,b,c,要求按由小到大的顺序输出。
#include <stdio.h> int main( ) if a>b float a,b,c,t; 将a和b对换 { scanf("%f%f%f",&a,&b,&c); if a>c if(a>b) 将a和c对换 {t=a;a=b;b=t;} if b>c if(a>c) 将b和c对换 {t=a;a=c;c=t;} if(b>c) {t=b;b=c;c=t;} printf("%5.2f,%5.2f,%5.2f\n",a,b,c); return 0; }
如果字符变量ch的值为大写字母,则条件表达 式的值为(ch+32),即相应的小写字母。 如果ch的值不是大写字母,则条件表达式的值 为ch,即不进行转换。
上例中的红色字对应的程序段可以有多个不同的形式。 下面列举了四种,同学们还能写出其他的形式吗?
程序1: if(x<0) y= -1; else if(x>=0) if(x>0) y=0; else y=1; 程序3: y= -1; if(x>=0) if(x>0) y=1; else y=0; 程序2: if(x>=0) if(x>0) y=1; else y=0; else y= -1;
2.if语句的嵌套
在if语句中又包含一个或多个if语句称为if语句的嵌套。 形式: if() if() 语句1 else 语句2 else if() 语句3 else 语句4
匹配规则: Else总是与它上面的,最近的,统一复合语句中的,未配 对的if语句配对。
例:
if()
例:
if()
if()
else
相关文档
最新文档