小白c語言學習筆記1 3

2021-09-29 01:49:40 字數 1589 閱讀 3530

1 為什麼要有資料型別?怎麼理解資料型別?

用型別告訴計算機如何去詮釋或解釋資料

2 為什麼printf和scanf需要格式控制字元?

因為他可以輸入不定長引數(stdarg.h),因此用格式控制字元去規定輸入的引數。

p.s 回去記住格式控制字元

tip:%-5d中的數是對齊5位空格,-為向左對齊,+為向右對齊

3 char的範圍是-128~127(用1±1的原始碼相加的例子記住)

4 \t \n \r回車 \v垂直製表符

p.s:\t直觀等於四個空格長度

5 邏輯真的定義:不等於0的數

6 計算機:電源 主機板 cpu gpu(顯示卡) 記憶體 外存

7 什麼是extren和static?

static主要定義全域性靜態變數(在全域性區分配記憶體;如果沒有初始化,其預設值為0;該變數在文字內從定義開始到檔案結束可見)

p.s:區域性靜態變數(該變數在全域性資料區分配記憶體;他始終駐留在全域性資料區,直到程式執行結束;其作用域為區域性作用域,當定義他的函式或語句塊結束時,其作用域隨之結束)

8 什麼是宣告?什麼是定義?

變數定義:用於為變數分配儲存空間,還可以為變數指定初始值。程式中,變數有且只有乙個定義。

int i 是定義但未初始化(會分配空間)

int i=1 是定義且已初始化

9 單引號和雙引號

單引號對應乙個字元,對應相對的ascii

雙引號對應乙個字串,,代表的是乙個指向無名陣列其實字元的指標

10 define與const在這裡插入**片

define只是簡單的字串替換,沒有型別檢查。

例子:

#define n 2+3		//想讓n代表5

i=n/5 得到結果2+3/5 //想得到結果1,但是忽略了define是簡單的字元替換,他先計算了3/5,再+2

因此用const更精確

p.s:回去詳細查const的定義與用法,後面會考

11 eof

是end of file 的縮寫,表示文字流(流傳輸,塊傳輸)的結尾。

12 函式是什麼?函式的要素是什麼?

個人理解:將一些特定的功能封裝,增加效率,方便理解,讓主函式只負責呼叫即可。

函式要素:返回值型別,函式名,引數(可無),非void型別需有return

例子:

int main(int argc,char*ar**[ ])
p.s:argc代表main函式的引數個數;ar**是argument vector的縮寫,表示傳入main函式的引數序列或指標,並且第乙個引數ar**[0]一定是程式的名稱,並且包含了程式所在的完整路徑,所以確切的說需要我們輸入的main函式的引數個數是argc-1個。

小白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...