c语言中语句中 "连等" 问题
展开全部
if语句的一般形式是:
if(表达式)语句
c语言中语句的标志是“;”,即以分号结尾的句子。
如果写if(a>b)
c++这是错的,因为c++是一个表达式。
如果写if(a>b)
c++;
这就对了,因为c++;是一个语句。这是表达式+分号构成的语句,称之为表达式语句,是c语言语句的一种。
问题补充的回答:
{;}这是一个复合语句。
if(b==0)
m=1;n=2;这儿有一个if控制语句,到m=1结束。n=2;是另一个语句。
另一个问题:
if后的括号里可以是任意表达式。表达式的值非0即1.
如果if(35)c++;
这表示if的条件永远成立,因为35不是0,所以它的逻辑值为1,执行表达式后的语句。
回答很多,应该够详细吧,申请加分,呵呵。
if(表达式)语句
c语言中语句的标志是“;”,即以分号结尾的句子。
如果写if(a>b)
c++这是错的,因为c++是一个表达式。
如果写if(a>b)
c++;
这就对了,因为c++;是一个语句。这是表达式+分号构成的语句,称之为表达式语句,是c语言语句的一种。
问题补充的回答:
{;}这是一个复合语句。
if(b==0)
m=1;n=2;这儿有一个if控制语句,到m=1结束。n=2;是另一个语句。
另一个问题:
if后的括号里可以是任意表达式。表达式的值非0即1.
如果if(35)c++;
这表示if的条件永远成立,因为35不是0,所以它的逻辑值为1,执行表达式后的语句。
回答很多,应该够详细吧,申请加分,呵呵。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这两题关键两点:
1.运算符的优先级跟结合性。
2.一个赋值表达式是有值的,值就是被赋的值,比如a=3
,这个赋值表达式的值就是3,若有b=(a=3),则b的值为3.
第一题:a=b=c中只有一个运算符,等号,所以优先级是一样的,而等号的结合性是从右向左的(也就是等式从右往左计算),所以a=b=c
等同于
a=(b=c),故a=4,b=4;
第二题:
优先级
:
关系运算符>"?:">赋值运算符,
故a=b>=c?d:b
等价雨
a=
(
(b>=c)?d:b
);
所以
a=2,b=2;
关于运算符的优先级可以参考
http://baike.baidu.com/view/262524.html
1.运算符的优先级跟结合性。
2.一个赋值表达式是有值的,值就是被赋的值,比如a=3
,这个赋值表达式的值就是3,若有b=(a=3),则b的值为3.
第一题:a=b=c中只有一个运算符,等号,所以优先级是一样的,而等号的结合性是从右向左的(也就是等式从右往左计算),所以a=b=c
等同于
a=(b=c),故a=4,b=4;
第二题:
优先级
:
关系运算符>"?:">赋值运算符,
故a=b>=c?d:b
等价雨
a=
(
(b>=c)?d:b
);
所以
a=2,b=2;
关于运算符的优先级可以参考
http://baike.baidu.com/view/262524.html
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一题
a=4,b=4。赋值语句是将C的值分别赋给a和b
第二题
a=2,b=2。a=b>=c?d:b等价于a=((b>=c)?d:b)其中b>=c为假则((b>=c)?d:b)的值为b的值,然后将b的值赋给a。因此a=2,b=2
a=4,b=4。赋值语句是将C的值分别赋给a和b
第二题
a=2,b=2。a=b>=c?d:b等价于a=((b>=c)?d:b)其中b>=c为假则((b>=c)?d:b)的值为b的值,然后将b的值赋给a。因此a=2,b=2
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询