2025年二級C筆試考前練習習題及答案(精選6套)
無論是身處學校還是步入社會,我們需要用到練習題的情況非常的多,只有多做題,學習成績才能提上來。學習就是一個反復反復再反復的過程,多做題。那么問題來了,一份好的習題是什么樣的呢?下面是小編為大家收集的2025年二級C筆試考前練習習題及答案,歡迎閱讀與收藏。

二級C筆試考前練習習題及答案 1
1.若變量c為char類型,能正確判斷出c為小寫字母的表達式是()
A)′a′<=c<=′z′
B)(c>=′a′)||(c<=′z′)
C)(′a′=C)
D)(c>=′a′)&&(c<=′z′)
2.下面程序的輸出結果是()
main()
{ int x=2,y=0,z;
x+=3+2;printf("%d",x);
x*=y=z=4;printf("%d",x);
}
A)728
B)無法計算
C)7,4
D)8,4
3.有如下程序
main()
{int x=1,a=0,b=0;
switch(x){
case 0∶b++;
case 1∶a++;
case 2∶a++;b++;
}
printf("a=%d,b=%d\n",a,b);
}
程序運行后的輸出結果是()
A)a=2,b=1
B)a=1,b=1
C)a=1,b=0
D)a=2,b=2
4.以下選項中,正確的`if-else語句是()
A)if(x!=0)
printf("%d",x)
else
printf("%d",-x);
B)if(x!=0)
{x=x+y;printf("%d",x); }
else
printf("%d",-x);
C)if(x!=0)
x=x+y;printf("%d",x);
else
printf("%d",-x);
D)if(x!=0)
{x=x+y;printf("%d",x)};
else
printf("%d",-x);
5.有以下程序段
int n=0,p;
do {scanf("%d",&p);n++;}while(p!=12345 &&n<3);
此處do-while循環(huán)的結束條件是()
A)p的值不等于12345并且n的值小于3
B)p的值等于12345并且n的值大于等于3
C)p的值不等于12345或者n的值小于3
D)p的值等于12345或者n的值大于等于3
6.若有如下程序段:
main()
{ int n=0;
while(printf("*"))
{ n++;
if(n<3)break; }}
則下列描述正確的是()
A)其中循環(huán)控制表達式與0等價
B)其中循環(huán)控制表達式與’0’等價
C)其中循環(huán)控制表達式是不合法的
D)以上說法都不對
7.C語言中main函數(shù)參數(shù)的非法表示形式是()
A)main(char *argv[],int argc)
B)main(int a,char**b)
C)main(int y,char *x[])
D)main(int argv,char *argc[])
8.設有如下枚舉類型定義:
enum language {Basic=3,Assembly,Ada=100,COBOL,Fortran};
枚舉類型Fortran的值為()
A)4
B)7
C)102
D)103
9.閱讀下述程序段:
y=-1;
if (x!=0)
if (x>0)
y=1;
else
y=0;
該程序段所描述的數(shù)學關系是()
A)y=-1(x<0)
0(x=0)
1(x>0)
B)y=1(x<0)
0(x=0)
-1(x>0)
C)y=0(x<0)
-1(x=0)
1(x>0)
D)y=-1(x<0)
1(x=0)
0(x>0)
10.設有數(shù)組定義:char array[]="China";蚴?閍rray所占的空間為()
A)4個字節(jié)
B)5個字節(jié)
C)6個字節(jié)
D)7個字節(jié)
【參考答案:1.D 2.A 3.A 4.B 5.D 6.B 7.A 8.C 9.C 10.C】
二級C筆試考前練習習題及答案 2
1.在公有派生情況下,有關派生類對象和基類對象的關系,下列敘述不正確的是( )
A.派生類的對象可以賦給基類的對象
B.派生類的對象可以初始化基類的引用
C.派生類的對象可以直接訪問基類中的成員
D.派生類的對象的地址可以賦給指向基類的指針
【參考答案】 C
2.下列關于虛基類的'描述,錯誤的是( )
A.設置虛基類的目的是為了消除二義性
B.虛基類的構造函數(shù)在非虛基類之后調(diào)用
C.若同一層中包含多個虛基類,這些基類的構造函數(shù)按它們說明的次序調(diào)用
D.若虛基類由非虛基類派生而來,則仍然先調(diào)用基類構造函數(shù),再調(diào)用派生類的構造函數(shù)
【參考答案】 B
3.下列運算符中,在C++語言中不能重載的是( )
A.*
B.>=
C.:
D./
【參考答案】 C
4.下列程序的運行結果是( )
#include
class A
{ int a;
public:
A( ) {a=0;}
A(int aa)
{a=aa;
cout<
void main( )
{A x,y(2),z(3);
cout<
A.00
B.23
C.34
D.25
【參考答案】 B
5.判斷char型變量c是否為小寫字母的正確表達式是( )
A.′a′<=c<=′z′
B.(c>+A)&&(c<=z)
C.(′a′>=c)||(′z′<=c)
D.(c>=′a′)&&(c<=′z′)
【參考答案】 D
二級C筆試考前練習習題及答案 3
1.下面對軟件特點描述不正確的是()。
A.軟件是一種邏輯實體,具有抽象性
B.軟件開發(fā)、運行對計算機系統(tǒng)具有依賴性
C.軟件開發(fā)涉及軟件知識產(chǎn)權、法律及心理等社會因素
D.軟件運行存在磨損和老化問題
【答案】D
【解析】軟件具有以下特點:①軟件具有抽象性,是一種邏輯實體;②軟件沒有明顯的制作過程;③軟件在使用期間不存在磨損、老化問題,④對硬件和環(huán)境具有依賴性;⑤軟件復雜性高,成本昂貴;⑥軟件開發(fā)涉及諸多的社會因素。D項描述是硬件存在的問題。答案選擇D選項。
2.下面描述不屬于軟件特點的是()。
A.軟件是一種邏輯實體,具有抽象性
B.軟件在使用中不存在磨損、老化問題
C.軟件復雜性高
D.軟件使用不涉及知識產(chǎn)權
【答案】D
【解析】軟件具有以下特點:①軟件是一種邏輯實體,具有抽象性;②軟件沒有明顯的制作過程,③軟件在使用期間不存在磨損、老化問題;④軟件對硬件和環(huán)境具有依賴性;⑤軟件復雜性高,成本昂貴,⑥軟件開發(fā)涉及諸多的社會因素,如知識產(chǎn)權等。答案選擇D選項。
3.下面對軟件特點描述錯誤的是()
A.軟件沒有明顯的制作過程
B.軟件是一種邏輯實體,不是物理實體,具有抽象性
C.軟件的開發(fā)、運行對計算機系統(tǒng)具有依賴性
D.軟件在使用中存在磨損、老化問題
【答案】D
【解析】軟件的特點有:①具有抽象性,是邏輯實體;②沒有明顯的制作過程;③在使用期間不存在磨損、老化問題;④對硬件和環(huán)境具有依賴性;⑤復雜性高,成本昂貴;⑥開發(fā)涉及諸多的社會因素。答案選擇D選項。
4.軟件按功能可以分為:應用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件)。下面屬于系統(tǒng)軟件的是()。
A.編輯軟件
B.操作系統(tǒng)
C.教務管理系統(tǒng)
D.瀏覽器
【答案】B
【解析】系統(tǒng)軟件是控制和協(xié)調(diào)計算機及外部設備,支持應用軟件開發(fā)和運行的軟件,操作系統(tǒng)是系統(tǒng)軟件;支撐軟件是支撐各種軟件的開發(fā)與維護的軟件,又稱為軟件開發(fā)環(huán)境,瀏覽器屬于支撐軟件;應用軟件是用戶可以使用的各種程序設計語言,以及用各種程序設計語言編制的應用程序的集合,編輯軟件、教務管理軟件屬于應用軟件。答案選擇B選項。
5.軟件按功能可以分為應用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件),下面屬于應用軟件的是()。
A.學生成績管理系統(tǒng)
B. C語言編譯程序
C. UNIX操作系統(tǒng)
D.數(shù)據(jù)庫管理系統(tǒng)
【答案】A
【解析】應用軟件是為解決特定領域的應用而開發(fā)的軟件,如事務處理軟件,工程與科學計算軟件,學生成績管理系統(tǒng)、教務管理系統(tǒng)、瀏覽器、編輯軟件等應用性質(zhì)不同的各種軟件。系統(tǒng)軟件是計算機管理自身資源,提高計算機使用效率并服務于其他程序的軟件,如操作系統(tǒng),編譯程序,匯編程序,數(shù)據(jù)庫管理系統(tǒng)等。支撐軟件是介于系統(tǒng)軟件和應用軟件之間,協(xié)助用戶開發(fā)軟件的工具性軟件,包括輔助和支持開發(fā)和維護應用軟件的工具軟件,如需求分析工具軟件,設計工具軟件,編碼工具軟件,測試工具軟件,維護工具軟件等。答案選擇A選項。
6.數(shù)據(jù)庫管理系統(tǒng)是()。
A.操作系統(tǒng)的一部分
B.在操作系統(tǒng)支持下的系統(tǒng)軟件
C.一種編譯系統(tǒng)
D.一種操作系統(tǒng)
【答案】B
【解析】系統(tǒng)軟件主要包括:①操作系統(tǒng)軟件;②各種語言的解釋程序和編譯程序;③各種服務性程序;④各種數(shù)據(jù)庫管理系統(tǒng)。數(shù)據(jù)庫管理系統(tǒng)是一種系統(tǒng)軟件,負責數(shù)據(jù)庫中的'數(shù)據(jù)組織、數(shù)組操縱、數(shù)據(jù)維護、控制和保護以及數(shù)據(jù)服務等。答案選擇B選項。
7.數(shù)據(jù)庫管理系統(tǒng)是()。
A.操作系統(tǒng)的一部分
B.在操作系統(tǒng)支持下的系統(tǒng)軟件
C.一種編譯系統(tǒng)
D.一種通信軟件系統(tǒng)
【答案】B
【解析】系統(tǒng)軟件主要包括:①操作系統(tǒng)軟件;②各種語言的解釋程序和編譯程序;③各種服務性程序;④各種數(shù)據(jù)庫管理系統(tǒng)。數(shù)據(jù)庫管理系統(tǒng)是一種系統(tǒng)軟件,負責數(shù)據(jù)庫中的數(shù)據(jù)組織、數(shù)組操縱、數(shù)據(jù)維護、控制和保護以及數(shù)據(jù)服務等。答案選擇B選項。
8.下列選項中,不屬于數(shù)據(jù)管理員(DBA)職責的是()。
A.數(shù)據(jù)庫維護
B.數(shù)據(jù)庫設計
C.改善系統(tǒng)性能,提高系統(tǒng)效率
D.數(shù)據(jù)類型轉(zhuǎn)換
【答案】D
【解析】數(shù)據(jù)庫管理員對數(shù)據(jù)庫進行規(guī)劃、設計、維護、監(jiān)視等,其主要工作有:①數(shù)據(jù)庫設計,主要是對數(shù)據(jù)模式進行設計,②數(shù)據(jù)庫維護,對數(shù)據(jù)庫中的數(shù)據(jù)安全性、完整性、并發(fā)控制及系統(tǒng)恢復、數(shù)據(jù)定期轉(zhuǎn)儲等進行實施與維護;③改善系統(tǒng)性能,不斷調(diào)整內(nèi)部結構,提高系統(tǒng)效率。答案選擇D選項。
9.數(shù)據(jù)庫系統(tǒng)的核心是()。
A.數(shù)據(jù)模型
B.軟件開發(fā)
C.數(shù)據(jù)庫設計
D.數(shù)據(jù)庫管理系統(tǒng)
【答案】D
【解析】數(shù)據(jù)庫系統(tǒng)包括四個部分:數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫應用程序、數(shù)據(jù)庫管理員。其中DBMS是為數(shù)據(jù)庫的建立、使用和維護而配置的軟件,是數(shù)據(jù)庫系統(tǒng)的核心。答案選擇D選項。
10.下列敘述中正確的是()。
A.數(shù)據(jù)庫系統(tǒng)是一個獨立的系統(tǒng),不需要操作系統(tǒng)的支持
B.數(shù)據(jù)庫技術的根本目標是要解決數(shù)據(jù)的共享問題
C.數(shù)據(jù)庫管理系統(tǒng)就是數(shù)據(jù)庫系統(tǒng)
D.數(shù)據(jù)庫系統(tǒng)由數(shù)據(jù)庫應用系統(tǒng)、數(shù)據(jù)庫和數(shù)據(jù)庫管理系統(tǒng)組成。
【答案】B
【解析】A項錯誤,數(shù)據(jù)庫需要調(diào)用操作系統(tǒng)的接口,需要操作系統(tǒng)的支持;C項錯誤,數(shù)據(jù)庫管理系統(tǒng)(DBMS)是數(shù)據(jù)庫系統(tǒng)的核心,負責數(shù)據(jù)庫中的數(shù)據(jù)組織、數(shù)據(jù)操作、數(shù)據(jù)維護、控制及保護和數(shù)據(jù)服務等;D項錯誤,數(shù)據(jù)庫應用系統(tǒng)是數(shù)據(jù)庫系統(tǒng)再加上應用軟件及應用界面這三者所組成,具體包括:數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫管理員、硬件平臺、軟件平臺、應用軟件、應用界面。答案選擇B選項。
二級C筆試考前練習習題及答案 4
1.C語言編譯程序的功能是()。
A.執(zhí)行一個C語言編寫的源程序
B.把C源程序翻譯成ASCII碼
C.把C源程序翻譯成機器代碼
D.把C源程序與系統(tǒng)提供的庫函數(shù)組合成一個二進制執(zhí)行文件
【答案】C
【解析】編譯程序的功能是將“高級語言”翻譯為“機器語言”。每條C語言語句,經(jīng)過編譯最終都將轉(zhuǎn)換成二進制的機器指令。答案選擇C選項。
2.計算機高級語言程序的運行方法有編譯執(zhí)行和解釋執(zhí)行兩種,以下敘述中正確的是()。
A. C語言程序僅可以編譯執(zhí)行
B. C語言程序僅可以解釋執(zhí)行
C. C語言程序既可以編譯執(zhí)行,又可以解釋執(zhí)行;
D.以上說法都不對
【答案】A
【解析】編譯執(zhí)行是指程序執(zhí)行前需要一個專門的編譯過程把程序編譯成機器語言的文件,再次運行時不需要重新翻譯,執(zhí)行效率高;解釋執(zhí)行是指每個語句都是執(zhí)行的時候才翻譯,執(zhí)行效率低。用C語言編寫的程序必須經(jīng)過編譯器編譯后,轉(zhuǎn)換為二進制的機器指令來運行。答案選擇A選項。
3.以下敘述中錯誤的是()。
A. C語言中的每條可執(zhí)行語句和非執(zhí)行語句最終都將被轉(zhuǎn)換成二進制的機器指令
B. C程序經(jīng)過編譯、鏈接步驟之后才能形成一個真正可執(zhí)行的二進制機器指令文件
C.用C語言編寫的程序稱為源程序,它以ASCII代碼形式存放在一個文本文件中
D. C語言源程序經(jīng)編譯后生成后綴為的目標程序
【答案】A
【解析】A項錯誤,注釋語句不會被翻譯成二進制的機器指令。C源程序經(jīng)過C編譯程序編譯之后生成后綴為的二進制文件(稱為目標文件),然后由“鏈接程序”(Link)的軟件把文件與各種庫函數(shù)連接起來生成一個后綴為的可執(zhí)行文件。答案選擇A選項。
4.以下敘述中錯誤的是()
A.C語言的可執(zhí)行程序是由一系列機器指令構成的
B.用C語言編寫的源程序不能直接在計算機上運行
C.通過編譯得到的二進制目標程序需要連接才可以運行
D.在沒有安裝C語言集成開發(fā)環(huán)境的機器上不能運行C源程序生成的exe文件
【答案】D
【解析】A項正確,C語言的可執(zhí)行程序是由一系列機器指令組成的;BC項正確,用C語言編寫的源程序必須經(jīng)過編譯,生成二進制目標代碼,再經(jīng)過連接才能運行;D項錯誤,C語言經(jīng)過編譯鏈接后的二進制目標代碼可以脫離C語言集成開發(fā)環(huán)境獨立運行。答案選擇D選項。
5.以下敘述正確的是()。
A. C編譯程序把文件后綴為.c的源程序文件編譯成文件后綴為的二進制文件
B. C編譯程序把文件后綴為.c的源程序文件編譯成文件后綴為的可執(zhí)行文件
C. C編譯程序把文件后綴為的二進制文件編譯成文件后綴為的可執(zhí)行文件
D.鏈接程序把文件后綴為.c的源程序文件鏈接成文件后綴為的可執(zhí)行文件
【答案】A
【解析】C編譯程序把文件后綴為C的源程序文件編譯成文件后綴為的二進制文件,鏈接將一個或多個目標文件與程序用到的庫文件連接起來,形成一個可以在操作系統(tǒng)直接運行的執(zhí)行程序,故排除B、C、D項,答案選擇A選項。
6.以下敘述中正確的是(A.在C語言程序中,main函數(shù)必須放在其他函數(shù)的最前面
B.每個后綴為.c的`C語言源程序都可以單獨進行編譯
C.在C語言程序中,只有main函數(shù)才可以單獨進行編譯
D.每個后綴為.c的C語言源程序都應該包含一個main函數(shù)
【答案】B
【解析】main函數(shù)可以在程序的任何位置。每一個可執(zhí)行的C程序都必須有一個且只能有一個主函數(shù)。后綴名為.c的C語言源程序都可以單獨進行編譯。main函數(shù)只是讓執(zhí)行程序的系統(tǒng)知道該從哪里開始執(zhí)行程序(從主函數(shù)處執(zhí)行),其他有關這個程序的子函數(shù)是通過函數(shù)調(diào)用來實現(xiàn)其功能(不需main函數(shù))。答案選擇B選項。
7.以下敘述中錯誤的是()。
A. C語言編寫的函數(shù)源程序,其文件名后綴可以是.c
B. C語言編寫的函數(shù)都可以作為一個獨立的源程序文件
C. C語言編寫的每個函數(shù)都可以進行獨立的編譯并執(zhí)行;
D.一個C語言程序只能有一個主函數(shù)
【答案】C
【解析】C源程序經(jīng)過C編譯程序編譯之后生成一個后綴為的二進制文件(稱為目標文件),然后由稱為“連接程序”(Link)的軟件,把此文件與C語言提供的各種庫函數(shù)連接起來生成一個后綴為的可執(zhí)行文件。只有含有main函數(shù)的經(jīng)過編譯鏈接才能執(zhí)行。答案選擇C選項。
8.以下敘述中錯誤的是(A.一個C程序可以包含多個不同名的函數(shù)
B.一個C程序只能有一個主函數(shù)
C. C程序在書寫時,有嚴格的縮進要求,否則不能編譯通過
D. C程序的主函數(shù)必須用main作為函數(shù)名
【答案】C
【解析】一個C程序有且只有一個主函數(shù)main。一個C程序可以包含多個不同名字的子函數(shù)。C程序在書寫時沒有嚴格的縮進要求。答案選擇C選項。
9.以下敘述中正確的是()。
A. C語言規(guī)定必須用main作為主函數(shù)名,程序?qū)拇碎_始執(zhí)行
B.可以在程序中由用戶指定任意一個函數(shù)作為主函數(shù),程序?qū)拇碎_始執(zhí)行
C. C語言程序?qū)脑闯绦蛑械谝粋函數(shù)開始執(zhí)行;
D. main的各種大小寫拼寫形式都可以作為主函數(shù)名,如:MAIN,Main等
【答案】A
【解析】用戶不能指定某函數(shù)為主函數(shù),C語言規(guī)定,程序從main函數(shù)開始執(zhí)行,從main函數(shù)退出,C語言函數(shù)名區(qū)別大小寫。答案選擇A選項。
10.下列敘述中錯誤的是()。
A. C程序可以由一個或多個函數(shù)組成
B. C程序可以由多個程序文件組成
C.一個C語言程序只能實現(xiàn)一種算法
D.一個C函數(shù)可以單獨作為一個C程序文件存在
【答案】C
【解析】一個C程序可以有一個或多個程序文件,也可以有一個或多個函數(shù),所以一個C語言程序可以實現(xiàn)多種算法,答案選擇C選項。
二級C筆試考前練習習題及答案 5
單選題
1). 循環(huán)鏈表的主要優(yōu)點是( )
A.不再需要頭指針了
B.從表中任一結點出發(fā)都能訪問到整個鏈表
C.在進行插入、刪除運算時,能更好的保證鏈表不斷開
D.已知某個結點的位置后,能夠容易的找到它的直接前件
正確答案:B
2). 下述關于數(shù)據(jù)庫系統(tǒng)的敘述中,正確的是( )。
A.數(shù)據(jù)庫系統(tǒng)減少了數(shù)據(jù)冗余
B.數(shù)據(jù)庫系統(tǒng)避免了一切冗余
C.數(shù)據(jù)庫系統(tǒng)中數(shù)據(jù)的一致性是指數(shù)據(jù)類型一致
D.數(shù)據(jù)庫系統(tǒng)比文件系統(tǒng)能管理更多的數(shù)據(jù)
正確答案:A
答案解析:數(shù)據(jù)庫系統(tǒng)會減少數(shù)據(jù)冗余,但不可能避免一切冗余。
3). 設樹T的度為4,其中度為1、2、3、4的結點個數(shù)分別為4、2、l、1。則T中的葉子結點的個數(shù)為( )。
A.8
B.7
C.6
D.5
正確答案:A
答案解析:將題中所述的樹用圖形表示,可得葉子結點數(shù)目。
4). 數(shù)據(jù)庫設計包括兩個方面的設計內(nèi)容,他們是( )。
A.概念設計和邏輯設計
B.模式設計和內(nèi)模式設計
C.內(nèi)模式設計和物理設計
D.結構特性設計和行為特性設計
正確答案:A
答案解析:數(shù)據(jù)庫設計包括數(shù)據(jù)庫概念設計和數(shù)據(jù)庫邏輯設計兩個方面的內(nèi)容。
5). 沒函數(shù)中有整型變量n,為保證其在未賦初值的情況下初值為0,應選擇存儲類別是( )。
A.auto
B.register
C.static
D.auto或register
正確答案:C
答案解析:未賦初值的靜態(tài)局部變量,編譯程序自給它賦初值0。所以選擇C。
6). 為了使模塊盡可能獨立,要求( )。
A.模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量強
B.模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量弱
C.模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量弱
D.模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量強
正確答案:B
答案解析:耦合是指模塊之間的關聯(lián)程度,而內(nèi)聚是指模塊內(nèi)部各部分的聚合程度。模塊之間的關聯(lián)程度越小,模塊內(nèi)部的聚合程度越高,越容易維護。在程序設計中應追求高內(nèi)聚低耦合。
7). 若函數(shù)中有定義語句″int k;″,則( )。
A.系統(tǒng)將自動給k賦初值O
B.這時k中的值無定義
C.系統(tǒng)將自動給k賦初值-1
D.這時k中無任何值
正確答案:B
答案解析:根據(jù)題目,若以這種方式定義變量k時,編譯程序僅為k開辟存儲單元,并未在存儲單元中存放任何初始值,所以變量中的值無意義,稱變量值″無定義″。所以正確答案為選項B。
8). 下列對于軟件測試的描述正確的是( )。
A.軟件測試的目的`是證明程序是否正確
B.軟件測試的目的是使程序運行結果正確
C.軟件測試的目的是盡可能地多發(fā)現(xiàn)程序中的錯誤
D.軟件測試的目的是使程序符合結構化原則
正確答案:C
答案解析:軟件測試是為了盡可能多地發(fā)現(xiàn)程序中的錯誤,尤其是發(fā)現(xiàn)至今尚未發(fā)現(xiàn)的錯誤。
9). 下列枚舉類型的定義中,包含枚舉值3的是( )。
A.enum test{ RED,YELLOW,BLUE,BLACK};
B.enum test{ RED,YELLOW= 4,BLUE,BLACK};
C.enum test{ RED= -1,YELLOW,BLUE,BLACK};
D.enum test{ RED,YELI,OW=6 ,BLUE,BLACK};
正確答案:A
答案解析:本題主要考查枚舉類型的定義,其中幾個枚舉值全部未賦常量值時,它們自左至右分別與整數(shù)0,1,…,n-l對應。由此可判斷本題答案。
10). 能正確表示邏輯關系″a≥10或a≤O″的C++語言表達式是( )。
A.jsj-ej-0130.jpg
B.jsj-ej-0131.jpg
C.jsj-ej-0132.jpg
D.jsj-ej-0133.jpg
正確答案:D
答案解析:邏輯運算符″II″表示或的意思。
11). 下列關于C++函數(shù)的說明中,正確的是( )。
A.內(nèi)聯(lián)函數(shù)就是定義在另一個函數(shù)體內(nèi)部的函數(shù)
B.函數(shù)體的最后一條語句必須是return語句
C.標準C++要求在調(diào)用一個函數(shù)之前,必須先聲明其原型
D.編譯器會根據(jù)函數(shù)的返回值數(shù)型和參數(shù)表來區(qū)分函數(shù)的不同重載形式
正確答案:C
答案解析:內(nèi)聯(lián)函數(shù)不是定義在另一個函數(shù)體內(nèi)部的函數(shù),而是將lnllne放在函數(shù)定義中函數(shù)類型之前;函數(shù)體的最后一條語句可以是任意的語句;編譯器不會根據(jù)函數(shù)返回值的類型來區(qū)分重載形式,選項D錯誤。標準C++要求在調(diào)用一個函數(shù)之前,必須先聲明其原型。
12). 已知一棵二叉樹前序遍歷和中序遍歷分別為ABDEGCFH和DBGEACHF,則該二叉樹的后序遍歷為
A.GEDHFBCA
B.DGEBHFCA
C.ABCDEFGH
D.ACBFEDHG
正確答案:B
二級C筆試考前練習習題及答案 6
1.下列敘述中正確的是()。
A.所有數(shù)據(jù)結構必須有根結點
B.所有數(shù)據(jù)結構必須有終端結點(即葉子結點)
C.只有一個根結點,且只有一個葉子結點的數(shù)據(jù)結構一定是線性結構
D.沒有根結點或沒有葉子結點的數(shù)據(jù)結構一定是非線性結構
【答案】D
【解析】D項正確,線性結構的特點是:①集合中必存在“第一個元素"且惟一②集合中必存在“最后一個元素”且惟一;③除最后一個元素外,其他數(shù)據(jù)元素均有惟一的“后繼”,④除第一個元素外,其他數(shù)據(jù)元素均有惟一的“前驅(qū)”。所以沒有根結點或沒有葉子結點的數(shù)據(jù)結構一定是非線性結構。AB兩項錯誤,不是所有數(shù)據(jù)結構都必須有根結點和葉子結點;C項錯誤,數(shù)據(jù)結構中若有中間結點不滿足只有一個前件或者后件的條件,就不是線性結構。答案選擇D選項。
2.以下敘述中錯誤的是()。
A. C語言中的每條可執(zhí)行語句和非執(zhí)行語句最終都將被轉(zhuǎn)換成二進制的機器指令
B. C程序經(jīng)過編譯、鏈接步驟之后才能形成一個真正可執(zhí)行的二進制機器指令文件
C.用C語言編寫的程序稱為源程序,它以ASCII代碼形式存放在一個文本文件中
D. C語言源程序經(jīng)編譯后生成后綴為.obj的目標程序
【答案】A
【解析】A項錯誤,注釋語句不會被翻譯成二進制的'機器指令。C源程序經(jīng)過C編譯程序編譯之后生成后綴為.obj的二進制文件(稱為目標文件),然后由“鏈接程序”(Link)的軟件把.obj文件與各種庫函數(shù)連接起來生成一個后綴為.exe的可執(zhí)行文件。答案選擇A選項。
3. C語言主要是借助以下()功能來實現(xiàn)程序模塊化的。
A.定義函數(shù)
B.定義常量和外部變量
C.三種基本結構語句
D.豐富的數(shù)據(jù)類型
【答案】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父結點。根據(jù)分析,可畫出左子樹,同理E為F父結點,F(xiàn)為G父結點。根據(jù)分析,可畫出右子樹,故二叉樹深度為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。經(jīng)過一系列入隊與退隊運算后,front=20,rear=15。現(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筆試考前練習習題及答案】相關文章:
C語言考前練習題及答案03-17
計算機二級C語言考前練習題及答案03-20
2017計算機二級C語言考前練習題及答案09-04
2017計算機二級C++考前練習題及答案08-15
2017計算機二級C++考前練習題及答案03-11
C語言考前練習試題及答案02-27
C語言考前模擬練習題11-07