第 1 頁:選擇題 |
第 3 頁:程序填空題 |
第 4 頁:程序改錯題 |
第 5 頁:程序設計題 |
點擊查看:2015計算機二級考試《C語言》沖刺試題及答案匯總
一、選擇題
1有以下程序:
程序運行后的輸出結果是( )。
A.1,6,2,1,B.8,7,3,1,C.4,7,5,2,D.1,6,5,7,
參考答案:D
參考解析:首先對二維數組進行賦值操作,a[0][0]、a[0][1]、…、a[3][2]、a[3][3]的值為l、4、…、6、1。通過for語句和if語句,對二維數組各列元素進行由小到大的排序操作,程序最后通過for語句輸出二維數組對角線上的元素。因此D選項正確。
2有以下程序:
程序運行后的輸出結果是( )。
A.2 3 4 4B.4 3 3 2C.1 2 3 4D.1 1 2 3
參考答案:B
參考解析:在for(i=0;i<12;i++)C[s[i]]++中,數組元素s[i]的值作為數組c的下標,當退出循環時,數組c的4個元素的值分別為4…3 3 2。因此B選項正確。
3數據庫系統的三級模式不包括( )。
A.概念模式B.內模式C.外模式D.數據模式
參考答案:D
參考解析:
數據庫系統的三級模式是概念模式、外模式和內模式,所以選擇D。
4有以下程序:
程序運行后的輸出結果是( )。
A.16B.1C.32D.0
參考答案:B
參考解析:無符號整型變量a的值為8,二進制表示為00001000,右移3位后為00000001,即十進制的l,所以輸出1。
5計算機能直接執行的程序是( )。
A.源程序B.目標程序C.匯編程序D.可執行程序
參考答案:D
參考解析:計算機能直接執行的程序是二進制的可執行程序,擴展名為.exe。所以選擇D選項。
6以下敘述中錯誤的是( )。
A.c語言中的每條可執行語句和非執行語句最終都將被轉換成二進制的機器指令
B.c程序經過編譯、連接步驟之后才能形成一個真正可執行的二進制機器指令文件
C.用c語言編寫的程序稱為源程序,它以ASCIl代碼形式存放在一個文本文件中
D.c語言源程序經編譯后生成后綴為.obj的目標程序
參考答案:A
參考解析:C語言中的非執行語句不會被編譯,不會生成二進制的機器指令,所以A錯誤。由C語言構成的指令序列稱c源程序,C源程序經過C語言編譯程序編譯之后生成一個后綴為.OBJ的二進制文件(稱為目標文件);最后要由“連接程序”把此.OBJ文件與C語言提供的各種庫函數連接起來生成一個后綴為.EXE的可執行文件。
7有以下程序:
程序運行后的輸出結果是( )。
A.3B.2C.1D.0
參考答案:D
參考解析:在if else語句中else總是與離它最近的f配對。本題目中x為l所以!X為0,所以執行else if語句中的內容,判斷(x==O)是否成立,因為x為1所以條件不成立,聽以else if內部的if…else語句不再執行,所以Y的值還是初蛤值0。
8設fp為指向某二進制文件的指針,且已讀到此文件末尾,則函數feof(fp),的返回值為( )。
A.0B.\0C.非0值D.NULL
參考答案:C
參考解析:本題考查文件的定位,feof函數的用法是從輸入流讀取數據,如果到達文件末尾(遇文件結束符),eof函數值為非零值,否則為0,所以選項C正確。
9有以下程序:
程序運行后的輸出結果是( )。
A.2,4B.1,2C.1,4D.2.3
參考答案:B
參考解析:結構體變量可以作為函數的參數和返回值。作為函數的實參時,可以實現函數的傳值調用。當使用結構體變量作為函數的形參時,實參也應該是結構體變量名以實現傳值調用,實參將拷貝副本給形參,在被調用函數中改變形參值對于調用函數中的實參沒有影響。所以選擇B。
10若有定義:int a,h;通過語句:scanf(”%d;%d”,&a,&B.;,能把整數3賦給變量a,5賦給變量b的輸入數據是( )。
A.3 5B.3,5C.3;5D.35
參考答案:C
參考解析:輸入數據的格式必須與seanf()的格式控制串完全匹配,所以輸入時必須在3和5之間輸入“;”。
11有以下程序:
程序運行后的輸出結果是( )。
A.0B.10C.20D.出錯
參考答案:C
參考解析:nlaIloc(sizeof(int))的作用是開辟一個長度為sizeof(int)存儲空間,并通過強制類型轉換(int。)將此存儲空間的地址賦給了一個整型的指針變量P。然后執行語句·P=n,使得·p的值為10,并通過return返回此值,即a的值為l0。然后在主函數中輸出a+ftm(10)=10+10=20。
12設有定義:char s[81];int i=0;,以下不能將一行(不超過80個字符)帶有空格的字符串正確讀入的語句或語句組是( )
參考答案:C
參考解析:字符串的輸入不能使用scanf(”%s”,s);而應該使用9ets(s)。
13下列敘述中正確的是( )。
A.算法就是程序
B.設計算法時只需要考慮數據結構的設計
C.設計算法時只需要考慮結果的可靠性
D.以上三種說法都不對
參考答案:D
參考解析:算法是指解題方案的準確而完整的描述,算法不等于程序,也不等于計算方法,所以A錯誤。設計算法時不僅要考慮對數據對象的運算和操作,還要考慮算法的控制結構。
14設有以下語句:typedef struct TY{char C;int a{4 1;}CIN;
則下面敘述中正確的是( )。
A.CIN是struct Tr類型的變量
B.TT是struct類型的變量
C.可以用,lr定義結構體變量
D.可以用CIN定義結構體變量
參考答案:D
參考解析:本題考查typcdef重新聲明一種結構體類型,其中CIN為結構體類型名,而不是結構體變量,所以D選項正確。
15有以下程序:
I程序運行后的輸出結果是( )。
A.0B.3C.7D.8
參考答案:B
參考解析:本題中遇到“\”字符循環結束,所以只統計“\”之前的數字字符,所以為3。
16已定義以下函數:
fun函數的返回值是( )。
A.一個整數B.不確定的值C.形參P中存放的值D.形參P的地址值
參考答案:A
參考解析:返回值為指針變量指向的數據,該數據已被定義為整型。因此A選項正確。
17有以下程序:
程序運行后的輸出結果是( )。
A.4321098765B.5678901234C.0987654321D.0987651234
參考答案:B
參考解析:該程序首先給一維數組賦值,然后三次調用fun函數,其中fun(a,0,3);功能是將一維數組中第1個元素和第4個元素互換,第2個元素和第3個元素互換;其中fun(a,4,9);功能是將一維數組中第5個元素和第10個元素互換,第6個和第9個元素互換,第7個元素和第8個元素互換;其中fun(a.O,9);功能是將將一維數組中第l個元素和第10個元素互換,第2個元素和第9個元素互換……依此類推。因此B選項正確。
18有以下程序:
程序運行后的輸出結果是( )。、
A.A B E FB.C D E FC.A B C DD.C D A B
參考答案:B
參考解析:本題考察的是變量的作甩范圍。如果在同一個源文件中,外部變量與局部變量同名,則在局部變量的作用范圍內,外部變量被“屏蔽”,即不起作用:奉題中,在funl()和main()函數內訪問的是全局變量a和b,在fun2()函數中訪問的是形參變量a和b。所以,main()函數中的prinff()函數輸出的是在funl()函數中被改變的全局變量a和b的值C、D,而fun2()函數中輸出的是傳遞給它的實參值E、F。因此B選項正確。
19下面敘述中錯誤的是( )。
A.軟件測試的目的是發現錯誤并改正錯誤
B.對被調試的程序進行“錯誤定位”是程序調試的必要步驟
C.程序調試通常也稱為Debug
D.軟件測試應嚴格執行測試計劃,排除測試的隨意性
參考答案:A
參考解析:軟件測試的目的是為了發現錯誤而執行程序的過程,并不涉及改正錯誤,所以選項A錯誤。程序調試的基本步驟有:錯誤定位、修改設計和代碼,以排除錯誤、進行回歸測試,防止引進新的錯誤。程序調試通常稱為DebIlg,即排錯。軟件測試的基本準則有:所有測試都應追測習需求、嚴格執行測試計劃,排除測試的隨意性、充分注意測試中的群集現象、程序員應避免檢查自己的程序、窮舉測試不可能、妥善保存測試計劃等文件。
20有以下程序:
程序運行后的輸出結果是( )。
A.10,64B.10,10C.64,10D.64,64
參考答案:A
參考解析:本題考查宏定義的用法,宏定義只是做個簡單的替換,所以本題中執行f(a+1)=a+1}a+1}a+1=3}a+1=10,f((a+1))=(a+1)$(a+1)}(a+1)=64,所以答案為A選項。
相關推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |