c語言中語句和指令有什麼區別,C語言中“語句”和“指令”有什麼區別?

時間 2021-08-11 18:14:09

1樓:a羅網天下

區別一:構成不一樣

1、c程式的執行部分是由語句組成的。 程式的功能也是由執行語句實現的。

2、指令可以使編譯器按不同的條件編譯不同的程式部分,因而產生不同的目標**檔案。這對於程式的移植和除錯是很有用的,尤其是針對於跨平臺程式移植的時候。

區別二:實現功能不一樣

1、c程式語言可以實現多種程式結構, 即順序結構、分支(選擇)結構、迴圈結構。

2、指令可以實現源**的部分編譯功能,可以根據表示式的值或者某個特定的巨集來確定編譯條件,以決定編譯哪些**,不編譯哪些。

c語言表示式語句

表示式語句由表示式加上分號“;”組成。

其一般形式為:表示式;執行表示式語句就是計算表示式的值和執行***。

例如: x=y+z;a=520;賦值語句;

y+z;加法運算語句,但計算結果不能保留,無實際意義;

i++; 自增1語句,i值增1。

i++; 是先運算i後再加1。

++i; 是先把i值增1後運算。

包括空語句,函式呼叫語句在內都屬於表示式語句。

c語言條件編譯指令

1、#if指令

該指令檢測表示式值是否為真。如果表示式的值為真,則編譯後面的**直到出現 #else、#elif 或 #endif 為止,否則不編譯。

2、#endif指令

該指令用於終止 #if 指令。

3、#else指令

該指令用於 #if 指令之後,當前面的 #if 指令的條件不為真時,就編譯 #else 後面的**。

4、#elif指令

該指令綜合了 #else 和 #if 指令的作用。下面的示例**演示了 #if、#else、#elif 與 #endif 的組合使用情況。

2樓:

函式由函式頭和函式體組成,通俗地講函式頭的格式為type 函式名(引數1,……) 注意括號中可以無引數,也可以有引數,函式名前的type為函式的返回型別,“)”後千萬不能加“;”,因為它不是語句,而是函式宣告。

接著是由一對“{}”符號括起來的函式體,其中函式體由變數宣告部分和執行部分組成,宣告部分就是對要用到的變數進行說明,因為c語言變數使用前必須要先宣告,執行部分就是程式要執行的語句。詳細說明建議你看譚浩強教授主編的“c語言程式設計”。

用句不科學地說法來說明他們的區別就是:c語言中以“;”結束的就是語句,帶括號是函式,當然這種觀點不科學,但是,萬一你一時難於理解的話,那你不防這樣去理解,等你以後熟悉c語言了,就不會這樣了。

3樓:老虎遊

指令是規定計算機完成某種操作的命令。一條指令只能完成有限的功能。微控制器彙編指令不是就那111條嗎?常用的記住就行了,用c語言也可以啊。

指令有很多分類方式,比如按照指令完成的任務不同可分為五大類:

1、資料傳送類;2、算術運算類;3、邏輯運算及移位類;4、控制程式轉移類;5、位操作類。

語句理解起來就容易多了,一個分號標誌著一個語句結束。語句比較靈活,即使沒有執行指令,僅有一個分號也叫一個語句。語句不一定是指令,如for語句、while語句等不一定就是指令,也有可能是空等待延時的。

指令都是有一定格式的,不是隨便寫上就能構成語句的。

以上是我個人理解,不知道到位否?

4樓:看灰過來了

其實指令就是告訴計算機幹什麼,在c裡由分號結束表明就是一個語句,在這裡,語句實現指令的功能。

5樓:

可以理解為:c語言中的語句都是由一條或者很多條指令構成的。只有一條指令的時候,它也是一條c語言的語句,有很多條的時候,它也是構成這些c語言語句的指令。

或者理解為:c語言語句是c語言的標準表達方式,而指令是為了執行相應的操作。

6樓:匿名使用者

語句應該屬於指令。

我認為通常意義的指令應該是指在記憶體和暫存器當中的彙編碼吧。

7樓:匿名使用者

1. 語句(statement):

如果我們瀏覽c的yacc語法中的statement,有如下內容:

statement

: labeled_statement

| compound_statement

| expression_statement

| selection_statement

| iteration_statement

| jump_statement

;帶標號語句(labeled statement)

例如 label1:

printf("hello,world!");

複合語句(compound statement,指用花括號{}括起來的語句表(statement list))

表示式語句(expression statement)

例如i += 1 * 2;

a = 1;

選擇語句(selection statement,如if-else,switch-case語句等)

迴圈語句(iteration statement,如while,for語句等)

跳轉語句(jump statement,如goto,break,return等)

通俗一點講,語句就是定義在函式或方法,且用分號或花括號結尾,是c語言程式最基本的組成部分

2. 指令

其實c中並沒有單純“指令”這一概念,和其相近的是“預編譯指令”

如#include,#define,#ifdef等

其作用是在編譯之前,由編譯器將所包含的標頭檔案通過單純貼上的方式合併成單一檔案後,再根據條件語句刪去一些**形成最終可編譯的**

綜上所述,語句和(預編譯)指令有很大差別,其作用和編譯先後順序完全不同

8樓:

一個函式分為兩個部分,即函式頭和函式體,函式頭就是函式的定義,比如int main(),函式的語句塊就是函式體,函式體包含的執行語句就是要執行的動作內容,每一個執行語句都是以“;”結尾,作為語句結束的標誌。在c語言中的語句是用來向計算機系統發出操作指令的,一條語句編寫完成經過編譯後會產生若干條機器指令,實際程式中包含若干條語句。程式包括宣告和執行部分,宣告部分不能算作語句,比如:

“int a;”就不是一條語句,因為不產生機器的操作,只是對變數提前的定義,而執行部分就是由語句組成。

c語言與巨集指令有什麼關係?

9樓:匿名使用者

c語言裡面可以用巨集定義

都一樣了,就像你申明一個變數一樣簡單.

10樓:平凡人生

#define m(巨集定義名) 2*3(表示式)

相當於用m替代後面的表示式

11樓:匿名使用者

c語言是高階語言。

巨集指令是組合語言程式中的一種偽指令。

最終它們都是編譯成cpu能夠識別的二進位制指令。

12樓:

巨集指令是在預編譯時解釋

而c語言是在編譯時解釋

13樓:自然之風祥

程式的整體編譯過程為:預處理、編譯、優化、彙編、連線。巨集指令主要用到的死#define,#ifdef,#endif等,預處理就是處理這些指令

C語言中c和d和f有什麼區別啊,C語言中 d和 f是什麼意思啊?

c 符號 d 整型 f 符點 聞雞休息 printf c d f a,b,c c 將a按字元輸出 d 將b按整型輸出 f 將c按浮點型輸出 如 printf c d f 1 2,3 輸出結果為 1 2 3.000000 注意 如果將整型按字元型輸出,則將會是ascii碼錶中該整型值對應的字元。如果將...

c語言中和的區別,c語言中 n和 r有什麼區別

r是回車 cr 將當前位置移到本行開頭,ascii碼值 十進位制 為013。區別 1 是否換行 r 回車,回到當前行的行首,而不會換到下一行,如果接著輸出的話,本行以前的內容會被逐一覆蓋 n 換行,就是輸入完一行內容後,游標轉到下一行的起始位置 不會回到行首。例如 printf first line...

c語言中if和switch有什麼區別

布依秋 總體來說,if語句由於在英語字面上意思比較直觀,就是 如果 所以比較容易理解。就是對 如果 情況的判斷和處理。而 switch 的功能其實和if差不多,但是比較容易出錯的地方就是,在switch語句中,如果在分支中不加break。容易造成邏輯的錯誤。新手很容易犯這個錯誤 湯贊悅 if 用於單...