當前位置:才華齋>計算機>C語言>

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

C語言 閱讀(1.35W)

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"