条件表达式和逻辑表达式的意义是什么,它们取值如何?

如题所述

条件表达式:

表达式1?表达式2:表达式3

(1) 条件表达式的执行顺序:先求解表达式1,若为非0(真)则求解表达式2,此时表达式2的值就作为整个表达式的值。若表达式1的值为0(假),则求解表达式3,表达式3的值就是整个条件表达式的值。

(2) 条件表达式优先于赋值运算符,max=(a>b)?a:b则先求解条件表达式在赋给max。

(3) 条件表达式的结合方向为“自右至左”如:a>b? a:c>d? c:d应该是a>b? a:(c>d? c:d)

(4) 条件表达式还可以写成以下形式:a>b?(a=100):(b=100)即表达式2和表达式3不仅可以是数值表达式,还可以是赋值表达式或函数表达式。

(5) 条件表达式中,表达式1的类型可以与表达式2和表达式3的类型不同,如:x?‘a’:‘b’ x是整型变量,若x等于0则表达式的值为‘b’。表达式2和表达式3的类型也可以不同,此时条件表达式的类型为二者中较高的类型。如:x>y?1:1.5如果x<=y,则条件表达式的值为1.5,若x>y,值应为1,由于1.5是实型,比整型高,因此将1转换成1.0。

(6) 例:输入一个字符,判别它是否是大写字母,如果是,将它转换成小写字母;如果不是,不转换。然后输出最后得到的字符。

main()

{

char ch;

scanf(“%c”,&ch);

ch=(ch>=’A’&&ch<=’Z’ )?(ch+32):ch;

printf(”%c\n”,ch);

}

逻辑表达式:
用逻辑操作符将关系表达式或布尔值连接起来就是逻辑表达式逻辑表达式的值
仍然是一个布尔值
在逻辑表达式的求值过程中不是所有的逻辑操作符都被执行有时候不需要
执行所有的操作符就可以确定逻辑表达式的结果只有在必须执行下一个逻辑操作
符后才能求出逻辑表达式的值时才继续执行该操作符这种情况我们称为逻辑表达
式的短路
假设a 是一个布尔值或逻辑表达式bool-exp 是一个逻辑表达式那么
􀁺 a&&(bool-exp) 只有a 当为true 时才继续判断值如果a 为false 时逻辑
表达式的值已经确定为false 不需要继续求值
􀁺 a||(bool-exp) 只有a 当为false 时才继续判断的值如果a 为true 时逻辑
表达式的值已经确定为true 不需要继续求值
在熟练地掌握逻辑操作符和关系操作符以后就可以使用逻辑表达式来表示各种
复杂的条件例如给出一个年份要判断它是不是一个闰年我们知道闰年的条
件是是400 的倍数或者是4 的倍数但不是100 的倍数设年份为year 闰年与否
就可以用一个逻辑表达式来表示
(year % 400)==0 || ((year % 4)==0 && (year % 100)!=0)
温馨提示:内容为网友见解,仅供参考
无其他回答

条件表达式和逻辑表达式的意义是什么,它们取值如何?
表达式1?表达式2:表达式3 (1) 条件表达式的执行顺序:先求解表达式1,若为非0(真)则求解表达式2,此时表达式2的值就作为整个表达式的值。若表达式1的值为0(假),则求解表达式3,表达式3的值就是整个条件表达式的值。(2) 条件表达式优先于赋值运算符,max=(a>b)?a:b则先求解条件...

C语言中条件表达式和逻辑表达式的意义是什么?他们的取值如何?
逻辑表达式 用于判断条件是否成立,表达式的值为 零(假) 或 非零(真)使用 ==、!=、>、>=、<、<=、! 运算符的表达式均称为逻辑表达式。条件表达式 形如: <exp1> ? <exp2> : <exp3> 取值:若exp1的值非零 则取exp2的值 否则取exp3的值 说明:exp1、exp2、exp3为必要的表达式 C...

C语言中条件表达式和逻辑表达式的意义是什么?他们的取值如何
逻辑表达式 用于判断条件是否成立 表达式的值为 零(假) 或 非零(真)使用 ==、!=、>、>=、<、<=、! 运算符的表达式均称为逻辑表达式 逻辑表达式可以使用 ||、&& 进行组合,以表示复杂的逻辑判断,如:\/\/ 判断 number 是否满足条件:是2的倍数且是3的倍数(number % 2 == 0) && (number...

在C语言中?:表达式是什么意思?
[1]引表达式,是由数字、算符、数字分组符号(括号)、自由变量和约束变量等以能求得数值的有意义排列方法所得的组合。约束变量在表达式中已被指定数值,而自由变量则可以在表达式之外另行指定数值。给与自由变量一些数值指定,可能可以给与一个表达式数值,即使对于一些自由变量的值,表示式或许没有定义。因此...

关于c语言中的关系运算符的理解
在条件表达式和逻辑表达式外,我们不能认为单个数值是否具有自然语言中意义的真假性:如: int i =0;在自然语言中我们不能认为说i为0就是假的,i为非0时是真的,在数值意义上,变量i的取值没有真假之分,但我们可以理所当然的认为 5 > 2 是成立是真的,对于条件测试语句中 如 if(i)中,...

Pascal中,什么叫关系表达式、说明表达式、条件表达式、逻辑表达式?
表达式可以是常量也可以是变量或算式,在表达式中又可分为:算术表达式、逻辑表达式和字符串表达式。 1、算术表达式: 算术表达式是最常用的表达式,又称为数值表达式。它是通过算术运算符来进行运算的数学公式。我们先来看Visual Basic中的算术运算符: 算术运算符 运算符 表达式 说 明举 例 * X*Y 求...

c语言中,关系表达式和逻辑表达式的值是什么?
c语言中,关系表达式和逻辑表达式的值是0或1。逻辑表达式的值是一个逻辑值,即"true"或"false"。C言语编译体系在给出逻辑运算效果时,以数字1示意"真",以数字0示意"假",但在推断一个量是不是为"真"时,以0示意"假",以非0示意"真"。因为浮点数在计算机中不能异常正确地示意,所以,推断两...

逻辑表达式有多少种可能的结果值,分别是哪些值?
逻辑表达式:F=AB.(2)或门 或门(OR gate),又称或电路、逻辑和电路。如果几个条件中,只要有一个条件得到满足,某事件就会发生,这种关系叫做“或”逻辑关系。具有“或”逻辑关系的电路叫做或门。或门有多个输入端,一个输出端,只要输入中有一个为高电平时(逻辑“1”),输出就为高电平(逻辑...

如何正确解读if 条件表达式的结果
"AND”的定义:判断多个条件是否为真,条件用"Logical"(逻辑表达式)指定。如果所有条件都为真,返回值为TRUE(真);如果任意一项条件为假,则返回FALSE(假)。即任意某一条件不满足即为不满足。参数用逗号分开,最多可以指定30个。"OR”的定义:判断多个条件中是否有任意一个条件为真,条件用"Logical"(...

C 关系表达式、逻辑表达式、条件表达式
条件表达式 三目表达式 表达式1 ? 表达式2 : 表达式3 这里的 ? 和 : 总是成对出现。 运算过程, 首先计算 表达式1; 如果这个表达式的值为非0, 则执行表达式2, 否则执行表达式3.找个简单的例子 x > 0 ? 4 : 5 首先判断 x 是否大于 0, 如果 x 是大于 0,则求出 4 ...

相似回答