C語言初學者入門講座 第三講 基礎語句

2021-04-12 11:43:31 字數 1799 閱讀 8655

從程式流程的角度來看,程式可以分為三種基本結構, 即順序結構、分支結構、迴圈結構。 這三種基本結構可以組成所有的各種複雜程式。c語言提供了多種語句來實現這些程式結構。 本文將介紹這些基本語句及其應用,使讀者對c程式有乙個初步的認識, 為以後的學習打下基礎。

c程式的語句

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

c語句可分為以下五類:

1.表示式語句

2.函式呼叫語句

3.控制語句

4.復合語句

5.空語句

1.表示式語句

表示式語句由表示式加上分號「;」組成。其一般形式為: 表示式; 執行表示式語句就是計算表示式的值。例如: x=y+z; 賦值語句y+z; 加法運算語句,但計算結果不能保留,無實際意義i++; 自增1語句,i值增1

2.函式呼叫語句

由函式名、實際引數加上分號「;」組成。其一般形式為: 函式名(實際參數列); 執行函式語句就是呼叫函式體並把實際引數賦予函式定義中的形式引數,然後執行被調函式體中的語句,求取函式值。(在第五章函式中再詳細介紹)例如printf("c program");呼叫庫函式,輸出字串。

3.控制語句

控制語句用於控制程式的流程, 以實現程式的各種結構方式。

它們由特定的語句定義符組成。c語言有九種控制語句。 可分成以下三類:

(1) 條件判斷語句

if語句,switch語句

(2) 迴圈執行語句

do while語句,while語句,for語句

(3) 轉向語句

break語句,goto語句,continue語句,return語句

4.復合語句

把多個語句用括號{}括起來組成的乙個語句稱復合語句。 在程式中應把復合語句看成是單條語句,而不是多條語句,例如

是一條復合語句。復合語句內的各條語句都必須以分號「;」結尾,在括號「}」外不能加分號。

5.空語句

只有分號「;」組成的語句稱為空語句。 空語句是什麼也不執行的語句。在程式中空語句可用來作空迴圈體。例如 while(getchar()!='/n'); 本語句的功能是,只要從鍵盤輸入的字元不是回車則重新輸入。這裡的迴圈體為空語句。

賦值語句

賦值語句是由賦值表示式再加上分號構成的表示式語句。 其一般形式為: 變數=表示式; 賦值語句的功能和特點都與賦值表示式相同。 它是程式中使用最多的語句之一。 在賦值語句的使用中需要注意以下幾點:

1.由於在賦值符「=」右邊的表示式也可以又是乙個賦值表示式,因此,下述形式 變數=(變數=表示式); 是成立的,從而形成巢狀的情形。其展開之後的一般形式為: 變數=變數=…=表示式;

例如:a=b=c=d=e=5;按照賦值運算子的右接合性,因此實際上等效於:

e=5;

d=e;

c=d;

b=c;

a=b;

2.注意在變數說明中給變數賦初值和賦值語句的區別。給變數賦初值是變數說明的一部分,賦初值後的變數與其後的其它同類變數之間仍必須用逗號間隔,而賦值語句則必須用分號結尾。

3.在變數說明中,不允許連續給多個變數賦初值。 如下述說明是錯誤的: int a=b=c=5 必須寫為 int a=5,b=5,c=5; 而賦值語句允許連續賦值。

4.注意賦值表示式和賦值語句的區別。賦值表示式是一種表示式,它可以出現在任何允許表示式出現的地方,而賦值語句則不能。

下述語句是合法的:

if((x=y+5)>0) z=x;

語句的功能是,若表示式x=y+5大於0則z=x。

下述語句是非法的:

if((x=y+5;)>0) z=x;

因為=y+5;是語句,不能出現在表示式中。

(三)OSG初學者入門基礎教程

20.超級指標 難點 關於超級指標的問題由來已久,用的頗廣。在 osg 中問題是這樣提出來的,有這樣乙個場景,有一輛卡車,卡車上有乙個箱子。如果說卡車在執行過程中,箱子突然掉了,這樣就知道該把箱子的結點刪除。那麼如 果說還有乙個箱子,在地上放著,從感覺上來講他們應該用同一塊記憶體。卡車上的箱子雖然掉...

C語言小白教程第三講 常量

說明 寫這個專欄主要是為了鞏固c語言基礎知識。本模組是與全國計算機等級考試 二級c語言接軌。具有重基礎 概念 系統 全面的特點。適合沒有語言基礎的小白同學參考。若有大佬不小心點進此專欄,請移步,不然您會見笑的 哈哈哈哈哈 1 常量是固定值,在程式執行期間不能改變。這些固定的值,又叫做字面量。2 常量...

C語言第三講,基本資料型別

在c語言當中,有四種基本資料型別 分別是 整型家族包括 都分為有符號和無符號的區別 ps 聽上去長整形比短整型表示的值一樣大,但是不一定.取值範圍 型別最小範圍 char 0 127 signed char 127 127 unsigned char 0 255 short int 32767 32...