2016年計算機二級《C語言》基礎練習題及答案
1[單選題] 設有表示學生選課的三張表,學生s(學號,姓名,性別,年齡,身份證號),課程c(課號,課名),選課SC(學號,課號,成績),則表sc的關鍵字(鍵或碼)為( )。
A.課號,成績B.學號,成績C.學號,課號D.學號,姓名,成績
參考答案:C
參考解析:學號是學生表s的主鍵,課號是課程表c的主鍵,所以選課表SC的關鍵字就應該是與前兩個表能夠直接聯繫且能唯一定義的學號和課號,所以選擇C。
2[單選題] 下列敍述中正確的是( )。
A.軟件是程序、數據和文檔
B.軟件是程序和數據
C.軟件是算法和數據結構
D.軟件是算法和程序
參考答案:A
參考解析:計算機軟件由兩部分組成:一是機器可執行的程序和數據;二是機器不可執行的,與軟件開發、運行、維護、使用等有關的文檔。故選A選項。
3[單選題] 在以下給出的表達式中,與while(E)中的(E)不等價的表達式是( )。
參考答案:B
參考解析:while語句中條件表達式E的值不為0即為真,認為滿足條件,所以與B選項中表達式的含義正好相反,選擇B選項。
4[單選題] 下面關於位運算符的敍述,正確的是
A.||表示“按位或”的運算
B.#表示“按位異或”的運算
C.&表示“接位與”的運算
D.~表示“按位異或”的運算
參考答案:C
參考解析:本題考查位運算。^為按位異或,|為按位或,~表示按位取反。所以C選項正確。
5[單選題] 有以下程序:
程序運行後的輸出結果是( )。
參考答案:D
參考解析:在函數fun(char}a,char}b)中,wKle(·a==’·’)a++的功能是:如果}a的內容為‘}’,則a指針向後移動,直到遇到非‘+’字符為止,退出循環進入下一個while循環,在wlIile({b=}a){b++;a++;}中,把字符數
組a中的字符逐個賦給字符數組b。所以在主函數中,執行fun(s,t)語句後,字符數組t中的內容為“at b}}}★”。因此D選項正確。
6[單選題] 有如下程序
程序運行後的'輸出結果是
E OUT:a=1,b=1
E_OUT:a=0,b=2
_0UT:a=1,b=2
_DUT:a=0,b=11
參考答案:A
參考解析:邏輯與運算符遵循“短路求值”策,即只有在僅靠左操作數的值無法確定該邏輯表達式的結果時,才會求解右操作數,表達式 (a++&&b++)中,左操作數a++的值為0,已經可以確定整個邏輯表達式的結果為0,因此右操作數b++不再求解,進入else分支執行,a的值+1,b不變。因此答案為A選項。
7[單選題]以下程序依次把從終端輸入的字符存放到f文件中,用#作為結束輸入的標誌,則在橫線處應填入的選項是
,”fname
”,,fp
參考答案:D我的答案:未作答收起解析收藏糾錯
參考解析:本題考查fpute函數,該函數將字符ch寫到文件指針fp所指向的文件的當前寫指針的位置。函數格式:int fputc(int n,File}fp),因此答案為D選項。
8[單選題] 以下針對全局變量的敍述錯誤的是
A.用extern説明符可以限制全局變量的作用域
B.全局變量是在函數外部任意位置上定義的變量
C.全局變量的作用域是從定義位置開始至源文件結束
D.全局變量的生存期貫穿於整個程序的運行期間
參考答案:A
參考解析:在不同編譯單位內用extern説明符來擴展全局變量的作用域,extem可以將全局變量作用域擴展到其他文件,而不是限制全局變量的作用域,答案為A選項。
9[單選題] 以下選項中錯誤的
A.a!=b與a=a!b等價
B.a^=b與a=a^b等價
C.a|=b與a=a|b等價
D.a&=b與a=a&b等價
參考答案:A
參考解析:A選項中,a!=b表示a不等於b時,運算結果為1,或者為0;而a=a!b是一種語法錯誤,!是非運算,且是單目運算符,只要求有一個操作數,故兩者不等價,答案為A選項。10[單選題]有以下程序:
程序運行後的輸出結果是( )。
A.116B.8C.40D.4
參考答案:B
參考解析:本題考查位運算,題目中將4向左移一位然後重新賦值給a,4左移一位為8,程序運行結果為8,選項B正確。