21若有以下程序
則程序的輸出結(jié)果是
A.abedB.ABEJC.abejD.ABCD
參考答案:C
參考解析:
若有以下程序:該題目首先初始化變量a和b,通過for循環(huán)語句使a取值為0、1、2、3,f函數(shù)的功能是將a*a+'a'的值返回給b,即b為a…b e j。最后通過字符輸出函數(shù)putchar()將b輸出。因此C選項(xiàng)正確。
22有以下程序
程序運(yùn)行后的輸出結(jié)果是
A.17B.19C.18D.20
參考答案:B
參考解析:本題通過語句P=&a[1]將指針變量P指向了存儲單元a[1],即使得p[O]的值為4。然后通過3次for循環(huán),x=0時,*(P+x)=* P=a[1]=4所以y=1+4=5;x=1時,*(P+x)=*(P+1)=a[2]=6,所以y=5+6=11;x=2 時,*(P+X)=*(P+2)=a[3]=8,所以y=11+8=19。因此B選項(xiàng)正確。
23有以下程序
則程序的輸出結(jié)果是
A.3,5,5,3,5
B.3,5,3,5,5
C.5,3,5,3,5
D.5,3,3,5,5
參考答案:B
參考解析:在主函數(shù)中分別給整型變量i、j和指針型變量P,q賦初值,并聲明指針變量r;調(diào)用f函數(shù),并將實(shí)參變量P和q的值傳遞給形參變量s和t,并且f函數(shù)是指針型函數(shù),即函數(shù)的返回值將是一個地址。在f函數(shù)中,如果條件成立,則將指針變量s和t互換,并且將指針s的地址返回主函數(shù)。最后輸出i,j,*P,*q,*r的值,即3,5,3,5,5。因此B選項(xiàng)正確。
24以下針對全局變量的敘述錯誤的是
A.用extern說明符可以限制全局變量的作用域
B.全局變量是在函數(shù)外部任意位置上定義的變量
C.全局變量的作用域是從定義位置開始至源文件結(jié)束
D.全局變量的生存期貫穿于整個程序的運(yùn)行期間
參考答案:A
參考解析:在不同編譯單位內(nèi)用extern說明符來擴(kuò)展全局變量的作用域,extem可以將全局變量作用域擴(kuò)展到其他文件,而不是限制全局變量的作用域,答案為A選項(xiàng)。
25以下敘述中正確的是
A.如果P是指針變量,則&p是不合法的表達(dá)式
B.如果P是指針變量,則*P表示變量P的地址值
C.在對指針進(jìn)行加、減算術(shù)運(yùn)算時,數(shù)字1表示1個存儲單元的長度
D.如果P是指針變量,則* P+1和*(P+1)的效果是一樣的
參考答案:C
參考解析:A選項(xiàng)中,如果P是指針變量,則&p表示變量P的地址;B選項(xiàng)中,如果P是指針變量,則*P表示變量P所指向的地址的值;D選項(xiàng)中,如果P是指針變量,*P+1表示將P所指的值加上1,而*(P+1)表示的是先將指針右移一位再取所指向變量的值。因此C選項(xiàng)正確。
26以下選項(xiàng)中錯誤的
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選項(xiàng)中,a!=b表示a不等于b時,運(yùn)算結(jié)果為1,或者為0;而a=a!b是一種語法錯誤,!是非運(yùn)算,且是單目運(yùn)算符,只要求有一個操作數(shù),故兩者不等價,答案為A選項(xiàng)。
27有以下程序
程序的輸出結(jié)果是
A.1 5 0B.3 5 7C.1 4 7D.3 6 9
參考答案:B
參考解析:程序首先初始化二維數(shù)組X[3][3],然后通過3次for循環(huán),輸出x[0][2]、x[1][1]和x[2][0]的值,即3、5、7。因此B選項(xiàng)正確。
28以下敘述中正確的是
A.只要適當(dāng)?shù)匦薷拇a,就可以將do-while與while相互轉(zhuǎn)換
B.對于“for(表達(dá)式1;表達(dá)式2;表達(dá)式3)循環(huán)體”首先要計算表達(dá)式2的值,以便決定是否開始循環(huán)
C.對于“for(表達(dá)式1;表達(dá)式2;表達(dá)式3)循環(huán)體”,只在個別情況下才能轉(zhuǎn)換成while語句
D.如果根據(jù)算法需要使用無限循環(huán)(即通常所稱的“死循環(huán)”),則只能使用while語句
參考答案:A
參考解析:B選項(xiàng)中,for語句中需要先求解先求解表達(dá)式1;C選項(xiàng)中,for語句使用最為靈活,它完全可以取代while語句;D選項(xiàng)中,對于死循環(huán),也可以使用for語句。因此A選項(xiàng)正確。
29以下選項(xiàng)中函數(shù)形參不是指針的是
A.fun(int*A.i{…}
B.fun(int a[10]){…}
C.fun(int&p){…}
D.fun(int p[]){…}
參考答案:C
參考解析:B選項(xiàng)和D選項(xiàng)是將數(shù)組作為函數(shù)參數(shù);A選項(xiàng)是將指針作為函數(shù)參數(shù);因此C選項(xiàng)正確。
30若有定義和語句:int a,b;
scanf("%d,%d,",&a,&B.;
以下選項(xiàng)中的輸入數(shù)據(jù),不能把值3賦給變量a、5賦給變量b的是
A.3,5,4B.3,5C.3,5,D.3,5
參考答案:D
參考解析:scanf()的格式控制串可以使用其他非空白字符,如本題中的逗號,但在輸入時必須輸入這些字符,以保證匹配。所以在3和5之間必須輸入逗號,不能有其他符號,才能保證a和b的正確賦值。所以選擇D。
相關(guān)推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |