分支与循环 2

1.操作符简介

C语言程序的书写离不开各类操作符。下面是一些常用操作符的简单介绍。

1. 关系操作符

C语言用于比较的表达式,称为“关系表达式,里面使用的运算符就称 为“关系运算符”,主要有下面6个。

>    大于运算符

<    小于运算符

>= 大于等于运算符

<=  小于等于运算符

==  相等运算符

!=   不相等运算符

关系表达式通常返回 0 或 1 ,表示真假。(其中 0 为假,1 为真)。

常见错误 1  = 与 ==

相等运算符 == 与赋值运算符 = 是两个不一样的运算符。如果条件语句书写错误,如:

此刻的 if 语句中的条件相当于给 a 重新赋值,若 a 被赋的值不为0,那么无论 a 初始化的值为多少,这里if语句的条件始终满足,prnitf 函数都会将 a 的值打印到屏幕上。

为了避免这种失误,我们可以将常数写到前面,如:

常数的值显然不能被赋值修改,这时候运行代码,编译器就会报错。我们只需要把 = 改为 == 够可以了。

常见错误 2 --多个关系运算符不宜连用。

首先我们知道:

1.关系运算符是从左到右计算。

2.一个关系表达式完成比较后会返回有对应的返回值。

如果写上这么一个表达式 :i < j < k。

假如 i 的值小于 j 的值,(i<j)就会返回 1,1 在和 k 的值进行比较。最后的这个表达式的结果就有可能达不到我们的目的。如下面这份代码:

我们输入一个年龄,如果年龄在18岁~36岁之间,我们输出青年

                                                图一

输入 5 后,5 和 18比较。18 <= 5 为假,返回值为0。

0 再与 36 比较,0 <= 36 为真。这时候,整体表达式为真,打印青年在屏幕上。

为了避免这种复杂情况,我们可以使用逻辑操作符。

2. 逻辑操作符:&& , || , !

1.&&(逻辑与)

&& :逻辑与运算符,就是并且的意思(两侧的表达式都为真,则为真,否则为假)。

对于上面代码(图一),我们可以用 &&(逻辑与)修改。

 

这时就可以达到我们的目的。

2. ||(逻辑或)

||:逻辑或运算符,就是或者的意思(两侧至少有⼀个表达式为真,则为真,否则为假)。

如 : a || b 表示只要表达式 a 和表达式 b 只要有一个为真,整体表达式就为真。

以下为简单示例:

3. !(逻辑取反)

! :逻辑取反运算符(改变单个表达式的真假)。 

若表达式 a 为真,那么 表达式(!a)则为假。

如果 flag 为真, !flag 就是假,如果 flag 为假, !flag 就是真;

所以上面的代码的意思就是 flag 为假,执行if语句中的代码。

4.短路

1.C语言,逻辑运算符总是先对左侧的表达式求值,再对右边的表达式求值

2.如果左边的表达式就可以判断整体表达式的真假,就不再对右边的表达式求值。这种情况称为“短路”

如:

if(month >= 3 && month <= 5)

如果 month >= 3 结果为假,整体表达式显然为假,就不会继续执行后面的表达式 month <= 5

又如:

if(month == 12 || month==1 || month == 2)

如果满足 month == 12 ,表达式显然为真,那么后面的表达式也不会在执行,无论其是否为真。

3. 条件操作符

条件操作符也叫三目操作符,需要接受三个操作数的,形式:exp1 ? exp2 : exp3

条件操作符的计算逻辑是:如果 exp1 为真, exp2 计算,计算的结果是整个表达式的结果;

如果 exp1 为假, exp3 计算,计算的结果是整个表达式的结果。如:

4.练习:闰年的判断

输⼊⼀个年份year,判断year是否是闰年

要判断是否为闰年,需要考虑两点:

1.能被4整除并且不能被100整除是闰年

2.能被400整除是闰年

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值