第 1 頁:選擇題 |
第 3 頁:程序填空題 |
第 4 頁:程序改錯題 |
第 5 頁:程序設計題 |
21下列關于C語言文件的敘述中正確的是( )。
A.文件由一系列數據依次排列組成,只能構成二進制文件
B.文件由結構序列組成,可以構成二進制文件或文本文件
C.文件由數據序列組成,可以構成二進制文件或文本文件
D.文件由字符序列組成,其類型只能是文本文件
參考答案:C
參考解析:本題考查文件的概念,文件是由數據序列組成,可以構成二進制文件或文本文件,所以答案為c選項。
22面向對象方法中,繼承是指( )。
A.一組對象所具有的相似性質
B.一個對象具有另一個對象的性質
C.各對象之間的共同性質
D.類之間共享屬性和操作的機制
參考答案:D
參考解析:繼承是面向對象的方法的一個主要特征,是使用已有的類的定義作為基礎建立新類的定義技術。廣義地說,繼承是指能夠直接獲得已有的性質和特征,而不必重復定義它們,所以說繼承是指類之間共享屬性和操作的機制。
23假定已建立以下鏈表結構,且指針P和q已指向如圖所示的結點:
則以下選項中可將q所指結點從鏈表中刪除并釋放該結點的語句組是( )。
A.p一>next=q一>next;flee(q);
B.p=q一>next;free(q);
C.p=q;free(q);
D.(*p).next=(幸q).next;ffee(p);
參考答案:A
參考解析:本題考查刪除鏈表中的結點操作,其方法是將要刪除結點的上個結點的下個結點指向要刪除結點的下個結點,然后釋放該要刪除結點,所以選項A正確。
24以下關于結構化程序設計的敘述中正確的是( )。
A.結構化程序使用goto語句會很便捷
B.在c語言中,程序的模塊化是利用函數實現的
C.一個結構化程序必須同時由順序、分支、循環三種結構組成
D.由三種基本結構構成的程序只能解決小規模的問題
參考答案:B
參考解析:濫用90t0語句將使程序的流程毫無規律,可讀性差,對于初學者來說盡量不要使用,所以A錯誤。—個結構化程序可以包含順序、分支、循環結構中的一種或多種,所以C錯誤。由三種基本結構構成的程序可以解決任何復雜的問題,所以D錯誤。
25以下關于字符串的敘述中正確的是( )。
A.空串比空格打頭的字符串小
B.兩個字符串中的字符個數相同時才能進行字符串大小的比較
C.可以用關系運算符對字符串的大小進行比較
D.C語言中有字符串類型的常量和變量
參考答案:A
參考解析:字符串比較大小是以第l個不相同字符的大小為標準的,跟長度沒有關系,B選項不正確;字符串比較大小除了使用庫函數s協emp()以外,就只能靠自己寫代碼來實現了。而不能通過關系運算符來比較大小。因為字符串在表達式中相當于const char+,即常字符指針,代表的是字符串的首地址,關系運算符會將兩個字符串的首地址值比較大小,這是毫無意義的。c選項不正確。C語言中只有字符串常量而沒有字符串變量,D選項描述不正確;空串的長度為0,而以空格打頭的字符串的長度至少為l,因此A選項是正確的。
26有以下程序:
程序運行后的輸出結果是( )。
A.2B.4C.6D.8
參考答案:D
參考解析:本題考查位運算符,題目中將a向左移兩位,左移兩位表示乘以4,所以答案為8,選項D正確。
27負責數據庫中查詢操作的數據庫語言是( )。
A.數據定義語言
B.數據管理語言
C.數據操縱語言
D.數據控制語言
參考答案:C
參考解析:數據定義語言:負責數據的模式定義與數據的物理存取構建;數據操縱語言:負責數據的操縱。包括查詢及增、刪、改等操作;數據控制語言:負責數據完整性、安全性的定義與檢查以及并發控制、故障恢復等功能。
28下列選項中不屬于結構化程序設計原則的是( )。
A.可封裝B.自頂向下C.模塊化D.逐步求精
參考答案:A
參考解析:結構化程序設計的思想包括:自頂向下、逐步求精、模塊化、限制使用got0語句,所以選擇A。
29設有宏定義:
#define IsDIV(k,n)((k%1"1==1)?1:O)且變量m已正確定義并賦值,則宏調用:
IsDIV(m,5)&&IsDIV(m,7)為真時所要表達的是( )。
A.判斷m是否能被5和7整除
B.判斷m被5和7整除是否都余l
C.判斷m被5或者7整除是否余1
D.判斷m是否能被5或者7整除
參考答案:B
參考解析:本題考查邏輯運算符的相關概念,邏輯與若要為真,那么兩邊都要為真,即m都能被5和7整除都余1,所以選項B正確。
30在面向對象方法中,不屬于“對象”基本特點的是( )。
A.一致性B.分類性C.多態性D.標識唯一性
參考答案:A
參考解析:對象有如下一些基本特點:標識唯一性、分類性、多態性、封裝性、模塊獨立性好。所以選擇A。
31軟件設計中劃分模塊的一個準則是( )。
A.低內聚低耦合B.高內聚低耦合C.低內聚高耦合D.高內聚高耦臺
參考答案:B
參考解析:一般較優秀的軟件設計,應盡量做到高內聚,低耦合,即減弱模塊之間的耦合性和提高模塊內的內聚性,有利于提高模塊的獨立性。
32有以下程序:
程序運行后的輸出結果是( )。
A.OB.2C.3D.5
參考答案:B
參考解析:程序首先給字符數組8[]賦值為“012xy”,for循環語句的功能是遍歷字符串,通過if條件語句對字符串中的小寫字母計數,在符串中小寫字母為j2個,即n=2。因此B選項正確。
33有以下程序:
程序運行后的輸出結果是( )。
A.2B.0C.元素ch[5]的地址D.字符y的地址
參考答案:A
參考解析:語句pc=eh;使得指針變量指向字符數組ch的首地址,即指向字符‘u’,則pc+5指向的是字符向后移動5位,指向字符‘z’。所以輸出的$pc+5的值即為‘Z’。因此A選項正確。
34一個教師可講授多門課程,一門課程可由多個教師講授。則實體教師和課程間的聯系是( )。
A.1:1聯系B.1:m聯系C.m:1聯系D.m:n聯系
參考答案:D
參考解析:因為一個教師可講授多門課程,而一門課程又能由多個老師講授所以他們之間是多對多的關系,可以表示為m:n。
35有以下程序:
程序運行后的輸出結果是( )。
A.1B.2C.3D.4
參考答案:B
參考解析:本題重點考察函數的遞歸調用;題目中給出的fun()函數直接調用了自身,所以是一個遞歸函數。其功能是:當參數b為0時,返回參數a的值,否則返回fIln(一一a.一一b)的值。從這里可以看出,當b不斷遞減時,a也不斷遞減,直到b為0時返回a的值。那么a遞減的總值就是b原來的值。所以整個遞歸函數的作用就是返回a—b的值。因此B選項正確。
36以下選項中正確的語句組是( )。
A.char*s;s={f.BOOK!”};B.char*s;s:”BOOK!”:C.chars[10];s=”BOOK!”;D.cbars[];s:”BOOK!n:
參考答案:B
參考解析:選項去掉大括號就正確了;c選項和D|選項應在定義時賦初值。因此B選項正確。
37有以下程序:
i
程序運行后的輸出結果是( )。。,
A.3,4B.4,1C.2,3D.1,2
參考答案:C
參考解析:本題考查結構體數組的相關操作,dt為結構體數組,那么指針P指向了結構體數組的一個元素,所以P一>x為1,P一>Y為2,結果為2,3。選項C正確。
38有以下程序:
程序執行后的輸出結果是( )。
A.1B.2C.3D.4
參考答案:C
參考解析:該程序中int 8 pl=&a,+p2=&b,4 P=&c;指定義三個指針變量,并賦值,即使pl指向a;p2指向b;p指向c。+P=。pl$(+p2)。;該條語句是給P所指的存儲單元c賦值,就是pl所指的存儲單元的值,即a的值,與p2所指的存儲單元b的值相乘,也就是c=a+b,等價于c=1·3=3;因此C選項正確。‘
39以下敘述中錯誤的是( )。
A.可以通過typedef增加新的類型
B.可以用typedef將已存在的類型用一個新的名字來代表
C.用typedef定義新的類型名后,原有類型名仍有效
D.用typedef可以為各種類型起別名,但不能為變量起別名
參考答案:A
參考解析:關鍵字typedef的作用只是將C語言中的已有的數據類型作了置換,并不是增加新的類型,所以A錯誤。
40以下敘述中錯誤的是( )。。
A.C程序必須由一個或一個以上的函數組成
B.函數調用可以作為一個獨立的語句存在
C.NN數NNN值,必須通過return語句返回
D.函數形參的值也可以傳回給對應的實參
參考答案:D
參考解析:形參是函數定義時由用戶定義的形式上的變量,實參是函數調用時,主調函數為被調函數提供的原始數據。在C語言中,實參向形參傳送數據的方式是“值傳遞”。因此D選項正確。
相關推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |