點擊查看:2018年3月全國計算機二級C語言考試強化模擬題匯總
1、程序流程圖中帶有箭頭的線段表示的是( )。
A.圖元關(guān)系
B.數(shù)據(jù)流
C.控制流
D.調(diào)用關(guān)系
參考答案:C
參考解析:在數(shù)據(jù)流圖中,用標有名字的箭頭表示數(shù)據(jù)流。在程序流程圖中,用標有名字的箭頭表示控制流。所以選擇C。
2、有以下程序:
程序運行后的輸出結(jié)果是( )。
A.16
B.1
C.32
D.0
參考答案:B
參考解析:無符號整型變量a的值為8,二進制表示為00001000,右移3位舌為00000001,即十進制的1,所以輸出1。
3、若有定義:float x=1.5;int a=1,b=3,c=2;則正確的switch語句是( )。
參考答案:A
參考解析: B選項中switch((int)x);語句中不應(yīng)該有最后的分號。switch(expr1),中的expr1不能用浮點類型或long類型,也不能為一個字符串,所以C錯誤。cas后面常量表達式的類型必須與switch后面表達式的類型一致,所以D錯誤。
4、結(jié)構(gòu)化程序設(shè)計的基本原則不包括( )。
A.多態(tài)性
B.自頂向下
C.模塊化
D.逐步求精
參考答案:A
參考解析: 結(jié)構(gòu)化程序設(shè)計的思想包括:自頂向下、逐步求精、模塊化、限制使用goto語句,所以選擇A。
5、有以下函數(shù):
函數(shù)的功能是( )。
A.將y所指字符串賦給x所指存儲空間
B.查找x和y所指字符串中是否有‘\0’
C.統(tǒng)計x和y所指字符串中最前面連續(xù)相同的字符個數(shù)
D.統(tǒng)計x和y所指字符串中相同的字符個數(shù)
參考答案:C
參考解析: 本題中由循環(huán)條件可知遇到‘\0’或x與y所指的字符的值不等中的一個條件時就結(jié)束。所以功能是統(tǒng)計x和y所指字符串中最前面連續(xù)相同的字符個數(shù)。
6、下面結(jié)構(gòu)體的定義語句中,錯誤的是( )。
A.struct ord{int x;int y;int z;}struct ord a;
B.struct ord{int x;int y;int z;};struct ord a;
C.struct ord{int x;int y;int z;}a;
D.struct{int x;int y;int z;}a;
參考答案:A
參考解析: A選項struct ord{int x;int y;int z;}struct ord a;錯誤,不能在定義結(jié)構(gòu)體的同時,又用結(jié)構(gòu)體類型名定義變量。應(yīng)該寫成B選項或者D選項的格式。
7、有以下程序:
在VC 6.0平臺上編譯運行,程序運行后的輸出結(jié)果是( )。
A.10,6
B.4,4
C.2,4
D.4,8
參考答案:D
參考解析: C語言中利用sizeof()函數(shù)判斷數(shù)據(jù)類型長度,在VC 6.0平臺中,整型int占有4個字節(jié),double型數(shù)據(jù)占有8個字節(jié)。
11、有以下程序:
程序運行后的輸出結(jié)果是(?)。
A.12 7
B.12 12
C.11 11
D.11 7
參考答案:D
參考解析:本題考查宏定義的用法,宏定義只是做個簡單的替換,所以本題中執(zhí)行f(2)=(2*N+1)=11,執(zhí)行f(1+1)=(1+1*N+1)=7。選項D正確。
12、設(shè)棧的存儲空間為S(1:50),初始狀態(tài)為top=51,F(xiàn)經(jīng)過一系列正常的人棧與退棧操作后,top=50,則棧中的元素個數(shù)為(??)
A.1
B.0
C.50
D.49
答案:A
答案解析:棧是一種特殊的線性表,它所有的插入與刪除都限定在表的同一端進行。入棧運算即在棧頂位置插人一個新元素,退棧運算即取出棧頂元素賦予指定變量。棧為空時,棧頂指針top=0,經(jīng)過入棧和退棧運算,指針始終指向棧頂元素。初始狀態(tài)為top=51,當top=50時,則棧中S(50:51)存儲著元素,51-50=1.元素個數(shù)為l。故本題答案為A選項。
13、以下選項中,當X為大于1的奇數(shù)時,值為0的表達式是( ):
A.x%2==0
B.x/2
C.x%2!=0
D.x%2==1
答案:D
參考解析: 算術(shù)運算符的優(yōu)先級高于關(guān)系運算符的優(yōu)先級,所以當X為大于1的奇數(shù)時,A選項的值為假,即0。B選項的值為不定值,但絕對不是0。C選項的值為真,即1。D選項的值為真,即1。
14、若有定義語句:
int a[2][3],*p[3];
則以下語句中正確的是( )。
A.p=a;
B.p[0]=8;
C.p[0]=&a[1][2];
D.p[1]=&a;
參考答案:C
參考解析: A選項錯誤,因為p是指向一個指針數(shù)組,作為數(shù)組名,不能指向別的地方。B選項錯誤,因為p[0]是一個int指針,也就是int*;而a是一個指向指針的指針int**。C選項正確,因為p[0]是一個int*a[1][2]是int,&a[1][2]是int*,類型吻合。D選項錯誤,因為a作為數(shù)組名,不能取地址。即使能取,P[1]是int*,&a是int***,類型不對。因此C選項正確。
15、以下不合法的字符常量是( )。
A.'\\'
B.'\"'
C.'\018'
D.'\xcc'
參考答案:C
參考解析: 轉(zhuǎn)義字符中,八進制的表示形式為\ddd,但是八進制中不能包含數(shù)字8,所以C選項不合法。
16、以下選項中能正確定義二維數(shù)組的選項是( )。
A.double a[][3]={2*3};
B.double a[][3];
C.double a[][3]={};
D.double a[2][3]={{1.0},{2.0},{3.0,4.0}};
參考答案:A
參考解析: 如果第一維的長度沒有指定.則定義的同時需要完成初始化,否則不知道分配多大的內(nèi)存空間給它,所以選項B、C錯誤;二維數(shù)組a[2][3]中只有兩個元素,都是一維數(shù)組,一維下標最大只能是a[1],所以選項D錯誤;若完成初始化的二維數(shù)組,第一維的長度沒有指定,則第一維的大小按如下規(guī)則確定:若初值個數(shù)能被第二維大小整除,所得的商就是第一維的大小;若不能整除,則所得的商加l作為第一維的大小,所以選項A相當于:double a[1][3]={6};其中a[0][0]=6,其他元素賦值0,故選項A正確,答案為A。
17、以下敘述中正確的是( )。
A.當對文件的讀(寫)操作完成之后,必須將它關(guān)閉,否則可能導(dǎo)致數(shù)據(jù)丟失
B)打開一個已存在的文件并進行了寫操作后,原有文件中的全部數(shù)據(jù)必定被覆蓋
B.在一個程序中當對文件進行了寫操作后,必須先關(guān)閉該文件然后再打開,才能讀到第1個數(shù)據(jù)
C.C語言中的文件是流式文件,因此只能順序存取數(shù)據(jù)
參考答案:A
參考解析: 文件一旦使用完畢,應(yīng)該使用關(guān)閉文件函數(shù)把文件關(guān)閉,以避免出現(xiàn)文件數(shù)據(jù)丟失等錯誤,所以選項A正確;若使用fopen打開文件函數(shù)打開文件時,指定打開方式為 ‘a(chǎn)’,則可以向文件追加信息,而不是覆蓋原文件內(nèi)容,故B選項錯誤;在文件被打開后,使用文件定位函數(shù)rewind或fseek函數(shù),可以將文件指針移到文件的任何位置,所以在寫操作完成后,可以直接將文件指針定位到文件首,接著讀數(shù)據(jù),而不需要先關(guān)閉文件,再打開讀取,故C選項錯誤;使用文件定位函數(shù)可以隨機讀寫文件,故D選項錯誤。所以本題答案為A。
18、關(guān)于程序模塊化,以下敘述錯誤的是( )。
A.程序模塊化可以提高程序運行的效率
B.程序模塊化可以提高程序編制的效率
C.程序模塊化可以提高程序代碼復(fù)用率
D.程序模塊化可以提高調(diào)試程序的效率
參考答案:A
參考解析: 程序模塊化的目的是為了降低程序的復(fù)雜度,使程序設(shè)計、調(diào)試和維護等操作簡單化,降低程序的復(fù)雜度可以提高程序的編制效率和調(diào)試效率,每個模塊可以復(fù)用,提高了程序代碼的復(fù)用率,故選項B、C、D正確;程序的運行效率與程序的算法、實現(xiàn)有關(guān),與程序模塊化無關(guān),故答案選A。
19、若要通過位運算使整型變量a中的各位數(shù)字全部清零,以下選項正確的是( )。
A.a=a&0;
B.a=a10;
C.a=a^0;
D.a=!a;
參考答案:A
參考解析: 本題考查位運算符和位運算!癐”運算符,l|0=1,0|0=0,所以選項B中a變量的各位數(shù)字保持不變,故B錯誤;“”’運算符,l^0=1,O^0=1,所以選項C中a變量的各位數(shù)字中,1保持不變,0變成1,故C錯誤;“!”運算符,!1=0,! 0=1,所以選項D中a變量的個位數(shù)字中,1變成0,0變成1,故D錯誤;“&”運算符,l&0=0,0&0=0,所以選項A中各位數(shù)字全部清零,故答案為A。
20、程序調(diào)試的任務(wù)是( ),
A.設(shè)計測試用例
B.驗證程序的正確性
C.發(fā)現(xiàn)程序中的錯誤
D.診斷和改正程序中的錯誤
參考答案:D
參考解析: 程序調(diào)試的任務(wù)是診斷和改正程序中的錯誤。
微信搜索"考試吧"了解更多考試資訊、下載備考資料
相關(guān)推薦:
2018年全國計算機等級考試復(fù)習(xí)知識點匯總(各科目)
2018全國計算機等級考試備考經(jīng)驗及應(yīng)試技巧匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |