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語言中的空語句
所謂的空語句就是說沒有執行代碼,只有一個語句結束的標志:分號
例如:int a = 1;
1 while(1)
2 {
3 ;
4 a++;
5
6 if(a == 10)
7 break;
8}
第三行就是空語句,當程序執行到第三行的時候,什么都不做,繼續往下執行第四行,空語句不會影響程序的功能和執行順序,第五行是空行,與空語句不同,程序執行到第五行的時候會忽略空行,而不會忽略空語句。具體的作用我只是在測試的時候用過
C語言空語句的作用
空語句一般有以下幾個用途:
1.純粹消耗CPU時間,起到延時的作用,但是注意一下,"雨落深山"說的有問題的,在嵌入式系統中一般不會這么用,原因如下:
對于嵌入式系統來講,不論是哪種系統,一般下位芯片級的時間單位為Tick,這樣的處理單位對于Tick來說太粗略了。
但是在嵌入式系統中,有一種情況下會用到:
不需要很高的精確度,并且要避免引起Task切替的延遲處理時,有時會這么用。因為起計時器進行延遲的話,超時處理會引起調度進程的輪循,出現Task切替。
2.為了程序的結構清楚,可讀性好,以后擴充新功能方便。有些公司的編碼規范要求,對于if/else語句等,如果分支不配對的話,需要用空語句進行配對,一般日系企業這么要求的比較多。
例如:
正常的這么做就行:
if(XXX)
{
XXXXX
}
但是編碼規范要求,必須這么寫
if(XXX)
{
XXXXX
}
else
{
;
}
3. 對于某些大型的軟件項目,特別是一些嵌入式項目,處于自動化測試的需要,要求必須進行語句(例如,if/else語句)的配對。
在進行代碼靜態解析,單體測試Case抽出的時候,為了保證全路徑覆蓋,很多專業的高端自動測試工具,會建議進行語句(例如,if/else語句)的配對。此時對于一些不完備的分支,就會用空語句補全。