2022年內(nèi)蒙古自治區(qū)巴彥淖爾市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題(含答案)_第1頁(yè)
2022年內(nèi)蒙古自治區(qū)巴彥淖爾市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題(含答案)_第2頁(yè)
2022年內(nèi)蒙古自治區(qū)巴彥淖爾市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題(含答案)_第3頁(yè)
2022年內(nèi)蒙古自治區(qū)巴彥淖爾市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題(含答案)_第4頁(yè)
2022年內(nèi)蒙古自治區(qū)巴彥淖爾市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題(含答案)_第5頁(yè)
已閱讀5頁(yè),還剩34頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

2022年內(nèi)蒙古自治區(qū)巴彥淖爾市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.下列敘述中正確的是()。

A.數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu)必定是一一對(duì)應(yīng)的

B.由于計(jì)算機(jī)存儲(chǔ)空間是向量式的存儲(chǔ)結(jié)構(gòu),因此,數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)一定是線性結(jié)構(gòu)

C.程序設(shè)計(jì)語(yǔ)言中的數(shù)組一般是順序存儲(chǔ)結(jié)構(gòu),因此,利用數(shù)組只能處理線性結(jié)構(gòu)

D.以上三種說(shuō)法都不對(duì)

2.若fp是指向某文件的指針,且尚未讀到文件末尾,則函數(shù)feof(fp)的返回值是()。

A.EOFB.-1C.非零值D.0

3.設(shè)有一個(gè)10階的對(duì)稱矩陣A,采用壓縮存儲(chǔ)方式,以行序?yàn)橹鞔鎯?chǔ),a11為第一元素,其存儲(chǔ)地址為1,每個(gè)元素占一個(gè)地址空間,則a85的地址為()。

A.13B.33C.18D.40

4.現(xiàn)有二叉搜索樹(shù)(BST)前序遍歷結(jié)果序列為abdefgc,中序遍歷結(jié)果序列為debgfac,請(qǐng)問(wèn)后序遍歷結(jié)果序列為()

A.debgfaCB.edgfbcAC.edgbfcAD.degbfaC

5.在C語(yǔ)言中,函數(shù)返回值的類型最終取決于()。

A.函數(shù)定義時(shí)在函數(shù)首部所說(shuō)明的函數(shù)類型

B.return語(yǔ)句中表達(dá)式值的類型

C.調(diào)用函數(shù)時(shí)主調(diào)函數(shù)所傳遞的實(shí)參類型

D.函數(shù)定義時(shí)形參的類型

6.

7.設(shè)順序表的長(zhǎng)度為n,則順序查找的平均比較次數(shù)為()

A.nB.n/2C.(n+1)/2D.(n-1)/2

8.以下語(yǔ)句中,正確制作電子郵件鏈接的是()。

9.棧通常采用的兩種存儲(chǔ)結(jié)構(gòu)是A.A.線性存儲(chǔ)結(jié)構(gòu)和鏈表存儲(chǔ)結(jié)構(gòu)

B.散列方式和索引方式

C.鏈表存儲(chǔ)結(jié)構(gòu)和數(shù)組

D.線性存儲(chǔ)結(jié)構(gòu)和非線性存儲(chǔ)結(jié)構(gòu)

10.關(guān)系數(shù)據(jù)庫(kù)的數(shù)據(jù)及更新操作必須遵循()等完整性規(guī)則。

A.實(shí)體完整性和參照完整性

B.參照完整性和用戶定義的完整性

C.實(shí)體完整性和用戶定義的完整性

D.實(shí)體完整性、參照完整性和用戶定義的完整性

11.面向?qū)ο蟮脑O(shè)計(jì)方法與傳統(tǒng)的面向過(guò)程的方法有本質(zhì)不同,它的基本原理是()。

A.模擬現(xiàn)實(shí)世界中不同事物之間的聯(lián)系

B.強(qiáng)調(diào)模擬現(xiàn)實(shí)世界中的算法而不強(qiáng)調(diào)概念

C.使用現(xiàn)實(shí)世界的概念抽象地思考問(wèn)題從而自然地解決問(wèn)題

D.不強(qiáng)調(diào)模擬現(xiàn)實(shí)世界中的算法而強(qiáng)調(diào)概念

12.程序運(yùn)行中需要從鍵盤(pán)上輸入多于一個(gè)數(shù)據(jù)時(shí),各數(shù)據(jù)之間應(yīng)使用()符號(hào)作為分隔符。

A.空格或逗號(hào)B.逗號(hào)或回車(chē)C.逗號(hào)或分號(hào)D.空格或回車(chē)

13.鏈表不具有的特點(diǎn)是A.A.不必事先估計(jì)存儲(chǔ)空間

B.可隨機(jī)訪問(wèn)任一元素

C.插入和刪除不需要移動(dòng)元素

D.所需空間與線性表長(zhǎng)度成正比

14.

15.C語(yǔ)言中的變量只能由字母、數(shù)字和下劃線組成,且第一個(gè)字符()。

A.必須是字母B.必須是下劃線C.必須是下劃線和字母D.可以是字母.數(shù)字或下劃線中任一一種

16.用鏈表表示線性表的優(yōu)點(diǎn)是()。

A.便于隨機(jī)存取B.花費(fèi)的存儲(chǔ)空間較順序存儲(chǔ)少C.便于插入和刪除操作D.數(shù)據(jù)元素的物理順序和邏輯順序相同

17.在非線性結(jié)構(gòu)中,每個(gè)結(jié)點(diǎn)()。

A.無(wú)直接前趨

B.只有一個(gè)直接前趨和個(gè)數(shù)不受限制的直接后繼

C.只有一個(gè)直接前驅(qū)和后繼

D.有個(gè)數(shù)不受限制的直接前驅(qū)和后繼

18.以下敘述中正確的是()。

A.循環(huán)隊(duì)列是隊(duì)列的一種鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)

B.循環(huán)隊(duì)列是隊(duì)列的一種順序存儲(chǔ)結(jié)構(gòu)

C.循環(huán)隊(duì)列中的隊(duì)尾指針一定大于隊(duì)頭指針

D.循環(huán)隊(duì)列中的隊(duì)尾指針一定小于隊(duì)頭指針

19.為了提高軟件模塊的獨(dú)立性,模塊之間最好是()。

A.控制耦合B.公共耦合C.內(nèi)容耦合D.數(shù)據(jù)耦合

20.下列敘述中錯(cuò)誤的是()。

A.C語(yǔ)言函數(shù)中定義的自動(dòng)變量,系統(tǒng)不自動(dòng)賦確定的初值

B.在C語(yǔ)言的同一函數(shù)中,各復(fù)合語(yǔ)句內(nèi)可以定義變量,其作用域僅限于本復(fù)合語(yǔ)句內(nèi)

C.C語(yǔ)言函數(shù)中定義的賦有初值的靜態(tài)變量,每調(diào)用一次函數(shù)為其賦一次初值

D.C語(yǔ)言函數(shù)的形參不可以說(shuō)明為static型變量

二、2.填空題(20題)21.以下程序的運(yùn)行結(jié)果是______。

#include<stdio.h>

main()

{FILE*fp;inta[10]={1,2,3,0,0},i;

fp=fopen("d2.dat","wbt");

fwtite(a,sizeof(int),5,fp);

fwlite(a,sizeof(int),5,fp);

fclose(fp);

fp=fopen("d2.dat","rb");

fread(a,sizeof(int),10,fp);

fclose(fp);

for(i=0;i

22.下面程序執(zhí)行后輸出的結(jié)果是【】。

intm=13;

intfun(intx,inty)

{intm=3;

return(x*y-m);

}

main()

{inta=7,b=5;

printf("%d\n",fun(a,b)/m);

}

23.若采用直接插入法對(duì)字母序列(W,S,E,L,X,G,I)進(jìn)行排序,使字母按升序排列,那么第一次排序的結(jié)果為【】。

24.下列程序的輸出結(jié)果是16.00,請(qǐng)?zhí)羁眨?/p>

main()

{

inta=9,b=2;

floatx=【】,y=1.1,z;

z=a/2+b*x/y+1/2;

printf("%5.2f\n",z);

}

25.以下程序段的輸出結(jié)果是【】。

inti=9;

printf("%o\n",i);

26.以下程序的功能是:從鍵盤(pán)上輸入若干個(gè)學(xué)生的成績(jī),統(tǒng)計(jì)計(jì)算出平均成績(jī),并輸出低于平均分的學(xué)生成績(jī),用輸入負(fù)數(shù)結(jié)束輸入。

main()

{floatx[1000],sum=0,ave,a;

intn=0,i;

printf("Entermark:\n");scanf("%f",&a);

while(a>=0.0&&n<1000)

{sum+【】;x[n]=【】;

n++;scanf("%f",&a);

}

ave=【】;

printf("Output:\n");

printf('ave=%f\n",ave);

for(i=0;i<n;i++)

if(【】)printf("%t\n",x[i]);

}

27.為了便于對(duì)照檢查,測(cè)試用例應(yīng)由輸入數(shù)據(jù)和預(yù)期的【】?jī)刹糠纸M成。

28.執(zhí)行下列語(yǔ)句段后,x的值是______。

int*p,x;

x=100;

p=&x;

x=*p+50;

29.下面程序的功能是輸出數(shù)組s中最大元素的下標(biāo),請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

main()

{intk,p,s[]={1,-9,7,2,-10,3};

for(p=0,k=p;p<6;p++)

if(s[p]>s[k])【】

printf("%d\n",k);

}

30.軟件生命周期包括8個(gè)階段。為使各時(shí)期的任務(wù)更明確,又可以分為以下3個(gè)時(shí)期:軟件定義期、軟件開(kāi)發(fā)期、軟件維護(hù)期。編碼和測(cè)試屬于【】期。

31.下面程序的輸出是【】。

main()

{intarr[10],i,k=0;

for(i=0;i<10;i++)

arr[i]=i;

for(i=1;i<4;i++)

k+=arr[i]+i;

printf("%d\n"k);}

32.設(shè)y為血型變量,請(qǐng)寫(xiě)出描述“y是偶數(shù)”的表達(dá)式______。

33.在使用putchar和getchar函數(shù)處理字符時(shí),必須在程序的開(kāi)頭出現(xiàn)包含頭文件的命令行是【】。

34.注釋說(shuō)明了程序的功能,它分為【】注釋和功能性注釋。

35.軟件工程研究的內(nèi)容主要包括:【】技術(shù)和軟件工程管理。

36.下列循環(huán)的循環(huán)次數(shù)是______。

intk=2;

while(k=0)

printf["%d",k);

k--;

printf("\n");

37.下面程序的功能是根據(jù)公式e=1+1/1!+1/2!+1/3!+1/4!+...計(jì)算e的近似值,精度要求為10-5。請(qǐng)?zhí)羁铡?/p>

main()

{intn;

doublee=1.0,t=1.0;

for(n=1;【】n++);

{【】e+=t;}

printf("%f\n",e);}

38.下述函數(shù)統(tǒng)計(jì)—個(gè)字符串中的單詞個(gè)數(shù),單詞是指處在空格之間的字符序列,請(qǐng)?zhí)羁铡?/p>

intword(char*s)

{intnum=0,flag=0;

while(*s)

{if(【】='')flag=0;

elseif(【】){flag=1;num++}

}

return【】;}

39.實(shí)體—聯(lián)系模型是一種常用的高級(jí)概念數(shù)據(jù)模型,而【】是實(shí)體—模型中的核心。

40.以下程序運(yùn)行后的輸出結(jié)果是()。

main()

{intx,a=1,b=2,c=3,d=4;

{intx,a=1,b=2,c=3,d=4;

x=(a<B)?a:b;x=(a<C)?x:C;x=(d>x)?x:d;

printf("%d\n",x);

}

三、1.選擇題(20題)41.有以下程序:#include<stdio.h>main(){unsignedchara,b;a=413;b=4&3;printf("%d%d\n",a,b);}執(zhí)行后的輸出結(jié)果是()。

A.70B.07C.11D.430

42.以下程序的運(yùn)行結(jié)果是#defineMAX(A,B)(A)>(B)?(A):(B)#definePRINT(Y)printf("Y=%d\t",Y)main(){inta=1,b=2,c=3,d=4,t;t=MAX(a+b,c+d);PRINT(t);}

A.Y=3B.存在語(yǔ)法錯(cuò)誤C.Y=7D.Y=0

43.有以下程序:#include<stdio.h>#include<strine.h>structSTU{charname[10];inthum;};voidf(char*name,ihtnum){structSTUs[2]={{"SunDan",20044},{"Penghua",20045}};num=s[0].nnm;strepy(name,s[0],name);}main(){structSTUs[2]={{"YangSan",20041},{"LiSiGao",20042}},*P;p=&s[1];f(p->name,p->hum);printf("%s%d\n",p->name,p->num);}程序運(yùn)行后的輸出結(jié)果是()。

A.SunDan20042B.SunDan20044C.LiSiGuo20042D.YangSan20041

44.下列敘述中正確的是()。

A.數(shù)據(jù)庫(kù)系統(tǒng)是一個(gè)獨(dú)立的系統(tǒng),不需要操作系統(tǒng)的支持

B.數(shù)據(jù)庫(kù)技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)的共享問(wèn)題

C.數(shù)據(jù)庫(kù)管理系統(tǒng)就是數(shù)據(jù)庫(kù)系統(tǒng)

D.以上三種說(shuō)法都不對(duì)

45.下面對(duì)C語(yǔ)言的描述中,正確的是

A.函數(shù)一定有返回值,否則無(wú)法使用函數(shù)

B.C語(yǔ)言函數(shù)既可以嵌套定義又可以遞歸調(diào)用

C.在C語(yǔ)言中,調(diào)用函數(shù)時(shí),只能將實(shí)參的值傳遞給形參

D.C語(yǔ)言程序中有調(diào)用關(guān)系的所有函數(shù)都必須放在同一源程序文件中

46.有如下定義語(yǔ)句:intaa[][3]={12,23,34,4,5,6,78,89,45};,則45在數(shù)組aa中的行列坐標(biāo)各為

A.3,2B.3,1C.2,2D.2,1

47.以下程序的輸出結(jié)果是#include<stdio.h>main(){inta=15/b=21,m=0;switch(a%3){case0:m++;break;case1:m++;switch(b%2){default:m++;case0:m++;break;}}printf("%d\n",m);}

A.1B.2C.3D.4

48.數(shù)據(jù)庫(kù)的物理設(shè)計(jì)是為一個(gè)給定的邏輯結(jié)構(gòu)選取一個(gè)適合應(yīng)用環(huán)境的______的過(guò)程,包括確定數(shù)據(jù)庫(kù)在物理設(shè)備上的存儲(chǔ)結(jié)構(gòu)和存取方法。

A.邏輯結(jié)構(gòu)B.物理結(jié)構(gòu)C.概念結(jié)構(gòu)D.層次結(jié)構(gòu)

49.有以下程序:main(){inti=0,s=0;do{if(i%2){i++;continue;}i++;s+=i;}while(i<7);printf("%d\n",s);}執(zhí)行后的輸出結(jié)果是______。

A.16B.12C.28D.21

50.以下敘述中不正確的是______。

A.C程序中的預(yù)處理命令行都以#號(hào)開(kāi)始

B.宏定義中的宏名可用大寫(xiě)字母或小寫(xiě)字母

C.宏替換不占用運(yùn)行時(shí)間,只占用編譯時(shí)間

D.使用帶參數(shù)的宏時(shí),參數(shù)的類型應(yīng)與宏定義時(shí)的一致

51.有以下結(jié)構(gòu)體說(shuō)明和變量的定義,且指針p指向變量a,指針q指向變量b。則不能把結(jié)點(diǎn)b連接到結(jié)點(diǎn)a之后的語(yǔ)句是structnode{chardata;structnode*next;}a,b,*p=&a,*q=&b;

A.a.next=q;B.p.next=&b;C.p->next=&b;D.(*p).next=q;

52.以下選項(xiàng)中,非法的字符常量是______。

A.'\t'B.'\17'C.\nD.'\xaa'

53.執(zhí)行以下程序后,x的值為()。unsignedintx=65535;printf("%d\n",x);

A.65535B.1C.有錯(cuò)誤D.-1

54.沒(méi)有以下語(yǔ)句,其中不是對(duì)a數(shù)組元素的正確引用的是:______(其中0≤i<10)inta[10]={1,1,2,3,4,5,6,7,8,9,},*p=a;

A.a[p-a]B.*(&a[i])C.p[i]D.*(*(a+i))

55.以下程序的輸出結(jié)果是

#include<stdio.h>

structst

{intx;int*y;}*p;

intdt[4]={10,20,30,40};

structstaa[4]={50,&dt[0],60,&dt[0],60,&dt[0],60,&dt[0],};

main()

{p=aa;

printf("%d\n",++(p->x));}

A.10B.11C.51D.60

56.為了提高測(cè)試的效率,應(yīng)該()。

A.隨機(jī)選取測(cè)試數(shù)據(jù)

B.取一切可能的輸入數(shù)據(jù)作為測(cè)試數(shù)據(jù)

C.在完成編碼以后制定軟件的測(cè)試計(jì)劃

D.集中對(duì)付那些錯(cuò)誤群集的程序

57.若變量均已正確定義并賦值,以下合法的C語(yǔ)言賦值語(yǔ)句是()。

A.x=y==5;B.X=n%2.5:C.x+n=i;D.x=5=4+1:

58.有以下程序:#include<stdio.h>main(){intnum[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13;14,15,16}},i,j;for(i=0;i<4;i++){for(j=0;j<=i;j++)printf("%4c",");for(j=______;j<4;j++)printf("%4d",hum[i][j]);printf("\n");}}若要按以下形式輸出數(shù)組右上半三角;1234678111216則在程序下劃線處應(yīng)填入的是()。

A.i-1B.iC.i+1D.4-i

59.若以"a+"方式打開(kāi)一個(gè)已存在的文件,則下列敘述正確的是()。

A.文件打開(kāi)時(shí),原有文件內(nèi)容不被刪除,位置指針移到文件末尾,可以進(jìn)行添加或讀操作

B.文件打開(kāi)時(shí),原有文件內(nèi)容不被刪除,只能進(jìn)行讀操作

C.文件打開(kāi)時(shí),原有文件內(nèi)容被刪除,只能進(jìn)行寫(xiě)操作

D.以上三種說(shuō)法都不正確

60.以下敘述中正確的是A.全局變量的作用域一定比局部變量的作用域范圍大

B.靜態(tài)(static)類別變量的生存期貫穿于整個(gè)程序的運(yùn)行期間

C.函數(shù)的形參都屬于全局變量

D.未在定義語(yǔ)句中賦初值的auto變量和static變量的初值都是隨機(jī)值

四、選擇題(20題)61.

62.有以下程序程序的運(yùn)行結(jié)果是()。

A.6B.9C.0D.8

63.

64.有以下程序:

程序運(yùn)行后的輸出結(jié)果是()。

A.3B.4C.lD.9

65.下列關(guān)于棧敘述正確的是()。A.棧頂元素最先能被刪除B.棧頂元素最后才能被刪除C.棧底元素永遠(yuǎn)不能被刪除D.棧底元素最先能被胍除

66.下列敘述中正確的是()。

A.順序存儲(chǔ)結(jié)構(gòu)的存儲(chǔ)一定是連續(xù)的,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的存儲(chǔ)空問(wèn)不一定是連續(xù)的

B.順序存儲(chǔ)結(jié)構(gòu)只針對(duì)線性結(jié)構(gòu),鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)只針對(duì)非線性結(jié)構(gòu)

C.順序存儲(chǔ)結(jié)構(gòu)能存儲(chǔ)有序表,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)不能存儲(chǔ)有序表

D.鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)比順序存儲(chǔ)結(jié)構(gòu)節(jié)省存儲(chǔ)空間

67.

68.以下定義數(shù)組的語(yǔ)句中錯(cuò)誤的是()。

A.intnum[][3]={{1,2},3,4,5,6};

B.intnUITI[2][4]={{1,2},{3,4},{5,6}};

C.intnum[]={1,2,3,4,5,6};

D.intnum[][4]={1,2,3,4,5,6’};

69.若fp是指向某文件的指針,且尚未讀到文件末尾,則函數(shù)feof(fp)的返回值是()。

A.EOFB.-lC.非零值D.0

70.下列程序的運(yùn)行結(jié)果是()。

#include<stdio.h>

voidfun(int*S,int*p)

{staticintt=3:

*p=s[t];

t--;

}

voidmain

{inta[]={2,3,4,5),k;

intx;

for(k=0,k<4,k++)

{fun(a,&x);

printf("%d,",x);

}

}A.A.5,4,3,2B.2,3,4,5C.2,2,2,2D.5,5,5,5

71.下列敘述中正確的是()。

A.break語(yǔ)句只能用于switch語(yǔ)句體中

B.continue語(yǔ)句的作用是使程序的執(zhí)行流程跳出包含它的所有循環(huán)

C.break語(yǔ)句只能用在循環(huán)體內(nèi)和switch語(yǔ)句體內(nèi)

D.在循環(huán)體內(nèi)使用break語(yǔ)句和continue語(yǔ)句的作用相同

72.有以下程序程序運(yùn)行后的輸出結(jié)果是()。A.a+b=0B.a+b=30C.a+b=lOD.出錯(cuò)

73.下面敘述正確的是_______。

A.算法的執(zhí)行效率與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)無(wú)關(guān)

B.算法的空間復(fù)雜度是指算法程序中指令(或語(yǔ)句)的條數(shù)

C.算法的有窮性是指算法必須能在執(zhí)行有限個(gè)步驟之后終止

D.算法的時(shí)間復(fù)雜度是指執(zhí)行算法程序所需要的時(shí)間

74.以下程序的輸出結(jié)果是()。main(){inti,a[4][4]={{1,3,5),{2,4,6},{3,5,7}};printf("%(1%d%d%d\n".a(chǎn)[O][3],a[1][2],a[2][1],a[3][0]);}A.0650B.1470C.5430D.輸出值不定

75.

76.有以下程序:

程序運(yùn)行后的輸出結(jié)果是()。

A.1,2,3,4,5,6,7,8,9,0,

B.2,1,4,3,6,5,8,7,0,9,

C.0,9,8,7,6,5,4,3,2,1,

D.0,1,2,3,4,5,6,7,8,9,

77.以下敘述中錯(cuò)誤的是()。

A.對(duì)于double類型數(shù)組,不可以直接用數(shù)組名對(duì)數(shù)組進(jìn)行整體輸入或輸出

B.數(shù)組名代表的是數(shù)組所占存儲(chǔ)區(qū)的首地址,其值不可改變

C.當(dāng)程序執(zhí)行中,數(shù)組元素的下標(biāo)超出所定義的下標(biāo)范圍時(shí),系統(tǒng)將給出“下標(biāo)越界”的出錯(cuò)信息

D.可以通過(guò)賦初值的方式確定數(shù)組元素的個(gè)數(shù)

78.在面向?qū)ο蠓椒ㄖ?,?shí)現(xiàn)信息隱蔽是依靠()。

A.對(duì)象的繼承B.對(duì)象的多態(tài)C.對(duì)象的封裝D.對(duì)象的分類

79.為了提高軟件的獨(dú)立性,模塊之間最好是()。

A.控制耦合B.公共耦合C.內(nèi)容耦合D.數(shù)據(jù)耦合

80.有以下程序程序運(yùn)行后的輸出結(jié)果是()。

A.143B.197C.33D.28

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:應(yīng)用遞歸算法求某數(shù)a的平方根。求平方根的迭代公式如下:

x1=(xO+a/xO)/2

例如,3的平方根為1.732051。

請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。

注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。

試題程序:

六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫(xiě)函數(shù)proc(),該函數(shù)的功能是:將放在字符串?dāng)?shù)組中的M個(gè)字符串(每串的長(zhǎng)度不超過(guò)N).按順序合并組成一個(gè)新的字符串。例如,若字符串?dāng)?shù)組中的M個(gè)字符串為:ABCDBCDEFGCDEFGHI則合并后的字符串內(nèi)容應(yīng)該是:ABCDBCDEFGCDEFGH1。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。試題程序:

參考答案

1.D解析:一般來(lái)說(shuō),一種數(shù)據(jù)的邏輯結(jié)構(gòu)根據(jù)需要可以表示成多種存儲(chǔ)結(jié)構(gòu),因此,數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu)不一定是一一對(duì)應(yīng)的。選項(xiàng)A中的說(shuō)法是錯(cuò)誤的。雖然計(jì)算機(jī)的存儲(chǔ)空間是向量式的存儲(chǔ)結(jié)構(gòu),但由于一種數(shù)據(jù)的邏輯結(jié)構(gòu)根據(jù)需要可以表示成多種存儲(chǔ)結(jié)構(gòu),例如,線性鏈表是線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。一般來(lái)說(shuō),性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中,各數(shù)據(jù)結(jié)點(diǎn)的存儲(chǔ)序號(hào)是不連續(xù)的,并且各結(jié)點(diǎn)在存儲(chǔ)空間中的位置關(guān)系與邏輯關(guān)系也不一致。性鏈表中,各數(shù)據(jù)元素之間的前后件關(guān)系是由各結(jié)點(diǎn)的指針域來(lái)指示的。因此,數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)不一定是線性結(jié)構(gòu)。選項(xiàng)B中的說(shuō)法也是錯(cuò)誤的。雖然程序設(shè)計(jì)語(yǔ)言中的數(shù)組一般是順序存儲(chǔ)結(jié)構(gòu),但是,利用數(shù)組也能處理非線性結(jié)構(gòu)。例如,滿二叉樹(shù)與完全二叉樹(shù)是非線性結(jié)構(gòu),但對(duì)于滿二叉樹(shù)與完全二叉樹(shù)來(lái)說(shuō),根據(jù)完全二叉樹(shù)的性質(zhì)6,可以按層序進(jìn)行順序存儲(chǔ),即利用程序設(shè)計(jì)語(yǔ)言中的數(shù)組來(lái)存儲(chǔ),這樣,不僅節(jié)省了存儲(chǔ)空間,又能方便地確定每一個(gè)結(jié)點(diǎn)的父結(jié)點(diǎn)與左右子結(jié)點(diǎn)的位置。對(duì)于一般的二叉樹(shù)來(lái)說(shuō),也可以將二叉樹(shù)中每一個(gè)結(jié)點(diǎn)的左指針、右指針以及數(shù)據(jù)域分別用三個(gè)數(shù)組中的對(duì)應(yīng)元素來(lái)存儲(chǔ),即實(shí)際上也是利用了程序設(shè)計(jì)語(yǔ)言中的數(shù)組來(lái)處理二叉樹(shù)這樣的非線性結(jié)構(gòu)。選項(xiàng)C中的說(shuō)法也是錯(cuò)誤的。綜上所述,選項(xiàng)A、B與C中的說(shuō)法都是錯(cuò)誤的。

2.D解析:文件狀態(tài)檢測(cè)函數(shù)feof(fp)的功能是:測(cè)試所指的文件的位置指針是否已達(dá)到文件尾,如果已到達(dá)文件尾,則函數(shù)返回非。值;否則返回0,表示文件尚未結(jié)束。

3.B

4.B

5.A解析:在C語(yǔ)言中,應(yīng)當(dāng)在定義函數(shù)時(shí)指定函數(shù)值的類型。凡不加類型說(shuō)明的函數(shù),默認(rèn)按整型處理。在定義函數(shù)時(shí)對(duì)函數(shù)值說(shuō)明的類型一般應(yīng)該和return語(yǔ)句中的表達(dá)式類型一致。如果函數(shù)值的類型和return語(yǔ)句中的表達(dá)式類型不一致,則以函數(shù)值的類型為準(zhǔn),由系統(tǒng)自動(dòng)進(jìn)行轉(zhuǎn)換,即函數(shù)類型決定返回值的類型。

6.A

7.C

8.C

9.A解析:和線性表類似,棧也有兩種存儲(chǔ)方法,一是順序棧,二是鏈?zhǔn)綏?。棧的順序存?chǔ)結(jié)構(gòu)是利用一組地址連續(xù)的存儲(chǔ)單元一次存儲(chǔ)自棧底到棧頂?shù)臄?shù)據(jù)元素,同時(shí)附設(shè)指針top指示棧頂元素的位置,由于棧的操作是線性表操作的特例,相對(duì)而言,鏈?zhǔn)綏5牟僮鞲子趯?shí)現(xiàn)。注意:這3種運(yùn)算方法在各種存儲(chǔ)結(jié)構(gòu)中的應(yīng)用。

10.D解析:關(guān)系模型中包括關(guān)系的數(shù)據(jù)結(jié)構(gòu)、關(guān)系的操縱和關(guān)系中的數(shù)據(jù)約束。關(guān)系完整性約束即數(shù)據(jù)完整性,包括實(shí)體完整性、參照完整性和用戶自定義完整性。

11.C\n面向?qū)ο蟮脑O(shè)計(jì)方法的基本原理是:使用現(xiàn)實(shí)世界的概念抽象地思考問(wèn)題從而自然地解決問(wèn)題。它雖強(qiáng)調(diào)模擬現(xiàn)實(shí)世界中的概念而不強(qiáng)調(diào)算法,但是它鼓勵(lì)開(kāi)發(fā)者在軟件開(kāi)發(fā)的過(guò)程中從應(yīng)用領(lǐng)域的概念角度去思考。

\n

12.D

13.B鏈表是一種特殊的線性表,鏈表的存儲(chǔ)結(jié)構(gòu)與順序存儲(chǔ)結(jié)構(gòu)不同,它的存儲(chǔ)區(qū)域可以是任意的存儲(chǔ)單元,對(duì)存儲(chǔ)系統(tǒng)中零碎的存儲(chǔ)部分具有更好的應(yīng)用,在給其分配存儲(chǔ)單元時(shí),不必事先估計(jì)整個(gè)存儲(chǔ)單元的空間大??;由于鏈表的元素是通過(guò)指針域的指針相連的,用鏈表存儲(chǔ)數(shù)據(jù)時(shí),對(duì)其進(jìn)行插入和刪除操作時(shí),不需要移動(dòng)其他元素,只需改變其直接前驅(qū)指針域,使其指向該結(jié)點(diǎn),并將該結(jié)點(diǎn)的指針域修改為指向其直接后繼結(jié)點(diǎn)即可。當(dāng)然,不管是鏈表還是順序存儲(chǔ),所需空間與線性表長(zhǎng)度都成正比。在鏈?zhǔn)酱鎯?chǔ)的鏈表結(jié)構(gòu)中,由于后一結(jié)點(diǎn)數(shù)據(jù)被存儲(chǔ)在哪里,只有通過(guò)前一結(jié)點(diǎn)的指針域才知道,因此,訪問(wèn)時(shí)只能是逐個(gè)訪問(wèn),而不能實(shí)現(xiàn)隨機(jī)訪問(wèn)。

14.B

15.C

16.C【解析】在鏈表中因?yàn)槌舜娣艛?shù)據(jù)元素之外,還要存放指針,所以鏈表花費(fèi)的存儲(chǔ)空間要比順序表還要多,在插入和刪除數(shù)據(jù)元素時(shí),只需要移動(dòng)相應(yīng)的記錄指針即可,在鏈表中,數(shù)據(jù)的物理結(jié)構(gòu)與邏輯結(jié)構(gòu)不一定相同,因?yàn)槭强恐羔榿?lái)實(shí)現(xiàn)對(duì)數(shù)據(jù)的指定的,所以不能進(jìn)行隨機(jī)存取。

17.D

18.B在實(shí)際應(yīng)用中,隊(duì)列的順序存儲(chǔ)結(jié)構(gòu)一般采用循環(huán)隊(duì)列的形式。當(dāng)循環(huán)隊(duì)列為滿或者為空時(shí),隊(duì)尾指針=隊(duì)頭指針。本題答案為B選項(xiàng)。

19.D解析:耦合性與內(nèi)聚性是模塊獨(dú)立性的兩個(gè)定性標(biāo)準(zhǔn),是互相關(guān)聯(lián)的。在程序設(shè)計(jì)中,各模塊間的內(nèi)聚性越強(qiáng),則耦合性越弱。一般較優(yōu)秀的軟件設(shè)計(jì),應(yīng)盡量做到高內(nèi)聚、低耦合,有利于提高模塊的獨(dú)立性。

20.CA選項(xiàng)描述正確,自動(dòng)變量未被賦初值,為隨機(jī)值;B選項(xiàng)描述正確,除在函數(shù)開(kāi)始位置定義變量外,在復(fù)合語(yǔ)句內(nèi)也可以定義變量;C選項(xiàng)描述錯(cuò)誤,函數(shù)內(nèi)的靜態(tài)變量只在第1次調(diào)用時(shí)賦值,以后調(diào)用保留上次的值;D選項(xiàng)描述正確,形參屬于局部變量,占用動(dòng)態(tài)存儲(chǔ)區(qū),而static型變量占用靜態(tài)存儲(chǔ)區(qū)。故本題答案為C選項(xiàng)。

21.解析:本題考查文件讀寫(xiě)函數(shù)fread和fwrite的用法。fwrite函數(shù)將數(shù)組a的前5個(gè)元素輸出到文件fp中兩次,共10個(gè)字節(jié),再調(diào)用fread函數(shù)從文件fp中讀取這10個(gè)字節(jié)的數(shù)據(jù)到數(shù)組a中,此時(shí)數(shù)組a的內(nèi)容就變?yōu)閧1,2,3,0,0,1,2,3,0,)},最后的輸出結(jié)果為“1,2,3,0,0,1,2,3,0,0,”。

22.22解析:本題變量m既是外部變量(值是13),又是fun函數(shù)的局部變量(值為3)。函數(shù)fun(x*y-m)的值為7*5-3=32,在main函數(shù)中,fun(a,b)/m中的m應(yīng)取外部變量的值13,因此輸出2。

23.SWELXGI

解析:本題,已知結(jié)果z=16.00,即16.0=a/2+b*x/y+1/2,分別把a(bǔ)、b,代入,得到16.0=9/2+2*x/1.1+1/2。因?yàn)閍=9,a是整型,所以9/2的值在沒(méi)有進(jìn)行類型轉(zhuǎn)換時(shí),等于4,1/2同理,等于0。代入求一元一次方程,很容易就可以得出x=6.6。

25.1111解析:本題考核的知識(shí)點(diǎn)是printf()函數(shù)的輸出格式。本題中定義了一個(gè)整型變量i并賦初值為9,然后要求以八進(jìn)制輸出i的值,9的八進(jìn)制數(shù)的表示為11。

26.=aasum/nx[i]<ave=a\r\na\r\nsum/n\r\nx[i]<ave解析:sum是用來(lái)存放學(xué)生成績(jī)總和的,a是輸入的成績(jī),ave存放平均成績(jī),n既是循環(huán)變量,又表示學(xué)生人數(shù),x[n]保存第n個(gè)學(xué)生的成績(jī)。sum用來(lái)累加每個(gè)同學(xué)的成績(jī),因此有sum+=a;把新輸入的學(xué)生成績(jī)保存在數(shù)組中,因此有x[n]=a;ave是所有同學(xué)的平均成績(jī),因此有ave=sum/n;逐個(gè)把學(xué)生成績(jī)和平均成績(jī)比較,因此有if(x[i]<ave)。

27.輸出結(jié)果輸出結(jié)果解析:注意:測(cè)試的基本方法和步驟。

28.150150解析:本題先給變量x賦初始值100,然后將指針p指向變量x,*p是取指針p所指地址的內(nèi)容,即100,所以x=100+50=150。

29.k=p;k=p;解析:要找數(shù)組中最大元素的下標(biāo),首先預(yù)設(shè)數(shù)組首元素下標(biāo)為臨時(shí)最大元素的下標(biāo),從首元素開(kāi)始順序向后繼元素逐一比較,當(dāng)發(fā)現(xiàn)當(dāng)前元素比臨時(shí)最大元素更大時(shí),就用當(dāng)前元素的下標(biāo)更新臨時(shí)最大元素下標(biāo),直至比較了數(shù)組的全部元素后,臨時(shí)最大元素下標(biāo)就是數(shù)組中最大元素的下標(biāo)。程序中,變量k用于存儲(chǔ)臨時(shí)最大元素下標(biāo),變量p控制順序比較的循環(huán)變量。當(dāng)發(fā)現(xiàn)當(dāng)前元素s[p]比臨時(shí)最大元素s[k]更大時(shí),用p更新k。所以在下劃線處應(yīng)填入代碼“k=p;”。

30.軟件開(kāi)發(fā)。軟件開(kāi)發(fā)。解析:通常,軟件生命周期包括8個(gè)階段:?jiǎn)栴}定義、可行性研究、需求分析、系統(tǒng)設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼、測(cè)試、運(yùn)行維護(hù)。還分為3個(gè)時(shí)期,軟件定義期:包括問(wèn)題定義、可行性研究和需求分析3個(gè)階段;軟件開(kāi)發(fā)期:包括系統(tǒng)設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼和測(cè)試4個(gè)階段;軟件維護(hù)期:即運(yùn)行維護(hù)階段。

31.1212解析:本題通過(guò)第一個(gè)for循坪將數(shù)組arr[0]-arr[9]分別賦值為0-9,通過(guò)第二個(gè)for循環(huán)的三次循環(huán)累加,求出結(jié)果為12,具體分析如下:

i=1:k=0+arr[1]+1即k=2;

i=2:k=2+arr[2]+2即k=6;

i=3:k=6+arr[3]+3即k=12;

32.(y%2)==0(y%2)==0解析:因符合偶數(shù)的條件是對(duì)2取余為0,所以要描述y是偶數(shù)的表達(dá)式是(y%2)==0。

33.#include"stdio.h"#include'stdio.h'解析:使用putchar和getchar函數(shù)時(shí),必須在程序的開(kāi)頭出現(xiàn)包含頭文件#include'stdio.h'的命令行。putchar的函數(shù)調(diào)用形式為:putchar(字符變量或字符常量);getchar函數(shù)的調(diào)用形式為:變量=getchar();getchar后的一對(duì)圓括號(hào)內(nèi)沒(méi)有參數(shù),但這一對(duì)圓括號(hào)不可少。

34.序言性序言性解析:注釋一般分為序言性注釋和功能性注釋。

35.軟件開(kāi)發(fā)

36.00解析:解答本題需要注意表達(dá)式“k=0”,它是賦值表達(dá)式而不是關(guān)系表達(dá)式,不論k為何值,表達(dá)式k=0總會(huì)使k為0,所以不能進(jìn)入循環(huán)。

37.t>=le-5;t=t/n;

38.*s++flag=0或*(s-1)=''num*s++\r\nflag=0或*(s-1)=''\r\nnum解析:在統(tǒng)計(jì)字符串單詞個(gè)數(shù)的算法中,本題的flag是為了記錄—個(gè)單詞是否結(jié)束。第18空應(yīng)填*s++;如果某個(gè)字符不是空格,則必須判斷它是否是單詞,如是,則使得flag的標(biāo)志為1,num的值加1。本題判斷方法是:先判斷s所指向的字符是否為空格,如果是則使得flag=0,否則判斷前—個(gè)字符是否是空格,如果是則說(shuō)明這個(gè)字符是—個(gè)單詞的開(kāi)始,將flag標(biāo)志為1,num的值加1,如果不是,則不必記錄。故第19空應(yīng)填flag=0或*(s-1)='';最后—個(gè)空格需填寫(xiě)的是返回的單詞的個(gè)數(shù),即num。

39.實(shí)體-聯(lián)系圖(E-R圖)實(shí)體-聯(lián)系圖(E-R圖)解析:實(shí)體-聯(lián)系圖(E-R圖)是實(shí)體聯(lián)系模型中的核心。由于E-R圖描述的是數(shù)據(jù)流圖中數(shù)據(jù)存儲(chǔ)及其之間的關(guān)系,因此它是數(shù)據(jù)庫(kù)概念設(shè)計(jì)的最常用的工具。

40.11解析:條件運(yùn)算表達(dá)式:“表達(dá)式1?表達(dá)式2:表達(dá)式3”,但表達(dá)式1的值為非0時(shí),此時(shí)表達(dá)式2的值就是整個(gè)條件表達(dá)式的值,反之為表示式3的值。解析易知結(jié)果為1。

41.A解析:&是按位“與”運(yùn)算符,其運(yùn)算規(guī)則是:參加運(yùn)算的兩個(gè)運(yùn)算量,如果兩個(gè)相應(yīng)的位都為1,則該位的結(jié)果值為1,否則為0。|是按位“或”運(yùn)算符,其運(yùn)算規(guī)則是:兩個(gè)相應(yīng)位中只要有一個(gè)為1,該位的結(jié)果為1。4轉(zhuǎn)換為二進(jìn)制數(shù)為0100,3轉(zhuǎn)換為二進(jìn)制數(shù)為0011,則4|3=0111,即7,4&3=0000,即0。

42.C解析:宏替換不像函數(shù)調(diào)用要進(jìn)行參數(shù)值的計(jì)算、傳遞等,而只是簡(jiǎn)單按照原格式進(jìn)行字符串的替換。注意:宏定義的命令格式。

43.A解析:main函數(shù)中將定義的結(jié)構(gòu)體類型指針變量p指向結(jié)構(gòu)體類型數(shù)組s[1],通過(guò)調(diào)用函數(shù)f改變了指針變量p所指向的結(jié)構(gòu)體中成員變量name的值,但并未改變其num的值。這是因?yàn)楹瘮?shù)f中的形參name是一個(gè)字符型指針變量,它指向了main函數(shù)中指針變量p所指向的結(jié)構(gòu)體的成員變量name,所以對(duì)函數(shù)f中的形參*name的改變也就對(duì)main函數(shù)中p->name的改變,而函數(shù)f中對(duì)形參num的改變不會(huì)影響main函數(shù)中p-?num的值,因?yàn)榇藭r(shí)傳遞給num的是一個(gè)值,而不是地址。

44.B解析:本題考查數(shù)據(jù)庫(kù)系統(tǒng)的基本概念和知識(shí)。

數(shù)據(jù)庫(kù)系統(tǒng)除了數(shù)據(jù)庫(kù)管理軟件之外,還心須有其他相關(guān)軟件的支持。這些軟件包括操作系統(tǒng)、編譯系統(tǒng)、應(yīng)用軟件開(kāi)發(fā)工具等。對(duì)于大型的多用戶數(shù)據(jù)庫(kù)系統(tǒng)和網(wǎng)絡(luò)數(shù)據(jù)庫(kù)系統(tǒng),還需要多用戶系統(tǒng)軟件和網(wǎng)絡(luò)系統(tǒng)軟件的支持。因此,選項(xiàng)A的說(shuō)法是錯(cuò)誤的。

數(shù)據(jù)庫(kù)可以看成是長(zhǎng)期存儲(chǔ)在計(jì)算機(jī)內(nèi)的、大量的、有結(jié)構(gòu)的和可共享的數(shù)據(jù)集合。因此,數(shù)據(jù)庫(kù)具有為各種用戶所共享的特點(diǎn)。不同的用戶可以使用同一個(gè)數(shù)據(jù)庫(kù),可以取出它們所需要的子集,而且容許子集任意重疊。數(shù)據(jù)庫(kù)的根本目標(biāo)是要解決數(shù)據(jù)的共享問(wèn)題。因此,選項(xiàng)B的說(shuō)法是正確的。

通常將引入數(shù)據(jù)庫(kù)技術(shù)的計(jì)算機(jī)系統(tǒng)稱為數(shù)據(jù)庫(kù)系統(tǒng)。一個(gè)數(shù)據(jù)庫(kù)系統(tǒng)通常由五個(gè)部分組成,包括相關(guān)計(jì)算機(jī)的硬件、數(shù)據(jù)庫(kù)集合、數(shù)據(jù)庫(kù)管理系統(tǒng)、相關(guān)軟件和人員。

因此,選項(xiàng)C的說(shuō)法是錯(cuò)誤的。

因此,本題的正確答案是選項(xiàng)B。

45.CA選項(xiàng)“函數(shù)一定有返回值,否則無(wú)法使用函數(shù)”,該選項(xiàng)是錯(cuò)誤的。使用一個(gè)函數(shù)并不一定要使用該函數(shù)的返回值。C語(yǔ)言中用void定義“無(wú)類型”的函數(shù),即禁止在調(diào)用函數(shù)中使用被調(diào)用函數(shù)的返回值。

B選項(xiàng)“C語(yǔ)言函數(shù)既可以嵌套定義,又可以遞歸調(diào)用”,該選項(xiàng)是錯(cuò)誤的。嵌套定義是指在定義一個(gè)函數(shù)時(shí),其函數(shù)體內(nèi)又包含另一個(gè)函數(shù)的完整定義,這個(gè)內(nèi)嵌的函數(shù)只能被包含它的函數(shù)所調(diào)用。而C語(yǔ)言規(guī)定每個(gè)函數(shù)都是平行、獨(dú)立的,不允許嵌套定義的情況出現(xiàn)。C語(yǔ)言不能嵌套定義函數(shù),但能夠嵌套調(diào)用函數(shù),也就是在調(diào)用一個(gè)函數(shù)的過(guò)程中,又調(diào)用另一個(gè)函數(shù)。C語(yǔ)言允許函數(shù)的遞歸調(diào)用,即在調(diào)用一個(gè)函數(shù)的過(guò)程中又直接或間接地調(diào)用該函數(shù)本身。

C選項(xiàng)“在C語(yǔ)言中,調(diào)用函數(shù)時(shí),只能將實(shí)參的值傳遞給形參”,該選項(xiàng)是正確的。函數(shù)的形參是指定義函數(shù)時(shí)函數(shù)名后面括弧中的變量名,實(shí)參是指在主調(diào)函數(shù)中調(diào)用一個(gè)函數(shù)時(shí),函數(shù)名后面括弧中的參數(shù)。調(diào)用時(shí)將實(shí)參的值賦給形參,形參的修改不會(huì)影響實(shí)參的值。注意,這里僅僅指的是傳遞數(shù)值,如果以地址的方式傳遞參數(shù),則形參的改變也會(huì)改變實(shí)參的值。

D選項(xiàng)“C語(yǔ)言程序中有調(diào)用關(guān)系的所有函數(shù)都必須放在同一源程序文件中”,該選項(xiàng)是錯(cuò)誤的。被調(diào)用的函數(shù)可以是庫(kù)函數(shù)或用戶自己定義的函數(shù),使用庫(kù)函數(shù)時(shí),應(yīng)該在本文件開(kāi)頭用“#include”命令將調(diào)用有關(guān)庫(kù)函數(shù)時(shí)所需用到的信息“包含”到本文件中,使用用戶自己定義的函數(shù)時(shí),主調(diào)函數(shù)與被調(diào)函數(shù)要在同一個(gè)文件下,并要在主調(diào)函數(shù)中對(duì)被調(diào)函數(shù)進(jìn)行聲明。

46.C解析:考查對(duì)于第一維大小的決定規(guī)則的掌握情況。第一維大小的決定規(guī)則:當(dāng)初值的個(gè)數(shù)能被第二維的常量表達(dá)式的值除盡時(shí),所得商數(shù)就是第一維的大小。當(dāng)初值的個(gè)數(shù)不能被第二維的常量表達(dá)式的值除盡時(shí),則第一維的大??;所得的商數(shù)+1。數(shù)組元素的下標(biāo)(行列號(hào))是從零開(kāi)始的。

47.A解析:switch語(yǔ)句的條件是“a%3=15%3=0”,所以執(zhí)行case0后面的語(yǔ)句,m++;m=1,然后就執(zhí)行break,跳出switch語(yǔ)句,所以最后輸出的m的值為1。注意:switch嵌套語(yǔ)句的使用。

48.B解析:根據(jù)數(shù)據(jù)庫(kù)物理設(shè)計(jì)的概念可知:為一個(gè)給定的邏輯數(shù)據(jù)模型選取一個(gè)最合適應(yīng)用要求的物理結(jié)構(gòu)的過(guò)程,就是數(shù)據(jù)庫(kù)的物理設(shè)計(jì)。數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)就是指數(shù)據(jù)庫(kù)在物理設(shè)備上的存儲(chǔ)結(jié)構(gòu)與存取方法。

49.A解析:continue語(yǔ)句的作用是結(jié)束本次循環(huán),程序中while循環(huán)語(yǔ)句的功能是計(jì)算1~7之間奇數(shù)之和,即s=1+3+5+7=16。

50.D解析:宏替換和函數(shù)調(diào)用有相似之處,但在替換時(shí),對(duì)參數(shù)沒(méi)有類型的要求。

51.B解析:本題考查結(jié)構(gòu)體指針變量的賦值方法。要把結(jié)點(diǎn)b連接到結(jié)點(diǎn)a之后,必須把b的地址給a的next指針,選項(xiàng)A)中,指針變量q保存的就是變量b的地址,選項(xiàng)B)中的p是指針變量,應(yīng)該是p->next=&b;在選項(xiàng)D)中,用*運(yùn)算符取出結(jié)構(gòu)體變量,并且保存的就是b的地址。

52.C解析:C語(yǔ)言中字符常量是以單引號(hào)括起來(lái)的單個(gè)字符,或?yàn)橐浴癨\”與三位八進(jìn)制數(shù)值或兩位十六進(jìn)制數(shù)值代替單個(gè)字符。

53.D解析:x變量定義為無(wú)符號(hào)整型。格式控制符d是輸出帶符號(hào)的十進(jìn)制整數(shù),即輸出-1。65535在內(nèi)存中各位都為1,作為帶符號(hào)數(shù)輸出時(shí)最高位為1即數(shù)值為負(fù)。在內(nèi)存中數(shù)據(jù)都以其補(bǔ)碼形式保存,11111111變?yōu)樵a為10000001即-1。

54.D解析:觀察程序可知,a實(shí)際上就是數(shù)組a的首地址,所以“*(a+i)”表示的就是數(shù)組a中的第i個(gè)元素的值,進(jìn)而,我們可以知道*(*(a+i))必然不是對(duì)a數(shù)組元素的正確引用。

55.C解析:考查結(jié)構(gòu)體成員數(shù)據(jù)的引用方法。通過(guò)指針來(lái)引用結(jié)構(gòu)體成員的方法是(指針變量)->結(jié)構(gòu)體成員名。

56.D本題主要考查軟件的測(cè)試。軟件測(cè)試的主要目的體現(xiàn)在下面幾個(gè)方面。

(1)軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程。

(2)一個(gè)好的測(cè)試用例能夠發(fā)現(xiàn)至今尚未發(fā)現(xiàn)的錯(cuò)誤。

(3)一個(gè)成功的測(cè)試是發(fā)現(xiàn)了至今尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試。

軟件測(cè)試的效率是指利用更少的成本創(chuàng)造更多的價(jià)值,提供軟件測(cè)試效率的方法有很多,如制定一個(gè)合理的詳細(xì)的測(cè)試計(jì)劃,了解測(cè)試項(xiàng)目的業(yè)務(wù)需求,集中對(duì)付那些錯(cuò)誤群集的程序等。而選項(xiàng)A所描述的隨機(jī)選取測(cè)試數(shù)據(jù)是不能保證提高測(cè)試效率的,選項(xiàng)B描述的取一切可能的輸入數(shù)據(jù)作為測(cè)試數(shù)據(jù)顯然不能提高測(cè)試效率,反而使工作量加大,降低測(cè)試效率。

57.AB選項(xiàng)中運(yùn)算符“%”的運(yùn)算對(duì)象為整數(shù)。C選項(xiàng)中不能將變量賦給表達(dá)式“x+n”。D選項(xiàng)中不能將表達(dá)式“4+1”賦給常量5。故本題答案為A選項(xiàng)。

58.B解析:本程序?yàn)槎匮h(huán),外循環(huán)控制輸出數(shù)據(jù)的行數(shù),內(nèi)循環(huán)控制輸出數(shù)據(jù)的列數(shù)。本題需要輸出4行4列,外層循環(huán)語(yǔ)句for(i=0;i<4;i++)控制輸出4行,內(nèi)層的第一條for循環(huán)控制每行輸出的空格數(shù),第二條for循環(huán)用于控制每行的數(shù)字輸出,由于每一行的數(shù)字個(gè)數(shù)比前一行少1個(gè),所以內(nèi)層的第二條for循環(huán)每次循環(huán)的次數(shù)需要遞減1,那么j的初始值應(yīng)該遞增,因?yàn)榈谝恍休敵龅氖?個(gè)數(shù),所以空格中應(yīng)填i。

59.A解析:本題考查文件使用方式標(biāo)識(shí)符,以“a+”方式打開(kāi)一個(gè)己存在的文件,則表示保留文件中原有的數(shù)據(jù),文件的位置指針在文件末尾,此時(shí),可以進(jìn)行追加或讀操作。

60.B解析:若在函數(shù)中定義與全局變量名字相同的局部變量,則全局變量在該函數(shù)中將不起作用,因此全局變量的作用域并不一定比局部變量的作用域大,故選項(xiàng)A不正確;靜態(tài)變量一旦定義,將在整個(gè)程序的運(yùn)行期間都存布,故選項(xiàng)B正確;函數(shù)的形參只在函數(shù)調(diào)用的時(shí)候分配存儲(chǔ)空間,在退出函數(shù)時(shí)收回存儲(chǔ)空間,因此是局部的,故選項(xiàng)C不正確;沒(méi)有賦值的auto型變量的初值是隨機(jī)的,沒(méi)有賦值的static型變量的初值是0,故選項(xiàng)D不正確。所以,B選項(xiàng)為所選。

61.D

62.A本題主要考查的是遞歸函數(shù)。題目中的f()函數(shù)直接調(diào)用了自身,是一個(gè)遞歸函數(shù)。主函數(shù)中調(diào)用f()函數(shù)時(shí)傳入的參數(shù)是3,所以會(huì)跳過(guò)if語(yǔ)句,執(zhí)行Y=x*x—f(x一2);,也就是Y=3*3一f(1);,再次調(diào)用f()函數(shù),傳人參數(shù)1,此時(shí)滿足if語(yǔ)句的條件,返N3。所以前面My=3*3-f(1);就等價(jià)于y=3*3—3;。結(jié)果是6,所以返回給主函數(shù)的結(jié)果是6。故本題應(yīng)該選擇A)。

63.D

64.B每次內(nèi)循環(huán)只循環(huán)一次就結(jié)束,第一次外循環(huán)時(shí)t=t+b[0][b[0][0]]=1+b][0]=1+0=第二次外循環(huán)時(shí)t=t+b[1][b[1][1]]=1+b[1][1]=1+1=2;第三次外循環(huán)時(shí)t=t+b[2][b[2][2]]=2+b[2][2]=2+2=4。

65.A棧是先進(jìn)后出的數(shù)據(jù)結(jié)構(gòu),因此棧頂元素最后入棧卻最先被刪除,棧底元素最先入棧卻最后被刪除,所以本題答案為A)。

66.A\n順序存儲(chǔ)方式是把邏輯上相鄰的結(jié)點(diǎn)存儲(chǔ)在物理上相鄰的存儲(chǔ)單元里,結(jié)點(diǎn)之間的關(guān)系由存儲(chǔ)單元的鄰接關(guān)系來(lái)體現(xiàn)。其優(yōu)點(diǎn)是占用最少的存儲(chǔ)空間,所以選項(xiàng)D)錯(cuò)誤。順序存儲(chǔ)結(jié)構(gòu)可以存儲(chǔ)如二叉樹(shù)這樣的非線性結(jié)構(gòu),所以選項(xiàng)B)錯(cuò)誤。鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)也可以存儲(chǔ)線性表,所以選項(xiàng)c)錯(cuò)誤。

\n

67.C

68.B選項(xiàng)B中,intIrlllm[2][4]={{1,2},{3,4},{5,6}};定義數(shù)組是2行4列,但是初始化的結(jié)構(gòu)是3行2列,因此初始化錯(cuò)誤。故答案為B選項(xiàng)。

69.D本題考查leon(tp)函數(shù),其功能是:測(cè)試所指的文件的位置指針是否已達(dá)到文件尾,如果已達(dá)到文件尾,則函數(shù)返回非0值;否則返回0,表示文件未結(jié)束。

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論