當前位置:首頁 » 編程語言 » c語言國家二級知識點
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言國家二級知識點

發布時間: 2023-01-30 04:10:15

① 計算機二級c語言考試內容

基本要求

1.熟悉Visual C++集成開發環境。

2.掌握結構化程序設計的方法,具有良好的程序設計風格。

3.掌握程序設計中簡單的數據結構和演算法並能閱讀簡單的程序。

4.在 Visual C++集成環境下,能夠編寫簡單的C程序,並具有基本的糾錯和調試程序的能力。

考試內容

一、C語言程序的結構

  1. 庫函數的正確調用。

  2. 函數的定義方法。

  3. 函數的類型和返回值。

  4. 形式參數與實際參數,參數值的傳遞。

  5. 函數的正確調用,嵌套調用,遞歸調用。

  6. 局部變數和全局變數。

  7. 變數的存儲類別(自動,靜態,寄存器,外部),變數的作用域和生存期。

② 計算機二級c語言常見知識點

計算機二級c語言常見知識點

資料庫是為了更容易地組織、存儲和檢索大量數據。資料庫由資料庫管理系統管理,通過資料庫模型和查詢語言來存儲、創建、維護和搜索數據。下面是我整理的關於計算機二級c語言常見知識點,歡迎大家參考!

計算機二級c語言常見知識點 篇1

文件

【考點1】文件類型指針

文件指針是一個指向結構體類型的指針,定義格式為:FILE *指針變數名。在使用文件時,都需要先定義文件指針。

【考點2】文本文件與二進制文件

文本形式存放的是字元的ASCII碼,二進制形式存放的是數據的二進制。例如「100」如果是文本形式就是存儲』1』、 』0』、 』0』三個字元的ASCII碼(00110001 00110000 00110000),如果是二進制形式就把100轉化成二進制(01100100)。

【考點3】打開文件

文件的打開形式:

FILE *fp;

fp=fopen(「c:lab.c」,」rb」);。

fopen函數的前面一部分為文件名,後面一部分為文件的使用方式。其中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);

計算機二級c語言常見知識點 篇2

【考點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)表示的。

;

③ 計算機二級C語言基本考點

計算機二級C語言基本考點匯總

為幫助同學們更好學習C語言基本知識,我特為同學們搜集以下C語言考試基本考點知識,歡迎閱讀!

【考點1】C程序

C語言程序結構有三種: 順序結構 , 循環結構(三個循環結構), 選擇結構(if 和 switch)

【考點2】main函數

每個C語言程序中main 函數是有且只有一個。讀程序都要從main()入口, 然後從最上面順序往下讀(碰到循環做循環,碰到選擇做選擇)。

【考點3】存儲形式

計算機的數據在電腦中是以二進制的形式保存。最低的存儲單元是bit(位),位是由為 0 或者1構成。 byte 是指位元組, 一個位元組 = 八個位。數據存放的位置就是它的地址。

【考點4】注釋

是對程序的說明,可出現在程序中任意合適的地方,注釋從“/*”開始到最近一個“*/”結束,其間任何內容都不會被計算機執行,注釋不可以嵌套。

【考點5】書寫格式

每條語句的後面必須有一個分號,分號是語句的一部分。一行內可寫多條語句,一個語句可寫在多行上。

【考點6】標識符

合法的用戶標識符考查:

合法的要求是由字母,數字,下劃線組成。有其它元素就錯了。

並且第一個必須為字母或則是下劃線。第一個為數字就錯了。

C語言標識符分如下3類

(1)關鍵字。它們在程序中有固定的含義,不能另作他用。如int、for、switch等。

(2)預定義標識符。預先定義並具有特定含義的標識符。如define、include等。

(3)用戶標識符。用戶根據需要定義的標識符,符合命名規則且不與關鍵字相同。

關鍵字不可以作為用戶標識符號。main define scanf printf 都不是關鍵字。迷惑你的地方If 是可以做為用戶標識符。因為If 中的第一個字母大寫了,所以不是關鍵字。

【考點7】實型數據

實型數據的合法形式:小數形式和指數形式。掌握判定指數形式合法性。

2.333e-1 就是合法的,且數據是2.333×10-1。

考試口訣:e 前e 後必有數,e 後必為整數。

【考點8】字元

字元數據的合法形式::

'1' 是字元佔一個位元組,"1"是字元串占兩個位元組(含有一個結束符號)。

'0' 的ASCII 數值表示為48,'a' 的ASCII 數值是97,'A'的ASCII 數值是65。

字元型和整數是近親:

char a = 65 ;

printf(“%c”, a); 得到的輸出結果:a

printf(“%d”, a); 得到的輸出結果:65

一般考試表示單個字元錯誤的形式:'65' "1"

字元是可以進行算術運算的,記住: '0'-0=48

大寫字母和小寫字母轉換的方法: 'A'+32='a' 相互之間一般是相差32。

【考點9】整型數據

整型一般是兩個位元組, 字元型是一個位元組,雙精度一般是4 個位元組:

考試時候一般會說,在16 位編譯系統,或者是32 位系統。碰到這種情況,不要去管,

一樣做題。掌握整型一般是兩個位元組, 字元型是一個位元組,雙精度一般是4 個位元組就可以了。

【考點10】轉義字元

轉義字元的考查:

在程序中 int a = 0x6d,是把一個十六進制的數給變數a 注意這里的0x 必須存在。

在程序中 int a = 06d, 是一個八進制的形式。

在轉義字元中, ’x6d’ 才是合法的,0 不能寫,並且x 是小寫。

‘141’ 是合法的, 0 是不能寫的。

‘108’是非法的,因為不可以出現8。

【考點11】算術運算

算術運算符一共有+、—、*、/、%這五個。%符號兩邊要求是整數。不是整數就錯了。

三種取整丟小數的情況:不是四捨五入是舍掉小數部分。

1、int a =1.6;

2、(int)a;

3、1/2; 3/2;

【考點12】強制類型轉換

將一個運算對象轉換成指定類型,格式為(類型名)表達式

一定是 (int)a 不是 int(a),注意類型上一定有括弧的。

注意(int)(a+b) 和(int)a+b 的區別。前是把a+b 轉型,後是把a 轉型再加b。

【考點13】賦值

是表達式就一定有數值。

賦值表達式:表達式數值是最左邊的數值,a=b=5;該表達式為5,常量不可以賦值。

復合賦值運算符:注意:a*=m+2 是 a=a*(m+2)

自加、自減表達式:假設a=5,++a(表達式的.值為6), a++(表達式的值為5);

j=a++;等價於j=a;a=a+1; 而j=++a;等價於a=a+1;j=a;。

考試口訣:++在前先加後用,++在後先用後加。

【考點14】逗號運算

逗號表達式:優先順序別最低; 表達式的數值逗號最右邊的那個表達式的數值。

(2,3,4)的表達式的數值就是4。

【考點15】數制轉換

一定要記住二進制 如何轉換成十進制。

八進制是沒有8 的,逢8 進1,018 的數值是非法的。

【考點16】位運算

會有一到二題考試題目。

C語言提供6種位運算符:按位求反~,按位左移<<,按位右移>>,按位與&,按位異或|,按位或^。

總的處理方法:幾乎所有的位運算的題目都要按這個流程來處理(先把十進制變成二進制再變成十進制)。

異或運算的規則:0異或1得到1,0異或0得到0,1異或1得到0。可記為“相同為0,不同為1”。

;

④ 國二c語言包括什麼

國二C語言指全國計算機等級考試中的c語言考試項目。包括以下十二個方面。

1、C語言程序的結構

程序的構成,main函數和其他函數以及頭文件,數據說明,函數的開始和結束標志以及程序中的注釋。還包括源程序的書寫格式和C語言的風格。

2、數據類型及其運算

C的數據類型及其定義方法, C運算符的種類、運算優先順序和結合性,不同類型數據間的轉換與運算和C表達式類型。

3、基本語句

表達式語句,空語,復合語句,輸入輸出函數的調用,正確輸入數據並正確設計輸出格式。

4、選擇結構程序設計

用if 語句實現選擇結構,用switch語句實現多分支選擇結構,選擇結構的嵌套。

5、循環結構程序設計

for循環結構, while和do-while循環結構,continue語句和break語句,循環的嵌套。

6、數組的定義和引用

一維數組和二維數組的定義、初始化和數組元素的引用,字元串與字元數組。

7、函數

庫函數的正確調用, 函數的定義方法,函數的類型和返回值,形式參數與實在參數,參數值的傳遞,函數的正確調用,嵌套調用,遞歸調用,局部變數和全局變數,變數的存儲類別(自動,靜態,寄存器,外部),變數的作用域和生存期。

8、編譯預處理

宏定義和調用(不帶參數的宏,帶參數的宏),文件包含冶處理。

9、指針

地址與指針變數的概念,地址運算符與間址運算符,一維、二維數組和字元串的地址以及指向變數、數組、字元串、函數、結構體的指針變數的定義。通過指針引用以上各類型數據。用指針作函數參數,返回地址值的函數, 指針數組,指向指針的指針。

10、結構體(即「結構冶)與共同體(即「聯合冶)

用typedef 說明一個新類型,結構體和共用體類型數據的定義和成員的引用,通過結構體構成鏈表,單向鏈表的建立,結點數據的輸出、刪除與插入。二叉樹基本知識。

11、位運算

位運算符的含義和使用,簡單的位運算。

12、文件操作

只要求緩沖文件系統(即高級磁碟I/ O系統),對非標准緩沖文件系統(即低級磁碟I/O系統)不要求。

包括文件類型指針(FILE類型指針),文件的打開與關閉(fopen,fclose), 文件的讀寫(fputc,fgetc,fputs,fgets,fread,fwrite,fprintf,fscanf 函數的應用),文件的定位(rewind,fseek函數的應用)。

⑤ 計算機二級C語言主要考點

引用。。:
數據結構與演算法

1 演算法

演算法:是指解題方案的准確而完整的描述。
演算法不等於程序,也不等計算機方法,程序的編制不可能優於演算法的設計。
演算法的基本特徵:是一組嚴謹地定義運算順序的規則,每一個規則都是有效的,是明確的,此順序將在有限的次數下終止。特徵包括:
(1)可行性;
(2)確定性,演算法中每一步驟都必須有明確定義,不充許有模稜兩可的解釋,不允許有多義性;
(3)有窮性,演算法必須能在有限的時間內做完,即能在執行有限個步驟後終止,包括合理的執行時間的含義;
(4)擁有足夠的情報。
演算法的基本要素:一是對數據對象的運算和操作;二是演算法的控制結構。
指令系統:一個計算機系統能執行的所有指令的集合。
基本運算和操作包括:算術運算、邏輯運算、關系運算、數據傳輸。
演算法的控制結構:順序結構、選擇結構、循環結構。
演算法基本設計方法:列舉法、歸納法、遞推、遞歸、減斗遞推技術、回溯法。
演算法復雜度:演算法時間復雜度和演算法空間復雜度。
演算法時間復雜度是指執行演算法所需要的計算工作量。
演算法空間復雜度是指執行這個演算法所需要的內存空間。

2 數據結構的基本基本概念

數據結構研究的三個方面:
(1)數據集合中各數據元素之間所固有的邏輯關系,即數據的邏輯結構;
(2)在對數據進行處理時,各數據元素在計算機中的存儲關系,即數據的存儲結構;
(3)對各種數據結構進行的運算。
數據結構是指相互有關聯的數據元素的集合。
數據的邏輯結構包含:
(1)表示數據元素的信息;
(2)表示各數據元素之間的前後件關系。
數據的存儲結構有順序、鏈接、索引等。
線性結構條件:
(1)有且只有一個根結點;
(2)每一個結點最多有一個前件,也最多有一個後件。
非線性結構:不滿足線性結構條件的數據結構。

3 線性表及其順序存儲結構

線性表由一組數據元素構成,數據元素的位置只取決於自己的序號,元素之間的相對位置是線性的。
在復雜線性表中,由若干項數據元素組成的數據元素稱為記錄,而由多個記錄構成的線性表又稱為文件。
非空線性表的結構特徵:
(1)且只有一個根結點a1,它無前件;
(2)有且只有一個終端結點an,它無後件;
(3)除根結點與終端結點外,其他所有結點有且只有一個前件,也有且只有一個後件。結點個數n稱為線性表的長度,當n=0時,稱為空表。
線性表的順序存儲結構具有以下兩個基本特點:
(1)線性表中所有元素的所佔的存儲空間是連續的;
(2)線性表中各數據元素在存儲空間中是按邏輯順序依次存放的。
ai的存儲地址為:adr(ai)=adr(a1)+(i-1)k,,adr(a1)為第一個元素的地址,k代表每個元素占的位元組數。
順序表的運算:插入、刪除。 (詳見14--16頁)

4 棧和隊列

棧是限定在一端進行插入與刪除的線性表,允許插入與刪除的一端稱為棧頂,不允許插入與刪除的另一端稱為棧底。
棧按照「先進後出」(filo)或「後進先出」(lifo)組織數據,棧具有記憶作用。用top表示棧頂位置,用bottom表示棧底。
棧的基本運算:(1)插入元素稱為入棧運算;(2)刪除元素稱為退棧運算;(3)讀棧頂元素是將棧頂元素賦給一個指定的變數,此時指針無變化。
隊列是指允許在一端(隊尾)進入插入,而在另一端(隊頭)進行刪除的線性表。rear指針指向隊尾,front指針指向隊頭。
隊列是「先進行出」(fifo)或「後進後出」(lilo)的線性表。
隊列運算包括(1)入隊運算:從隊尾插入一個元素;(2)退隊運算:從隊頭刪除一個元素。
循環隊列:s=0表示隊列空,s=1且front=rear表示隊列滿

5 線性鏈表

數據結構中的每一個結點對應於一個存儲單元,這種存儲單元稱為存儲結點,簡稱結點。
結點由兩部分組成:(1)用於存儲數據元素值,稱為數據域;(2)用於存放指針,稱為指針域,用於指向前一個或後一個結點。

2008-2-21 10:07 回復 鬥牛士 黛石Sara 2樓在鏈式存儲結構中,存儲數據結構的存儲空間可以不連續,各數據結點的存儲順序與數據元素之間的邏輯關系可以不一致,而數據元素之間的邏輯關系是由指針域來確定的。
鏈式存儲方式即可用於表示線性結構,也可用於表示非線性結構。
線性鏈表,head稱為頭指針,head=null(或0)稱為空表,如果是兩指針:左指針(llink)指向前件結點,右指針(rlink)指向後件結點。
線性鏈表的基本運算:查找、插入、刪除。

6 樹與二叉樹

樹是一種簡單的非線性結構,所有元素之間具有明顯的層次特性。
在樹結構中,每一個結點只有一個前件,稱為父結點,沒有前件的結點只有一個,稱為樹的根結點,簡稱樹的根。每一個結點可以有多個後件,稱為該結點的子結點。沒有後件的結點稱為葉子結點。
在樹結構中,一個結點所擁有的後件的個數稱為該結點的度,所有結點中最大的度稱為樹的度。樹的最大層次稱為樹的深度。
二叉樹的特點:(1)非空二叉樹只有一個根結點;(2)每一個結點最多有兩棵子樹,且分別稱為該結點的左子樹與右子樹。
二叉樹的基本性質:
(1)在二叉樹的第k層上,最多有2k-1(k≥1)個結點;
(2)深度為m的二叉樹最多有2m-1個結點;
(3)度為0的結點(即葉子結點)總是比度為2的結點多一個;
(4)具有n個結點的二叉樹,其深度至少為[log2n]+1,其中[log2n]表示取log2n的整數部分;
(5)具有n個結點的完全二叉樹的深度為[log2n]+1;
(6)設完全二叉樹共有n個結點。如果從根結點開始,按層序(每一層從左到右)用自然數1,2,….n給結點進行編號(k=1,2….n),有以下結論:
①若k=1,則該結點為根結點,它沒有父結點;若k>1,則該結點的父結點編號為int(k/2);
②若2k≤n,則編號為k的結點的左子結點編號為2k;否則該結點無左子結點(也無右子結點);
③若2k+1≤n,則編號為k的結點的右子結點編號為2k+1;否則該結點無右子結點。
滿二叉樹是指除最後一層外,每一層上的所有結點有兩個子結點,則k層上有2k-1個結點深度為m的滿二叉樹有2m-1個結點。
完全二叉樹是指除最後一層外,每一層上的結點數均達到最大值,在最後一層上只缺少右邊的若干結點。
二叉樹存儲結構採用鏈式存儲結構,對於滿二叉樹與完全二叉樹可以按層序進行順序存儲。
二叉樹的遍歷:
(1)前序遍歷(dlr),首先訪問根結點,然後遍歷左子樹,最後遍歷右子樹;
(2)中序遍歷(ldr),首先遍歷左子樹,然後訪問根結點,最後遍歷右子樹;
(3)後序遍歷(lrd)首先遍歷左子樹,然後訪問遍歷右子樹,最後訪問根結點。

7 查找技術

順序查找的使用情況:
(1)線性表為無序表;
(2)表採用鏈式存儲結構。
二分法查找只適用於順序存儲的有序表,對於長度為n的有序線性表,最壞情況只需比較log2n次。

8 排序技術

排序是指將一個無序序列整理成按值非遞減順序排列的有序序列。
交換類排序法:(1)冒泡排序法,需要比較的次數為n(n-1)/2; (2)快速排序法。
插入類排序法:(1)簡單插入排序法,最壞情況需要n(n-1)/2次比較;(2)希爾排序法,最壞情況需要o(n1.5)次比較。
選擇類排序法:(1)簡單選擇排序法,
最壞情況需要n(n-1)/2次比較;(2)堆排序法,最壞情況需要o(nlog2n)次比較。

⑥ 計算機二級C語言考試內容有哪些

1、 C語言程序的結構

一。程序組成、主要功能及其他功能。

2。程序中的頭文件、數據描述、函數開始和結束標志以及注釋。

三。源程序的寫入格式。

四。C語言的風格。

2、 數據類型及其操作

一。C的數據類型(基本類型、構造類型、指針類型、無值類型)及其定義方法。

2。C運算符的類型、操作優先順序和關聯性。

三。不同類型數據之間的轉換和操作。

四。C表達式類型(賦值表達式、算術表達式、關系表達式、邏輯表達式、條件表達式、逗號表表達式)和評估規則。

3、 基本陳述

一。表達式語句,空語句,復合語句。

2。調用輸入輸出函數,正確輸入數據,正確設計輸出格式。

四、 選擇結構的程序設計

一。用if語句實現選擇結構。

2。用switch語句實現多分支選擇結構。

三。選擇結構嵌套。

5、 循環結構規劃

一。用於循環結構。

2。While和do While循環結構。

⑦ 計算機二級考試《C語言》知識點歸納(3)

第六章

指針變數的本質是用來放地址,而一般的變數是放數值的。

int *p 中 *p和p的差別:

*p可以當做變數來用;*的作用是取後面地址p裡面的數值

p是當作地址來使用。

*p++ 和 (*p)++的之間的差別:改錯題目中很重要

*p++是 地址會變化。

(*p)++ 是數值會要變化。

三名主義:(考試的重點)

數組名:表示第一個元素的地址。數組名不可以自加,

他是地址常量名。(考了很多次)

函數名:表示該函數的入口地址。

字元串常量名:表示第一個字元的地址。

第七章

1一維數組的重要概念:

對a[10]這個數組的討論。

1、a表示數組名,是第一個元素的地址,也就是

元素a[10]的地址。

2、a是地址常量,所以只要出現a++,或者

是a=a+2賦值的都是錯誤的。

3、a是一維數組名,所以它是列指針,也就是

說a+1是跳一列。

對a[3][3]的討論。

1、a表示數組名,是第一個元素的地址,也就是

元素a[10]的地址。

2、a是地址常量,所以只要出現a++,或者

是a=a+2賦值的都是錯誤的。

3、a是二維數組名,所以它是行指針,也就

是說a+1是跳一行。

4、a[0]、a[1]、a[2]也都是地址常量,不可以對

它進行賦值操作,同時它們都是列指針,a[0]+1,

a[1]+1,a[2]+1都是跳一列。

5、注意a和a[0] 、a[1]、a[2]是不同的,它們的

基類型是不同的。前者是一行元素,後三者是一列元素。

二維數組做題目的技巧:

如果有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。

一定記住:只要是二維數組的題目,一定是寫成如

上的格式,再去做題目,這樣會比較簡單。

數組的初始化,一維和二維的,一維可以不寫,

二維第二個一定要寫

int a[]={1,2} 合法。 int a[][4]={2,3,4}合法。

但int a[4][]={2,3,4}非法。

二維數組中的行指針

int a[1][2];

其中a現在就是一個行指針,a+1跳一行數組元素。

搭配(*)p[2]指針

a[0],a[1]現在就是一個列指針。a[0]+1 跳一個數組

元素。搭配*p[2]指針數組使用

還有記住脫衣服法則:

a[2] 變成 *(a+2) a[2][3]變成 *(a+2)[3]再

可以變成 *(*(a+2)+3)

⑧ 計算機二級(C語言)都考哪些內容

C語言程序設計

(1)單項選擇題,40題,40分(含公共基礎知識部分10分);

(2)程序填空題,2~3個空,18分;

(3)程序改錯題,2~3處錯誤,18分;

(4)程序設計題,1題,24分。

計算機二級考試是全國計算機等級考試(National Computer Rank Examination,簡稱NCRE)四個等級中的一個等級,考核計算機基礎知識和使用一種高級計算機語言編寫程序以及上機調試的基本技能。計算機二級考試採用全國統一命題、統一考試的形式。

(8)c語言國家二級知識點擴展閱讀

時間安排

2018年NCRE將舉辦三次考試,時間分別為3月24日至26日(第51次)、9月15日至17日(第52次)及12月8日(第53次)。其中3月份和9月份考試開考全部級別全部科目,12月份考試開考一、二級的全部科目。各省級承辦機構可根據實際情況決定是否開考12月份考試。

二級考試時間為120分鍾;

系統環境:Windows 7、Visual C++2010 學習版(Visual C++ 2010 Express)、Visual Basic6.0、Access2010、NetBeans、My SQL(Community 5.5.16);Visual Studio 2010、MS Office2010、Python3.5.2 版本及以上 IDLE。

考試科目

據了解,教育部考試中心確定從2013年上半年開始,實施無紙化的NCRE,二級6個科目是:二級C,二級VB,二級VFP、二級JAVA、二級ACCESS、二級C++。[3]取消「Delphi語言程序設計」科目(代碼:62)。

自2018年3月考試起,NCRE將執行2018版考試大綱,二級取消「Visual FoxPro 資料庫程序設計」科目(代碼:27),2017年 12 月是其最後一次組考。新增「Python 語言程序設計」科目(代碼:66),考試時長:120 分鍾,2018 年 9 月首次開考。

⑨ 計算機二級考試C語言知識點歸納

2017年計算機二級考試C語言知識點歸納

計算機二級考試是全國計算機等級考試(National Computer Rank Examination,簡稱NCRE)四個等級中的一個等級,考核計算機基礎知識和使用一種高級計算機語言編寫程序以及上機調試的基本技能。下面是2017年計算機二級考試C語言知識點歸納。歡迎閱讀。

總體上必須清楚的

1)程序結構是三種:順序結構 ,循環結構

(三個循環結構),選擇結構(if 和 switch)

2)讀程序都要從main()入口,然後從最上面順序

往下讀(碰到循環做循環,碰到選擇做選擇)。

3)計算機的數據在電腦中保存是以二進制的形式。

數據存放的位置就是他的地址。

4)bit是位 是指為0 或者1。 byte 是指位元組,

一個位元組 = 八個位。

5)一定要記住二進制如何劃成十進制。

概念常考到的:

1)、編譯預處理不是C語言的一部分,不再運行

時間。C語言編譯的程序稱為源程序,

它以ASCII數值存放在文本文件中。

2)、每個C語言程序中main函數是有且只有一個。

3)、在函數中不可以再定義函數。

4)、演算法是一定要有輸出的,他可以沒有輸入。

5)、break可用於循環結構和switch語句。

6)、逗號運算符的級別最低。

第一章

1)合法的用戶標識符考查:

合法的要求是由字母,數字,下劃線組成。

有其它元素就錯了。

並且第一個必須為字母或則是下劃線。

第一個為數字就錯了。

關鍵字不可以作為用戶標識符號。

main define scanf printf 都不是關鍵字。迷惑你的

地方If是可以做為用戶標識符。因為If中的

第一個字母大寫了,所以不是關鍵字。

2)實型數據的合法形式:

2.333e-1 就是合法的,且數據是2.333×10-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 = getchar() 是沒有參數的,從鍵盤得到

你輸入的一個字元給變數a。

putchar(‘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

不可以的(一定記住)。是先計算0

結果為1或則0;再用0,或1與10比較得到的

總是真(為1)。所以一定要用(0

示比0大比10小。

3)if 語句

else 是與最接近的if且沒有else的相組合的。

4)條件表達式:

表達式1 ?表達式2 :表達式3

注意是當非0時候是表達式2的數值,當為0是

就是表達式2的數值。

考試口訣:真前假後。

5)switch語句:

a)一定要注意有break 和沒有break的差別,

沒有break時候,只要有一個case匹配了,剩下

的都要執行,有break則是直接跳出了swich語句。

b)switch只可以和break一起用,不可以

和continue用。

第四章

1)三種循環結構:

a)for(); while(); do- while()三種。

b)for循環當中必須是兩個分號,千萬不要忘記。

c)寫程序的時候一定要注意,循環一定要有結束

的條件,否則成了死循環。

d) do-while()循環的最後一個while();的分號一定

不能夠丟。(當心上機改錯)

2) break 和 continue的差別

記憶方法:

break:是打破的意思,(破了整個循環)所以

看見break就退出真個一層循環。

continue:是繼續的意思,(繼續循環運算),

但是要結束本次循環,就是循環體內剩下的語句

不再執行,跳到循環開始,然後判斷循環條件,

進行新一輪的循環。

3)嵌套循環

就是有循環裡面還有循環,這種比較復雜,要一層

一層一步一步耐心的計算,一般記住兩層是處理

二維數組的。

4) while((c=getchar())!=’ ’)和

while(c=getchar() !=’ ’)的差別

先看a = 3 != 2 和(a=3)!=2 的區別:

(!=號的級別高於=號 所以第一個先計算 3!=2)

第一個a的數值是得到的1;第二個a的數值是3。

考試注意點: 括弧在這里的重要性。

第五章

函數:是具有一定功能的一個程序塊;

1) 函數的參數,返回數值(示意圖):

main()

{

int a = 5,b=6,c;

c = add(a,b);

printf(“%d”,c);

}

調用函數

a,b是實參

整個函數得到一個數值就是

Add函數的返回數值。

int add ( int x,int y)

{

int z;

z=x+y;

return z;

}

被調用函數

x,y是形式參數

函數返回數值是整型

z就是這個add函數計算後得到的結果,就是函數

返回給主程序的返回數值。

程序是在從上往下順序執行,當碰到了函數add後,

把a,b的數值穿給調用函數,程序暫時中斷等待返回數值。

當得到了返回數值後,再順序的往下執行

2)一定要注意參數之間的傳遞

實參和形參之間 傳數值,和傳地址的差別。(考試的重點)

傳數值的話,形參的變化不會改變實參的變化。

傳地址的話,形參的變化就會有可能改變實參的變化。

3)函數聲明的考查:

一定要有:函數名,函數的返回類型,函數的參數類型。

不一定要有:形參的名稱。

第六章

指針變數的本質是用來放地址,而一般的變數是放數值的。

int *p 中 *p和p的差別:

*p可以當做變數來用;*的作用是取後面地址p裡面的數值

p是當作地址來使用。

*p++ 和 (*p)++的之間的差別:改錯題目中很重要

*p++是 地址會變化。

(*p)++ 是數值會要變化。

三名主義:(考試的重點)

數組名:表示第一個元素的地址。數組名不可以自加,

他是地址常量名。(考了很多次)

函數名:表示該函數的入口地址。

字元串常量名:表示第一個字元的地址。

第七章

1一維數組的重要概念:

對a[10]這個數組的討論。

1、a表示數組名,是第一個元素的地址,也就是

元素a[10]的地址。

2、a是地址常量,所以只要出現a++,或者

是a=a+2賦值的都是錯誤的。

3、a是一維數組名,所以它是列指針,也就是

說a+1是跳一列。

對a[3][3]的討論。

1、a表示數組名,是第一個元素的地址,也就是

元素a[10]的地址。

2、a是地址常量,所以只要出現a++,或者

是a=a+2賦值的都是錯誤的。

3、a是二維數組名,所以它是行指針,也就

是說a+1是跳一行。

4、a[0]、a[1]、a[2]也都是地址常量,不可以對

它進行賦值操作,同時它們都是列指針,a[0]+1,

a[1]+1,a[2]+1都是跳一列。

5、注意a和a[0] 、a[1]、a[2]是不同的,它們的

基類型是不同的。前者是一行元素,後三者是一列元素。

二維數組做題目的技巧:

如果有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。

一定記住:只要是二維數組的題目,一定是寫成如

上的格式,再去做題目,這樣會比較簡單。

數組的初始化,一維和二維的,一維可以不寫,

二維第二個一定要寫

int a[]={1,2} 合法。 int a[][4]={2,3,4}合法。

但int a[4][]={2,3,4}非法。

二維數組中的行指針

int a[1][2];

其中a現在就是一個行指針,a+1跳一行數組元素。

搭配(*)p[2]指針

a[0],a[1]現在就是一個列指針。a[0]+1 跳一個數組

元素。搭配*p[2]指針數組使用

還有記住脫衣服法則:

a[2] 變成 *(a+2) a[2][3]變成 *(a+2)[3]再

可以變成 *(*(a+2)+3)

;