- 相關推薦
C語言基本知識點歸納
引導語:C語言既具有高級語言的特點,又具有匯編語言的特點。以下是小編分享給大家的C語言基本知識點歸納,歡迎閱讀!
一、C語言知識點歸納:
1、C語言程序是由多個函數構成的。
2、每個C語言程序中有且只有一個main函數。
3、C語言不使用行號,無程序行的概念。
4、程序中可使用空行和空格。
5、C語言程序格式常用鋸齒形書寫格式。
6、C語言程序中可加任意多的注釋,注釋形式/*……*/,并且注釋形式不能嵌套,即不能注釋里面又有另一個注釋。//行注釋是C++當中新增加的內容。
7、引用C語言標準庫函數,一般要用文件包含預處理命令將其頭文件包含進來。
8、用戶自定義的函數,必須先定義后使用。
9、變量必須先定義后使用。
10、變量名,函數名必須是合法的標識符,標識符習慣用小寫字母,C語言是字母大小寫敏感的語言。
11、不能用關鍵字來命名變量和函數。
12、C語言的語句都是以分號結尾的。
13、計算機中使用的進制數是二進制數,而不是十進制數,因為二進制只有兩個數碼,運算簡單便于硬件實現,同時二進制便于邏輯運算。將十進制數轉換成二進制數應分為整數部分轉換和小數部分轉換,整數部分轉換可采用基數除法來實現,小數部分轉換可采用基數乘法來實現。八進制和十六進制也是C語言中經常表示數據的進制,因為它們與二進制之間的轉換非常方便,但要注意他們不是計算機中使用的進制。
14、機器數的表示形式有原碼、反碼和補碼幾種形式,計算機中通常使用補碼的形式來表示一個數,因為補碼運算可以連同符號位一起參與運算,這便于運算器的設計與實現。
二、編程過程中初學者極易犯的錯誤:
1、書寫標識符時,忽略了大小寫字母的區別。例如把變量a寫成A。
2、忽略了變量的類型,進行了不合法的運算。例如floata,b;printf(“%d”,a%b);,其中%運算只能是整形變量或常量。
3、將字符常量與字符串常量混淆。例如charc;c=”a”;,應該是c=’a’;
4、語句末尾忘記加分號。
5、容易多加不需要的分號,例如{inta,b;printf(“%d,%d”,a,b);};這里花括號外是不能加分號的。
6、將C語句寫在{}的外面。
7、變量未定義就使用。
8、在執行部分定義變量。在TC下,函數由生命部分和執行部分組成,并且這兩部分不能交叉,也就是說,不能在C語言中間定義變量。下面程序中,變量b的定義放到了執行部分。
voidmain()
{
inta;
a=10;
intb;
b=a;
}
但要記住VC6.0中沒有這樣的規定,只要變量定義在前,使用在后就行。
9、給變量賦值時忽視了變量的表示范圍。例如charch=130;char類型的取值范圍是-128~127,這里130超出了ch的表示范圍。
10、定義變量時,變量名之間用了空格或分號分隔。例如:intab;應改為:inta,b;
11、輸入字符常量時漏掉單引號,認為A、B就是’A’、’B’。例如charch=A;
12、C語句末尾的分號用了中文的分號(;)而不是英文的(;),導致編譯錯誤。
13、誤將字母o當成數字零0。
14、編程中經常漏掉}、)、’、”。
15、定義變量時數據類型名與變量名之間無空格。例如inta;
16、對于float型變量,使用%運算符。
17、對表達式進行強制類型轉換時漏掉了(),例如:int(3.2+a),應該為:(int)(3.2+a)。
18、賦值運算符的左邊使用表達式:例如:a+b=30;或者是30=a+b;
19、語序顛倒。例如下列程序中初學者會誤認為程序的輸出為a=21:
main()
{
inta,b;
a=b+1;
b=20;
printf(“a=%d”,a);
}
20、#include或#define命令用分號結束。
#開頭的是預處理命令,而不是C語句,因此,不用用分號結尾。例如#include;就是錯誤的,多了個分號。
21、利用scanf函數輸入變量值時漏掉取地址符&。
22、利用printf函數和scanf函數時,格式控制符與表達式類型不一致,或數量不相等。例如:
inta,b;
scanf(“%d”,&a,&b);//格式控制符與表達式的數量不相等
printf(“a=%d,b=%f”,a,b);//%f應改為%d。
23、調用scanf函數輸入浮點數時規定了精度。
例如:
floatf;
scanf(“%5.2f”,&f);//應改為scanf(“%5f”,&f);
24、對算數表達式取地址。
取地址運算符&只能用于變量。
下面做法是錯誤的:
inta,b;
scanf(“%d”,&(a+b));//錯誤
25、利用printf打印單引號、雙引號、反斜杠時,沒有在這些字符前利用反斜杠構成轉義字符。
例如printf(”youshouldsay”bye”!”);
應改為:printf(”youshouldsay”bye”!”);
三、C語言編程習慣。
1、一行只放一條語句。盡管C語言允許在一行放置多條語句,但一行只放一條語句有助于程序的調試。
2、養成隨時給程序加注釋的習慣。一邊別的程序員或自己日后對程序的快速理解。
3、程序的書寫要有層次感,及鋸齒形。
4、編寫函數時,變量定義部分和函數的執行部分之間增加一空行,或者在程序的執行部分按照完成的功能塊增加相應的空行,會增加程序的易讀性。
5、為變量起有意義的名字,既可以幫助程序員讀懂程序,也可以避免變量的重復亂用,導致程序的邏輯錯誤。
6、在運算符和賦值符號的兩邊加上一個空格會增加程序的易讀性。
例如a=a+b;寫成a=a+b;更好。
【拓展】C語言基本算法:
1.交換(兩量交換借助第三者)
例1、任意讀入兩個整數,將二者的值交換后輸出。
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);}
【解析】程序中加粗部分為算法的核心,如同交換兩個杯子里的飲料,必須借助第三個空杯子。
假設輸入的值分別為3、7,則第一行輸出為3,7;第二行輸出為7,3。
其中t為中間變量,起到“空杯子”的作用。
注意:三句賦值語句賦值號左右的各量之間的關系!
【應用】
例2、任意讀入三個整數,然后按從小到大的順序輸出。
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.累加
累加算法的要領是形如“s=s+A”的累加式,此式必須出現在循環中才能被反復執行,從而實現累加功能。“A”通常是有規律變化的表達式,s在進入循環前必須獲得合適的初值,通常為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);}
【解析】程序中加粗部分為累加式的典型形式,賦值號左右都出現的變量稱為累加器,其中“i = i + 1”為特殊的累加式,每次累加的值為1,這樣的累加器又稱為計數器。
3.累乘
累乘算法的要領是形如“s=s*A”的累乘式,此式必須出現在循環中才能被反復執行,從而實現累乘功能。“A”通常是有規律變化的表達式,s在進入循環前必須獲得合適的初值,通常為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語言基本知識點歸納】相關文章:
C語言數組考點知識點歸納07-07
C語言的基本要點08-19
C語言的基本構成10-19
c語言的基本特性07-19
C語言基本知識06-27
C語言指針知識點10-10
C語言知識點講解07-25
C語言數組知識點07-15
C語言數組知識點10-14