c語言,if(表達式)語句 分號問題
分號是C語言的語句結束符!
你如果在 if(a >b)后面加了分號,就表示這個if語句結束了,后面
{ t=a; a=b; b=t;} 這個復合語句就是與 if 語句完全無關,無論變量
a 與 b 之間的大小關系如何,都會執行這三個語句。
如果去掉 if之后的那個分號,則只有在 a 確實大于 b 的情況下才會
執行花括號中的三個語句。
但是不管你加不加分號,這部分程序的語法都是對的,只是表達的分支
控制方式不同。加了分號,那個if語句在執行中本質是沒有作用的。
C語言中if語句后面不能加分號,否則當條件為真時執行空語句是什么
意思是if語句在執行時,先判斷括號內語句是否為真,如果為真,則執行后續程序。當括號內為空時,語句判斷為非真,后續所含語句不予執行。
if語句的具體用法:
#include<stdio.h>
int main()
{
int x = 5; //聲明變量x
if (x < 10) //如果x的值小于10則執行if大括號中的代碼
{
x++;
}
printf("x=%d\n" , x);
return 0;
}
擴展資料
if…else if…else語句的具體語法格式如下:
if (判斷條件1)
{
執行語句1
}
else if (判斷條件2)
{
執行語句2
}
……
else if (判斷條件n)
{
執行語句n
}
else
{
執行語句n+1
}
C++的IF語句
加分號表示語句的結束,用{}括起來后也相當于是一句語句結束,所以是可以加分號,加n個分號都沒問題.不過一般用的時候沒必要加分號.
if的一般形式有:
1. if語句
if (表達式)
{
語句;
}
*。else語句
if(表達式)
{
語句-1;
}
else
{
語句-2;
}
*。else。if語句
if (表達式)
語句;
else if (表達式)
語句;
else if (表達式)
語句;
else
語句;
4.嵌套的if語句
if (表達式-1)
{
if (表達式-2)
語句-1;
if (表達式-3)
語句-2;
else
語句-3;
/*與if(表達式-3)相匹配*/
}
else
語句-4;
/*與if (表達式-1)相匹配*/
關于if語句后面一對括號
c語言提供了三種形式的if語句:
1、if(表達式)語句。
例如:if(x>y)printf("%d",x);
此時,如果表達式為真,則執行printf語句。
2、if(表達式)語句1 else 語句2
例如:
if(x>y)printf("%d",x);
else printf("%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;}
擴展資料:
if語句使用的注意事項:
*(條件表達式)其后沒有分號。
一般來說,有"{}"有沒有";",有";"就沒有"{}"
*語句所控制的語句如果是一條語句,我們可以不寫大括號;
如果控制的是兩條以上的語句,必須加大括號。
if語句的控制體沒有加大括號是其后跟的一條語句。
建議:永遠加上大括號。避免不必要的錯誤。