第 1 頁:選擇題 |
第 3 頁:程序填空題 |
第 4 頁:程序修改題 |
第 5 頁:程序設計題 |
21[單選題] 有以下程序:
程序運行后的輸出結果是( )。
A.Zhao,m,85,90,Qian,f,95,92
B.Zhao,m,85,90,Zha0,m,85,90
C.Qian,f,95,92,Qian,f,95,92
D.Qian,f,95,92,Zha0,m,85,90
參考答案:A
參考解析:本題考查的是函數調用時的參數傳遞問題。程序在調用函數f時,傳給函數f的參數只是結構變量c在棧中的一個拷貝,函數f所做所有操作只是針對這個數據拷貝進行的修改,這些都不會影響變量c的值。
22[單選題] 耦合性和內聚性是對模塊獨立性度量的兩個標準。下列敘述中正確的是( )。
A.提高耦合性降低內聚性有利于提高模塊的獨立性
B.降低耦合性提高內聚性有利于提高模塊的獨立性
C.耦合性是指一個模塊內部各個元素間彼此結合的緊密程度
D.內聚性是指模塊問互相連接的緊密程度
參考答案:B
參考解析:模塊獨立性是指每個模塊只完成系統要求的獨立的子功能,并且與其他模塊的聯系最少且接口簡單。一般較優秀的軟件設計,應盡量做到高內聚,低耦合,即減弱模塊之間的耦合性和提高模塊內的內聚性,有利于提高模塊的獨立性,所以A錯誤,B正確。耦合性是模塊間互相連接的緊密程度的度量而內聚性是指一個模塊內部各個元素問彼此結合的緊密程度,所以C與D錯誤。
23[單選題] 以下不能輸出字符A的語句是( )。(注:字符A的ASCII碼值為65,字符a的ASCII碼值為97)
ABCD參考答案:B
參考解析:B選項輸出的格式為%d,即為整型格式,所以輸出字符A的ASCII碼值65,而不是字符A。由于大寫字母比與其對應的小寫字母的ASCII碼值小32,所以A正確。字符A的ASCII碼值就是65,所以以%c格式輸出可以輸出字符A,所以C正確。由于字符A的ASCII碼值比字符B的小1,所以D正確。
24[單選題] 有以下程序:
程序運行后的輸出結果是( )。
A.120
B.11
C.6
D.21
參考答案:D
參考解析:fun函數中的變量x為靜態局部變量,占用固定的內存單元,下一次調用時仍可以保留上次調用時的值。也就是說,如果多次調用fun函數,s的定義只在第一次調用時有效,從第二次調用開始,X的定義相當于不存在,直接使用上次x的值。fun函數被調用了5次,每次調用后的返回值累加到s上。5次調用后,x的值為6,s的值為1+2+3+4+5+6=21。因此D選項正確。
25[單選題] 軟件設計中劃分模塊的一個準則是( )。
A.低內聚低耦合
B.高內聚低耦合
C.低內聚高耦合
D.高內聚高耦合
參考答案:B
參考解析:一般較優秀的軟件設計,應盡量做到高內聚,低耦合,即減弱模塊之間的耦合性和提高模塊內的內聚性,有利于提高模塊的獨立性。
26[單選題] 有以下程序:
程序運行后的輸出結果是( )。
A.2,3,1,6,8.7,5,4,10,9,
B.10,9,8,7,6,5,4,3,2,1,
C.1,2,3,4,5,6,7,8,9,10,
D.10,9,8,7,6,1,2,3,4,5,
參考答案:C
參考解析:本題的子函數f的功能是對結構體變量8中第二個成員數組中所有的數據進行從小到大的冒泡排序,所以結果是C。
27[單選題] 有三個關系R、S和T如下:
其中關系T由關系R和S通過某種操作得到,該操作為( )。
A.選擇
B.投影
C.交
D.并
參考答案:D
參考解析:關系T中包含了關系R與S中的所有元組,所以進行的是并的運算。
28[單選題] 有以下程序:
程序執行后的輸出結果是( )。
A.20
B.25
C.45
D.36
參考答案:B
參考解析:統計1~9九個數中的奇數和,此題考察指向數組的指針。C語言規定數組名代表數組的首地址,也就是第一個元素的地址。因此*(t+i)代表數組的第i+1個元素。程序運行的結果是l+3+5+7+9=25。
29[單選題] 下列數據結構中,能夠按照“先進后出”原則存取數據的是( )。
A.循環隊列
B.棧
C.隊列
D.二叉樹
參考答案:B
參考解析:棧是按先進后出的原則組織數據的。隊列是先進先出的原則組織數據。
30[單選題] 以下敘述中錯誤的是( )。
A.gets函數用于從終端讀入字符串
B.getchar函數用于從磁盤文件讀入字符
C.fput,函數用于把字符串輸出到文件
D.fwrite函數用于以二進制形式輸出數據到文件
參考答案:B
參考解析:本題考查字符處理函數和文件操作函數,屬于基礎知識,其中B選項getehar函數是用于從終端讀入一個字符。
31[單選題] 有以下程序:
程序運行后的輸出結果是( )。
A.33
B.197
C.143
D.28
參考答案:C
參考解析:本題考查帶參數的宏定義,s為帶參數的宏定義,運行S(k+j)為4*(k+j)*k+j+1=143,選項C正確。
32[單選題] 以下選項中能表示合法常量的是( )。
A.1,200
B.1.5E2.0
C.'\'
D."\007"
參考答案:D
參考解析:A選項中整型常量應表示為1200,不能包含“,”。B選項中E后面的指數必須為整數。C選項中轉義字符以“\”開始,若要表示字符“\”,應寫為“\\”。
33[單選題] 設有如下函數定義:
若執行調用語句“n=fun(3);”,則函數fun總共被調用的次數是( )。
A.2
B.3
C.4
D.5
參考答案:B
參考解析:首先n=fun(3),3被當作參數傳遞進去,這就進行了一次調用,3被當作參數傳進去后,程序會執行這句else returnfun(k-1)+1;這就調用了第二次,而參數是3-l也就是2。2被當作參數傳進去后,程序會執行這句elsereturn fun(k-1)+1;這就調用了第三次,而參數是2-1也就是1。1被當作參數傳進去后,程序會執行這句else if(k==1)return 1;不再遞歸調用,所以最終結果為3次。
34[單選題] 若有定義語句:
char s[10]="1234567\0\0";
則strlen(S)的值是( )。
A.7
B.8
C.9
D.10
參考答案:A
參考解析:strlen()函數在計算字符串長度時,遇到結束標識為止,且長度不包括結束標識。本題中字符串,從第一個字符開始,遇到第一個結束標識‘\0’為止,注意‘\0’不占字符串長度,所以字符串長度為7。因此A選項正確。
35[單選題] C源程序中不能表示的數制是( )。
A.十六進制
B.八進制
C.十進制
D.二進制
參考答案:D
參考解析:在C語言中整型常量可以用十進制、八進制和十六進制等形式表示,但不包括二進制,所以選擇D。
36[單選題] 若有以下定義:
則對x數組元素的正確引用是( )。
A.pt+3
B.*&x[10]
C.*(pt+10)
D.*(x+3)
參考答案:D
參考解析:沒有A選項的引用形式。*與&放在一起作用抵消,所以B選項錯誤,最大只能引用到x[9]。*(pt+i)表示引用指針pt所指元素后的第i個元素,所以c選項錯誤,最大只能為*(pt+9)。因此D選項正確。
37[單選題] 有以下程序:
程序運行后的輸出結果是( )。
A.A B E F
B.C D E F
C.A B C D
D.C D A B
參考答案:B
參考解析:本題考察的是變量的作用范圍。如果在同一個源文件中,外部變量與局部變量同名,則在局部變量的作用范圍內,外部變量被“屏蔽”,即不起作用。本題中,在funl()和main()函數內訪問的是全局變量a和b,在fun2()函數中訪問的是形參變量a和b。所以,main()函數中的printf()函數輸出的是在fun1()函數中被改變的全局變量a和b的值C、D,而fun2()函數中輸出的是傳遞給它的實參值E、F。因此B選項正確。
38[單選題] 有以下程序:
若運行時輸入:246<回車>,則輸出結果為( )。
A.204
B.200
C.240
D.246
參考答案:A
參考解析:奉題中輸入的3個數據2,4,6分別賦值給了x[0][0],x[1][0],x[2][0]。x[0][1]仍為初始時的0,所以打印輸出時的結果為A選項。
39[單選題] 設有定義:
int a=1,b=2,e=3;
以下語句中執行效果與其他三個不同的是( )。
A.if(a>b) c=a,a=b,b=c;
B.if(a>b) {e=a,a=b,b=e;}
C.if(a>b)e=a;a=b;b=C;
D.if(a>b) {c-7-a;a=b;b=e;}
參考答案:C
參考解析:由于a小于b,所以所有選項中的條件都為假,c選項中實際執行了a=b;b=c;兩個操作。而A、B、D選項由于條件不成立.所以什么也沒有做,所以選擇C選項。
40[單選題] 軟件按功能可以分為:應用軟件、系統軟件和支撐軟件(或工具軟件)。下面屬于應用軟件的是( )。
A.編譯程序
B.操作系統
C.教務管理系統
D.匯編程序
參考答案:C
參考解析:編譯軟件、操作系統、匯編程序都屬于系統軟件,只有C教務管理系統才是應用軟件。
相關推薦:
【考試吧整理】計算機等級考試各科目歷年真題