一、選擇題
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.函式定義時在函式首部所說明的函式型別
rn語句中表達式值的型別
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;