第 1 頁:選擇題 |
第 3 頁:程序填空題 |
第 4 頁:程序修改題 |
第 5 頁:程序設(shè)計題 |
點擊查看:2017年12月計算機二級《C語言》強化模擬題匯總
一、選擇題(每小題1分,共40分)
1[單選題] 有以下程序(注:字符a的ASCII碼值為97):
程序運行后的輸出結(jié)果是( )。
A.789
B.abe
C.7890
D.979899
參考答案:A
參考解析:因為小寫字符a,b,c的ASCII碼值分別為97,98,99,而在do while循環(huán)語句中,每次對字符的ASCII碼值取余數(shù)并輸出,所以分別輸出7,8,9。
2[單選題] 有以下程序:
程序運行后的輸出結(jié)果是( )。
A.7
B.10
C.8
D.9
參考答案:D
參考解析:調(diào)用f(a,b)函數(shù)返回3,調(diào)用f(a,c)函數(shù)返回6,所以外層調(diào)用f(f(a,b),f(a,c));即調(diào)用f(3,6)函數(shù)返回9。
3[單選題] 下面敘述中錯誤的是( )。
A.軟件測試的目的是發(fā)現(xiàn)錯誤并改正錯誤
B.對被調(diào)試的程序進行“錯誤定位”是程序調(diào)試的必要步驟
C.程序調(diào)試通常也稱為Debug
D.軟件測試應(yīng)嚴格執(zhí)行測試計劃,排除測試的隨意性
參考答案:A
參考解析:軟件測試的目的是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程,并不涉及改正錯誤,所以選項A錯誤。程序調(diào)試的基本步驟有:錯誤定位、修改設(shè)計和代碼,以排除錯誤、進行回歸測試,防止引進新的錯誤。程序調(diào)試通常稱為Debug,即排錯。軟件測試的基本準則有:所有測試都應(yīng)追溯到需求、嚴格執(zhí)行測試計劃,排除測試的隨意性、充分注意測試中的群集現(xiàn)象、程序員應(yīng)避免檢查自己的程序、窮舉測試不可能、妥善保存測試計劃等文件。
4[單選題] 以下關(guān)于結(jié)構(gòu)化程序設(shè)計的敘述中正確的是( )。
A.結(jié)構(gòu)化程序使用goto語句會很便捷
B.在C語言中,程序的模塊化是利用函數(shù)實現(xiàn)的
C.一個結(jié)構(gòu)化程序必須同時由順序、分支、循環(huán)三種結(jié)構(gòu)組成
D)由三種基本結(jié)構(gòu)構(gòu)成的程序只能解決小規(guī)模的問題
參考答案:B
參考解析:濫用goto語句將使程序的流程毫無規(guī)律,可讀性差,對于初學者來說盡量不要使用,所以A錯誤。一個結(jié)構(gòu)化程序可以包含順序、分支、循環(huán)結(jié)構(gòu)中的一種或多種,所以C錯誤。由三種基本結(jié)構(gòu)構(gòu)成的程序可以解決任何復(fù)雜的問題,所以D錯誤。
5[單選題] 若變量已正確定義為int型,要通過語句:
scanf("%d,%d,%d",&a,&b,&c);
給a賦值1、給b賦值2、給c賦值3,以下輸入形式中錯誤的是( )。(注:口代表一個空格符)
ABCD參考答案:D
參考解析:scanf()的格式控制串可以使用其他非空白字符,如本題中的逗號,但在輸入時必須輸入這些字符,以保證匹配。所以逗號必須輸入。
6[單選題] 以下四個程序中,完全正確的是( )。
ABCD參考答案:B
參考解析:C語言中注釋語句的注釋方法是:/*注釋內(nèi)容*/或//注釋一行。所以A與C錯誤,D選項中預(yù)編譯命令indade前丟掉了”#”號。所以選擇B。
7[單選題] 算法的空間復(fù)雜度是指( )。
A.算法在執(zhí)行過程中所需要的計算機存儲空間
B.算法所處理的數(shù)據(jù)量
C.算法程序中的語句或指令條數(shù)
D.算法在執(zhí)行過程中所需要的臨時工作單元數(shù)
參考答案:A
參考解析:算法的空間復(fù)雜度是指算法在執(zhí)行過程中所需要的內(nèi)存空間。所以選擇A。
8[單選題] 有以下程序:
程序運行后的輸出結(jié)果是( )。
A.1,2,3,4,5,6,7,8,9,0,
B.2,1,4,3,6,5,8,7,0,9,
C.0,9,8,7,6,5,4,3,2,1,
D.0,1,2,3,4,5,6,7,8,9,
參考答案:A
參考解析:函數(shù)調(diào)用中發(fā)生的數(shù)據(jù)傳送是單向的。即只能把實參的值傳送給形參而不能把形參的值反向地傳送給實參。因此在函致調(diào)用過程中,形參的值發(fā)生改變,而實參中的值不會變化,所以數(shù)組C中的元素的值并沒有變化,選擇A。
9[單選題] 若變量x,y已正確定義并賦值,以下符合C語言語法的表達式是( )。
A.x+1=y
B.++x,y=x- -
C.x=z+10=z+y
D.double(x)/10
參考答案:B
參考解析:A選項中不能將變量Y賦給表達式,C選項中錯誤與A選項一樣,D選項中強制類型轉(zhuǎn)換表達式應(yīng)寫成(double)x/10。
10[單選題] 若有以下函數(shù)首部:
則下面針對此函數(shù)的函數(shù)聲明語句中正確的是( )。
ABCD參考答案:B
參考解析:函數(shù)聲明的一般形式為:“類型說明符被調(diào)函數(shù)名(類型形參,類型形參,……);"或"類型說明符被調(diào)函數(shù)名(類型,類型,……);”由于函數(shù)首部為int fun(double x[10],int * n),因此B選項正確。
11[單選題] 設(shè)有以下語句:
執(zhí)行后,c的值為( )。
A.7
B.9
C.8
D.6
參考答案:B
參考解析:b為2,二進制為00000010,執(zhí)行左移兩位操作后為00001000,然后與a 00000001做異或操作結(jié)果為00001001,即十進制的9。
12[單選題] 數(shù)據(jù)庫應(yīng)用系統(tǒng)中的核心問題是( )。
A.數(shù)據(jù)庫設(shè)計
B.數(shù)據(jù)庫系統(tǒng)設(shè)計
C.數(shù)據(jù)庫維護
D.數(shù)據(jù)庫管理員培訓(xùn)
參考答案:A
參考解析:數(shù)據(jù)庫應(yīng)用系統(tǒng)中的核心問題是數(shù)據(jù)庫的設(shè)計。
13[單選題] 以下定義語句中正確的是( )。
ABCD參考答案:B
參考解析:A選項語句中b變量還沒有定義不能直接用于給a變量賦值。c選項語句中*b、* c表示的是一個實型變量的地址,不能再將&b賦值給指針型變量c。D選項語句中a=0.0后面應(yīng)該為逗號,不能是分號。
14[單選題] 下列敘述中正確的是( )。
A.在switch語句中,不一定使用break語句
B.在switch語句中必須使用default
C.break語句必須與switch語句中的case配對使用
D.break語句只能用于switch語句
參考答案:A
參考解析:default語句在switch語句中可以省略,所以B錯誤;switch語句中并非每個case后都需要使用break語句,所以C錯誤;break語句還可以用于for等循環(huán)結(jié)構(gòu)中,所以D錯誤。
15[單選題] 對于一個正常運行的C程序,以下敘述中正確的是( )。
A.程序的執(zhí)行總是從main函數(shù)開始,在程序的最后一個函數(shù)中結(jié)束
B.程序的執(zhí)行總是從程序的第一個函數(shù)開始,在main函數(shù)結(jié)束
C.程序的執(zhí)行總是從main函數(shù)開始
D.程序的執(zhí)行總是從程序的第一個函數(shù)開始,在程序的最后一個函數(shù)中結(jié)束
參考答案:C
參考解析:任何一個c程序都是從主函數(shù)main開始,至主函數(shù)main結(jié)束,所以選擇c選項。
16[單選題] 有以下程序:
程序運行后的輸出結(jié)果是( )。
A.7
B.5
C.3
D.9
參考答案:C
參考解析:向switch語句塊傳送參數(shù)后,編譯器會先尋找匹配的case語句塊,找到后就執(zhí)行該語句塊,遇到break跳出;如果沒有匹配的語句塊,則執(zhí)行default語句塊。case與default沒有順序之分。所以第一次循環(huán)k的值為1,執(zhí)行c+=k,c的值為l,再執(zhí)行case 2后的語句c++,c的值為2,遇到break語句跳出循環(huán);第二次循環(huán)k的值為2,執(zhí)行case 2后面的語句c++,c的值為3,跳出循環(huán)。
17[單選題] 以下定義數(shù)組的語句中錯誤的是( )。
A.int num[][3]={{1,2},3,4,5,6};
B.int num[2][4]={{1,2},{3,4},{5,6}};
C.int num[]={1,2,3,4,5,6};
D.int hum[][4]={1,2,3,4,5,6};
參考答案:B
參考解析:B)選項中定義的數(shù)組為2行4列,而賦值時賦成了3行所以出錯。
18[單選題] 下列語句組中,正確的是( )。
ABCD參考答案:A
參考解析:字符型指針變量可以用選項A的賦值方法:char*s;s="Olympic",選項C的寫法:char*s,s={"Olympic"};是錯誤的。字符數(shù)組可以在定義的時候初始化:char s[]={"Olympic"};?或者char s[]="Olympic",都是正確的。但是不可以在定義字符數(shù)組后,對數(shù)組名賦值。(數(shù)組名是常量,代表數(shù)組首地址)所以選項B和選項D都是錯誤的。對于本例,選項B、D中字符數(shù)組8的大小至少為8,才能存放下字符串。(字符串的末尾都有結(jié)束標識‘\0’)。
19[單選題] 以下關(guān)于typedef的敘述錯誤的是( )。
A.用typedef可以增加新類型
B.typedef只是將已存在的類型用一個新的名字來代替
C.用typedef可以為各種類型說明一個新名,但不能用來為變量說明一個新名
D.用typedef為類型說明一個新名,通常可以增加程序的可讀性
參考答案:A
參考解析:typedef并不是增加了新類型,而是用一個新名字替代已存在的類型,不能為變量說明一個新名,使用typedef可以增強程序的可移植性。所以A選項錯誤。
20[單選題] 在E-R圖中,用來表示實體聯(lián)系的圖形是( )。
A.橢圓形
B.矩形
C.菱形
D.三角形
參考答案:C
參考解析:在E-R圖中實體集用矩形,屬性用橢圓,聯(lián)系用菱形。
相關(guān)推薦:
【考試吧整理】計算機等級考試各科目歷年真題北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |