目录
4.1 引例
【例4.1】输入三角形的三条边,判断是否能构成三角形,若能则计算并输出三角形的面积,否则给出出错提示。
【例4.2】编写程序,输入x的值,按以下分段函数计算并输出y的值
y=f(x)= {1/x x!=0
{0 x=0
(运行结果1)
(运行结果2)
4.2 关系运算符、逻辑运算符、条件运算符
4.2.1 关系运算符和关系表达式
1. 关系运算符
运算符 | 含义 |
> | 大于 |
>= | 大于等于 |
< | 小于 |
<= | 小于等于 |
== | 等于 |
!= | 不等于 |
注意:
(1)关系运算符都是双目运算符,其结合方向是左结合
(2)关系运算符的优先级低于算术运算符,但是高于赋值运算符。
(3)关系运算符中,>、<、>=、<=的优先级相同,==、!=的优先级相同,前者的优先级高于后者,即“>=”的优先级高于“==”。
2. 关系表达式
用关系运算符将两个表达式连接起来的式子称为关系表达式。关系表达式的一般形式为
表达式 1 关系运算符 表达式 2
功能:比较两个表达式的大小,返回一个逻辑值。
例如:“a+b>=c-d”、“x<=3/2”、“ 'a'+!=c”、“-i-5*j==k+1”都是合法的关系表达式。
关系表达式中允许出现嵌套的情况,例如“ a>b>c”、“a!=(c==d)”等。
注意:
(1)注意区分运算符“=”和“==”。“=”是赋值运算符,“==”是关系运算符。
(2)对实数进行相等判断可能得不到正确的结果,例如“1.0/3*3.0==1.0”的结果为0。
(3)关系表达式中可以出现赋值运算符,如“a>(b=0)”,但是不能写成“a>b=0”的形式。因为关系运算符的优先级高于赋值运算符,表达式“a>b=0”相当于”(a>b)=0“,赋值运算符左不是变量,会出现编译错误。
关系表达式主要用于分支结构中的条件判断。关系表达式的结构是一个逻辑值“真”或“假”,由于C语言中没有逻辑类型的数据,因此用“1”表示“真”,“0”表示“假”。例如关系表达式“(a=3)>(b=8)”的值为0。
【例4.3】关系运算示例。
4.2.2 逻辑运算符和逻辑表达式
1. 逻辑运算符
表4.2 逻辑运算符
运算符 |