- 相關(guān)推薦
C語言基本知識點歸納
引導(dǎo)語:C語言既具有高級語言的特點,又具有匯編語言的特點。以下是小編分享給大家的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ù)碼,運(yùn)算簡單便于硬件實現(xiàn),同時二進(jìn)制便于邏輯運(yù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ǔ)碼運(yùn)算可以連同符號位一起參與運(yùn)算,這便于運(yùn)算器的設(shè)計與實現(xiàn)。
二、編程過程中初學(xué)者極易犯的錯誤:
1、書寫標(biāo)識符時,忽略了大小寫字母的區(qū)別。例如把變量a寫成A。
2、忽略了變量的類型,進(jìn)行了不合法的運(yùn)算。例如floata,b;printf(“%d”,a%b);,其中%運(yùn)算只能是整形變量或常量。
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型變量,使用%運(yùn)算符。
17、對表達(dá)式進(jìn)行強(qiáng)制類型轉(zhuǎn)換時漏掉了(),例如:int(3.2+a),應(yīng)該為:(int)(3.2+a)。
18、賦值運(yùn)算符的左邊使用表達(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á)式取地址。
取地址運(yùn)算符&只能用于變量。
下面做法是錯誤的:
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、在運(yùn)算符和賦值符號的兩邊加上一個空格會增加程序的易讀性。
例如a=a+b;寫成a=a+b;更好。
【拓展】C語言基本算法:
1.交換(兩量交換借助第三者)
例1、任意讀入兩個整數(shù),將二者的值交換后輸出。
main()
{int a,b,t;
scanf("%d%d",&a,&b);
printf("%d,%d ",a,b);
t=a; a=b; b=t;
printf("%d,%d ",a,b);}
【解析】程序中加粗部分為算法的核心,如同交換兩個杯子里的飲料,必須借助第三個空杯子。
假設(shè)輸入的值分別為3、7,則第一行輸出為3,7;第二行輸出為7,3。
其中t為中間變量,起到“空杯子”的作用。
注意:三句賦值語句賦值號左右的各量之間的關(guān)系!
【應(yīng)用】
例2、任意讀入三個整數(shù),然后按從小到大的順序輸出。
main()
{int a,b,c,t;
scanf("%d%d%d",&a,&b,&c);
if(a>b){ t=a; a=b; b=t; }
if(a>c){ t=a; a=c; c=t; }
if(b>c) { t=b; b=c; c=t; }
printf("%d,%d,%d ",a,b,c);}
2.累加
累加算法的要領(lǐng)是形如“s=s+A”的累加式,此式必須出現(xiàn)在循環(huán)中才能被反復(fù)執(zhí)行,從而實現(xiàn)累加功能!癆”通常是有規(guī)律變化的表達(dá)式,s在進(jìn)入循環(huán)前必須獲得合適的初值,通常為0。
例1、求1+2+3+……+100的和。
main()
{int i,s;
s=0; i=1;
while(i<=100)
{s=s+i;
i=i+1;
}
printf("1+2+3+...+100=%d ",s);}
【解析】程序中加粗部分為累加式的典型形式,賦值號左右都出現(xiàn)的變量稱為累加器,其中“i = i + 1”為特殊的累加式,每次累加的值為1,這樣的累加器又稱為計數(shù)器。
3.累乘
累乘算法的要領(lǐng)是形如“s=s*A”的累乘式,此式必須出現(xiàn)在循環(huán)中才能被反復(fù)執(zhí)行,從而實現(xiàn)累乘功能!癆”通常是有規(guī)律變化的表達(dá)式,s在進(jìn)入循環(huán)前必須獲得合適的初值,通常為1。
例1、求10!
[分析]10!=1×2×3×……×10
main()
{int i; long c;
c=1; i=1;
while(i<=10)
{c=c*i;
i=i+1;
}
printf("1*2*3*...*10=%ld ",c);}
【C語言基本知識點歸納】相關(guān)文章:
C語言數(shù)組考點知識點歸納07-07
C語言的基本要點08-19
C語言的基本構(gòu)成10-19
c語言的基本特性07-19
C語言基本知識06-27
C語言指針知識點10-10
C語言知識點講解07-25
C語言數(shù)組知識點07-15
C語言數(shù)組知識點10-14