- 相關推薦
C語言知識點講解
豐富的知識能給大家帶來豐富的生活,不知道大家對C語言了解多少?以下是小編為大家搜索整理的C語言知識點講解,希望能給大家帶來幫助!
C語言知識點講解
第一章
1)合法的用戶標識符考查:
合法的要求是由字母,數字,下劃線組成。有其它元素就錯了。
并且第一個必須為字母或則是下劃線。第一個為數字就錯了。
關鍵字不可以作為用戶標識符號。main define scanf printf 都不是關鍵字。迷惑你的地方If是可以做為用戶標識符。因為If中的第一個字母大寫了,所以不是關鍵字。
2)實型數據的合法形式:
2.333e-1 就是合法的,且數據是2.333x10-1。
考試口訣:e前e后必有數,e后必為整數。
3)字符數據的合法形式::
'1'是字符占一個字節,"1"是字符串占兩個字節(含有一個結束符號)。
'0' 的ASCII數值表示為48,'a' 的ASCII數值是97,'A'的ASCII數值是65。
4) 整型一般是兩個字節, 字符型是一個字節,雙精度一般是4個字節:
考試時候一般會說,在16位編譯系統,或者是32位系統。碰到這種情況,不要去管,一樣做題。掌握整型一般是兩個字節, 字符型是一個字節,雙精度一般是4個字節就可以了。
5)轉義字符的考查:
在程序中 int a = 0x6d,是把一個十六進制的數給變量a 注意這里的0x必須存在。
在程序中 int a = 06d, 是一個八進制的形式。
在轉義字符中,’x6d’才是合法的,0不能寫,并且x是小寫。
‘141’是合法的。
‘108’是非法的,因為不可以出現8。
轉義字符意義 ASCII碼值(十進制)
a 響鈴(BEL) 007
退格(BS) 008
f 換頁(FF) 012
換行(LF) 010
回車(CR) 013
水平制表(HT) 009
v 垂直制表(VT) 011
反斜杠 092
? 問號字符 063
' 單引號字符 039
" 雙引號字符 034
空字符(NULL) 000
ddd 任意字符三位八進制
xhh 任意字符二位十六進制
6)算術運算符號的優先級別:
同級別的有的是從左到右,有的是從右到左。
7)強制類型轉換:
一定是(int)a 不是 int(a),注意類型上一定有括號的。
注意(int)(a+b)和(int)a+b 的區別。 前是把a+b轉型,后是把a轉型再加b。
8)表達式的考查:
是表達式就一定有數值。
賦值表達式:表達式數值是最左邊的數值,a=b=5;該表達式為5,常量不可以賦值。
自加、自減表達式:假設a=5,++a(是為6), a++(為5);
運行的機理:++a 是先把變量的數值加上1,然后把得到的數值放到變量a中,然后再用這
個++a表達式的數值為6,而a++是先用該表達式的數值為5,然后再把a的數值加上1為6,
再放到變量a中。 進行了++a和a++后在下面的程序中再用到a的話都是變量a中的6了。
考試口訣:++在前先加后用,++在后先用后加。
逗號表達式:優先級別最低 ;表達式的數值逗號最右邊的那個表達式的數值。
(2,3,4)的表達式的數值就是4。
9)位運算的考查:
會有一到二題考試題目。
總的處理方法:幾乎所有的位運算的題目都要按這個流程來處理(先把十進制變成二進制再變成十進制)。
例1: char a = 6, b;
b = a<<2; 這種題目的計算是先要把a的十進制6化成二進制,再做位運算。
例2: 一定要記住,
例3: 在沒有舍去數據的時候,<<左移一位表示乘以2;>>右移一位表示除以2。
10)018的數值是非法的,八進制是沒有8的,逢8進1。
11)%符號兩邊要求是整數。不是整數就錯了。
12) 兩種取整丟小數的情況:
1、int a =1.6;
2、(int)a;
第二章
1)printf函數的格式考查:
%d對應整型;%c對應字符;%f對應單精度等等。寬度的,左對齊等修飾。
%ld對應 long int;%lf 對應double。
2)scanf函數的格式考察:
注意該函數的第二個部分是&a 這樣的地址,不是a;
Scanf(“%d%d%*d%d”,&a,&b,&c);跳過輸入的第三個數據。
3)putchar ,getchar 函數的考查:
char a = get) 是沒有參數的,從鍵盤得到你輸入的一個字符給變量a。
put‘y’)把字符y輸出到屏幕中。
4)如何實現兩個變量x ,y中數值的互換(要求背下來)
不可以把 x=y,y=x; 要用中間變量 t=x;x=y;y=t。
5)如何實現保留三位小數,第四位四舍五入的程序,(要求背下來)
x=(int)(x*1000+0.5)/1000.0
這個有推廣的意義,注意 x = (int)x 這樣是把小數部分去掉。
第三章
特別要注意:c語言中是用非0表示邏輯真的,用0表示邏輯假的。
1)關系表達式:
表達式的數值只能為1(表示為真),或0(表示假)
當關系的表達是為真的時候得到1。如 9>8這個是真的,所以表達式的數值就是1;
2)邏輯表達式:
只能為1(表示為真),或0(表示假)
a) 共有&& || ! 三種邏輯運算符號。
b) !>&&>|| 優先的級別。
c) 注意短路現象。考試比較喜歡考到。
d) 要表示 x 是比0大,比10小的方法。0
3)if 語句
C語言的最大特點是:功能強、使用方便靈活。
C編譯的程序對語法檢查并不象其它高級語言那么嚴格,這就給編程人員留下“靈活的余地”,但還是由于這個靈活給程序的調試帶來了許多不便,尤其對初學C語言的人來說,經常會出一些連自己都不知道錯在哪里的錯誤。
1.書寫標識符時,忽略了大小寫字母的區別。
2.忽略了變量的類型,進行了不合法的運算。
3.將字符常量與字符串常量混淆。
4.忽略了“=”與“==”的區別。
5.忘記加分號。分號是C語句中不可缺少的一部分,語句末尾必須有分號。
6.多加分號。 復合語句的花括號后不應再加分號,否則將會畫蛇添足。
7.輸入變量時忘記加地址運算符“&”。
8.輸入數據的方式與要求不符。代碼①scanf("%d%d",&a,&b);輸入時,不能用逗號作兩個數據間的分隔符②scanf("%d,%d",&a,&b);C規定:如果在“格式控制”字符串中除了格式說明以外還有其它字符,則在輸入數據時應輸入與這些字符相同的字符。
9.輸入字符的格式與要求不一致。在用“%c”格式輸入字符時,“空格字符”和“轉義字符”都作為有效字符輸入。
10.輸入輸出的數據類型與所用格式說明符不一致。
11.輸入數據時,企圖規定精度。
12.switch語句中漏寫break語句。
13.忽視了while和do-while語句在細節上的區別。
14.定義數組時誤用變量。
15.在定義數組時,將定義的“元素個數”誤認為是可使的最大下標值。
16.初始化數組時,未使用靜態存儲。
17.在不應加地址運算符&的位置加了地址運算符。
18.同時定義了形參和函數中的局部變量。
c語言公共基礎知識
一、 基本數據結構與算法
1. 算法的基本概念;算法復雜度的概念和意義(時間復雜度與空間復雜度)。
2. 數據結構的定義;數據的邏輯結構與存儲結構;數據結構的圖形表示;線性結構與非線性結構的概念。
3. 線性表的定義;線性表的順序存儲結構及其插入與刪除運算。
4. 棧和隊列的定義;棧和隊列的順序存儲結構及其基本運算。
5. 線性單鏈表、雙向鏈表與循環鏈表的結構及其基本運算。
6. 樹的基本概念;二叉樹的定義及其存儲結構;二叉樹的前序、中序和后序遍歷。
7. 順序查找與二分法查找算法;基本排序算法(交換類排序,選擇類排序,插入類排序)。
二、 程序設計基礎
1. 程序設計方法與風格。
2. 結構化程序設計。
3. 面向對象的程序設計方法,對象,方法,屬性及繼承與多態性。
三、 軟件工程基礎
1. 軟件工程基本概念,軟件生命周戎概念,軟件工具與軟件開發環境。
2. 結構化分析方法,數據流圖,數據字典,軟件需求規格說明書。
3. 結構化設計方法,總體設計與詳細設計。
4. 軟件測試的方法,白盒測試與黑盒測試,測試用例設計,軟件測試的實施,單元測試、集成測試和系統測試。
5. 程序的調試,靜態調試與動態調試。
四、 數據庫設計基礎
1. 數據庫的基本概念:數據庫,數據庫管理系統,數據庫系統。
2. 數據模型,實體聯系模型及E-R圖,從E-R圖導出關系數據模型。
3. 關系代數運算,包括集合運算及選擇、投影、連接運算,數據庫規范化理論。
4. 數據庫設計方法和步驟:需求分析、概念設計、邏輯設計和物理設計的相關策略。
【C語言知識點講解】相關文章:
C語言數組知識點03-29
C語言指針知識點03-29
C語言數組知識點03-29
講解C語言編程中的結構體對齊04-01
C語言循環結構知識點03-29
C語言循環語句知識點03-29
C語言數組知識點總結12-06
C語言知識點及其簡單應用12-03
C語言字符串知識點03-29