- 相關推薦
2016計算機二級《C語言》章節重要考點
下面百分網小編為大家搜索整理了關于計算機二級《C語言》章節重要考點,歡迎參考學習,希望對大家有所幫助!想了解更多相關信息請持續關注我們應屆畢業生考試網!
第四章循環結構
【考點1】三種循環結構
while();do- while();for()三種。三種結構的格式及執行順序詳見教材第58、62、64頁。
b)for 循環當中必須是兩個分號,千萬不要忘記。
c)寫程序的時候一定要注意,循環一定要有結束的條件,否則成了死循環。
d) do-while()循環的最后一個while();的分號一定不能夠丟。(當心上機改錯),do-while
循環是至少執行一次循環。
【考點2】break與continue
break 和 continue 的差別
記憶方法:
break:是打破的意思,(破了整個循環)所以看見break 就退出這一層循環。
continue: 是繼續的意思,是要結束本次循環,就是循環體內剩下的語句不再執行,跳到循環開始,然后判斷循環條件,進行新一輪的循環。
【考點3】循環的嵌套
就是有循環里面還有循環,這種比較復雜,要一層一層一步一步耐心的計算,一般只考查兩層嵌套,循環嵌套通常是處理二維數組。
循環結構是重點,筆試所占分值一般在13分左右,在上機考試中也是必考點,應用性很強。要求學員重點理解并多加練習,領會掌握。
第五章函數
【考點1】函數的定義
函數:是具有一定功能的一個程序塊;是C 語言的基本組成單位。
函數的首部為:函數類型 函數名(類型1 形參1,類型2 形參2,……)。在函數定義中不可以再定義函數,即不能嵌套定義函數。函數類型默認為int型。
【考點2】庫函數
調用C語言標準庫函數時要包含include命令,include命令行以#開頭,后面是“”或<>括起來的后綴為”.h”的頭文件。以#開頭的一行稱為編譯預處理命令行,編譯預處理不是C語言語句,不加分號,不占運行時間。
【考點3】函數的返回值
函數通過return語句返回一個值,返回的值類型與函數類型一樣。return語句只執行一次,執行完或函數體結束后退出函數。
【考點4】函數的聲明
函數要“先定義后調用”,或“先聲明再調用后定義”。函數的聲明一定要有函數名、函數返回值類型、函數參數類型,但不一定要有形參的名稱。
【考點5】函數的調用
程序從上往下執行,當碰到函數名后,把值傳給調用函數,當程序得到了返回值或調用函數結束,再順序往下執行。
【考點6】函數的參數及值傳遞
形式參數簡稱形參,是定義函數時函數名后面括號中的參數。實在參數簡稱實參,是調用函數時函數名后面括號中的參數。實參和形參分別占據不同的存儲單元。實參向形參單向傳遞數值。
“傳值”與“傳址”的區別:傳數值的話,形參的變化不會改變實參的變化。傳地址的話,形參的變化就有可能改變實參所對應的量。(考試的重點)
【考點7】函數的遞歸調用
函數直接或間接地調用自己稱為函數的遞歸調用。遞歸調用必須有一個明確的結束遞歸的條件。在做遞歸題時可把遞歸的步驟一步步寫下來,不要弄顛倒了。
【考點8】要求掌握的庫函數
sqrt()算術平方根函數,fabs()絕對值函數,sin()正弦函數,sin(3.14159/180*30);,pow()冪函數,23是由pow(2,3)表示的。
第六章指針
【考點1】指針變量
指針變量是用來存儲地址的,而一般變量是存儲數值的。指針變量可指向任意一種數據類型,但不管它指向的數據占用多少字節,一個指針變量占用四個字節。
【考點2】指針變量的定義
格式為:類型名 *指針變量名。二維指針int **p;可以理解為基類型為(int *)類型。
【考點3】指針變量的初始化
指針變量在使用前必須要初始化,把一個具體的地址賦給它,否則引用時會有副作用,如果不指向任何數據就賦“空值”NULL。
指針變量兩種初始化
方法一:int a=2,*p=&a;(定義的同時初始化)
方法二:int a=2,*p; (定義之后初始化)
p=&a;
【考點4】指針變量的引用
&是取地址符,*是間接訪問運算符,它們是互逆的兩個運算符。在指針變量名前加間接訪問運算符就等價它所指向的量。
【考點5】指針的運算
int *p 中 *p 和p 的差別:
*p 可以當做變量來用;*的作用是取后面地址p 里面的數值
p 是當作地址來使用。
*p++ 和(*p)++的之間的差別:改錯題目中很重要
*p++是地址會變化。
(*p)++ 是數值會要變化。
三名主義:(考試的重點)
數組名:表示第一個元素的地址。數組名不可以自加,他是地址常量名。(考了很多次)
函數名:表示該函數的入口地址。
字符串常量名:表示第一個字符的地址。
考試重要的話語:
指針變量是存放地址的。并且指向哪個就等價哪個,所有出現*p 的地方都可以用它等價的代替指向的變量。
例如:int a=2,*p=&a;
*p=*p+2;
(由于*p 指向變量a,所以指向哪個就等價哪個,這里*p 等價于a,可以相當于是a=a+2)
第七章數組
【考點1】數組的定義
數組是一組具有相同類型的數據的集合,這些數據稱為數組元素。格式為:類型名 數組名[常量表達式]。數組的所占字節數為元素個數與基類型所占字節數的乘積。
【考點2】數組的初始化
第一維長度可以不寫,其它維必須寫。
int a[]={1,2};合法,
int a[][3]={2,3,4};合法,
int a[2][]={2,3,4};非法。
數組初始化元素值默認為0,沒有初始化元素值為隨機。如在int a[5]={0,1,2};中,元素a[4]值為0;而在int a[5];中,元素a[4]值為一個不確定的隨機數。
【考點3】元素的引用
數組元素的下標從0開始,到數組長度減1結束。所以int a[5];中數組最后一個元素是a[4]。要把數組元素看作一個整體,可以把a[4]當作一個整型變量。
【考點4】二維數組
數組a[2][3]={1,2,3,4,5,6};中含6個元素,有2行3列。第一行為a[0]行,第2行為a[1]行,a[0]、a[1]叫行首地址,是地址常量。*(a[0]+1)是第一行第一個元素往后跳一列,即元素a[0][1]值為2,*(a[0]+3)是第一行第一個元素往后跳三個,即元素a[1][0]值為4。
【考點5】行指針
是一個指針變量,占四個字節,行指針指向一行連續數據,形式為:int (*p)[2];,p只能存放含有兩個整型元素的一維數組的首地址。注意(*p)兩邊的小括號不能省略,否則就成了指針數組,是若干指針元素的集合。
【考點6】數組名
數組名是數組的首地址。數組名不能單獨引用,不能通過一個數組名代表全部元素。數組名是地址常量,不能對數組名賦值,所以a++是錯誤的。但數組名可以作為地址與一個整數相加得到一個新地址。
【考點7】元素形式的轉換
助記:“脫衣服法則”a[2]變成*(a+2),a[2][3]變成*(a+2)[3]再可變成*(*(a+2)+3)。這個思想很重要!
二維數組做題目的技巧:
如果有 a[3][3]={1,2,3,4,5,6,7,8,9}這樣的題目。
步驟一:把他們寫成: 第一列 第二列 第三列
a[0] 1 2 3 ->第一行
a[1] 4 5 6 —>第二行
a[2] 7 8 9 ->第三行
步驟二:這樣作題目間很簡單:
*(a[0]+1)我們就知道是第一行的第一個元素往后面跳一列,那么這里就是a[0][1]元素,
所以是1。
*(a[1]+2)我們就知道是第二行的第一個元素往后面跳二列。那么這里就是a[1][2]元素,
所以是 6。
一定記住:只要是二維數組的題目,一定是寫成如上的格式,再去做題目,這樣會比較簡單。
兩種重要的數組長度:
char a[]={‘a’,’b’,’c’}; 數組長度為3,字符串長度不定。sizeof(a)為3。
char a[5]={ ‘a’,’b’,’c’} 數組長度為5,字符串長度3。sizeof(a)為5。
第八章字符串
【考點1】字符串常量及表示
字符串常量是由雙引號括起來的一串字符,如”ABC”。在存儲字符串時,系統會自動在其尾部加上一個空值’\0’,空值也要占用一個字節,也就是字符串”ABC”需要占四個字節。
【考點2】字符數組
C語言沒有字符串變量,只能采用字符數組來存儲字符串。數組的大小應該比它將要實際存放的最長字符串多一個元素,從而存放’\0’。
【考點3】字符串賦值
字符串賦值的兩種形式:
char str[]=“Hello!”;
或char *p;p=“Hello!”;,
但不能用下面的形式:char str[10];str=”Hello”;因為str是一個地址常量,不能進行賦值操作。
【考點4】字符串的輸入與輸出
可以用scanf和printf函數,如scanf(”%s”,str);,也可用專門處理字符串的兩個函數gets和puts函數,還可以對字符數組逐個元素進行賦值,但一定要在最后賦一個’\0’。使用gets函數可以接收空格,使用puts函數在最后輸出一個換行。
scanf 和 gets 的數據:
如果輸入的是 good good study!
那么 scanf(“%s”,a); 只會接收 good. 考點:不可以接收空格。
gets(a); 會接收 good good study! 考點:可以接收空格。
【考點5】字符串函數
要掌握的四個字符串函數:字符串拷貝函數strcpy(),求字符串長度函數strlen(),字符串鏈接函數strcat(),字符串比較函數strcmp()。使用這些函數需在預處理部分包含頭文件”string.h”。
字符串長度要小于字符數組的長度,例:char str[10]=”Hello”;sizeof(str)的值為10(數組長度),strlen(str)的值為5(字符串長度)。這些函數是考試常用到的函數,大家一定要熟練應用這幾個函數。
第九章文件
【考點1】文件類型指針
文件指針是一個指向結構體類型的指針,定義格式為:FILE *指針變量名。在使用文件時,都需要先定義文件指針。
【考點2】文本文件與二進制文件
文本形式存放的是字符的ASCII碼,二進制形式存放的是數據的二進制。例如“100”如果是文本形式就是存儲’1’、 ’0’、 ’0’三個字符的ASCII碼(00110001 00110000 00110000),如果是二進制形式就把100轉化成二進制(01100100)。
【考點3】打開文件
文件的打開形式:
FILE *fp;
fp=fopen(“c:\\lab.c”,”rb”);。
fopen函數的前面一部分為文件名,后面一部分為文件的使用方式。打開方式見教材第116頁,其中r代表讀,w代表寫,a代表添加,b代表二進制位的。
【考點4】文件函數
判斷文件結束feof函數,移動文件指針位置fseek函數,獲得文件位置ftell函數,文件位置移到開頭rewind函數,文件字符輸入輸出fgetc函數和fputc函數,文件輸入輸出fscanf函數和fprintf函數,文件字符串輸入輸出fgets函數和fputs函數,讀寫二進制文件fread函數和fwrite函數。
以上函數要求知道格式會用,清楚是用于二進制文件還是文本文件。上課時候講的文件這一章的題目要做一遍,一定要做,基本上考試的都會在練習當中。
第十章對C語言的深入探討
【考點1】編譯預處理
凡以#開頭的這一行,都是編譯預處理命令行,編譯預處理不加分號,不占運行時間。宏替換僅是簡單的文本替換,如#define f(x) (x)*(x)和#define f(x) x*x替換f(2+2)時就有區別,前者展開為(2+2)*(2+2),后者為2+2*2+2。
如果源文件f2.c中有#include”f1.c”可以理解為把源文件f1.c原樣包含到f2.c中,使f1.c和f2.c融合到一起成為一個C程序編譯。所以一個C程序必有主函數,但一個C源文件未必有主函數。
【考點2】標識符作用域
局部變量是在函數內或復合語句內定義的變量,作用域為定義它的函數內。局部變量有三種類型:自動auto,寄存器register和靜態static。
自動變量隨著函數的使用與否創建消失;寄存器變量分配在cpu中,沒有內存地址;靜態變量占用固定存儲單元,在程序執行過程不釋放,直到程序運行結束。
全局變量是在函數外定義的變量,作用域從定義它的位置到整個源文件結束為止,生存期為整個程序運行期間。全局變量都是靜態變量。
【考點3】動態存儲分配
malloc(size)用來創建size個字節的連續存儲空間,返回值類型為void *型。malloc函數常用于動態創建鏈表結點,如int *p; p=(int *)malloc(sizeof(int));。
calloc(n,size)創建n個同一類型的連續存儲空間,可以理解為n個malloc。
int *p; p=(int *) calloc (10,sizeof(int));。p指向首地址。
free(p)釋放動態分配的存儲單元。
【考點4】main函數的參數
還有main(int argc,char **argv) {}
這種含有參數的題目,是很呆板的題目。第一個參數是表示輸入的字符串的數目,第二個參數是指向存放的字符串。
【考點5】函數指針
函數指針的用法(*f)()記住一個例子:
int add(int x, int y)
{....}
main()
{ int (*f)();
f=add;
}
賦值之后:合法的調用形式為
1、add(2,3);
2、f(2,3);
3、(*f)(2,3)
第十一章結構體和共用體
【考點1】結構體類型的說明
結構體是若干個類型數據的集合,
結構體類型說明格式:
struct 類型名 {類型1 成員名1;類型2 成員名2;……};,以上整個部分是一個數據類型,與整型的int是同樣地位。可用typedef把結構體類型替換成一個只有幾個字母的簡短標識符。
【考點2】結構體變量的定義
結構體變量是用說明的結構體類型所定義的一個變量,與結構體類型不是一回事。一個結構體變量所占字節數為其所有成員所占字節數之和。如struct stu{char name[10];int age;} a,b;則表明定義了兩個結構體變量a,b,每個變量占14個字節。a,b與int i,j;中的變量i,j是同樣地位。typedef 考的很多(教材150頁例6)。
【考點3】結構體成員的引用
引用成員可用以下3種方式:(1)結構體變量名.成員名;(2)指針變量名->成員名:(3)(*指針變量名).成員名。點(.)稱為成員運算符,箭頭(->)稱為結構指向運算符。
【考點5】共用體
共用體的使用格式與結構體相似,共用體定義的關鍵字為union,共用體所占字節數是所有成員中字節數最大的那個。
union TT
{ int a;
char ch[2];} t1 ;
main()
{t1.a=0x1234;
printf("%x\n",t1.ch[0] );
printf("%x\n",t1.ch[1] );}
考點一: sizeof (struct TT) = 2;
考點二: TT t1 ; t1.a=0x1234;
那么 ch[0]=0x 34; ch[1]=0x12
7)結構體和共用體以及鏈表要掌握最簡單的。typedef 考的很多,而且一定要知道如何引用
結構體中的各個變量,鏈表中如何填加和刪除節點,以及何如構成一個簡單的鏈表,一定記
住鏈表中的節點是有兩個域,一個放數值,一個放指針。
【考點4】鏈表
鏈表是由一個個結點構成的,一個結點就是一個結構體變量。每個結點可以分為數據域與指針域兩個部分,數據域用來存放要存儲的數據,指針域用來指向下一個結點。鏈表是考試中的難點,在C語言和公共基礎部分都會考到,要掌握,鏈表中如何增加和刪除節點(每年都考),以及何如構成一個簡單的鏈表,一定記住鏈表中的節點是有兩個域,一個放數值,一個放指針。(教材162頁例2一定要看懂)
【計算機二級《C語言》章節重要考點】相關文章:
計算機二級《C語言》重要考點復習05-07
最新計算機二級《C語言》重要考點08-23
2016計算機二級《C語言》重要考點10-28
2017計算機二級《C語言》重要考點復習07-30
全國計算機二級考試《C語言》重要考點09-01
C語言重要考點分析10-23
計算機二級C++考點:C++語言概述07-17