當前位置:學者齋 >

計算機 >C語言 >

2017年3月計算機二級C語言模擬試題及答案

2017年3月計算機二級C語言模擬試題及答案

1). 判斷char型變量cl是否為大寫字母的正確表達式是

2017年3月計算機二級C語言模擬試題及答案

A.′A′<=cl<=′Z′

B.(cl>=A.&&(cl<=Z)

C.(′A′>=cl)||(′Z′<=cl)

D.(cl>=′A′)&&(cl<=′Z′)

正確答案:D

2). 設有數組定義: char array[]="China"; 則數組 array所佔的空間為

A.4個字節

B.5個字節

C.6個字節

D.7個字節

正確答案:C

3). 設有int x=11;則表達式(x++*1/3)的值是

A.3

B.4

C.11

D.12

正確答案:A

4). 設x,y,t均為int型變量,執行語句:x=y=3;t=++x||++y;完成後,y的值為

A.不確定

B.4

C.3

D.1

正確答案:C

5). 下列程序段輸出的字符串長度為( )。printf("\aaa′cccbddd"");

A.11

B.12

C. 13

D. 17

正確答案:A

答案解析:\、′、b和"為轉義字符,程序輸出結果為:aaa′ccddd"。

6). 已有定義int a=3;和輸出語句printf(″%8x″,A),以下正確的敍述是( )。

A.整型變量的輸出格式符只有%d 一種

B.%x是格式符的一種,它可以適用於任何一種類型的數據

C.%X是格式符的一種,其變量的值按十六進制數輸出,但%8x是錯誤的

D.%8x是正確的格式符,其中數字8規定了輸出字段的寬度

正確答案:D

答案解析:本題考查printf函數的格式。“%8x”表示以十六進制無符號形式輸出整型數據。“8”表示指定輸出數據的寬度為8位。

7). 數據庫管理系統中負責數據模式定義的語言是( )

A.數據定義語言

B.數據管理語言

C.數據操縱語言

D.數據控制語言

正確答案:A

答案解析:數據庫管理系統一般提供相應的數據語言,它們分別是:數據定義語言,負責數據的模式定義與數據的物理存取構建;數據操縱語言,負責數據的操縱,包括查詢及增、刪、改等操作;數據控制語言,負責數據完整性、安全性的定義與檢查以及併發控制、故障恢復等功能。

8). 下列敍述中正確的是( )

A.程序執行的效率與數據的存儲結構密切相關

B.程序執行的效率只取決於程序的控制結構

C.程序執行的效率只取決於所處理的數據量

D.以上都不正確

正確答案:A

答案解析:影響程序執行效率的因素有很多,如數據的存儲結構、程序處理的數據量、程序的算法等。順序存儲結構和鏈式存儲結構在數據插入和刪除操作上的效率就存在差別。其中,鏈式存儲結構的效率要高一些。

9). 要求通過while循環不斷讀入字符,當讀入字母N時結束循環。若變量已正確定義,以下正確的程序段是( )

e(ch=getchar() =′N′) printf(″%c ″,ch);

e(ch=getchar()==″N″) printf(″%c ″,ch);

e((ch=getchar())!=′N′) printf(″%c ″,ch);

e((ch=getchar())==′N′) printf(″%c ″,ch);

正確答案:C

答案解析:while循環的執行過程如下:①計算while後面圓括號中表達式的值,當值為非0時,執行步驟②;當值為0時,執行步驟④;②執行循環體一次;③轉去執行步驟①;④退出循環。在選項C)中,表達式(ch=getchar())!=′N′表示輸入的字符不等於N,如果這個條件表達式成立,則執行循環體,打印輸出輸入的字符。如果這個條件表達式不成立,即輸入的字符等於N,則退出循環。

10). 檢查軟件產品是否符合需求定義的過程稱為( )。

A.確認測試

B.需求測試

C.驗證測試

D.路徑測試

正確答案:A

答案解析:確認測試的任務是驗證軟件的功能和性能,以及其他特性是否滿足需求規格説明中確定的各種需求。

11). 下列敍述中正確的是( )

A.棧是一種先進先出的.線性表

B.隊列是一種後進先出的線性表

C.棧與隊列都是非線性結構

D.棧與隊列都是線性結構

正確答案:D

答案解析:棧是先進後出,隊列是先進先出。棧和隊列都是一種線性表,屬於線性結構。

12). 棧和隊列的共同點是( )

A.都是先進後出

B.都是先進先出

C.只允許在端點處插入和刪除元素

D.沒有共同點

正確答案:C

13). 在深度為5的滿二叉樹中,葉子結點的個數為

A.32

B.31

C.16

D.15

正確答案:C

答案解析:滿二叉樹是指除最後一層外,每一層上的所有結點都有兩個葉子結點。在滿二叉樹中,層上的結點數都達到最大值,即在滿二叉樹的第k層上有2k-1個結點,且深度為m的滿二叉樹有2m-1個結點。

14). 一個棧的初始狀態為空。現將元素1,2,3,A,B,C依次入棧,然後再依次出棧,則元素出棧的順序是( )

A.1,2,3,A,B,C

B.C,B,A,1,2,3

C.C,B,A,3,2,1

D.1,2,3,C,B,A

正確答案:C

答案解析:棧是按照″先進後出″或″後進先出″的原則組織數據的。所以出棧順序是CBA321。

15). 有以下程序 #include main() { int x; scanf(″%d″, &x); if(x<=3) ; else if(x!=10) printf(″%dn″, x); } 程序運行時,輸入的值在哪個範圍才會有輸出結果( )

A.不等於10的整數

B.大於3或等於10的整數

C.小於3的整數

D.大於3且不等10的整數

正確答案:D

答案解析:題目中,雖然else和第二個if不在同一行上,但等價於在同一行上,因此,程序的意思是當x大於3且不等於10時打印出來。

16). 下列不屬於軟件調試技術的是

A.強行排錯法

B.集成測試法

C.回溯法

D.原因排除法

正確答案:B

17). 已知int x=6,y=2,z;則執行表達式z=x=x>y後,變量z的值為

A.0

B.1

C.4

D.5

正確答案:B

18). 請選出以下語句的輸出結果printf("%dn",strlen("t"