C語言學習筆記12

2021-06-22 15:33:28 字數 1359 閱讀 6771

回顧:

1.位置指標

作業:1.id判斷

2.根據id顯示人員資訊

預處理指令是c語言支援的一種特殊指令

它們以#做開頭,不以;做結尾

預處理指令在編譯的第乙個階段被處理

所有預處理指令都是把程式變成另外的樣子

gcc可以使用-e選項單獨處理所有預處理指令

#define是乙個預處理指令

這個預處理指令用來定義巨集

巨集定義可以給數字起名稱

定義巨集時不要使用=和;

巨集名稱中不應該有空格

巨集和變數在計算機裡的處理方式完全不同

可以在gcc命令列中使用-d選項定義巨集

可以定義使用引數的巨集

巨集的引數都沒有資料型別

巨集的引數個數任意

巨集的引數不一定代表乙個數字

巨集沒有返回值變數

巨集只能使用三目運算子完成複雜的計算

巨集的引數沒有形參和實參的區別

編寫巨集的時候應該在每個代表數字的引數以及整個計算結果外邊都加上括號

不用用自增或自減的計算結果作為巨集的引數

巨集操作符#和##

都需要和巨集的引數配合使用,這個引數通常不是用來表示數字的

#可以把巨集的某個引數轉化成字串字面值

##可以把乙個代表名字的引數和其它內容合併得到乙個新名字

條件編譯可以只編譯源程式中的某一部分**

條件編譯是使用某些預處理指令實現的

使用如下語句

#ifdef/#ifndef....#else....#endif

可以根據某個巨集是否被定義過把語句分成兩組以實現條件編譯

#if ... #elif ... #elif ... #else ... #endif

以上結構也是一種實現條件編譯的方法

可以根據任何邏輯表示式區分

可以有多個分支

多檔案程式編寫的基本原則

1.為每個.c原始檔編寫乙個對應的.h標頭檔案,標頭檔案中包含.c原始檔中所有函式的宣告

2.在每個.c原始檔中包含對應的標頭檔案

3.如果某個.c原始檔中使用到了某個.h標頭檔案中宣告的函式則也需要包含這個標頭檔案

在gcc命令中包含多個.c源檔名就可以編譯多檔案程式

標頭檔案中應該使用條件編譯避免多次編譯

使用extern關鍵字宣告全域性變數可以讓原始檔使用其他原始檔宣告的全域性變數

結構體可以用來把多個不同型別的變數合併成乙個整體

作業:1.編寫結構體表示螢幕上的乙個點,

再編寫結構體表示螢幕上的乙個矩形。

編寫函式計算乙個矩形的面積

2.編寫乙個結構體表示乙個月的

資訊(名稱,天數)

用這個結構體表示一年中的所有月,並

把他們都列印在螢幕上

小白c語言學習筆記1 2

1 陣列 排列從零開始,若arr 10 意為0至9。因此在寫陣列求和演算法時要注意從a 0 0 開始加起。2 陣列的賦值 要把乙個陣列所有的元素交給另乙個陣列,必須採用遍歷。例子 for i 0 i3 多維陣列元素的運算 在程式開頭宣告的arr 中的值,指的是行 列的數量 如 int a 3 3 但...

C語言學習筆記

include include void swap int p1,int p2 void swapa int arr,int n void printfa int arr,int n int main int argc,char argv swap i,j printfa array,6 swapa...

C語言學習筆記

file 結構 包含在stdio.h裡 ifndef file defined struct iobuf typedef struct iobuf file define file defined endif fread 功 能 從乙個流中讀資料 函式原型 size t fread void buf...