- 相關(guān)推薦
2017年3月計算機二級考試C語(yǔ)言精選練習
C語(yǔ)言作為計算機二級考試必考重點(diǎn)內容,以此大家要加強C語(yǔ)言的練習,以下是小編為大家整理的2017年3月計算機二級考試C語(yǔ)言精選練習,希望對大家有所幫助。

1). 一棵二叉樹(shù)共有25個(gè)結點(diǎn),其中5個(gè)是葉子結點(diǎn),則度為1的結點(diǎn)數為( )
A.16
B.10
C.6
D.4
正確答案:A
答案解析:根據二叉樹(shù)的性質(zhì),在任意二叉樹(shù)中,度為0的結點(diǎn)(即葉子結點(diǎn))總是比度為2的結點(diǎn)多一個(gè),故此度為1的結點(diǎn)個(gè)數=總結點(diǎn)數-葉子節點(diǎn)數-度為2的節點(diǎn)數=25-5-4=16。
2). 設有定義 char str[] = ″Hello″; 則語(yǔ)句 printf(″%d %d″, sizeof(str), strlen(str)); 的輸出結果是( )
A.6 6
B.6 5
C.5 5
D.5 6
正確答案:B
答案解析:sizeof主要用于測試變量所占的實(shí)際內存,而strlen函數主要測試字符串中實(shí)際字符的個(gè)數,字符串″Hello″占有內存6個(gè)字節,而字符串中共有5個(gè)字符。
3). 下列關(guān)于棧和隊列的描述中,正確的是( )。
A.棧是先進(jìn)先出
B.隊列是先進(jìn)后出
C.隊列允許在隊頭刪除元素
D.棧在棧頂刪除元素
正確答案:D
答案解析:棧實(shí)際也是線(xiàn)性表,只不過(guò)是一種特殊的線(xiàn)性表。棧是只能在表的一端進(jìn)行插入和刪除運算的線(xiàn)性表,通常稱(chēng)插入、刪除的這一端為棧頂,另一端為棧底。隊列是只允許在一端刪除,在另…端插入的順序表,允許刪除的一端叫做隊頭,允許插入的一端叫做隊尾。
4). 以下敘述中正確的是( )
A.關(guān)系運算符兩邊的運算對象可以是C語(yǔ)言中任意合法的表達式
B.在C語(yǔ)言中,邏輯真值和假值分別對應1和0
C.對于浮點(diǎn)變量x和y,表達式:x==y 是非法的,會(huì )出編譯錯誤
D.分支結構是根據算術(shù)表達式的結果來(lái)判斷流程走向的
正確答案:A
答案解析:C語(yǔ)言中沒(méi)有邏輯類(lèi)型,用非零表示邏輯真。0表示邏輯假,選項B錯誤,無(wú)法判斷兩個(gè)浮點(diǎn)變量是否相等,但是x==y不會(huì )出現編譯錯誤,選項C錯誤,分支結構根據表達式的值,不一定為算術(shù)表達式,選項D錯誤。
5). 在軟件生命周期中,能準確地確定軟件系統必須做什么和必須具備哪些功能的階段是( )。
A.需求分析
B.詳細設計
C.軟件設計
D.概要設計
正確答案:A
答案解析:軟件生命周期的主要活動(dòng)階段為:可行性研究和計劃制定、需求分析、軟件設計、軟件實(shí)現、軟件測試、運行和維護。其中需求分析是對開(kāi)發(fā)軟件提出的需求進(jìn)行分析并給出詳細定義,即準確地確定軟件系統的功能,編寫(xiě)軟件規格說(shuō)明書(shū)及初步的用戶(hù)手冊,提交評審。
6). 設文件指針fp已定義,執行語(yǔ)句fp=fopen(″file″,″w″);后,以下針對文本文件file操作敘述的選項中正確的是( )
A.寫(xiě)操作結束后可以從頭開(kāi)始讀
B.可以在原有內容后追加寫(xiě)
C.可以隨意讀和寫(xiě)
D.只能寫(xiě)不能讀
正確答案:D
答案解析:在題目中函數fopen以″只寫(xiě)″方式打開(kāi)文件file。
7). 一間宿舍可住多個(gè)學(xué)生,則實(shí)體宿舍和學(xué)生之間的聯(lián)系是( )
A.一對一
B.一對多
C.多對一
D.多對多
正確答案:B
答案解析:兩個(gè)實(shí)體集間的聯(lián)系可以有下面幾種:一對一的聯(lián)系、一對多或多對一的聯(lián)系和多對多的聯(lián)系。由于一個(gè)宿舍可以住多個(gè)學(xué)生,所以它們的聯(lián)系是一對多聯(lián)系。
8). 軟件設計中劃分模塊的一個(gè)準則是( )
A.低內聚低耦合
B.高內聚低耦合
C.低內聚高耦合
D.高內聚高耦合
正確答案:B
答案解析:耦合性與內聚性是模塊獨立性的兩個(gè)定性標準。一般一個(gè)較優(yōu)秀的軟件設計,應盡量做到高內聚,低耦合,即減弱模塊之間的耦合性和提高模塊內的內聚性,有利于提高模塊的獨立性。
9). 當把4個(gè)表達式用作if語(yǔ)句的控制表達式時(shí),有一個(gè)選項與其他3個(gè)選項含義不同,這個(gè)選項是( )。
A.k%2
B.k%2==1
C.(k%2) !=0
D.!k%2==1
正確答案:A
答案解析:整數k對2求余數的兩個(gè)結果只能是0和1,所以選項A表示k除以2的余數,其結果是0或1。在選項B、C和D中包括算術(shù)求余運算符″%″,關(guān)系等于運算符 ″==″和關(guān)系不等于運算符″!=″以及邏輯非運算符″!″。而邏輯運算符與賦值運算符、算術(shù)運算符、關(guān)系運算符之間從高到低的運算優(yōu)先次序是:!(邏輯″非″)、算術(shù)運算符、關(guān)系運算符、&&(邏輯″與″)、||(邏輯″或″)、賦值運算符。選項B含義是判斷表達式k%2的結果是否等于1、選項C的含義是判斷表達式k%2的結果是否不等于0,選項D含義是判斷表達式!k%2的結果是否等于1,所以選項B、C和D的含義相同。
2). 下列敘述中正確的是( )
A.棧是一種先進(jìn)先出的線(xiàn)性表
B.隊列是一種后進(jìn)先出的線(xiàn)性表
C.棧與隊列都是非線(xiàn)性結構
D.以上三種說(shuō)法都不對
正確答案:D
答案解析:棧是先進(jìn)后出的線(xiàn)性表,隊列是先進(jìn)先出的線(xiàn)性表,二者均為線(xiàn)性結構。
3). 以下關(guān)于C語(yǔ)言的敘述中正確的是( )。
A.預處理命令通常位于函數體外面,但也可以位于函數體中間
B.C語(yǔ)言中的變量定義須在其他語(yǔ)句之前
C.在C語(yǔ)言程序的書(shū)寫(xiě)中,一個(gè)語(yǔ)句必須單占一行
D.一個(gè)C語(yǔ)言源程序可以由一個(gè)或多個(gè)源文件組成,每個(gè)源文件可由自己的main函數
正確答案:A
答案解析:源程序中可以有預處理命令(include命令僅為其中的一種)。C語(yǔ)言中的變量可以在使用之前的任何位置進(jìn)行定義。C語(yǔ)言程序的書(shū)寫(xiě)中,多個(gè)語(yǔ)句可以位于一行,但為了增強可讀性,一般每行只有一條語(yǔ)句。一個(gè)C語(yǔ)言源程序可以由一個(gè)或多個(gè)源文件組成,但僅可以有一個(gè)mam函數.
4). 下列選項中可作為C語(yǔ)言合法常量的是( )。
A.-80
B.-080
C.-8e1.0
D.-80.Oe
正確答案:A
答案解析:所謂常量是指在程序運行的過(guò)程中,其值不能被改變的量。在C語(yǔ)言中,有整型常量、實(shí)型常量、字符常量和字符串常量等類(lèi)型。選項B中是以0開(kāi)頭,表示一個(gè)八進(jìn)制數,而八進(jìn)制數的取值范圍是0~7,所以“-080”錯誤;在C語(yǔ)言巾e后面的指數必須是整數,因此選項C和D也不正確。
5). 設樹(shù)T的深度為4,其中度為1,2,3,4的結點(diǎn)個(gè)數分別為4,2,1,1。則T中的葉子結點(diǎn)數為( )
A.8
B.7
C.6
D.5
正確答案:B
答案解析:深度為m二叉樹(shù)其總結點(diǎn)數為2m -1=24-1=15?偨Y點(diǎn)數減去度為1,2,3,4的結點(diǎn)個(gè)數就是葉子結點(diǎn)數。15-4-2-1-1=7。
6). C語(yǔ)言主要是借助以下哪種手段來(lái)實(shí)現程序模塊化( )
A.定義常量和外部變量
B.使用豐富的數據類(lèi)型
C.使用三種基本結構語(yǔ)句
D.定義函數
正確答案:D
答案解析:C語(yǔ)言用函數實(shí)現軟件的模塊化設計。
7). 以下敘述中正確的是( )
A.只有全局變量才有自己的作用域,函數中的局部變量沒(méi)有作用域
B.只要是用戶(hù)定義的標識符,都有一個(gè)有效的作用域
C.只有在函數內部定義的變量才是局部變量
D.局部變量不能被說(shuō)明為static
正確答案:B
答案解析:在函數內定義的變量是局部變量,而在函數之外定義的變量稱(chēng)為外部變量,也是全局變量。全局變量可以為源文件中其他函數所共用,其作用域為從定義變量的位置開(kāi)始到源文件結束。因此只要用戶(hù)定義的標識符,全部都有作用域。局部變量可以說(shuō)明為auto、register以及static。
8). 在關(guān)系中凡能惟一標識元組的最小屬性集稱(chēng)為該表的鍵或碼。二維表中可能有若干個(gè)鍵,它們稱(chēng)為該表的( )。
A.連接碼.
B.關(guān)系碼
C.外碼
D.候選碼
正確答案:D
答案解析:在關(guān)系中凡能惟一標識元組的最小屬性集稱(chēng)為該表的鍵或碼。二維表中可能有若干個(gè)鍵,它們稱(chēng)為該表的候選碼或候選鍵。從二維表的所有候選鍵中選取一個(gè)作為用戶(hù)使用的鍵稱(chēng)為主鍵或主碼。
1). 以下敘述中錯誤的是( )
A.預處理命令行的最后不能以分號表示結束
B.C程序對預處理命令行的處理是在程序執行的過(guò)程中進(jìn)行的
C.#define MAX 是合法的宏定義命令行
D.在程序中凡是以″#″開(kāi)始的語(yǔ)句行都是預處理命令行
正確答案:B
答案解析:預處理命令行是以″#″開(kāi)始的語(yǔ)句,預處理命令行的最后不能以分號表示結束,預處理命令行。其中宏定義的字符替換的定義格式為:# define 標識符 字符串,預處理命令行是在系統對源程序進(jìn)行編譯之前進(jìn)行處理的,不是在程序執行的過(guò)程中。
2). 按照″后進(jìn)先出″原則組織數據的數據結構是( )
A.隊列
B.棧
C.雙向鏈表
D.二叉樹(shù)
正確答案:B
3). 以下程序段完全正確的是( )
A.int k, *p=&k; scanf(″%d″, p);
B.int *p; scanf(″%d″, p);
C.int *p; scanf(″%d″, &p);
D.int k, *p; *p=&k; scanf(″%d″, p);
正確答案:A
答案解析:選項B沒(méi)有對指針進(jìn)行初始化,無(wú)效指針。選項C錯在沒(méi)有對指針進(jìn)行初始化,無(wú)效指針,并且在scanf(″%d″,&p)中無(wú)需再進(jìn)行取地址操作。選項D,語(yǔ)句*p=&k;的左端*p是指針所指內存空間的值,&k是地址,應為p=&k。
4). 下列有關(guān)數據庫的描述,正確的是( )。
A.數據庫設計是指設計數據庫管理系統
B.數據庫技術(shù)的根本目標是要解決數據共享的問(wèn)題
C.數據庫是一個(gè)獨立的系統,不需要操作系統的支持
D.數據庫系統中,數據的物理結構必須與邏輯結構一致
正確答案:B
答案解析:數據庫設計的目的實(shí)質(zhì)上是設計出滿(mǎn)足實(shí)際應用需求的實(shí)際關(guān)系模型。數據庫技術(shù)的主要目的是有效地管理和存取大量的數據資源,包括:提高數據的共享性,使多個(gè)用戶(hù)能夠同時(shí)訪(fǎng)問(wèn)數據庫中的數據;減小數據的冗余,以提高數據的一致性和完整性;提供數據與應用程序的獨立性,從而減少應用程序的開(kāi)發(fā)和維護代價(jià)。
6). 若程序中有宏定義行: #define N 100 則以下敘述中正確的是 ( )
A.宏定義行中定義了標識符N的值為整數100
B.上述宏定義行實(shí)現將100賦給標示符N
C.在運行時(shí)用100替換標識符N
D.在編譯程序對C源程序進(jìn)行預處理時(shí)用100替換標識符N
正確答案:D
答案解析:在C語(yǔ)言中,凡是以″#″號開(kāi)頭的行,都稱(chēng)為″編譯預處理″。其含義是在C編譯程序對C源程序進(jìn)行編譯前,由編譯預處理程序對這些編譯預處理命令進(jìn)行處理的過(guò)程。由#define定義的宏就是編譯預處理命令。C程序在進(jìn)行編譯之前,都要先對程序中所有出現的″宏名″,都用宏定義中的替換文本進(jìn)行替換。
【3月計算機二級考試C語(yǔ)言練習】相關(guān)文章:
計算機二級C語(yǔ)言考試沖刺練習10-06
2016年12月計算機二級C語(yǔ)言練習及答案08-18
2017年3月計算機二級C語(yǔ)言考前操作題練習09-21
2017年3月計算機二級C語(yǔ)言考試題及答案07-25
2017年3月計算機二級C語(yǔ)言考試沖刺試題及答案07-08