糯米文學吧

位置:首頁 > 計算機 > C語言

計算機二級C語言考前30天攻關測試題

C語言2.36W

下面是應屆畢業生考試網小編整理的2017年3月計算機二級C語言考前30天攻關測試題,希望大家好好利用,祝大家考試順利。

計算機二級C語言考前30天攻關測試題

一、選擇題

1). 以下敍述中錯誤的是( )

A.預處理命令行的最後不能以分號表示結束

B.C程序對預處理命令行的處理是在程序執行的過程中進行的

C.#define MAX 是合法的宏定義命令行

D.在程序中凡是以″#″開始的語句行都是預處理命令行

正確答案:B

答案解析:預處理命令行是以″#″開始的語句,預處理命令行的最後不能以分號表示結束,預處理命令行。其中宏定義的字符替換的定義格式為:# define 標識符 字符串,預處理命令行是在系統對源程序進行編譯之前進行處理的,不是在程序執行的過程中。

2). 按照″後進先出″原則組織數據的數據結構是( )

A.隊列

B.棧

C.雙向鏈表

D.二叉樹

正確答案:B

答案解析:棧是限定在一端進行插入與刪除的線性表。在棧中,允許插入與刪除的一端稱為棧頂,不允許插入與刪除的另一端稱為棧底。棧頂元素總是最後插入的元素,也是最先被刪除的元素;棧底元素總是最先插入的元素,也是最後才能被刪除的元素。即棧是按照″後進先出″(Last In First Out,簡稱LIFO)或″先進後出″(First In Last Out,簡稱FILO)的原則組織數據的。因此,棧也稱為″後進先出表″或″先進後出″表。

3). 以下程序段完全正確的是( )

k, *p=&k; scanf(″%d″, p);

*p; scanf(″%d″, p);

*p; scanf(″%d″, &p);

k, *p; *p=&k; scanf(″%d″, p);

正確答案:A

答案解析:選項B沒有對指針進行初始化,無效指針。選項C錯在沒有對指針進行初始化,無效指針,並且在scanf(″%d″,&p)中無需再進行取地址操作。選項D,語句*p=&k;的左端*p是指針所指內存空間的值,&k是地址,應為p=&k。

4). 一間宿舍可住多個學生,則實體宿舍和學生之間的聯繫是( )

A.一對一

B.一對多

C.多對一

D.多對多

正確答案:B

答案解析:兩個實體集間的聯繫可以有下面幾種:一對一的聯繫、一對多或多對一的聯繫和多對多的聯繫。由於一個宿舍可以住多個學生,所以它們的聯繫是一對多聯繫。

5). 軟件設計中劃分模塊的一個準則是( )

A.低內聚低耦合

B.高內聚低耦合

C.低內聚高耦合

D.高內聚高耦合

正確答案:B

答案解析:耦合性與內聚性是模塊獨立性的兩個定性標準。一般一個較優秀的軟件設計,應儘量做到高內聚,低耦合,即減弱模塊之間的耦合性和提高模塊內的內聚性,有利於提高模塊的獨立性。

6). 當把4個表達式用作if語句的控制表達式時,有一個選項與其他3個選項含義不同,這個選項是( )。

A.k%2

B.k%2==1

C.(k%2) !=0

D.!k%2==1

正確答案:A

答案解析:整數k對2求餘數的兩個結果只能是0和1,所以選項A表示k除以2的餘數,其結果是0或1。在選項B、C和D中包括算術求餘運算符″%″,關係等於運算符 ″==″和關係不等於運算符″!=″以及邏輯非運算符″!″。而邏輯運算符與賦值運算符、算術運算符、關係運算符之間從高到低的運算優先次序是:!(邏輯″非″)、算術運算符、關係運算符、&&(邏輯″與″)、||(邏輯″或″)、賦值運算符。選項B含義是判斷表達式k%2的'結果是否等於1、選項C的含義是判斷表達式k%2的結果是否不等於0,選項D含義是判斷表達式!k%2的結果是否等於1,所以選項B、C和D的含義相同。

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

A.調用printf( )函數時,必須要有輸出項

B.使用put )函數時,必須在之前包含頭文件stdio.h

C.在C語言中,整數可以以二進制、八進制或十六進制的形式輸出

D.調節get )函數讀入字符時,可以從鍵盤上輸入字符所對應的ASCII碼

正確答案:B

答案解析:選項A,若printf函數沒有輸出項,且格式字符串中不含格式信息,則輸出的是格式字符串本身,若格式字符串含有格式信息,運行時則出現錯誤提示;選項C,在C語言中,整數可以十進制、八進制或十六進制的形式輸出;選項D,getchar函數是從標準輸入設備讀取一個字符。

2). 以下結構體類型説明和變量定義中正確的是( )

def struct { int n; char c; } REC; REC t1,t2;

ct REC ; { int n; char c; }; REC t1,t2;

def struct REC; { int n=0; char c=′A′; } t1,t2;

ct { int n; char c; } REC; REC t1,t2;

正確答案:A

答案解析:定義結構體類型的一般形式為:struct 結構體名 {成員列表};struct 結構體名後不能加″;″號,所以選項B、C)錯誤,選項D中定義無名稱的結構體類型同時定義結構體變量形式應為struct t1,t2;選項A為用户自定義類型,其為正確的定義形式。

3). 若實體A和B是一對多的聯繫,實體B和C是一對一的聯繫,則實體A和C的聯繫是( )

A.一對一

B.一對多

C.多對一

D.多對多

正確答案:B

答案解析:由於B和C有一一對應的聯繫,而A和B只間有一對多的聯繫,則通過關係之間的傳遞,則A和C之間也是一對多的聯繫。

4). 一間宿舍可住多個學生,則實體宿舍和學生之間的聯繫是( )

A.一對一

B.一對多

C.多對一

D.多對多

正確答案:B

答案解析:兩個實體集間的聯繫可以有下面幾種:一對一的聯繫、一對多或多對一的聯繫和多對多的聯繫。由於一個宿舍可以住多個學生,所以它們的聯繫是一對多聯繫。

5). 軟件設計中劃分模塊的一個準則是( )

A.低內聚低耦合

B.高內聚低耦合

C.低內聚高耦合

D.高內聚高耦合

正確答案:B

答案解析:耦合性與內聚性是模塊獨立性的兩個定性標準。一般一個較優秀的軟件設計,應儘量做到高內聚,低耦合,即減弱模塊之間的耦合性和提高模塊內的內聚性,有利於提高模塊的獨立性。

6). 當把4個表達式用作if語句的控制表達式時,有一個選項與其他3個選項含義不同,這個選項是( )。

A.k%2

B.k%2==1

C.(k%2) !=0

D.!k%2==1

正確答案:A

答案解析:整數k對2求餘數的兩個結果只能是0和1,所以選項A表示k除以2的餘數,其結果是0或1。在選項B、C和D中包括算術求餘運算符″%″,關係等於運算符 ″==″和關係不等於運算符″!=″以及邏輯非運算符″!″。而邏輯運算符與賦值運算符、算術運算符、關係運算符之間從高到低的運算優先次序是:!(邏輯″非″)、算術運算符、關係運算符、&&(邏輯″與″)、||(邏輯″或″)、賦值運算符。選項B含義是判斷表達式k%2的結果是否等於1、選項C的含義是判斷表達式k%2的結果是否不等於0,選項D含義是判斷表達式!k%2的結果是否等於1,所以選項B、C和D的含義相同。

1). 以下敍述中正確的是( )

A.關係運算符兩邊的運算對象可以是C語言中任意合法的表達式

B.在C語言中,邏輯真值和假值分別對應1和0

C.對於浮點變量x和y,表達式:x==y 是非法的,會出編譯錯誤

D.分支結構是根據算術表達式的結果來判斷流程走向的

正確答案:A

答案解析:C語言中沒有邏輯類型,用非零表示邏輯真。0表示邏輯假,選項B錯誤,無法判斷兩個浮點變量是否相等,但是x==y不會出現編譯錯誤,選項C錯誤,分支結構根據表達式的值,不一定為算術表達式,選項D錯誤。

2). 在軟件生命週期中,能準確地確定軟件系統必須做什麼和必須具備哪些功能的階段是( )。

A.需求分析

B.詳細設計

C.軟件設計

D.概要設計

正確答案:A

答案解析:軟件生命週期的主要活動階段為:可行性研究和計劃制定、需求分析、軟件設計、軟件實現、軟件測試、運行和維護。其中需求分析是對開發軟件提出的需求進行分析並給出詳細定義,即準確地確定軟件系統的功能,編寫軟件規格説明書及初步的用户手冊,提交評審。

3). 設文件指針fp已定義,執行語句fp=fopen(″file″,″w″);後,以下針對文本文件file操作敍述的選項中正確的是( )

A.寫操作結束後可以從頭開始讀

B.可以在原有內容後追加寫

C.可以隨意讀和寫

D.只能寫不能讀

正確答案:D

答案解析:在題目中函數fopen以″只寫″方式打開文件file。

4). 以下關於C語言的敍述中正確的是( )。

A.預處理命令通常位於函數體外面,但也可以位於函數體中間

B.C語言中的變量定義須在其他語句之前

C.在C語言程序的書寫中,一個語句必須單佔一行

D.一個C語言源程序可以由一個或多個源文件組成,每個源文件可由自己的main函數

正確答案:A

答案解析:源程序中可以有預處理命令(include命令僅為其中的一種)。C語言中的變量可以在使用之前的任何位置進行定義。C語言程序的書寫中,多個語句可以位於一行,但為了增強可讀性,一般每行只有一條語句。一個C語言源程序可以由一個或多個源文件組成,但僅可以有一個mam函數.

5). 下列選項中可作為C語言合法常量的是( )。

A.-80

B.-080

C.-8e1.0

正確答案:A

答案解析:所謂常量是指在程序運行的過程中,其值不能被改變的量。在C語言中,有整型常量、實型常量、字符常量和字符串常量等類型。選項B中是以0開頭,表示一個八進制數,而八進制數的取值範圍是0~7,所以“-080”錯誤;在C語言巾e後面的指數必須是整數,因此選項C和D也不正確。

6). 設樹T的深度為4,其中度為1,2,3,4的結點個數分別為4,2,1,1。則T中的葉子結點數為( )

A.8

B.7

C.6

D.5

正確答案:B

答案解析:深度為m二叉樹其總結點數為2m -1=24-1=15。總結點數減去度為1,2,3,4的結點個數就是葉子結點數。15-4-2-1-1=7。