搜档网
当前位置:搜档网 › charpter0904

charpter0904

第四章

选择结构程序设计

计算机与通信工程学院

万红

内容概述

本章介绍C语言的选择结构。主要讲解了if语句和switch语句。

教学目的和基本要求:

要求学生掌握选择结构程序设计,嵌套程序设计,学会运用if语句及switch语句。

教学重点:

if语句、嵌套程序。

目录

4.1 关系运算符与关系表达式4.2 逻辑运算符与逻辑表达式4.3 if语句

4.4 switch语句

4.5 结构嵌套程序举例

选择结构概述

定义:程序进行当中需要根据表达式的结果决定执行哪条语句时,使用选择结构。选择结构示意如下:

条件

s1s2

选择结构

4.1 关系运算符和关系表达式

?定义:关系运算就是比较数据之间的关系,包括对两个数据进行相等比较或大小比较等运算。?选择结构中通常要借助关系运算。

4.1.1 关系运算符

?关系运算符:

注意书写规范

> 、< 、>= 、<= 、= = 、!=

?优先级:>、<、>=、<=的优先级为6,==、!=的优先级为7。?结合性:从左至右。

掌握真(true)与假(false)的概念

关系运算的结果是一个逻辑值

即:结果成立值为1,称为逻辑真结果不成立值为0,称为逻辑假

分析以下关系表达式:

0>9

100!=20

score>90

x==y

a+b>=c-d

4.1.2 关系表达式

?关系表达式:用关系运算符连接的表达式。?关系表达式的值:是逻辑值“真”或“假”

通过分析其中的关系表达式,下面程序的输出结果是多少?

#include

main()

{int x=8,y=-8;

printf(“%d\n”, 0<=x<=10);

printf(“%d\n”, 0<=y<=10);

}

结果:

1

4.2 逻辑运算符与逻辑表达式

?定义:逻辑运算通常用来连接关系运算?逻辑运算常和关系运算一起使用

4.2.1 逻辑运算符

?逻辑运算符:

! (逻辑非)、&& (逻辑与)、||(逻辑或)

?优先级:!(2) &&(11) ||(12)

?结合性:!为一元运算符,结合性从右至左;&&和||为二元运算符,结合性从左至右。

取反

二者都是1,结果才是1

任何一方是1,结果都是1

逻辑运算真值表

p q p&&q p||q!p

00001

01011

10010

11110

要求:进行逻辑运算的运算量必需是逻辑值0或1。特殊地,非零的数值一律认为逻辑“1”,即“真”。

例如:

0&&20 结果为0

0||20 结果为1

!(-23) 结果为0

有变量a,a=2的值恒为逻辑1

4.2.2 逻辑表达式

?逻辑表达式:用逻辑运算符连接的表达式。

?逻辑表达式的值:是逻辑值“真(1)”或“假(0)”

思考:用逻辑表达式表示数学中的不等式(0≤ x≤ 10)

010x

表示方法为:

x> = 0 &&x< = 10或0< = x &&x< = 10

如果写为:

0< = x < = 10,则只代表一个多项关系表达式,

试计算当x=8和x=-8时的两种表示的表达式值

分析如下表达式,输出结果是多少?

#include

main()

{int x=8,y=-8;

printf(“%d\n”, 0<=x&&x<=10); printf(“%d\n”, 0<=y&&y<=10); }

结果:

1

关系运算和逻辑运算的优先级

低于算术运算符,高于赋值运算符。(!运算除外)

算术运算关系和逻辑运算赋值运算例如:x+y>=a+b等价于(x+y)>=(a+b)

b=i==c等价于b=(i==c)

关系运算符和逻辑运算符的内部又有优先顺序:! ( >、>=、<、<=) (= =、! =) && ||高低

关系运算和逻辑运算举例

判断变量ch的值是否是字母,可以用以下逻辑表达式

ch>=…a?&&ch<=…z?||ch>=…A?&&ch<=…Z?

用括号清晰的表达运算层次:

((ch>=…a?)&&(ch<=…z?))||((ch>=…A?)&&(ch<=…Z?))值为1表明变量ch是字母;值为0表明变量ch不是字母

关系运算和逻辑运算中要注意的规则

设int a=5,b=6,c=7,d=8,m=2,n=2;

表达式(m=a>b)&&(n=c

表达式(m=a

说明:

1.对于逻辑“与”运算,只要有一个运算量为0,则表达式

的值为0,第二个表达式并不计算

2.对于逻辑“或”运算,只要有一个运算量为1,则表达式

的值为1,第二个表达式并不计算

相关主题