内容正文:
YCF
正版可修改PPT
(中职)C语言程序设计案例教程 3.5条件与逗号运算符与表达式ppt课件
1
条件与逗号运算符与表达式
Teacher teaching design
CONTENTS
目 录
条件运算符与表达式
逗号运算符与表达式
仿真演练 体验探索
条件运算符与表达式
PART 01
条件运算符与表达式
条件运算符与表达式
1、条件运算符:条件运算符由两个运算符组成,它们是“?”与“: ”。这是C语言提供的惟一的三目运算符,即要求有三个运算对象。
2、条件表达式
条件表达式的形式是:格式:表达式1? 表达式2: 表达式3
条件表达式的运算功能是:当表达式1的值为真时,求出表达式2的值,此时表达式2就是整个表达式的值;当表达式1的值为零时,求出表达式3的值,此时表达式3的值就是整个表达式的值。
优先级:条件运算符的运算优先级是13,只高于赋值运算符和逗号运算符,比其它所有运算符都低。
结合性:条件运算符的结合方向是从右到左(右结合性)。
条件运算符与表达式
【例1】从键盘上输入一个小写字母,则转换成大写字母,否则不变。
main()
{ char ch ;
printf("Please input a character: ");
scanf("%c",&ch);
ch=(ch>='a' && ch<=’z') ? (ch-32) : ch;
printf("ch=%c
",ch);
}
程序运行结果:
Please input a character: a ↙
ch=A
Please input a character: A ↙
ch=A
逗号运算符与表达式
PART 02
逗号运算符与表达式
1、逗号运算符 :“,” 称为逗号运算符。
2、逗号表达式:用逗号把两个表达式连接起来的式子,称为逗号表达式。
其一般形式为:表达式1,表达式2
求值规则:分别计算两个表达式的值,以 的值作为整个逗号表达式的值。
3、优先级:逗号运算符为左结合性,优先级在C语言中最低,为15级。
如:
逗号表达式: x=3,y=x+3的值是 ;
赋值表达式: z=(x=3,y=x+3)的值是 ;
逗号表达式: z = ( x= 3 ) , ( y = x + 3 )的值是 。
逗号运算符与表达式
说明:
⑴ 逗号表达式可以嵌套,即逗号表达式中的表达式1和表达式2 还可以是逗号表达式:
(表达式1,表达式2),表达式3
所以逗号表达式可以扩展为:
表达式1,表达式2,......,表达式n
(2)表达式n的值是整个逗号表达式的值。
例如,逗号表达式“a=3*5,a*4”的值是60,为什么呢?
又例如,逗号表达式“(a=3*5,a*4),a+5”的值是20,为什么呢?。
仿真演练
体验探索
PART 03
仿真演练 体验探索
1、以下程序的输出结果是( )
main()
{ int a=5,b=4,c=6,d;
printf("%d
",d=a>b?(a<c?++a:++c):(b));
}
A) 5 B) 4 C) 6 D) 不确定
2、假定w、x、y、z、m均为int型变量,
有如下程序段:
w=1; x=2; y=3; z=4;
m=(w<x)?w:x;
m=(m<y)?m:y;
m=(m<z)?m:z;
则该程序运行后,m的值是( )
A) 4 B) 3 C) 2 D) 1
3、设变量定义为int a=5,b=6,表达式(++a==b--)?++a:--b的值是( )
A)5 B)6 C)7 D)8
4、执行程序段
int x=10,y=9,a,b,c;
a=(--x==y++)?--x:++y;
b=x++;
c=y;
后变量a,b,c的值分别是( )
A)a=9,b=9,c=9
B)a=8,b=8,c=10
C)a=9,b=10,c=9
D)a=1,b=11,c=10
5、以下程序的输出结果是( )
#include <stdio.h>
main()
{
int w=4,x=3,y=2,z=1;
printf("%d
",(w<x?w:z<y?z:x));
}
A)1 B)2 C)3 D)4
(一)、条件运算符的使用
仿真演练 体验探索
(1)有如下程序段