C语言中条件表达式和逻辑表达式的意义是什么,他们的取值如何?

作者&投稿:望雨 (若有异议请与网页底部的电邮联系)
C语言中条件表达式和逻辑表达式的意义是什么?他们的取值如何?~

逻辑表达式 用于判断条件是否成立,表达式的值为 零(假) 或 非零(真)
使用 ==、!=、>、>=、<、<=、! 运算符的表达式均称为逻辑表达式。
条件表达式 形如: ? :
取值:若exp1的值非零 则取exp2的值 否则取exp3的值
说明:exp1、exp2、exp3为必要的表达式
C语言继续发展,在1982年,很多有识之士和美国国家标准协会为了使这个语言健康地发展下去,决定成立C标准委员会,建立C语言的标准。委员会由硬件厂商,编译器及其他软件工具生产商,软件设计师,顾问,学术界人士,C语言作者和应用程序员组成。
C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性。
二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。 目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准。

条件表达式:

表达式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如果xy,值应为1,由于1.5是实型,比整型高,因此将1转换成1.0。

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

main()

{

char ch;

scanf(“%c”,&ch);

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

printf(”%c
”,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)

逻辑表达式 用于判断条件是否成立,表达式的值为 零(假) 或 非零(真)

使用 ==、!=、>、>=、<、<=、! 运算符的表达式均称为逻辑表达式。

条件表达式 形如: <exp1> ? <exp2> : <exp3> 

取值:若exp1的值非零 则取exp2的值 否则取exp3的值

说明:exp1、exp2、exp3为必要的表达式



就是判断一个表达语句的逻辑值,但逻辑值为真(非0)的时候,执行哪些语句, 当逻辑值为假(0)的时候,执行哪些语句。 条件表达式和逻辑表达式的取值只有两种,一种是为0,一种是非0 有疑问提出。望采纳。


C语言中:&&和||符号是什么意思?
&& 和 || 都是逻辑表达式,一般用法是 if(表达式1 || 表达式2) 或者 if(表达式1 && 表达式2)。|| 表示 或 满足括号里其中一个,整个表达式就为真,就满足if判定的条件执行if{}里的语句。&& 表示与 且 if括号内的表达式都为真 才能满足if判定的条件 才会执行if{}里的语句。

c语言中for循环 中()里的三个表达式分别省略都是什么意思?
for循环中的"参数初始化表达式"、"条件表达式"和"更新循环变量表达式"都是选择项,即可以缺省,但";"不能缺省。省略了初始化,表示不对循环控制变量赋初值。省略了条件表达式,则不做其它处理时便成为死循环。省略了增量,则不对循环控制变量进行操作,这时可在语句体中加入修改循环控制变量的语句。for循环的...

if语句的条件表达式和关系表达式有区别
比如 int a=5, b=6;a>b是关系表达式,结果是逻辑值false,但false可以看作是逻辑值,也可以看作是逻辑表达式。而a-b则是算术表达式,三者均可以做为if的判断条件。所以即使在C#语言中,严格区分的情况下,关系表达式也是被认为可行的,而逻辑表达式也是可以得到逻辑结果的。所以这里应当是选择了做任意...

计算机C语言中逻辑运算符“与”“或”“非”优先级是怎样的?
非的优先级最高(它是一个单目操作符)与的优先级次之或的优先级,最低单目操作符的优先级最高。1)&&:当且仅当两个运算量的值都为"真"时,运算结果为"真",否则为"假"。2) || :当且仅当两个运算量的值都为"假"时,运算结果为"假",否则为"真"。3) ! :当运算量的值为"真"...

c语言中while 、for、switch、case的用法?
1、while() for都是循环语句,使用格式:while(条件表达式){ } for(表达式1;表达式2;表达式3){ } 2、switch是多分支选择语句,case是switch语句中的一个关键字,用来判断从哪个位置开始执行语句。格式:switch(表达式){case 常量表达式: ...case 常量表达式: ...case 常量表达式...

C语言中条件运算符与逻辑或和与,哪个优先级更高
逻辑位操作符的"与"比"或"高,而"异或"则在它们之间。跟在其后的&&比||高。接下来的是条件运算符,赋值运算符及逗号运算符。在C语言中,只有4个运算符规定了运算方向,它们是&&、||、条件运算符及赋值运算符。&&、||都是先计算左边表达式的值,当左边表达式的值能确定整个表达式的值时,就不再...

1、在C语言中,条件分支结构中的条件表达式应该返回什么类型的值?_百 ...
可以是int、char或enum类型。这是因为条件分支结构中的条件表达式需要判断真假,只有整数类型的值才能被判断为真或假。在C语言中,0被视为假,非0的整数被视为真。如果条件表达式返回的是其他类型的值(如浮点数或指针),则编译器会自动将其转换为整数类型,可能会导致错误或不可预期的结果。

C语言条件表达式?
条件表达式的一般形式为:表达式1?表达式2:表达式3 C语言的基本构成:1、数据类型 C的数据类型包括:整型、字符型、实型或浮点型(单精度和双精度)、枚举类型、数组类型、结构体类型、共用体类型、指针类型和空类型。2、常量与变量 常量其值不可改变,符号常量名通常用大写。变量是以某标识符为名字,...

在C语言中,if条件句中怎么判断关系表达式和逻辑表达式?
&& 逻辑与 由左向右 || 逻辑或 由左向右 ? : 条件 由右向左 = += -= *= \/= &= ^= |= <<= >>=各种赋值 由右向左 , 逗号(顺序)

关于c语言中的关系运算符的理解
如 5 > 2在人们认知与认可的的数值比较中是成立的,即为真,而5 < 2则认为是不成立的,即为假。c使用下面语句定义的true和flase:define true 1 define flase 0 在条件表达式和逻辑表达式外,我们不能认为单个数值是否具有自然语言中意义的真假性:如: int i =0;在自然语言中我们不能认为说i...

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

建宁县18249077108: 条件表达式和逻辑表达式的意义是什么,它们取值如何? -
甄刘海昆: 条件表达式:表达式1?表达式2:表达式3(1) 条件表达式的执行顺序:先求解表达式1,若为非0(真)则求解表达式2,此时表达式2的值就作为整个表达式的值.若表达式1的值为0(假),则求解表达式3,表达式3的值就是整个条件表达式...

建宁县18249077108: 在C语言中?:表达式是什么意思? -
甄刘海昆: 条件运算符(?:)是C语言中唯一的一个三目运算符,它是对第一个表达式作真/假检测,然后根据结果返回另外两个表达式中的一个. ?: 在运算中,首先对第一个表达式进行检验,如果为真,则返回表达式2的值;如果为假,则返回表达式3的值. 例如: a=(b>0)?b:-b; 当b>0时,a=b;当b不大于0时,a=-b;这就是条件表达式.其实上面的意思就是把b的绝对值赋值给a. i++ 相当于 i = i+1;

建宁县18249077108: C语言中什么是逻辑表达式,什么是关系表达式? -
甄刘海昆: 逻辑表达式是指运算符为或||、与&&、非!的表达式. 返回值为0或1,0表示false,非0表示true. 例如!0返回1,0&&1返回0,0||1返回1. 关系表达式是指运算符为<,<=,>,>=,==,!=的表达式. 返回值同样为0或1,例如a!=b,a>=0等.用逻辑...

建宁县18249077108: c语言中 逻辑表达式一般用于控制语句中的多个条件 什么意思 -
甄刘海昆: 逻辑表达式一般用来决定控制语句中多种执行情况下应该执行哪一条语句 一般用在if语句,while语句、for语句等语句的判断条件上 如for(i=0;i再如:if(a>0){.....}a>0就是一个逻辑表达式,用作执行{.....}的条件

建宁县18249077108: 谈谈C语言的表达式. -
甄刘海昆: 用运算符将运算对象连接形成的式子就是表达式.表达式是描述数据加工的一种方法,只不过它描述的是比较简单的数据加工过程. C 语言中的表达式都是由运算对象和运算符组成的,表达式的一般构成规则如下:( l )单个的常量、变量、函数...

建宁县18249077108: (a)>(b) ? (a):(b) -
甄刘海昆: 如果a大于b就取返回值a,a小于或等于b就取b C语言中有一个三目运算符,它就是"?:"条件运算符,它要求有三个运算对象.它可以把三个表达式连接构成一个条件表达式.条件表达式的一般形式如下:逻辑表达式? 表达式1 : 表达式2 条件运算符的作用简单来说就是根据逻辑表达式的值选择使用表达式的值.当逻辑表达式的值为真时(非0值)时,整个表达式的值为表达式1的值;当逻辑表达式的值为假(值为0)时,整个表达式的值为表达式2的值.

建宁县18249077108: c语言的表达式主要类别包括~算数表达式,关系表达式,逻辑表达式和什么表达式? -
甄刘海昆: 常量、变量、算术表达式、关系表达式、逻辑表达式、条件表达式、逗 号表达式、赋值表达式、混合表达式、函数调用表达式

建宁县18249077108: c语言逻辑运算符怎么理解? -
甄刘海昆: C语言中的逻辑运算符使用规则如下: 1、逻辑运算符是根据表达式的值来返回真值或是假值.在C语言中没有专门的真值和假值,认定非0为真值,0为假值. 2、逻辑运算符运算规则:|| 或:两个条件中,只要有一个成立,则结果就成立;&& ...

建宁县18249077108: 在C语言中,if条件句中怎么判断关系表达式和逻辑表达式? -
甄刘海昆: 不知道,我理解错了没有. if ((a == b) || (a == c)) // a==b 关系表达式 () || () 逻辑表达式 {do something }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网