有關(guān)c語言??贾R點有哪些 IT知識
電腦知識 由優(yōu)爾供稿C語言是一個有結(jié)構(gòu)化程序設(shè)計、具有變量作用域(variable scope)以及遞歸功能的過程式語言。下面是9252兒童網(wǎng)小編整理了c語言常考知識點有哪些,來欣賞和學(xué)習(xí)吧,希望能對大家有所幫助。
C語言基本知識
【考點1】C程序
C語言程序結(jié)構(gòu)有三種: 順序結(jié)構(gòu) , 循環(huán)結(jié)構(gòu)(三個循環(huán)結(jié)構(gòu)), 選擇結(jié)構(gòu)(if 和 switch)
【考點2】main函數(shù)
每個C語言程序中main 函數(shù)是有且只有一個。讀程序都要從main()入口, 然后從最上面順序往下讀(碰到循環(huán)做循環(huán),碰到選擇做選擇)。
【考點3】存儲形式
計算機(jī)的數(shù)據(jù)在電腦中是以二進(jìn)制的形式保存。最低的存儲單元是bit(位),位是由為 0 或者1構(gòu)成。 byte 是指字節(jié), 一個字節(jié) = 八個位。數(shù)據(jù)存放的位置就是它的地址。
【考點4】注釋
是對程序的說明,可出現(xiàn)在程序中任意合適的地方,注釋從“/*”開始到最近一個“*/”結(jié)束,其間任何內(nèi)容都不會被計算機(jī)執(zhí)行,注釋不可以嵌套。
【考點5】書寫格式
每條語句的后面必須有一個分號,分號是語句的一部分。一行內(nèi)可寫多條語句,一個語句可寫在多行上。
【考點6】標(biāo)識符
合法的用戶標(biāo)識符考查:
合法的要求是由字母,數(shù)字,下劃線組成。有其它元素就錯了。
并且第一個必須為字母或則是下劃線。第一個為數(shù)字就錯了。
C語言標(biāo)識符分如下3類
(1)關(guān)鍵字。它們在程序中有固定的含義,不能另作他用。如int、for、switch等。
(2)預(yù)定義標(biāo)識符。預(yù)先定義并具有特定含義的.標(biāo)識符。如define、include等。
(3)用戶標(biāo)識符。用戶根據(jù)需要定義的標(biāo)識符,符合命名規(guī)則且不與關(guān)鍵字相同。
關(guān)鍵字不可以作為用戶標(biāo)識符號。main define scanf printf 都不是關(guān)鍵字。迷惑你的地方If 是可以做為用戶標(biāo)識符。因為If 中的第一個字母大寫了,所以不是關(guān)鍵字。
【考點7】實型數(shù)據(jù)
實型數(shù)據(jù)的合法形式:小數(shù)形式和指數(shù)形式。掌握判定指數(shù)形式合法性。
2.333e-1 就是合法的,且數(shù)據(jù)是2.333×10-1。
考試口訣:e 前e 后必有數(shù),e 后必為整數(shù)。
【考點8】字符
字符數(shù)據(jù)的合法形式::
'1' 是字符占一個字節(jié),"1"是字符串占兩個字節(jié)(含有一個結(jié)束符號)。
'0' 的ASCII 數(shù)值表示為48,'a' 的ASCII 數(shù)值是97,'A'的ASCII 數(shù)值是65。
字符型和整數(shù)是近親:
char a = 65 ;
printf(“%c”, a); 得到的輸出結(jié)果:a
printf(“%d”, a); 得到的輸出結(jié)果:65
一般考試表示單個字符錯誤的形式:'65' "1"
字符是可以進(jìn)行算術(shù)運算的,記住: '0'-0=48
大寫字母和小寫字母轉(zhuǎn)換的方法: 'A'+32='a' 相互之間一般是相差32。
【考點9】整型數(shù)據(jù)
整型一般是兩個字節(jié), 字符型是一個字節(jié),雙精度一般是4 個字節(jié):
考試時候一般會說,在16 位編譯系統(tǒng),或者是32 位系統(tǒng)。碰到這種情況,不要去管,一樣做題。掌握整型一般是兩個字節(jié), 字符型是一個字節(jié),雙精度一般是4 個字節(jié)就可以了。
【考點10】轉(zhuǎn)義字符
轉(zhuǎn)義字符的考查:
在程序中 int a = 0x6d,是把一個十六進(jìn)制的數(shù)給變量a 注意這里的0x 必須存在。
在程序中 int a = 06d, 是一個八進(jìn)制的形式。
在轉(zhuǎn)義字符中, ’\x6d’ 才是合法的,0 不能寫,并且x 是小寫。
‘\141’ 是合法的, 0 是不能寫的。
‘\108’是非法的,因為不可以出現(xiàn)8。
【考點11】算術(shù)運算
算術(shù)運算符一共有+、—、*、/、%這五個。%符號兩邊要求是整數(shù)。不是整數(shù)就錯了。
三種取整丟小數(shù)的情況:不是四舍五入是舍掉小數(shù)部分。
1、int a =1.6;
2、(int)a;
3、1/2; 3/2;
【考點12】強(qiáng)制類型轉(zhuǎn)換
將一個運算對象轉(zhuǎn)換成指定類型,格式為(類型名)表達(dá)式
一定是 (int)a 不是 int(a),注意類型上一定有括號的。
注意(int)(a+b) 和(int)a+b 的區(qū)別。前是把a(bǔ)+b 轉(zhuǎn)型,后是把a(bǔ) 轉(zhuǎn)型再加b。
【考點13】賦值
是表達(dá)式就一定有數(shù)值。
賦值表達(dá)式:表達(dá)式數(shù)值是最左邊的數(shù)值,a=b=5;該表達(dá)式為5,常量不可以賦值。
復(fù)合賦值運算符:注意:a*=m+2 是 a=a*(m+2)
自加、自減表達(dá)式:假設(shè)a=5,++a(表達(dá)式的值為6), a++(表達(dá)式的值為5);
j=a++;等價于j=a;a=a+1; 而j=++a;等價于a=a+1;j=a;。
考試口訣:++在前先加后用,++在后先用后加。
【考點14】逗號運算
逗號表達(dá)式:優(yōu)先級別最低; 表達(dá)式的數(shù)值逗號最右邊的那個表達(dá)式的數(shù)值。
(2,3,4)的表達(dá)式的數(shù)值就是4。
【考點15】數(shù)制轉(zhuǎn)換
一定要記住二進(jìn)制 如何轉(zhuǎn)換成十進(jìn)制。
八進(jìn)制是沒有8 的,逢8 進(jìn)1,018 的數(shù)值是非法的。
【考點16】位運算
C語言提供6種位運算符:按位求反~,按位左移<<,按位右移>>,按位與&,按位異或|,按位或^。
總的處理方法:幾乎所有的位運算的題目都要按這個流程來處理(先把十進(jìn)制變成二進(jìn)制再變成十進(jìn)制)。
異或運算的規(guī)則:0異或1得到1,0異或0得到0,1異或1得到0??捎洖?ldquo;相同為0,不同為1”。
C語言常用知識點
C語言知識點:選擇結(jié)構(gòu)
【考點1】關(guān)系運算
關(guān)系運算符有6個,分別是>,>=,<,<=,==,!=,前四種優(yōu)先級高于后兩種。
關(guān)系表達(dá)式:
關(guān)系表達(dá)式真時為1,假時為0
當(dāng)關(guān)系的表達(dá)是為真的時候得到1。如 9>8 這個是真的,所以表達(dá)式的數(shù)值就是1。
【考點2】邏輯運算
只能為1(表示為真),或0(表示假)
a) 共有三種邏輯運算符號。邏輯非(!),輯與(&&),邏輯或(||)。
b) !>&&>|| 優(yōu)先的級別。
c) 注意短路現(xiàn)象。考試比較喜歡考到。
例a++||b++,如果表達(dá)式a++的值非零,則表達(dá)式b++不再執(zhí)行。
d) 要表示 x 是比0 大,比10 小的方法。0
【考點3】if語句
可以單獨出現(xiàn),也可以與else匹配出現(xiàn)。if語句可以嵌套,這時else總是與離它最近的且沒有與else匹配的if匹配。
注意if語句的子句是緊接if或else的一句,如有多句需要用{}括起來。
【考點4】條件運算
是唯一的三目運算符,格式:表達(dá)式1 ?表達(dá)式2 :表達(dá)式3
表達(dá)式1值為非0時,整個表達(dá)式值為表達(dá)式2的值,表達(dá)式1值為0時,整個表達(dá)式值為表達(dá)式3的值。考試口訣:真前假后。
【考點5】switch語句
a) 一定要注意有 break 和沒有break 的差別,書上(53,54 頁)的兩個例子,沒有break
時候,只要有一個case 匹配了,剩下的都要執(zhí)行,有break 則是直接跳出了switch 語句。
b) switch 只可以和break 一起用,不可以和continue一起用。
c) switch(x) x:是整型常量,字符型常量,枚舉型數(shù)據(jù)。
{case 1: …. 不可以是變量。
case 2: ….
}
switch后小括號里面的表達(dá)式不能為實型,case后表達(dá)式不能有變量。
口訣:switch表不為實,case表不為變。
語言知識點:數(shù)據(jù)的輸入輸出
【考點1】printf函數(shù)
格式為:printf(輸出控制,輸出列表)。輸出控制是用一對雙引號括起來的,包含格式說明和原樣信息。輸出列表包含若干輸出項。
%d對應(yīng)整型,%f對應(yīng)單精度實型,%c對應(yīng)字符型,%o對應(yīng)八進(jìn)制無符號整型,%x對應(yīng)無符號十六進(jìn)制整型,%u對應(yīng)無符號整型,%e對應(yīng)指數(shù)型,%s對應(yīng)字符串型。可在%和格式字符之間加一個數(shù)來控制數(shù)據(jù)所占的寬度和小數(shù)位數(shù)。
【考點2】scanf函數(shù)
格式為:scanf(輸入控制,輸入列表)
注意該函數(shù)的第二個部分是&a 這樣的地址,不是a;
scanf(“%d%d%*d%d”,&a,&b,&c); 跳過輸入的第三個數(shù)據(jù)。
【考點3】putchar與getchar函數(shù)
可用于輸出或輸入單個字符,這兩個函數(shù)是stdio.h文件中的庫函數(shù),它們是printf與scanf函數(shù)的簡化。
char a = getchar() 是沒有參數(shù)的,從鍵盤得到你輸入的一個字符給變量a。
putchar(‘y’)把字符y 輸出到屏幕中。
【考點4】如何交換兩個變量
如何實現(xiàn)兩個變量x ,y 中數(shù)值的互換(要求背下來)
不可以把 x=y ,y=x; 要用中間變量 t=x;x=y;y=t。
【考點5】實現(xiàn)保留三位小數(shù)
如何實現(xiàn)保留三位小數(shù),第四位四舍五入的程序
float x=12.34567;
float y=((int)(x*1000+0.5))/1000.0;
這個有推廣的意義,注意 x = (int)x 這樣是把小數(shù)部分去掉。
C語言知識點:C語言基本知識
【考點1】C程序
C語言程序結(jié)構(gòu)有三種: 順序結(jié)構(gòu) , 循環(huán)結(jié)構(gòu)(三個循環(huán)結(jié)構(gòu)), 選擇結(jié)構(gòu)(if 和 switch)
【考點2】main函數(shù)
每個C語言程序中main 函數(shù)是有且只有一個。讀程序都要從main()入口, 然后從最上面順序往下讀(碰到循環(huán)做循環(huán),碰到選擇做選擇)。
【考點3】存儲形式
計算機(jī)的數(shù)據(jù)在電腦中是以二進(jìn)制的形式保存。最低的存儲單元是bit(位),位是由為 0 或者1構(gòu)成。 byte 是指字節(jié), 一個字節(jié) = 八個位。數(shù)據(jù)存放的位置就是它的地址。
【考點4】注釋
是對程序的說明,可出現(xiàn)在程序中任意合適的地方,注釋從“/*”開始到最近一個“*/”結(jié)束,其間任何內(nèi)容都不會被計算機(jī)執(zhí)行,注釋不可以嵌套。
【考點5】書寫格式
每條語句的后面必須有一個分號,分號是語句的一部分。一行內(nèi)可寫多條語句,一個語句可寫在多行上。
【考點6】標(biāo)識符
合法的用戶標(biāo)識符考查:
合法的要求是由字母,數(shù)字,下劃線組成。有其它元素就錯了。
并且第一個必須為字母或則是下劃線。第一個為數(shù)字就錯了。
C語言標(biāo)識符分如下3類
(1)關(guān)鍵字。它們在程序中有固定的含義,不能另作他用。如int、for、switch等。
(2)預(yù)定義標(biāo)識符。預(yù)先定義并具有特定含義的標(biāo)識符。如define、include等。
(3)用戶標(biāo)識符。用戶根據(jù)需要定義的標(biāo)識符,符合命名規(guī)則且不與關(guān)鍵字相同。
關(guān)鍵字不可以作為用戶標(biāo)識符號。main define scanf printf 都不是關(guān)鍵字。迷惑你的地方If 是可以做為用戶標(biāo)識符。因為If 中的第一個字母大寫了,所以不是關(guān)鍵字。
【考點7】實型數(shù)據(jù)
實型數(shù)據(jù)的合法形式:小數(shù)形式和指數(shù)形式。掌握判定指數(shù)形式合法性。
2.333e-1 就是合法的,且數(shù)據(jù)是2.333×10-1。
考試口訣:e 前e 后必有數(shù),e 后必為整數(shù)。
【考點8】字符
字符數(shù)據(jù)的合法形式::
'1' 是字符占一個字節(jié),"1"是字符串占兩個字節(jié)(含有一個結(jié)束符號)。
'0' 的ASCII 數(shù)值表示為48,'a' 的ASCII 數(shù)值是97,'A'的ASCII 數(shù)值是65。
字符型和整數(shù)是近親:
char a = 65 ;
printf(“%c”, a); 得到的輸出結(jié)果:a
printf(“%d”, a); 得到的輸出結(jié)果:65
一般考試表示單個字符錯誤的形式:'65' "1"
字符是可以進(jìn)行算術(shù)運算的,記?。?'0'-0=48
大寫字母和小寫字母轉(zhuǎn)換的`方法: 'A'+32='a' 相互之間一般是相差32。
【考點9】整型數(shù)據(jù)
整型一般是兩個字節(jié), 字符型是一個字節(jié),雙精度一般是4 個字節(jié):
考試時候一般會說,在16 位編譯系統(tǒng),或者是32 位系統(tǒng)。碰到這種情況,不要去管,
一樣做題。掌握整型一般是兩個字節(jié), 字符型是一個字節(jié),雙精度一般是4 個字節(jié)就可以了。
【考點10】轉(zhuǎn)義字符
轉(zhuǎn)義字符的考查:
在程序中 int a = 0x6d,是把一個十六進(jìn)制的數(shù)給變量a 注意這里的0x 必須存在。
在程序中 int a = 06d, 是一個八進(jìn)制的形式。
在轉(zhuǎn)義字符中, ’\x6d’ 才是合法的,0 不能寫,并且x 是小寫。
‘\141’ 是合法的, 0 是不能寫的。
‘\108’是非法的,因為不可以出現(xiàn)8。
【考點11】算術(shù)運算
算術(shù)運算符一共有+、—、*、/、%這五個。%符號兩邊要求是整數(shù)。不是整數(shù)就錯了。
三種取整丟小數(shù)的情況:不是四舍五入是舍掉小數(shù)部分。
1、int a =1.6;
2、(int)a;
3、1/2; 3/2;
【考點12】強(qiáng)制類型轉(zhuǎn)換
將一個運算對象轉(zhuǎn)換成指定類型,格式為(類型名)表達(dá)式
一定是 (int)a 不是 int(a),注意類型上一定有括號的。
注意(int)(a+b) 和(int)a+b 的區(qū)別。前是把a(bǔ)+b 轉(zhuǎn)型,后是把a(bǔ) 轉(zhuǎn)型再加b。
【考點13】賦值
是表達(dá)式就一定有數(shù)值。
賦值表達(dá)式:表達(dá)式數(shù)值是最左邊的數(shù)值,a=b=5;該表達(dá)式為5,常量不可以賦值。
復(fù)合賦值運算符:注意:a*=m+2 是 a=a*(m+2)
自加、自減表達(dá)式:假設(shè)a=5,++a(表達(dá)式的值為6), a++(表達(dá)式的值為5);
j=a++;等價于j=a;a=a+1; 而j=++a;等價于a=a+1;j=a;。
考試口訣:++在前先加后用,++在后先用后加。
【考點14】逗號運算
逗號表達(dá)式:優(yōu)先級別最低; 表達(dá)式的數(shù)值逗號最右邊的那個表達(dá)式的數(shù)值。
(2,3,4)的表達(dá)式的數(shù)值就是4。
【考點15】數(shù)制轉(zhuǎn)換
一定要記住二進(jìn)制 如何轉(zhuǎn)換成十進(jìn)制。
八進(jìn)制是沒有8 的,逢8 進(jìn)1,018 的數(shù)值是非法的。
【考點16】位運算
會有一到二題考試題目。
C語言提供6種位運算符:按位求反~,按位左移<<,按位右移>>,按位與&,按位異或|,按位或^。
總的處理方法:幾乎所有的位運算的題目都要按這個流程來處理(先把十進(jìn)制變成二進(jìn)制再變成十進(jìn)制)。
異或運算的規(guī)則:0異或1得到1,0異或0得到0,1異或1得到0。可記為“相同為0,不同為1”。
見教材31頁例1。
C語言基本知識點歸納
一、C語言知識點歸納:
1、C語言程序是由多個函數(shù)構(gòu)成的。
2、每個C語言程序中有且只有一個main函數(shù)。
3、C語言不使用行號,無程序行的概念。
4、程序中可使用空行和空格。
5、C語言程序格式常用鋸齒形書寫格式。
6、C語言程序中可加任意多的注釋,注釋形式/*……*/,并且注釋形式不能嵌套,即不能注釋里面又有另一個注釋。//行注釋是C++當(dāng)中新增加的內(nèi)容。
7、引用C語言標(biāo)準(zhǔn)庫函數(shù),一般要用文件包含預(yù)處理命令將其頭文件包含進(jìn)來。
8、用戶自定義的函數(shù),必須先定義后使用。
9、變量必須先定義后使用。
10、變量名,函數(shù)名必須是合法的標(biāo)識符,標(biāo)識符習(xí)慣用小寫字母,C語言是字母大小寫敏感的語言。
11、不能用關(guān)鍵字來命名變量和函數(shù)。
12、C語言的語句都是以分號結(jié)尾的。
13、計算機(jī)中使用的進(jìn)制數(shù)是二進(jìn)制數(shù),而不是十進(jìn)制數(shù),因為二進(jìn)制只有兩個數(shù)碼,運算簡單便于硬件實現(xiàn),同時二進(jìn)制便于邏輯運算。將十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)應(yīng)分為整數(shù)部分轉(zhuǎn)換和小數(shù)部分轉(zhuǎn)換,整數(shù)部分轉(zhuǎn)換可采用基數(shù)除法來實現(xiàn),小數(shù)部分轉(zhuǎn)換可采用基數(shù)乘法來實現(xiàn)。八進(jìn)制和十六進(jìn)制也是C語言中經(jīng)常表示數(shù)據(jù)的進(jìn)制,因為它們與二進(jìn)制之間的轉(zhuǎn)換非常方便,但要注意他們不是計算機(jī)中使用的進(jìn)制。
14、機(jī)器數(shù)的表示形式有原碼、反碼和補(bǔ)碼幾種形式,計算機(jī)中通常使用補(bǔ)碼的形式來表示一個數(shù),因為補(bǔ)碼運算可以連同符號位一起參與運算,這便于運算器的設(shè)計與實現(xiàn)。
二、編程過程中初學(xué)者極易犯的錯誤:
1、書寫標(biāo)識符時,忽略了大小寫字母的區(qū)別。例如把變量a寫成A。
2、忽略了變量的類型,進(jìn)行了不合法的運算。例如floata,b;printf(“%d”,a%b);,其中%運算只能是整形變量或常量。
3、將字符常量與字符串常量混淆。例如charc;c=”a”;,應(yīng)該是c=’a’;
4、語句末尾忘記加分號。
5、容易多加不需要的分號,例如{inta,b;printf(“%d,%d”,a,b);};這里花括號外是不能加分號的。
6、將C語句寫在{}的外面。
7、變量未定義就使用。
8、在執(zhí)行部分定義變量。在TC下,函數(shù)由生命部分和執(zhí)行部分組成,并且這兩部分不能交叉,也就是說,不能在C語言中間定義變量。下面程序中,變量b的定義放到了執(zhí)行部分。
voidmain()
{
inta;
a=10;
intb;
b=a;
}
但要記住VC6.0中沒有這樣的規(guī)定,只要變量定義在前,使用在后就行。
9、給變量賦值時忽視了變量的表示范圍。例如charch=130;char類型的取值范圍是-128~127,這里130超出了ch的表示范圍。
10、定義變量時,變量名之間用了空格或分號分隔。例如:intab;應(yīng)改為:inta,b;
11、輸入字符常量時漏掉單引號,認(rèn)為A、B就是’A’、’B’。例如charch=A;
12、C語句末尾的分號用了中文的分號(;)而不是英文的(;),導(dǎo)致編譯錯誤。
13、誤將字母o當(dāng)成數(shù)字零0。
14、編程中經(jīng)常漏掉}、)、’、”。
15、定義變量時數(shù)據(jù)類型名與變量名之間無空格。例如inta;
16、對于float型變量,使用%運算符。
17、對表達(dá)式進(jìn)行強(qiáng)制類型轉(zhuǎn)換時漏掉了(),例如:int(3.2+a),應(yīng)該為:(int)(3.2+a)。
18、賦值運算符的左邊使用表達(dá)式:例如:a+b=30;或者是30=a+b;
19、語序顛倒。例如下列程序中初學(xué)者會誤認(rèn)為程序的輸出為a=21:
main()
{
inta,b;
a=b+1;
b=20;
printf(“a=%d”,a);
}
20、#include或#define命令用分號結(jié)束。
#開頭的是預(yù)處理命令,而不是C語句,因此,不用用分號結(jié)尾。例如#include;就是錯誤的,多了個分號。
21、利用scanf函數(shù)輸入變量值時漏掉取地址符&。
22、利用printf函數(shù)和scanf函數(shù)時,格式控制符與表達(dá)式類型不一致,或數(shù)量不相等。例如:
inta,b;
scanf(“%d”,&a,&b);//格式控制符與表達(dá)式的'數(shù)量不相等
printf(“a=%d,b=%f”,a,b);//%f應(yīng)改為%d。
23、調(diào)用scanf函數(shù)輸入浮點數(shù)時規(guī)定了精度。
例如:
floatf;
scanf(“%5.2f”,&f);//應(yīng)改為scanf(“%5f”,&f);
24、對算數(shù)表達(dá)式取地址。
取地址運算符&只能用于變量。
下面做法是錯誤的:
inta,b;
scanf(“%d”,&(a+b));//錯誤
25、利用printf打印單引號、雙引號、反斜杠時,沒有在這些字符前利用反斜杠構(gòu)成轉(zhuǎn)義字符。
例如printf(”youshouldsay”bye”!”);
應(yīng)改為:printf(”youshouldsay”bye”!”);
三、C語言編程習(xí)慣。
1、一行只放一條語句。盡管C語言允許在一行放置多條語句,但一行只放一條語句有助于程序的調(diào)試。
2、養(yǎng)成隨時給程序加注釋的習(xí)慣。一邊別的程序員或自己日后對程序的快速理解。
3、程序的書寫要有層次感,及鋸齒形。
4、編寫函數(shù)時,變量定義部分和函數(shù)的執(zhí)行部分之間增加一空行,或者在程序的執(zhí)行部分按照完成的功能塊增加相應(yīng)的空行,會增加程序的易讀性。
5、為變量起有意義的名字,既可以幫助程序員讀懂程序,也可以避免變量的重復(fù)亂用,導(dǎo)致程序的邏輯錯誤。
6、在運算符和賦值符號的兩邊加上一個空格會增加程序的易讀性。
例如a=a+b;寫成a=a+b;更好。