C語言基本知識3

2021-09-01 06:34:00 字數 1564 閱讀 4315

一、程式設計規範

軟體程式設計規範作用

增強程式可讀性

增強**復用性

增強**維護性

軟體程式設計規範總則:

排版注釋

識別符號命名

二、函式引數順序點

函式呼叫過程中,變數值發生變化的位置(點),稱為函式引數「順序點」。

順序點一般位於:

(1)語句結束時值改變:

k=2;

k=k++ + k++;

(2)&& || , ?:等運算子

(3)函式引數傳遞時的求值順序

int k = 1;

func(k,k++);

例如: int i = 0;

① printf(「%d,%d,%d」,i++,i++,i++);

②printf(「%d,%d,%d,%d,%d」, ++i, ++i,i++,++i,i++);

linux下,從右往左計算。①順序輸出2,1,0 ②順序輸出5,5,2,5,0

三、帶引數的main函式和命令列引數

原理:當系統呼叫主函式時,系統也可將引數 (命令列) 傳給主函式。

格式:main(int argc, char *argv[ ])

可變引數列表

#include中定義了相關方法。

typedef struct

va_list;

控制函式:

void va_start(va_list ap,last);

type va_arg(va_list ap,type);

void va_end(va_list ap);

void va_copy(va_list dest,va_list src);

呼叫參數列以前,定義乙個va_list型別變數,對ap進行初始化,初始化完成後,ap指向可變參數列中的第乙個引數(由va_start函式實現),獲取引數,呼叫va_arg函式,第乙個引數是ap,第二個引數是要獲取的引數的指定型別,然後返回這個指定型別的值,並且把ap的位置指向列表的下乙個變數位置,獲取了所有的引數後,要關閉ap,呼叫va_end函式即可。

四、遞迴函式

在函式呼叫時,直接或間接地自己呼叫自己的函式稱為遞迴函式

遞迴呼叫過程可以分為如下的兩個階段:

第一階段稱為「遞推」階段:

將原有的問題分解為新的子問題,逐漸以未知的向已知的方向推測,最終達到已知的條件,即遞迴結束條件,這時遞迴階段結束;

第二階段稱為「回歸」階段:

該階段從已知的條件出發,按照「遞推」的逆過程,逐一求值返回,最後到達遞推的開始處,結束回歸階段,完成遞迴呼叫。

返回指標值的函式

格式:型別 *函式名(形參列表)

舉例 int *a(int x, int y)

*函式名兩側不能加括號,由於括號的優先順序比*高。首先 a 與其後引數結合,表明 a 是函式名,然後與*結合,表明是乙個指標形函式。

函式的指標

函式指標是函式的物理入口位址。即是在編譯時,分配的物理入口位址。

不帶括號和引數的函式名代表函式的入口位址。

對指向函式的指標變數,像p+n ,p++,p- -等運算是無意義的。函式指標不能指向函式中的某條指令。

C語言基本知識

c語言中提供了一組標準函式,用來解決常見問題 每個標準函式有自己的名字 為了使用這個標準函式需要把 stdio.h 檔案的內容合併到原始檔中 為了使用標準函式需要編寫函式呼叫語句 n 表示換行,可以把後面的內容列印在下一行中 可以採用佔位符列印編寫程式的時候還不知道的數字 d 佔位符和整數型別字配對...

C 基本知識

內聯函式 在c 98的標準下為63個關鍵字 1.普通的命名空間 namespace n1 n1為命名空間的名稱 2.命名空間可以巢狀 namespace n2 namespace n3 3.同乙個工程中允許存在多個相同名稱的命名空間,編譯器最後會合成同乙個命名空間中。1.加命名空間名稱及作用域限定符...

c 基本知識

1.類 包含某一物體的基本屬性的抽象。2.物件 具體指某乙個物體。實實在在存在的東西。3.建構函式 負責類建立物件的函式。如果類沒有宣告建構函式,c 編譯器會提供預設的無參的建構函式。這個函式只負責建立物件,不負責物件初始化工作。4.析構函式 負責釋放物件,記憶體的 5.變數訪問修飾符 public...