- 第1-8章_基礎篇(數據類型、運算符、輸入輸出、流程控制、數組字符串、函數、指針。)
- 第9-12章_技術篇(結構體、鏈表、位運算、宏定義。)
- 第13-15章_提高篇(文件處理、調試、繪圖函數。)
- 第16-18章_實踐篇(俄羅斯方塊、Ping測試、學生成績管理系統。)
目錄
C語言的設計目的是取代彙編語言,結構式語言:代碼和數據分離。
第2章_算法和數據類型
(算法的概念和表示、數據類型、常量和變量、初始化、類型轉換)
程序的兩個部分:數據結構、算法。
數據結構:指定數據的類型和數據的組織形式。
算法:爲解決一個問題而採取的方法和步驟。
計算機算法分爲兩類:數值運算、事務管理。
閏年的兩個判斷條件:能被4整除但不能被100整除、能被100和400整除。
流程圖的3種結構:順序結構、選擇結構、循環結構。
C語言數據類型4大類:基本數據類型、構造數據類型、指針類型、空類型。
基本類型:整型(int)、實型(float、double)、字符型(char)、枚舉型(enum)。
構造數據類型:數組、結構體、共用體。
指針的值用來表示變量在內存中的地址。
函數的返回值可以爲空類型。
數據類型的取值範圍有兩種:常量、變量。
#define預處理命令可以放於源代碼的任何位置。
關鍵字const定義常量,常量初始化表達式不能包含函數。
sizeof(int)不是函數,是基本操作符。
DevCpp中char的大小是1Byte,int的大小是4Byte,float的大小是4Byte,double的大小是8Byte。
short是2Byte,long是4Byte。
靜態變量static和常量const的區別?
寄存器變量register、外部變量extern。
整數的表示形式:8進制以0爲前綴、16進制以0x爲前綴、10進制無前綴。
int類型整數的取值範圍爲-32768——+32767。
無符號整數的後綴爲u,長整數的後綴爲L。
實數的兩種十進制表示形式:十進制小數形式、指數形式(-2.8×10-2=-2.8E-2)。
Float型數據在計算時先轉換爲double類型的。
字符常量使用單引號,如:’a’。
轉義字符:\n,\t,\b,\r,\f,\\,\’,\”,\a,\ddd,\xhh。
\r:移動到本行的行首,\n:移動到下一行的行首。
字符串常量用雙引號,如:”hello”。
字符常量’a’佔1Byte,字符串常量”a”佔2Byte,其中包含結束符’\0’。
字符常量放入字符變量中,是將字符所對應的ASCII碼值放入存儲單元。
字符可以以字符形式輸出,也可以以整數形式輸出。
大小寫字母的ASCII碼相差32。
變量的初始化定義中不允許連續賦值。
數據類型的轉換有兩種:自動類型轉換、強制類型轉換。
賦值號右邊量的類型轉換爲左邊量的類型。丟失部分按四捨五入向前舍入。
第3章_運算符和表達式
(運算符的種類。)
10類運算符:算術運算、關係運算、邏輯運算、位操作、賦值、三目運算符、逗號運算符、指針、求字節、下標。
算術運算符是左結合性、賦值運算符是右結合性。
運算符優先級分爲15級。
i++先運算後自增,++i先自增後運算。
將小寫字母變成大寫字母,用x+’A’-’a’來計算。
將大寫字母變成小寫字母,用x+’a’-A’來計算。
複合賦值運算符的好處:簡化程序,提高編譯效率。
複合賦值運算符右邊的表達式是一個運算“整體”,不能分開。
如:a*=b+1等價於a=a*(b+1)
賦值表達式:a=2,計算a+=a-=a*a。
首先計算a=a-a*a=-2,然後計算a=a+a=-2+(-2)=-4。
判斷x和y是否相等-->判斷x與y的差的絕對值是否在一定誤差範圍內。
即fabs(x-y)<1.06E-6
括號裏的逗號表達式的值。
良好的編程習慣:註釋、嵌套層數、控制語句的選擇、合理的命名規則。
註釋:註釋變量名、函數名、函數作用。精簡的主函數和少量的函數調用。
第4章_數據的輸入輸出
(gets()。)
語句是一條完整的指令。
變量說明時不允許連續給多個變量賦初值,賦值語句允許連續賦值。
scanf( )、printf( )、getchar( )、putchar( )、gets( )、puts( )。
格式字符串的一般格式:%[標誌][輸出最小寬度][.精度][長度]格式字符。
在printf函數中的格式控制字符串中用連續兩個%%來輸出字符’%’。
對於輸入語句:scanf(“%4d%4d”,&a,&b);如果輸入12345678,則a=1234,b=5678。
對於輸入語句:scanf(“%d,%d,%d”,&a,&b,&c);如果格式控制字符串中有非格式字符,則在輸入時也要輸入該非格式字符。
輸入的字符過多會造成gets( )函數的緩衝區越界。
第5章_流程控制
順序結構、選擇結構、循環結構。
switch( )語句中可以省略default字句。
儘量避免使用goto( )語句。
main( )函數結束時,隱式調用exit( )函數。
程序員的職業發展:產品經理、項目經理、技術架構師。
第6章_數組和字符串
當數組下標爲小數時、編譯器自動取整。
C語言中,二維數組是按行排列的。
楊輝三角。
字符數組的初始化賦值:char c[]={‘c’,’ ‘,’p’,’r’,’o’,’g’,’r’,’a’,’m’};
Char c[]=”C program”;
字符串處理函數:strlen( )計算除字符串結束標記外的所有字符的個數。
strupr( ),strlwr( ),strcpy( ),strcmp( ),strcat( ),atoi( ),atol( ),atof( )。