計算機等級考試二級C語言試題及答案(精選4套)
無論是在學校還是在社會中,我們總免不了要接觸或使用考試題,考試題有助于被考核者了解自己的真實水平。一份好的考試題都是什么樣子的呢?以下是小編幫大家整理的計算機等級考試二級C語言試題及答案,供大家參考借鑒,希望可以幫助到有需要的朋友。

計算機等級考試二級C語言試題及答案 1
1.有以下程序:
main()
{intx=0xFFFF;printf("%d\n",x--);}
執(zhí)行后的輸出結果是()
A)32767 B)FFFE C)-1 D)-32768
2.以下程序的輸出結果是()
#include
#include
main()
{ char str[12]={′s′,′t′,′r′,′i′,′n′,′g′};
printf("%d\n",strlen(str));
}
A)6 B)7 C)11 D)12
3.若有以下定義:
char s[20]="programming",*ps=s;
則不能代表字符o的表達式是()
A)ps+2 B)s[2] C)ps[2] D)ps+=2,*ps
4.關于語句“for(表達式1;表達式2;表達式3)”,下面說法中錯誤的是()
A)for語句中的三個表達式可以同時省略
B)for語句可以用于循環(huán)次數(shù)不確定的情況
C)for語句中表達式2只能是關系表達式或邏輯表達式
D)for語句中表達式1和表達式3可以是逗號表達式
5.執(zhí)行下面程序片段的結果是()
int x=23;
do
{ printf("-",x--);}
while(!x);
A)打印出321 B)打印出23 C)不打印任何內容 D)陷入死循環(huán)
6.與y=(x>0?1∶x<0?-1∶0);的功能相同的if語句是()
A)if(x>0)y=1;
else if(x<0)y=-1;
else y=0;
B)if(x)
if(x>0) y=1;
else if(x<0) y=-1;
else y=0;
C)y=-1;
if(x)
if(x>0)y=1;
else if(x==0) y=0;
else y=-1;
D)y=0;
if(x>=0)
if(x>0) y=1;
else y=-1;
7.標準庫函數(shù)fgets(s,n,f)的功能是()
A)從文件f中讀取長度為n的字符串存入指針s所指的內存
B)從文件f中讀取長度不超過n-1的字符串存入指針s所指的內存
C)從文件f中讀取n個字符串存入指針s所指的內存
D)從文件f中讀取長度為n-1的字符串存入指針s所指的'內存
8.若有如下函數(shù)調用語句:
sub(a,1,fun(b,c),d+c,(a+d,c*f));
則在該函數(shù)調用語句中含有實參的個數(shù)是()
A)5 B)7 C)10 D)6
9.若要定義a為3×4的二維數(shù)組,正確的定義語句是()
A)float a(3,4); B)float a[3][4]; C)float a(3)(4); D)float a[3,4];
10.有以下程序
main()
{intaa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};
int i,s=0;
for (i=0;i<4;i++)s+=aa[i][1];
printf("%d\n",s);
}
程序運行后的輸出結果是()
A)11 B)19 C)13 D)20
答案:1.C 2.A 3.A 4.C 5.B 6.A 7.B 8.A 9.B 10.B
計算機等級考試二級C語言試題及答案 2
1.若有以下數(shù)組說明,則i=10;a[a[i]]元素數(shù)值是(C )。
int a[12]={1,4,7,10,2,5,8,11,3,6,9,12};
A、10
B、9
C、6
D、5
先算a[a[i]]內層的a[i],由于i=10,因此a[i]即a[10].
a[10]對應下面數(shù)組中的元素為9.因此a[a[i]]即為a[9]
a[9]對應下面數(shù)組中的元素為6.因此a[9]即為6
2.若有說明:int a[][3]={{1,2,3},{4,5},{6,7}};則數(shù)組a的第一維的大小為: ( B )
A、2
B、3
C、4
D、無確定值
5 7
D、3 6 9
二維數(shù)組的一維大小,即指二維數(shù)組的行數(shù),在本題中,按行對二維數(shù)組賦值,因此內層有幾個大括號,數(shù)組就有幾行
3.對二維數(shù)組的正確定義是(C )
詳見教材P149~152,二維數(shù)組的'定義、初始化
類型符數(shù)組名[常量表達式][常量表達式]
二維數(shù)組可以看做是矩陣
類型符是指數(shù)組中數(shù)組元素的類型;數(shù)組名要符合標識符命名規(guī)則;第一個常量表達式是指數(shù)組的行數(shù);第二個常量表達式是指數(shù)組的列數(shù);常量表達式的值只能是整數(shù),不可以是變量,而且從1開始計數(shù)。
一維數(shù)組初始化時可以省略數(shù)組長度
二維數(shù)組初始化時可以省略行數(shù),但不能省略列數(shù)
選項A,B,都省略了列數(shù)
選項D,不符合二維數(shù)組定義的一般形式,行、列常量表達式應該放在不同的[]中
A、int a[ ][ ]={1,2,3,4,5,6};
B、int a[2] []={1,2,3,4,5,6};
C、int a[ ] [3]={1,2,3,4,5,6};
D、int a[2,3]={1,2,3,4,5,6};
4.已知int a[3][4];則對數(shù)組元素引用正確的是__C___
A、a[2][4]
B、a[1,3]
C、a[2][0]
計算機等級考試二級C語言試題及答案 3
1.下列敘述中正確的是()。
A.所有數(shù)據結構必須有根結點
B.所有數(shù)據結構必須有終端結點(即葉子結點)
C.只有一個根結點,且只有一個葉子結點的數(shù)據結構一定是線性結構
D.沒有根結點或沒有葉子結點的數(shù)據結構一定是非線性結構
【答案】D
【解析】D項正確,線性結構的特點是:①集合中必存在“第一個元素"且惟一②集合中必存在“最后一個元素”且惟一;③除最后一個元素外,其他數(shù)據元素均有惟一的“后繼”,④除第一個元素外,其他數(shù)據元素均有惟一的“前驅”。所以沒有根結點或沒有葉子結點的數(shù)據結構一定是非線性結構。AB兩項錯誤,不是所有數(shù)據結構都必須有根結點和葉子結點;C項錯誤,數(shù)據結構中若有中間結點不滿足只有一個前件或者后件的條件,就不是線性結構。答案選擇D選項。
2.以下敘述中錯誤的是()。
A. C語言中的每條可執(zhí)行語句和非執(zhí)行語句最終都將被轉換成二進制的機器指令
B. C程序經過編譯、鏈接步驟之后才能形成一個真正可執(zhí)行的二進制機器指令文件
C.用C語言編寫的程序稱為源程序,它以ASCII代碼形式存放在一個文本文件中
D. C語言源程序經編譯后生成后綴為.obj的目標程序
【答案】A
【解析】A項錯誤,注釋語句不會被翻譯成二進制的機器指令。C源程序經過C編譯程序編譯之后生成后綴為.obj的二進制文件(稱為目標文件),然后由“鏈接程序”(Link)的軟件把.obj文件與各種庫函數(shù)連接起來生成一個后綴為.exe的可執(zhí)行文件。答案選擇A選項。
3. C語言主要是借助以下()功能來實現(xiàn)程序模塊化的。
A.定義函數(shù)
B.定義常量和外部變量
C.三種基本結構語句
D.豐富的數(shù)據類型
【答案】A
【解析】C程序的模塊化主要通過函數(shù)來實現(xiàn)。C語言允許對函數(shù)單獨進行編譯,從而可以實現(xiàn)模塊化。答案選擇A選項。
4.有以下程序段:
char ch;
int k;
ch='a';
k=12;
print("%c,%d,",h,ch,k);
printf("k=%d",k);
已知字符a的ASCII碼十進制值為97,則執(zhí)行上述程序段后輸出的結果是()。
A.因變量類型與格式描述符的類型不匹配輸出無定值
B.輸出項與格式描述符個數(shù)不符,輸出為零值或不定值
C.a,97,12k=12
D. a,97,k=12
【答案】D
【解析】字符變量的.值是該字符的ASCII碼值,可以參與整型變量所允許的任何運算。"ch='a",%c表示以字符格式輸出ch的值,所以輸出為a;%d表示以十進制代碼的形式輸出ch的值,為97;k沒有對應的輸出格式,不輸出。在第二個語句中,首先輸出"k=",然后以十進制代碼輸出k的值,為12。答案選擇D選項。
5.下列敘述中正確的是()。
A.棧是“先進先出”的線性表
B.隊列是“先進后出"的線性表
C.循環(huán)隊列是非線性結構
D.有序線性表既可以采用順序存儲結構,也可以采用鏈式存儲結構
【答案】D
【解析】有序的線性表既可采用順序存儲結構,也可以采用鏈式存儲結構。A項錯誤,棧是“先進后出"的線性表B項錯誤,隊列是“先進先出"的線性表;C項錯誤,循環(huán)隊列是線性結構的,有序的線性表既可采用順序存儲結構,也可采用鏈式存儲結構。
6.某二叉樹的中序序列為DCBAEFG,后序序列為DCBGFEA,則該二叉樹的深度(根結點在第1層)為()。
A. 5
B. 40
C.3
D. 2
【答案】B
【解析】二叉樹的后序序列為DCBGFEA,則A為根結點。中序序列為DCBAEFG,則DCB為左子樹結點,EFG為右子樹結點。同理B為C父結點,C為D父結點。根據分析,可畫出左子樹,同理E為F父結點,F(xiàn)為G父結點。根據分析,可畫出右子樹,故二叉樹深度為4層。答案選擇B選項。
7.設有定義:struct{intn;floatx;}s[2],m[2]={{10,2.8},{0,0.0}};,則以下賦值語句中正確的是()。
A. s[0]=m[1];
B. s=m;
C.s.n=m.n;
D. s[2].x=m[2].x;
【答案】A
【解析】定義了結構體類型數(shù)組s,長度為2,結構體類型數(shù)組m,長度為2,并對數(shù)組m進行了初始化。同類型的結構體可以直接用變量名實現(xiàn)賦值,A項正確;數(shù)組名為數(shù)組首地址,地址常量之間不可以相互賦值,B項錯誤;數(shù)組名為地址常量不是結構體變量,不能引用成員,C項錯誤;s[2]與m[2]數(shù)組越界,D項錯誤。答案選擇A選項。
8.關于C語言標識符,以下敘述錯誤的是()。
A.標識符可全部由數(shù)字組成
B.標識符可全部由下劃線組成
C.標識符可全部由小寫字母組成
D.標識符可全部由大寫字母組成
【答案】A
【解析】C語言標識符只能由字母、數(shù)字、下劃線構成,且只能以字母、下劃線開頭,故答案選擇A選項。
9.以下程序段中的變量已定義為int類型,則
sum=pAd=5;
pAd=sum++,++pAd,pAd++;
printf("%d",pAd);
程序段的輸出結果是()。
A. 6
B. 4
C. 5
D. 7
【答案】D
【解析】自增和自減運算符的兩種用法:前置運算,運算符放在變量之前,規(guī)則是先使變量的值增(或減)1,然后以變化后表達式的值參與其他運算;后置運算,運算符放在變量之后,規(guī)則是變量先參與其他運算,然后再使變量的值增(或減)1。執(zhí)行pAd=sum++,sum++是后置自增,執(zhí)行完后,pAd=5,sum=6。++pAd和pAd++語句中沒有其他運算,即效果相同,pAd分別加1,兩句執(zhí)行完后,pAd7。答案選擇D選項。
10.設循環(huán)隊列為Q(1:m),其初始狀態(tài)為front=rear=m。經過一系列入隊與退隊運算后,front=20,rear=15,F(xiàn)要在該循環(huán)隊列中尋找最小值的元素,最壞情況下需要比較的次數(shù)為()。
A. 5
B. 6
C.m-5
D. m-6
【答案】D
【解析】循環(huán)隊列是隊列的一種順序存儲結構,用隊尾指針rear指向隊列中的隊尾元素,用隊首指針指向隊首元素的前一個位置,因此,從隊首指針front指向的后一個位置直到隊尾指針rear指向的位置之間所有的元素均為隊列中的元素,隊列初始狀態(tài)為front=rear=m,當front=20,rear=15時,隊列中有m-20+15=m-5個元素,最壞情況下需要比較次數(shù)為m-6次。答案選擇D選項。
計算機等級考試二級C語言試題及答案 4
(1)算法的時間復雜度是指_______。
A)執(zhí)行算法程序所需要的時間
B)算法程序的長度
C)算法執(zhí)行過程中所需要的基本運算次數(shù)
D)算法程序中的指令條數(shù)
答案:C
評析:所謂算法的時間復雜度,是指執(zhí)行算法所需要的計算工作量。
(2)下列敘述中正確的是________。
A)線性表是線性結構B)棧與隊列是非線性結構
C)線性鏈表是非線性結構D)二叉樹是線性結構
答案:A
評析:一般將數(shù)據結構分為兩大類型:線性結構與非線性結構。線性表、棧與隊列、線性鏈表都是線性結構,而二叉樹是非線性結構。
(3)下面關于完全二叉樹的敘述中,錯誤的是_________。
A)除了最后一層外,每一層上的結點數(shù)均達到最大值
B)可能缺少若干個左右葉子結點
C)完全二叉樹一般不是滿二叉樹
D)具有結點的完全二叉樹的深度為[log2n]+1
答案:B
評析:滿二叉樹指除最后一層外每一層上所有結點都有兩個子結點的二叉樹。完全二叉樹指除最后一層外,每一層上的結點數(shù)均達到最大值,在最后一層上只缺少右邊的若干子結點(葉子結點)的二叉樹。
C語言筆試題答案篇
(1)結構化程序設計主要強調的是_________。
A)程序的規(guī)模B)程序的易讀性
C)程序的執(zhí)行效率D)程序的可移植性
答案:B
評析:結構化程序設計主要強調的是結構化程序清晰易讀,可理解性好,程序員能夠進行逐步求精、程序證明和測試,以保證程序的正確性。
(2)在軟件生命周期中,能準確地確定軟件系統(tǒng)必須做什么和必須具備哪些功能的階段是________。
A)概要設計B)詳細設計C)可行性分析D)需求分析
答案:D
評析:需求分析是對待開發(fā)軟件提出的需求進行分析并給出詳細定義,即準確地確定軟件系統(tǒng)的功能。編寫軟件規(guī)格說明書及初步的用戶手冊,提交評審。
(3)數(shù)據流圖用于抽象描述一個軟件的邏輯模型,數(shù)據流圖由一些特定的圖符構成。下列圖符名標識的圖符不屬于數(shù)據流圖合法圖符的是_________。
A)控制流B)加工C)數(shù)據存儲D)源和潭
答案:A
評析:數(shù)據流圖從數(shù)據傳遞和加工的角度,來刻畫數(shù)據流從輸入到輸出的移動變換過程。數(shù)據流圖中的主要圖形元素有:加工(轉換)、數(shù)據流、存儲文件(數(shù)據源)、源和潭。
(4)軟件需求分析一般應確定的是用戶對軟件的__________。
A)功能需求B)非功能需求C)性能需求D)功能需求和非功能需求
答案:D
評析:軟件需求分析中需要構造一個完全的系統(tǒng)邏輯模型,理解用戶提出的每一功能與性能要求,是用戶明確自己的任務。因此,需求分析應確定用戶對軟件的功能需求和非功能需求。
C語言筆試題答案篇
(1)下述關于數(shù)據庫系統(tǒng)的敘述中正確的是________。
A)數(shù)據庫系統(tǒng)減少了數(shù)據冗余
B)數(shù)據庫系統(tǒng)避免了一切冗余
C)數(shù)據庫系統(tǒng)中數(shù)據的一致性是指數(shù)據類型的一致
D)數(shù)據庫系統(tǒng)比文件系統(tǒng)能管理更多的數(shù)據
答案:A
評析:由數(shù)據的共享自身又可極大地減少數(shù)據冗余性,不僅減少了不必要的存儲空間,更為重要的是可以避免數(shù)據的不一致性。所謂數(shù)據的一致性是指在系統(tǒng)中同一數(shù)據的不同出現(xiàn)應保持相同的值。
(2)關系表中的每一橫行稱為一個________。
A)元組B)字段C)屬性D)碼
答案:A
評析:在關系數(shù)據庫中,關系模型采用二維表來表示,簡稱“表”。二維表是由表框架及表元組組成。在表框架中,按行可以存放數(shù)據,每行數(shù)據稱為元組。
(3)數(shù)據庫設計包括兩個方面的設計內容,它們是________。
A)概念設計和邏輯設計B)模式設計和內模式設計
C)內模式設計和物理設計D)結構特性設計和行為特性設計
答案:A
評析:數(shù)據庫設計可分為概念設計與邏輯設計。概念設計的目的是分析數(shù)據間內在語義關聯(lián),在此基礎上建立一個數(shù)據的抽象模型。邏輯設計的主要工作是將ER圖轉換為指定的RDBMS中的'關系模型。
(4)請讀程序:
#include
main
{
int a;float b,c;
scanf(“%2d%3P%4f’,&a,&b,&C);
printf(” a=%d,b=%ec。%f ”,a,b,C);
}
若運行時從鍵盤上輸入9876543210l,則上面程序的輸出結果是________。
A)a=98,b=765,c=432 1
B)a=1 0,b=432,c=8765
C)a=98,b=765.000000,c=432 1.000000
D)a=98,b=765.0,c=432 1.0
答案:C
評析:scanf把用戶從鍵盤錄入的數(shù)字的第1、2位存入整型變量a;把第3、4、5位存入單精度實型變量b,把第6、7、8、9位存入單精度實型變量c,用戶錄入的第10位被scanf遺棄。這時變量a、b、c的值分別為:98、765.000000、4321.000000。
(5)一個良好的算法由下面的基本結構組成,但不包括__________。
A)順序結構B)選擇結構C)循環(huán)結構D)跳轉結構
答案:D
評析:1966年,Bohra和Jacopini提出了以下三種基本結構,用這三種基本結構作為表示一個良好算法的基本單元:1、順序結構;2、選擇結構;3、循環(huán)結構。
(6)請選出以下程序的輸出結果________。
#include
sub(x,y,z)
int x,y,星符號z:
{星符號z變化,所以此次函數(shù)被調用后,a的值為y-x=-5,同理可知,在sub(7,a,&b)后,b的值發(fā)生變化,其值為-5-7=-12,在sub(a,b,&C)后,c的值發(fā)生變化,其值為-12-(-5)=-7。
(7)下面程序在屏幕上的輸出是________。
main
{
printf(”ab c”);
}
A)ab c B)a c C)abc D)ab c
答案:B
評析:c語言中允許使用一種特殊形式的字符常量,、就是以一個“”開頭的字符序列,這樣的字符稱為“轉義字符”。常用的轉義字符有: ,換行;,水平制表;,退格;,回車。
(8)若x是整型變量,pb是基類型為整型的指針變量,則正確的賦值表達式是_______。
A)pb=&x; B)pb=x; C)星符號pb=星符號、/)還包括自增自減運算符(++、–),在c語言解析表達式時,它總是進行貪婪咀嚼,這樣,該表達式就被解析為i++ ++ +i,顯然該表達式不合c語言語法。
(10)若要用下面的程序片段使指針變量p指向一個存儲整型變量的動態(tài)存儲單元
int星符號int) D)(int星符號)
答案:D
評析:不論p是指向什么類型的指針變量,都可以通過強制類型轉換的方法使之類型一致,強制類型轉換的格式為(數(shù)據類型+)。
(11)下面程序輸出的結果是__________。
main
{
int i=5,J=9,x;
x=(I==j?i:(j=7));
printf(” %d,%d”,I,J);
}
A)5,7 B)5,5 C)語法錯誤D)7,5
答案:A
評析:條件表達式的一般形式為:表達式I?表達式2:表達式3;先求解表達式1,若為真則求解表達式2;若表達式l的值為假,則求解表達式3。本題中先判斷i==j,不等,執(zhí)行j=7;然后執(zhí)行x=7。故本題為A。
【計算機等級考試二級C語言試題及答案】相關文章:
2017計算機等級C語言考試試題及答案07-10
計算機二級考試C語言試題與答案10-27
計算機二級考試C語言試題及答案10-11
計算機等級二級C語言上機模擬試題及答案10-25
計算機等級考試二級C語言考試試題帶答案(精選10份)04-02
2017計算機等級考試二級c語言考試試題08-22
計算機二級C語言考試試題及答案10-09
全國計算機等級考試二級c語言考試試題08-26