C语言中if语句问题

来源:百度知道 编辑:UC知道 时间:2024/05/21 22:24:01
if(表达式)与if(表达式);
有什么区别?
{;}与if(b==0) m=1;n=2; 哪个是一个语句
if(表达式)括号里的表达式是什么表达式
式关系表达式吗

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()括号里的是条件表达式。当条件成立时就执行if 说包含的语句,一般用{}
列入
if(a<b)
{
a=b;
b=a;
}
{}内的语句就是if()扩后内的条件成立时所执行的语句,如果条件不成立就执行后面的语句。。÷
像你的 if(b==a) m=1; n=2;
其中 只有 m=1 包含在if() 条件语句中,而后面的 n=2;不管b是否等于0 都会执行。

if(表达式)与if(表达式);
第一个是一个判别式 没有执行语句
第二个 写法有问题 不能这样写 要么在分号前加一个语句 才是对的

{;}与if(b==0) m=1;n=2;
都不止一个语句 {} 内的叫语句块
而后一个 两个都是单个语句 要是b==0的话 就赋值m=1

if(表达式) 表达式可为关系表达式 或者是逻辑表达式 都可

前者还没写完 是一个语句的一部分,后者是一个完整的语句,代表如果表达式成立,则什么都不做,完毕。

前面的是一个格式,后面的是一条语句。。。