21.C!窘馕觥勘绢}考查d0…while語句,至少執(zhí)行一次循環(huán)體,依次輸出ABC,這三個字母的ASCIl值對10求模的余數(shù),字母A的ASCIl值對10求模的余數(shù)為5,字母B的ASCIl值對10求模的余數(shù)為6,字母c的ASCIl值對10求模的余數(shù)為7。所以正確答案為選項C。
22.D!窘馕觥勘绢}中,第一條語句對變量n賦初值時為0,在for循環(huán)中,從getchar函數(shù)得到一個輸入的字符,然后判斷這個字符是否為回車換行符,如果不是,則變量n加1,而在程序運行時,每次輸入時是一個字符串,而不是一個字符,因而for循環(huán)語句得不到正確的執(zhí)行,所以不能夠統(tǒng)計出一行中字符的個數(shù)。所以正確答案為選項D。
23.A!窘馕觥繌某绦虻妮斎敫袷娇刂品椒ㄅ袛啵斎霑r各變量之間沒有分隔符,當(dāng)輸入相應(yīng)的變量對應(yīng)的值時,相應(yīng)的變量能夠得到對應(yīng)的值,可以輸出要求的結(jié)果。
24.B!窘馕觥吭贑語言中,子函數(shù)f(intX,inty)的功能是計算y減去x的差與X之積。所以在主函數(shù)中,調(diào)用f(a,b)的值等于3,調(diào)用f(a,c)的值等于6,然后再調(diào)用f(3,6)的值等于9,所以正確答案為選項8。
25.A!窘馕觥吭诒绢}中,子函數(shù)fun(char*s)的功能是如果*s的ASCIl值是偶數(shù),則輸出*s,主函數(shù)中當(dāng)實參的值為good時,9的ASCIl值是103,字母o的ASCIl值是111,字母d的ASCIl值是100,只有字母d的ASCIl值是偶數(shù),所以輸出字母d。
26.B!窘馕觥勘绢}子函數(shù)fun(int*a,*b)的功能是交換形參a,b的值。主函數(shù)中調(diào)用子函數(shù)fun(P,q)和fun(&x,&y)后,實參P,q和&x,&y的值之間并沒有發(fā)生交換,所以程序輸出的結(jié)果為3,5,3,5。
27.A!窘馕觥勘绢}中子函數(shù)f(int*p,*q)的功能是對指針p的值加1,*q的值加1。主函數(shù)中調(diào)用子函數(shù)f(r,&n)時,子函數(shù)的執(zhí)行結(jié)果是r值加1,n的值加1。而m的值并沒有發(fā)生變化,最后程序輸出的結(jié)果為1,3。所以正確答案為選項A。
28.D!窘馕觥吭诔绦蛑,fun函數(shù)的功能是每行輸出8個數(shù)組中的數(shù)據(jù),在for循環(huán)中,每次循環(huán)時,都對數(shù)組下標(biāo)值8求模得到余數(shù)。如果余數(shù)等于0,則退出for循環(huán),進行下一次循環(huán):如果余數(shù)不等于0,則輸出數(shù)組的元素w[i]。
29.B!窘馕觥吭贑語言中,數(shù)組名是一個存放地址值的指針變量名,其地址值是數(shù)組第。一個元素的地址,也是數(shù)組所占一串連續(xù)存儲單元的起始地址。因為數(shù)組的下標(biāo)是從0開始的,所以選項B中,X+3表示數(shù)組x[10]中的第四個元素的地址,在其前面加上星號,表示是數(shù)組x[10]中的第四個元素中的值。所以正確答案為選項B。選項A、C的地址范圍超出數(shù)組x[10]中元素的地址范圍,選項D表示的是地址值。
30.C。【解析】在scanf輸入函數(shù)中,格式字符s的作用是輸入一個字符串,直到遇到空格結(jié)束。所以選項C不能輸入包含空格的字符串。正確答案為選項C。
31.A!窘馕觥*a[]表示一個字符串?dāng)?shù)組,for循環(huán)的作用是輸出字符串?dāng)?shù)組中每一次字符串的第一個字符。所以正確答案為選項A。
32.D!窘馕觥吭谶x項D中,字符指針s指向字符串常量BOOK!。故選項D正確。
33.B!窘馕觥吭诔绦蛑凶雍瘮(shù)fun(intX,inty)的功能是如果X的值等于y的值,則返回X的值,否則返回這兩個數(shù)的算術(shù)平均值,在主函數(shù)中首先計算fun(5,6),其值等于5,然后再計算fun(8,5),其值等于6。所以正確答案為選項B。
34.C!窘馕觥吭贑語言中,未賦初值的靜態(tài)局部變量,編譯程序自動給它賦初值0。所以選擇C。
35.C!窘馕觥吭诔绦蛑凶雍瘮(shù)fun(int*k)的作用是給靜態(tài)全局變量加上形參*k的值。在主函數(shù)中進行第一次for循環(huán)執(zhí)行時,fun(&a[2])的返回值為5,所以5+5=10,
因而輸出結(jié)果為10,第二次for循環(huán)執(zhí)行時,fun(&a[3])的返回值為14,所以14+14=28。
36.D!窘馕觥窟@個程序有錯誤不能通過編譯。①#define宏定義后不可有分號;②用分號隔開后,int只定義了a。b要重新定義。
37.B!窘馕觥吭诒绢}中結(jié)構(gòu)體成員訪問運算符->的
優(yōu)先級高于++算術(shù)運算符,所以表達式++p>x的計算過程是首先取出結(jié)構(gòu)體dt[0]的成員變量X的值1,然后再對其值加1,得到2輸出。表達式++p->y的計算過程是首先取出結(jié)構(gòu)體dt[0]的成員變量y的值2,然后再對其值加1,得到3輸出。
38.D!窘馕觥勘绢}考查宏定義,宏定義IsDIV(k,n)的意思是如果k對n.求模的余數(shù)為1,其值等于1,否則其值等于0。本題中宏調(diào)用表達式是兩個宏調(diào)用之間的邏輯與運算,所以選項D正確。
39.A。【解析】本題考查移位運算符在程序中對5邏輯左移2位,其值擴大4倍等于20,然后再進行按位運算,其值等于21。
40.C!窘馕觥堪炎址產(chǎn)be以只寫的方式寫入到文件filea.txt中,覆蓋掉原有的字符串hell0。
編輯推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |