【C语言】如果条件表达式的位置是一个值?

本文详细解释了C语言中条件表达式的位置如何影响布尔判断,以及在实际编程中的示例应用,包括do-while语句、循环条件的判断逻辑和特定表达式的解析。
摘要由CSDN通过智能技术生成

一、问题描述

什么叫,条件表达式的位置是一个值?

●在判断语句和循环语句中,都有括号中的判断条件表达式和循环条件表达式,往往是由运算符和数值共同构成。如:

if(a>b){};

while(a<10){};

do{}while(a<10);

●而在实际应用中会出现条件表达式的位置是一个值,如:

int a=6;

if(a){};

while(a){};

  二、问题分析

●很明显,如果是由常见条件表达式得出的最终值往往是布尔值(True、False),为真则判断为真执行语句,为假则不执行语句。布尔True也是1,布尔False也是0。

●在C语言中,不为0的数都为真,0为假。

●条件表达式的位置是一个值时,该值不为0则判断为真执行语句,该值为0时则判断为假不执行语句。


 三、示例

 意为:x<0,y=-1;x=0,y=0;x>0,y=1

 if (x < 0) 
     y = -1; 
 else if (!x) //当且仅当x=0时,!x=1,故此处x=0,y=0
     y = 0; 
 else 
     y = 1;

意为:先do输出i,在跟while()中的循环条件表达式判断是否循环,0为假不执行循环语句。

这里其实考察了三点:1.do{}while();语句先循环一次,在判断是否继续循环。

                                    2.i--第一次以原值输出。这一点与--i是不同的,--i第一次以i-1输出。

                                    3.0为假,不执行循环语句。

‌  int i=6;

‌  do {
‌    printf("%d", i--);
‌  } while (0);

 语句while(x%3) a++;中的表达式x%3等价于_______。

解答:需要x%3的值不等于0,则可以执行循环语句。即x%3!=0。

表达式 !!"2010-01-27"的值为_______(以1表示真,0表示假)。

解答: 值为1。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

琛:D

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值