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