第 1 頁:選擇題 |
第 2 頁:程序填空題 |
第 3 頁:程序修改題 |
第 4 頁:程序設計題 |
一、選擇題
1有以下程序:
程序運行后的輸出結果是( )。
A.IB.JC.KD.H
參考答案:B
參考解析:(”%e\n”,’A’+x),x=oxg(16)轉為十進制x=9,因此prinff(”%e\n”,7A’+9),打印格式要求是%c,因此需要從字符A,按字母順序向后偏移9個位置,可得結果為J。故答案為B選項。
2以下敘述中正確的是
A.兩個字符串可以用關系運算符進行大小比較
B.函數調用strlen(s);會返回字符串S實際占用內存的大小(以字節(jié)為單位)
C.C語言本身沒有提供對字符串進行整體操作的運算符
D.當拼接兩個字符串時,結果字符串占用的內存空間是兩個原串占用空間的和
參考答案:C
參考解析:本題考查字符串處理函數strien、strcat、strcmp。B選項中strlen返回的是字符串s實際占用內存大小加上結尾符,A選項中不能用關系運算符進行大小比較,可以使用strcmp。D選項當使用連接函數strcat時,內存空間會減少一個字符位置。
3. 在C語言中,以 D 作為字符串結束標志
A、’\n’
B、’ ’
C、 ’0’
D、’\0’
4.下列數據中屬于“字符串常量”的是( A )。
A、“a”
B、{ABC}
C、‘abc\0’
D、‘a’
若干個字符構成字符串
在C語言中,用單引號標識字符;用雙引號標識字符串
選項B,C,分別用{}和’’標識字符串
選項D,標識字符。
5.已知char x[]="hello", y[]={'h','e','a','b','e'};, 則關于兩個數組長度的正確描述是 B .
A、相同
B、x大于y
C、x小于y
D、以上答案都不對
C語言中,字符串后面需要一個結束標志位'\0',通常系統(tǒng)會自動添加。
對一維數組初始化時可采用字符串的形式(例如本題數組x),也可采用字符集合的形式(例如本題數組y)。在以字符串形式初始化時,數組x不盡要存儲字符串中的字符,還要存儲字符串后的結束標志位,因此數組x的長度為6;在以字符集合形式初始化時,數組y,僅存儲集合中的元素,因此數組y長度為5
6若有定義語句:char a='\82';則變量a( )
A.說明不合法B.包含1個字符C.包含2個字符D.包含3個字符
參考答案:B
參考解析:char a='\82',定義字符量a,char型變量值為1個字節(jié)長度,并從右側開始運算,所以a的值應為'2'。因此B選項正確。
7有以下程序
程序運行后的輸出結果是
A.to Beijing!B.you to Beijing!C.Welcome you to Beijing!D.Beijing!
參考答案:A
參考解析:while函數判斷P指針指向地址的內容是否和a指針指向地址的內容相等,如果不是,則移動指針p+1,當p指向*b字符串中的´y´時,和*a首地址元素相等,退出while語句后,P再向右移動a字符串長度+1個單位地址,此時P指向´t´,輸出´t´及剩余的字符串,答案為A選項。
8若fp已定義為指向某文件的指針,且沒有讀到該文件的末尾,則C語言函數feof(fp)的函數返回值是
A.EOFB.非0C.-1D.0
參考答案:D
參考解析:本題考查文件的定位,feof函數的用法是從輸入流讀取數據,如果到達文件末尾(遇文件結束符),eof函數值為非零值,否則為0,所以選項D正確。
8以下敘述中正確的是
A.只要適當地修改代碼,就可以將do-while與while相互轉換
B.對于“for(表達式1;表達式2;表達式3)循環(huán)體”首先要計算表達式2的值,以便決定是否開始循環(huán)
C.對于“for(表達式1;表達式2;表達式3)循環(huán)體”,只在個別情況下才能轉換成while語句
D.如果根據算法需要使用無限循環(huán)(即通常所稱的“死循環(huán)”),則只能使用while語句
參考答案:A
參考解析:B選項中,for語句中需要先求解先求解表達式1;C選項中,for語句使用最為靈活,它完全可以取代while語句;D選項中,對于死循環(huán),也可以使用for語句。因此A選項正確。
9設有表示學生選課的三張表,學生s(學號,姓名,性別,年齡,身份證號),課程c(課號,課名),選課SC(學號,課號,成績),則表sc的關鍵字(鍵或碼)為( )。
A.課號,成績B.學號,成績C.學號,課號D.學號,姓名,成績
參考答案:C
參考解析:學號是學生表s的主鍵,課號是課程表c的主鍵,所以選課表SC的關鍵字就應該是與前兩個表能夠直接聯(lián)系且能唯一定義的學號和課號,所以選擇C。
10下列敘述中正確的是( )。
A.軟件是程序、數據和文檔
B.軟件是程序和數據
C.軟件是算法和數據結構
D.軟件是算法和程序
參考答案:A
參考解析:計算機軟件由兩部分組成:一是機器可執(zhí)行的程序和數據;二是機器不可執(zhí)行的,與軟件開發(fā)、運行、維護、使用等有關的文檔。故選A選項。
11在以下給出的表達式中,與while(E)中的(E)不等價的表達式是( )。
參考答案:B
參考解析:while語句中條件表達式E的值不為0即為真,認為滿足條件,所以與B選項中表達式的含義正好相反,選擇B選項。
12下面關于位運算符的敘述,正確的是
A.||表示“按位或”的運算
B.#表示“按位異或”的運算
C.&表示“接位與”的運算
D.~表示“按位異或”的運算
參考答案:C
參考解析:本題考查位運算。^為按位異或,|為按位或,~表示按位取反。所以C選項正確。
13有以下程序:
程序運行后的輸出結果是( )。
參考答案:D
參考解析:在函數fun(char}a,char}b)中,wKle(·a==’·’)a++的功能是:如果}a的內容為‘}’,則a指針向后移動,直到遇到非‘+’字符為止,退出循環(huán)進入下一個while循環(huán),在wlIile({b=}a){b++;a++;}中,把字符數
組a中的字符逐個賦給字符數組b。所以在主函數中,執(zhí)行fun(s,t)語句后,字符數組t中的內容為“at b}}}★”。因此D選項正確。
14以下針對全局變量的敘述錯誤的是
A.用extern說明符可以限制全局變量的作用域
B.全局變量是在函數外部任意位置上定義的變量
C.全局變量的作用域是從定義位置開始至源文件結束
D.全局變量的生存期貫穿于整個程序的運行期間
參考答案:A
參考解析:在不同編譯單位內用extern說明符來擴展全局變量的作用域,extem可以將全局變量作用域擴展到其他文件,而不是限制全局變量的作用域,答案為A選項。
15以下選項中錯誤的
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選項。
相關推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |