第 1 頁:選擇題 |
第 5 頁:基本操作題 |
第 6 頁:程序改錯題 |
第 7 頁:程序設(shè)計題 |
第 8 頁:參考答案 |
21.A。【解析】循環(huán)的作用是求行下標(biāo)從l到2列下標(biāo)從0到i的元素之和,即s=a[1][0]+a[1][1]+a[2][o]+a[2][1]+a[2][2]=3+4+5+6+0一18。
22.A。【解析】在程序語句中,k的初始值為5,進(jìn)行第l次while循環(huán)后,k自減l為4,非0,執(zhí)行循環(huán)體里的printf語句,輸出k,此時k的值變?yōu)閘。程序執(zhí)行第2次循環(huán)時,k自減l變?yōu)?,為假,退出while循環(huán)語句。所以程序的最后結(jié)果為l。
23.A!窘馕觥客ㄟ^地址來引用數(shù)組元素的方法有下列5種:
(1)a[i][j];(2)*(a[i]+j);(3)*(*(a+j)+j);(4)*(a[i][j]);(5)(&a[o][0]+3*i+j)。故A正確。
24.C。【解析】選項A、B的空間不夠;字符串存儲要有結(jié)束符’\0’,且要占用一個空間,printf用來輸出 字符,不能輸入字符串。
25.D!窘馕觥坑深}目中線性鏈表的定義可知,要將q和r所指的結(jié)點交換前后位置,只要使q指向r的后一個結(jié)點,P指向r結(jié)點,r指向q結(jié)點即可。而在選項D中,r->next=q,這時r指向的節(jié)點為q;p->next=r,這時P指向的節(jié)點為r;q->next:r->next,因為r節(jié)點已經(jīng)指向q,所以執(zhí)行這個語句后q又指向q,所以選項D不正確。
26.B!窘馕觥吭诘1次外層for循環(huán)中,首先x++得到x=1。進(jìn)入到內(nèi)層for循環(huán),只有循環(huán)j的值為奇數(shù)時,變量x的值才自加1,所以在內(nèi)層for循環(huán)執(zhí)行過程中,變量x的值自加兩次,當(dāng)退出內(nèi)層for循環(huán)時,x=3,然后執(zhí)行x++,得到x=4。在進(jìn)入執(zhí)行第2次外層for循環(huán)中,首先x++得到x=5。進(jìn)入到內(nèi)層for循環(huán),只有循環(huán)變量J的值為奇數(shù)時,變量X的值才自加1,所以在內(nèi)層for循環(huán)執(zhí)行過程中,變量X的值自加l兩次,當(dāng)退出內(nèi)層for循環(huán)時,x=7,然后執(zhí)行x++,得到x=8,所以打印輸出變量x的值為8。
27.C!窘馕觥孔雍瘮(shù)funl(double a)的功能是返回a的平方值的整數(shù)部分。子函數(shù)fun2(double X, double y)的功能是返回X的平方值的整數(shù)部分與Y的平方值的整數(shù)部分的和。又因為題中變量W的定義為double型,函數(shù)fun(2)的定義為int型,按照各類數(shù)值型數(shù)據(jù)間的混合運算,整型數(shù)據(jù)被轉(zhuǎn)換為實型數(shù)據(jù)。所以雙精度型變量w的值為5.0。
28.c!窘馕觥吭趂or循環(huán)語句中自變量i從0開始,每次自加2,執(zhí)行s+=*(t+i)語句,因為C語言規(guī)定數(shù)組名做表達(dá)式相當(dāng)于數(shù)組的首地址,也就是第一個元素的地址。因此,*(t+i)代表數(shù)組的第i+1個元素。所以程序運行的結(jié)果是l+3+5+7+9=25,即變量S的值等于25。
29.A。【解析】本題在函數(shù)int fun(int n)的定義中又出現(xiàn)了對函數(shù)fun的調(diào)用,所以函數(shù)fun是遞歸函數(shù)。因而在主函數(shù)中調(diào)用x=fun(x)時,當(dāng)輸入10賦給變量X時,遞歸調(diào)用的過程為
fun(10)=l0+fun(9)=10+9+fun(8)=10+9+8+fun(7)
=10+9++8+7+fun(6)=10+9++8+7+6+fun(6)
=10+9++8+7+6+5+fun(4)
=10+9++8+7+6+5+4+fun(3)
=10+9++8+7+6+5+4+3+fun(2)
=10+9++8+7+6+5+4+3+2+fun(1)
=10+9++8+7+6+5+4+3+2=55
30.C!窘馕觥吭诤瘮(shù)int fun(int x[],int n)的定義中,變量sum為一個靜態(tài)局部變量。由于在整個程序運行期間,靜態(tài)局部變量在內(nèi)存中的靜態(tài)存儲中占據(jù)著永久的存儲單元。函數(shù)int fun(int x[],int n)的功能是求出數(shù)組x[]各個元素的和,所以在主函數(shù)中,調(diào)用函數(shù)fun(a,5)后,變量sum=1+2+3+4+5=15,當(dāng)再次調(diào)用fun(b,4)后,變量sum=15+6+7+8+9=45,所以s=15+45=60。
31.D。【解析】執(zhí)行第一次for循環(huán)時,用表達(dá)式p[i][J]!=’\o’來判斷字符串?dāng)?shù)組指針P是否到達(dá)字符串的結(jié)尾,如果沒有到達(dá),繼續(xù)執(zhí)行while中的語句。if語句表示(p[i][j]-’\o’)除2的余數(shù)不為0時,即字符串所有奇數(shù),執(zhí)行后面的語句。所以退出第1次for的循環(huán)體時,輸出為397,執(zhí)行第2次循環(huán)體。對字符串“2584”進(jìn)行處理,輸出結(jié)果為5,因而最后輸出結(jié)果為3975。
32.B!窘馕觥繌念}目中可知,’\O’、’\t’、’\\’分別為一個字符,而sizeof是求字節(jié)個數(shù)的函數(shù),其中包括’\O’占的字節(jié),strlen函數(shù)是求數(shù)組長度的函數(shù);其以’\0’結(jié)束,因此strlen的值為5,sizeof的值為20。
33.C。【解析】數(shù)組的下標(biāo)是從0開始的,A中越界,行下標(biāo)和列下標(biāo)都不能越界;B中,雖然是個地址,但是也同樣越界了;選項c中表示的是第一個的首地址;選項D表示的為其元素的值,并不是地址。
34.B!窘馕鯹SEEK_SET代表文件的開始,SEEK_END代表文件末尾,SEEK_CUR代表文件當(dāng)前位置。
35.C。【解析】當(dāng)if執(zhí)行到第一個滿足(i*i>=20)&&(i*i<=100)這個條件的i出現(xiàn)時,通過break語句跳出循環(huán),執(zhí)行下面的prinlf語句。
36.B!窘馕觥恐羔樦写娣诺氖亲兞康牡刂,指針也可以進(jìn)行增減運算,這時指針移動的最小單位是一個存儲單元,而不是一個字節(jié)。所以題中p+6指的是將指針向后移動了6個存儲單元,即指向b[6],存放的是b[6]的地址。
37.D!窘馕觥坑蒼!的數(shù)字定義可知n!=n*(n-1)*(n-2)*…*1。在選項A中,由于f的初值為0,在for循環(huán)語句中,f依次乘以l,2,3,…,n,最后計算得到f=n!=0,所以選項A不正確。在選項B中,f的初值為l,在for循環(huán)語句中,f依次乘以l,2,3,…,(n-1),最后計算得到f=(n-1)!,所以選項B不正確。在選項C中,f的初值為l,在for循環(huán)語句中,f依次乘以n,n+1,n+2,……,所以選項C不正確。在選項D中,f的初值為l,在for循環(huán)語句中,f依次乘以n,n-1,n-2,…,2,最后計算得到f=n!,所以選項D正確。
38.A。【解析]strcpy實現(xiàn)的功能是復(fù)制,該操作把are復(fù)制到a中,aE03 E33一’&’,且strcpy(aEl], "you")把you復(fù)制到a[l]中,故輸出a為“are&you”。
39.A!窘馕觥勘绢}主要考查按位與運算,x=Oll050的二進(jìn)制形式為00010010000101000,Ol252的二進(jìn)制形式為0000001010101010,兩者相與得0000001000101000。
40.B!窘馕觥#include”文件名”,預(yù)處理程序首先在引用被包含文件的源文件所在的目錄下搜索指定的文件,如沒找到,再按系統(tǒng)指定的標(biāo)準(zhǔn)目錄搜索。
編輯推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |