c語言中每條可執行
㈠ c語言中每條可執行和非執行語句最終都將被轉化成二進制的機器指令 這句話對么
不對,首先非執行語句根本不會被編譯,可執行語句像常數定義這種直接放到DATA段裡面也不是機器指令
㈡ 是否C語言的每條可執行語句最終都將被轉成2進制的機器指令為什麼
不是,預處理會去掉一部分代碼。比如
#ifdef A
code block 1
#else
code block 2
#endif
如果A定義過,則code block 2不會生成機器指令。
㈢ 一下敘述中正確的是A) c語言的源程序不必通過編譯就可以直接運行B)c語言中的每條可執行的語句最終都將
A是錯誤的。C語言是通過編譯計算機才能執行,因為計算機執行的是二進制碼,而C語言卻是人類能夠讀懂的語言,要通過編譯程序(或者是匯編編寫的或者是用C語言編寫的)編譯之後把指令送到CPU的指令存儲器然後根據CPU的時鍾信號一條以條的來執行指令所指示的「微指令」。
B選項沒有描述清楚。
㈣ C語言中的每條可執行語句和非可執行語句最終都是將是背轉換成二進制的機器指令為什麼是錯的
諸如括弧、注釋等非可執行語句並不會轉化為機器指令,所以是錯的。解決方法如下:
1、首先,編寫For循環第一句。
㈤ c源程序中每條可執行語句和注釋部分最終都將被轉換成二進制機器指令嗎求解釋,幫幫忙吧!
不正確。
每條可執行語句都會被轉為二進制指令。
而注釋部分不會被轉換。
這個是常規的說法。
實際上,在編譯器優化下,一些不會被執行的語句一樣不會被轉為二進制機器指令的。
比如
if(0) printf("xxxx");
這句一般都不會被轉。
㈥ C語言中的每條執行語句都需要用分號結束嗎
在 C 程序中,分號是語句結束符。每個語句必須以分號結束。它表明一個邏輯實體的結束。
C語言中分號被用作為語句結束的標志,如果在C程序中不小心多寫了一個分號,那麼該分號也許會被視作一個空語句;或者編譯器會因為這個多餘的分號而產生一條警告信息,根據警告信息的提示往往會很容易找到多餘的分號。
如:
If (x>b);
b=x;
多餘的分號會被解釋為空語句,實際產生的效果是:
If(x>b){}
b=x;
也就是說當x>b時,執行空語句,在任何情況下會執行b=x。
如果在C程序中漏寫了一個分號,就表示當前語句並沒有結束,同樣會差錯。如:
If(n<3)
return
log.date=x[0];
log.time=x[1];
log.code=x[2];
因為return 後漏寫了一個分號,表示該語句還沒有結束,實際效果相當於:
If(n<3)
return log.date=x[0];
log.time=x[1];
log.code=x[2];
(6)c語言中每條可執行擴展閱讀
1、C 語言中的語句塊中是可以包含語句塊的,語句塊中的語句塊被當。作一個簡單的語句來處理。
2、若要寫一個包含幾個表達式語句和空語句的語句塊,就可以用下面的形式:這是一個語句塊的例子,其中包含四個已經了解的語句,依次為賦值表達式語句、空語句、除法運算表達式語句和按位取反表達式語句。