- 相關推薦
2017計算機二級C語言考前測試題與答案解析
一、選擇題
1). 關于C語言的變量,以下敘述中錯誤的是( )
A.所謂變量是指在程序運行過程中其值可以被改變的量
B.變量所占的存儲單元地址可以隨時改變
C.程序中用到的所有變量都必須先定義后才能使用
D.由三條下劃線構成的符號名是合法的變量名
正確答案:B
答案解析:變量是指在程序運行過程中其值可以改變的值,一個變量實質上是代表了內存中的某個存儲單元。在程序中對某個變量的操作實際上就是對這個存儲單元的操作,程序運行期間,這個分配的存儲單元不會改變,但是其值可以變化。變量命名要符合標識符的規定,其中下劃線是標識符的組成字符。程序中所有變量都必須先定義后使用。
2). 當變量c的值不為2、4、6時,值也為″真″的表達式是( )
A.(c==2)||(c==4)||(c==6)
B.(c>=2 && c<=6)&& !(c%2)
C.(c>=2 && c<=6)&&(c%2!=1)
D.(c>=2 && c<=6) || (c!=3) || (c!=5)
正確答案:D
答案解析:邏輯或運算中,只要有一項為真,表達式的值就為真,故選項D中c的值不為2、4、6時,那么表達式(c>=2 && c<=6)以及(c!=3)、(c!=5)必有一個成立,表達式的值也為真。
3). 在C語言中,函數返回值的類型最終取決于
A.函數定義時在函數首部所說明的函數類型
B.return語句中表達式值的類型
C.調用函數時主調函數所傳遞的實參類型
D.函數定義時形參的類型
正確答案:A
答案解析:在C語言中,應當在定義函數時指定函數值的類型,凡不加類型說明的函數,一律按整型處理。在定義函數時,對函數值說明的類型一般應該和return語句中的表達式類型一致。如果函數值的類型和return語句中的表達式類型不一致,則以函數類型為主,即函數類型決定返回值的類型。
4). C語言主要是借助以下哪種手段來實現程序模塊化( )
A.定義常量和外部變量
B.使用豐富的數據類型
C.使用三種基本結構語句
D.定義函數
正確答案:D
答案解析:C語言用函數實現軟件的模塊化設計。
5). 以下敘述中正確的是( )
A.只有全局變量才有自己的作用域,函數中的局部變量沒有作用域
B.只要是用戶定義的標識符,都有一個有效的作用域
C.只有在函數內部定義的變量才是局部變量
D.局部變量不能被說明為static
正確答案:B
答案解析:在函數內定義的變量是局部變量,而在函數之外定義的變量稱為外部變量,也是全局變量。全局變量可以為源文件中其他函數所共用,其作用域為從定義變量的位置開始到源文件結束。因此只要用戶定義的標識符,全部都有作用域。局部變量可以說明為auto、register以及static。
6). 在關系中凡能惟一標識元組的最小屬性集稱為該表的鍵或碼。二維表中可能有若干個鍵,它們稱為該表的( )。
A.連接碼.
B.關系碼
C.外碼
D.候選碼
正確答案:D
答案解析:在關系中凡能惟一標識元組的最小屬性集稱為該表的鍵或碼。二維表中可能有若干個鍵,它們稱為該表的候選碼或候選鍵。從二維表的所有候選鍵中選取一個作為用戶使用的鍵稱為主鍵或主碼。
二、程序填空題
下列給定程序中,函數fun的功能是:將形參n中個位上為偶數的數取出,并按原來從高位到低位相反的順序組成一個新數,作為函數值返回。
例如,輸入一個整數27638496,函數返回值為64862。
請在程序的下劃線處填入正確的內容并將下劃線刪除,使程序得出正確的結果。注意:部分源程序在文件BLANKl.C中。
不得增行或刪行,也不得更改程序的結構!#include
unsigned long fun(unsigned long n){unsigned long x=0;int t;
三、程序修改題
下列給定程序中函數fun的功能是:將長整型數中各位上為奇數的數依次取出,構成一個新數放在t中。高位仍在高位,低位仍在低位。
例如,當s中的數為87653142時,t中的數為7531。請改正程序中的錯誤,使它能得出正確的結果。注意:部分源程序在文件MODll.C中,不得增行或刪行,也不得更改程序的結構!
四、程序設計題
編寫函數fun,其功能是:實現兩個字符串的連接(不要使用庫函數strcat),即把p2所指的字符串連接到pl所指的字符串的后面。
例如,分別輸人下面兩個字符串:FirstString--SecondString
程序運行后的輸出結果是:FirstString————SecondString
注意:部分源程序在文件PROGl.C中。
請勿改動主函數main和其他函數中的任何內容,僅在函數fun的花括號中填入你編寫的若干語句。
參考答案與解析
二、程序填空題
(1)0
(2)10*x
(3)n/10
【考點分析】
本題考查:已知某數,如何求該數各個位數值,已知各個位數值,如何表示該數;除法運算。
【解題思路】
填空l:定義變量t用來存放某數的各個位數值,此處判斷t是否為偶數,即對2求余結果是否為0。
填空2:將t作為x的個位數,原來x的各個位上升l位,即x=10{x+1。
填空3:每循環一次,通過除法運算,去掉數值最后一位。
【解題寶典】
如果知道某數n的各個位的`數值,可以得到該數值n,如n的個位為a、十位為b、百位為c,那么n=c}100+b*10+a。如果知道數值n,可以采用求余和除法操作來表示其各個位,如n%10(取個位)、n/J0(取十位),讀者可以自己考慮一下,如果是三位數,如何提取各個位?四位數呢?
三、程序修改題
【參考答案】(1)}t=0;(2)if(d%2 1=O)或if(d%2==1)
【考點分析】
本題考查:指針型變量作為函數參數;if語句條件表達式,結合奇偶數的表示方法來確定該表達式內容。
【解題思路】
(1)由函數定義可知,變量t是指針變量,所以對t進行賦初值0是不對的。因為t指向的是存放新數的變量,所以此處應給新數賦初值0,即。t=0。
(2)變量d表示數S各個位上的數,此處的if條件應為判斷d是否為奇數。
四、程序設計題
【參考答案】voidfun(char pl[],char p2[])
in“,j;
for(i=0;pl[i]f=。、0’;i++);
for(j=0;p2[j]!=。、0’;j++)p1[i++]=p2[j];
p1[i],_。、0’;}
【考點分析】“
本題考查:不使用字符串函數實現字符串連接操作。通過for循環語句來完成,不要忘了最后需要加上字符串結束標識‘、0’。
【解題思路】
本題用兩個循環完成操作,第1個循環的作用是求出第1個字符串的長度,即將i指到第1個字符串的末尾。第2個循環的作用是將第2個字符串的字符連到第l個字符申的末尾。最后在第l個字符串的結尾加上字符串結束標識‘、0’。
【計算機二級C語言考前測試題與答案解析】相關文章:
計算機二級《C語言》測試題與答案解析10-30
計算機二級C語言測試題及答案解析07-11
2017計算機二級C語言測試題及答案08-09
2023計算機二級C語言測試題及答案10-23
計算機二級《C語言》測試題及答案202411-02
2016計算機二級《C語言》測試題及答案08-23
計算機二級C語言預測試題及答案10-30
計算機二級C語言測試題及答案201610-09