⑴ c语言if语句的用法
c语言提供了三种形式的if语句:
1、if(表达式)语句。
例如:if(x>y)printf("%d",x);
此时,如果表达式为真,则执行printf语句。
2、if(表达式)语句1 else 语句2
例如:
if(x>y)printf("%d",x);
elseprintf("%d",y);
此时,如果x>y成立为真,则执行语句printf("%d",x),然后直接跳过else,同时也跳过语句printf("%d",y),去执行之后的语句。
如果x>y不成立为假,则不执行语句printf("%d",x),执行语句printf("%d",x)。
3、if(表达式1)语句1
else if(表达式2)语句2
else if(表达式3)语句3
else if(表达式m)语句m
else 语句 n
此时,哪个表达式为真,则运行哪个if后面的语句。如表达式3成立为真,执行语句3。
在每个语句中,可以有多个语句,但需要加上大括号
例:if(x>y){printf("%d",x);break;}
(1)C语言if小括号里可以加分号吗扩展阅读:
if语句使用的注意事项:
1.if(条件表达式)其后没有分号。
一般来说,有"{}"有没有";",有";"就没有"{}"
2.if语句所控制的语句如果是一条语句,我们可以不写大括号;
如果控制的是两条以上的语句,必须加大括号。
if语句的控制体没有加大括号是其后跟的一条语句。
建议:永远加上大括号。避免不必要的错误。
参考资料:网络-if语句
⑵ C语言中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,执行表达式后的语句。
回答很多,应该够详细吧,申请加分,呵呵。
⑶ C语言中if语句后面不能加分号,否则当条件为真时执行空语句是什么意思
意思是if语句在执行时,先判断括号内语句是否为真,如果为真,则执行后续程序。当括号内为空时,语句判断为非真,后续所含语句不予执行。
if语句的具体用法:
#include<stdio.h>
int main()
{
int x = 5; //声明变量x
if (x < 10) //如果x的值小于10则执行if大括号中的代码
{
x++;
}
printf("x=%d " , x);
return 0;
}
(3)C语言if小括号里可以加分号吗扩展阅读
if…else if…else语句的具体语法格式如下:
if (判断条件1)
{
执行语句1
}
else if (判断条件2)
{
执行语句2
}
……
else if (判断条件n)
{
执行语句n
}
else
{
执行语句n+1
}
⑷ C语言if后面的小括号里能加分号吗
不能,判断的是表达式(广义上的表达式,包括函数的返回值也是表达式),不是语句
⑸ c语言这个else if后面用不用加分号啊这是我打的在环境里面没error
如果后面只有一个语句就可以不用花括号,但是推荐无论要不要都加花括号。容易看,后期修改也不容易出错
⑹ c++,if后面不可以直接跟分号吗
if后面不能是分号,不然编译时会被当成一个执行语句。
但是,第二行有一个分号是可以的,编译器会把它当成一个空语句。
⑺ 求助,if后面加不加分号的问题。。。。。。。
if else的固定形式这样 ,if——else,要配对
if(表达式) 语句1;
else语句2;
楼上上面的例子需要加分号,相当于if后面是空语句
if(s>c);//a,b你叫大小,得出较大值s,在于c比较,若s>c,s的值不变,相等执行空语句
else s=c;
可不是说IF语句FOR语句之后都不用加,不一定,如果后面执行空语句,就要加分号
代码有处错误已改为
#include"stdio.h"
int main()
{
float a,b,c,d,e,s;
scanf("%f %f %f %f %f",&a,&b,&c,&d,&e);
if(a>b) s=a;
else s=b;
if(s>c);
else s=c;
if(s>d);
else s=d;
if(s>e);
else s=e;
printf("max=%f\n",s);
return 0;
}
⑻ C语言中的if(1)是什么意思啊
if(表达式)表达式的值为1后面的程序执行,若为0则不执行。
比如if(1>2)其中1>2是个逻辑判断,1<2当然是假,所以就是false(false为0,true为1),但cpu不认false只认0和1,所以1《2的逻辑返回值就是0,所以if(0)等价于if(1>2),其他的同理。
还有一种就是if(5),c语言默认if(判别的返回值)是0就不执行,不是0就是执行!所以if(5)等同于if(1)
也就是说if(表达式结果为0(逻辑判断只返回0和1,但若是某个数值则不为0则当做是1))。
所以f(0)等价于f(1<2)等价于f((1+4)<9),f(!1)等,不执行。
if(1)相当if(5),if(1<2);
int a=0;
if(1)执行;
a=3;结果a=3;
if(0)不执行跳过;
a=4;
else a=5;执行a=5;
(8)C语言if小括号里可以加分号吗扩展阅读:
C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
⑼ C语言中if,for后加不加分号都可以么
if语句不能加,如
if(a>0)
pritf("%d", a);
else
pritf("%d", 0);
a>0时就能把a打印出来,a不大于0就打印出0,但要是加上了
if(a>0);
pritf("%d", a);
else
pritf("%d", 0);
这样是编译不过去的,编译过程中还会有个“warning C4390: “;” : 找到空的受控语句;这是有意的吗?”
“error C2181: 没有匹配 if 的非法 else ”
for语句一般也不会加,一个空的循环是没有意思的。
但是也有一些特殊的情况,比如:
while(*s++ = *t++);
这句话就是一个字符串的复制,当然,真正写程序的时候是很少用这种语法的。
⑽ c语言if语句后加分号什么意思
if判断只能接一个语句,存在多个语句时,用块语句表示{},若在if判断后
直接加“;”相当于if判断后加一个空语句,即使条件成立什么也不会干!