购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.1
条件判断表达式

【任务1】 输入一个学生成绩(0~100),判断其是否及格,及格输出,否则不输出。

【算法分析】

①键盘输入一个学生成绩,赋值给变量。

②使用关系运算符和逻辑运算符判断成绩是否在60~100,是,则输出“该学生成绩及格”;否,则不输出。

【代码】

【知识点】

(1)关系运算符和关系表达式

在编写程序的过程中经常会需要比较两个数或多个数的大小关系,根据比较的结果来决定程序的下一步走向。在C语言中,比较两个或多个数大小的运算符称为关系运算符。

1)关系运算符及优先级

类型说明符 数组名[常量表达式]

①优先级:

•在上面6种关系运算符中,前4种优先级别相同,后2种优先级别相同。前4种优先级别高于后2种。

•优先级别:算术运算符>关系运算符>赋值运算符。

②关系运算符的值:

•关系运算的值有两种:“真”和“假”。如果满足运算符的定义,则结果为“真”,否则结果为“假”。在C语言编译系统给出关系运算值时,以1代表真,0代表假。

•在对两个数值进行关系运算时,是比较两个数值的大小;在对两个字符进行关系运算时,是比较两个字符的ASCII码的大小;不可以直接比较两个字符串的大小。

③关系运算符的结合性:

关系运算符都是双目运算符,其结合性均为自左至右。

2)关系表达式

①用关系运算符将两个表达式连接起来构成有意义的式子,称为关系表达式。

②关系表达式的格式:

(表达式)关系运算符(表达式)

例如:a>b、s!=m、5>6、(a+2)>=(b-5)等都是合法的关系表达式。

注意: C语言中,关系表达式的判断结果是以1代表真,0代表假。但反过来在判断一个量是真还是假时,则以0代表假,非0的数值代表真。

【例3.1】 int a=3,b=5,c=2,求以下表达式的值:

① a>b将a和b的值代入进去为3>5,不成立,结果为假,即0;

② a+c==b 算术运算符优先级别高于关系运算符,表达式可以改为(a+c)==b,将a,b和c的值代入进去为(3+2)==5,成立,结果为真,即1;

③ a>0!=c 将a和c的值代入进去为(3>0)!=2,成立,结果为真,即1;

④ a+b<0将a和b的值代入进去为(3+5)<0,不成立,结果为假,即0。

(2)逻辑运算符和逻辑表达式

1)逻辑运算符

逻辑运算符的说明和结合性见表3-1。

表3-1逻辑运算符

①优先级:

•!>&&>||。

•!>算术运算符赋>关系运算符>&&>||>赋值运算符。

②逻辑运算符的值:真值表见表3-2

表3-2真值表

逻辑运算的值也为真和假两种,分别用1和0来表示。

2)逻辑表达式

①用逻辑运算符将表达式连接起来构成有意义的式子,称为逻辑表达式。

②关系表达式的格式:

(表达式)逻辑运算符(表达式)

例如:a&&b、s||m、!k、(a*b)||c等都是合法的逻辑表达式。

【例3.2】 int a=1,b=4,c=0求以下表达式的值。

① a&&b 将a和b的值代入进去为1&&4,成立,结果为真,即1;

② a||c 将a和c的值代入进去为1||0,成立,结果为真,即1;

③ a&&b&&c 将a、b和c的值代入进去为1&&4&&0,不成立,结果为假,即0;

④ !a||!b||!c 将a、b和c的值代入进去为!1||!4||!0,成立,结果为真,即1。

注意: 在C语言中,逻辑表达式具有一定的短路特性。逻辑表达式在求解时,并非所有的逻辑运算符都被执行,只在必须执行下一个逻辑运算符才能求出表达式的解时,才执行该运算符。

例如:

a&&b&&c 只有在a的值为真时,才判断b的值,只有在a和b的值都为真时,才判断c的值。

a||b||c 只有在a的值为假时,才判断b的值,只有在a和b的值都为假时,才判断c的值。 2AWUdmPJkUqGO3GYdnWWshsyDHo5AYFik8Fje5PytSU1njipKTy8189eLp672GWl

点击中间区域
呼出菜单
上一章
目录
下一章
×