2022年廣東省江門(mén)市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)_第1頁(yè)
2022年廣東省江門(mén)市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)_第2頁(yè)
2022年廣東省江門(mén)市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)_第3頁(yè)
2022年廣東省江門(mén)市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)_第4頁(yè)
2022年廣東省江門(mén)市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩99頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

2022年廣東省江門(mén)市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.設(shè)二叉排序樹(shù)中有n個(gè)結(jié)點(diǎn),則二叉排序樹(shù)的平均查找長(zhǎng)度為()。A.O(1)

B.O(log2n)

C.O(n)

D.(n2)

2.若有說(shuō)明語(yǔ)句:double*P,a;則能通過(guò)scanf語(yǔ)句正確給輸入項(xiàng)讀入數(shù)據(jù)的程序段是()。

A.*p=&a;scanf("%lf",p);

B.*p=&a;scanf("%f",p);

C.p=&a;scanf("%lf",*p);

D.p=&a;scanf("%lf",p);

3.

4.以下對(duì)C語(yǔ)言函數(shù)的有關(guān)描述中,正確的是

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

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

C.函數(shù)必須有返回值,否則不能使用函數(shù)

D.函數(shù)必須有返回值,返回值類(lèi)型不定

5.計(jì)算機(jī)系統(tǒng)的組成是______。

A.主機(jī)、外設(shè)B.運(yùn)算器、控制器C.硬件系統(tǒng)和軟件系統(tǒng)D.CPU、內(nèi)存儲(chǔ)器

6.用單鏈表方式存儲(chǔ)的線(xiàn)性表,存儲(chǔ)每個(gè)結(jié)點(diǎn)需要兩個(gè)域,一個(gè)數(shù)據(jù)域,另一個(gè)是()。

A.當(dāng)前結(jié)點(diǎn)的所在地址B.后繼結(jié)點(diǎn)的所在地址C.空指針域D.空閑域

7.程序設(shè)計(jì)的任務(wù)包括()。

A.編寫(xiě)程序代碼并上機(jī)調(diào)試B.確定所用數(shù)據(jù)結(jié)構(gòu)C.確定所用算法D.以上選項(xiàng)均正確

8.下列程序的輸出結(jié)果是()。#include<stdio.h>main{inta=0,i;for(i=1;i<5;i++){switch(i){case0:case3:a+=1;case1;case2:a+=2;default:a+=3;}}printf("%d",a);}A.19B.1C.6D.8

9.數(shù)據(jù)的邏輯關(guān)系是指數(shù)據(jù)元素的()。

A.關(guān)聯(lián)B.結(jié)構(gòu)C.數(shù)據(jù)項(xiàng)D.存儲(chǔ)方式

10.有以下程序:#include<stdio.h>main(){intb[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1;for(i=0;i<3;i++)for(j=i;j<=i;j++)t+=b[i][b[j][i]];printf(“%d\n”,t);}程序的運(yùn)行結(jié)果是()。

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

11.有以下程序:#include<stdio.h>main(){intt;scanf(“%d”,&t);if(t++<6)printf(“%d\n”,t);elseprintf(“%d\n”,t--);printf(“\n”);}執(zhí)行時(shí)輸入6并按<Enter>鍵,則輸出結(jié)果是()。A.6B.8C.7D.5

12.

13.一個(gè)算法的語(yǔ)句執(zhí)行次數(shù)為(2n2+2nlog2n+4n-7),則其時(shí)間復(fù)雜度為()。

A.O(n2)B.O(nlog2n)C.O(n)D.O(2n2)

14.

15.一個(gè)順序棧一旦聲明,其占用空間的大小()。

A.已固定B.可以變動(dòng)C.不能固定D.動(dòng)態(tài)變化

16.下面哪些使用的不是貪心算法()

A.單源最短路徑中的Dijkstra算法

B.最小生成樹(shù)的Prim算法

C.最小生成樹(shù)的Kruskal算法

D.計(jì)算每對(duì)頂點(diǎn)最短路徑的Floyd-Warshall算法

17.

18.針對(duì)二分查找算法,假設(shè)一個(gè)有序數(shù)組有136個(gè)元素,那么要查找到第10個(gè)元素,需要比較的元素為()

A.68,34,17,9,13,11,10

B.68,34,17,8,12,10

C.69,35,18,10

D.68,34,18,9,13,11,10

19.有以下程序:

程序執(zhí)行后的輸出結(jié)果是()。

A.45B.50C.60D.55

20.以下程序的輸出結(jié)果是()。main{inta=1,b;for(b=1,b<=10;b++){if(a>=8)break;if(a%2==1){a+=5;continue;}a=3;}printf("%d\n",b);}A.A.3B.4C.5D.6

二、2.填空題(20題)21.若有下列定義和語(yǔ)句:

char*s1="12345",*s2="1234";

printf("%d\n",strlen(strcpy(s1,s2)));

則輸出結(jié)果為_(kāi)_____。

22.計(jì)算機(jī)網(wǎng)絡(luò)按通信距離來(lái)劃分可以分為【】。

23.以下程序中函數(shù)f的功能是在數(shù)組x的n個(gè)數(shù)(假定n個(gè)數(shù)互不相同)中找出最大最小數(shù),將其中最小的數(shù)與第一個(gè)數(shù)對(duì)換,把最大的數(shù)與最后一個(gè)數(shù)對(duì)換。請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

voidf(intx[],intn)

{intp0,p1,i,j,t,m;

i=j=x[0];p0=p1=0;

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

{if(x[m]>i){i=x[m];p0=m;}

elseif(x[m]<j){j=x[m];p1=m;}

}

t=x[p0];x[p0]=x[n-1];x[n-1]=t;

t=x[p1];x[p1]=【】;【】=t;

}

main()

{inta[10],u;

for(u=0;u<10;u++)scanf("%d",&a[u]);

f(a,10);

for(u=0;u<10;u++)printf("%d",a[u]);

printf("\n");

}

24.關(guān)系模型的3類(lèi)完整性指的是【】、參照完整性、用戶(hù)定義的完整性。

25.用樹(shù)形結(jié)構(gòu)表示實(shí)體之間聯(lián)系的模型是()。

26.數(shù)據(jù)獨(dú)立性分為邏輯獨(dú)立性與物理獨(dú)立性。當(dāng)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)改變時(shí),其邏輯結(jié)構(gòu)可以不變,因此,基于邏輯結(jié)構(gòu)的應(yīng)用程序不必修改,稱(chēng)為【】。

27.數(shù)據(jù)庫(kù)系統(tǒng)中實(shí)現(xiàn)各種數(shù)據(jù)管理功能的核心軟件稱(chēng)為【】。

28.下面的語(yǔ)句要使指針p指向一個(gè)double類(lèi)型的動(dòng)態(tài)存儲(chǔ)單元,請(qǐng)?zhí)羁铡?/p>

p=【】malloc(sizeof(double));

29.深度為5的滿(mǎn)二叉樹(shù)中,葉子結(jié)點(diǎn)的個(gè)數(shù)為_(kāi)_____。

30.若按功能劃分,軟件測(cè)試的方法通常分為白盒測(cè)試方法和【】測(cè)試方法。

31.有以下程序:

#include<stdio.h>

main()

{

charc;

while((c=getchar())!='?')putchar(--c);

}

程序運(yùn)行時(shí),如查從鍵盤(pán)輸入:Y?N?<回車(chē)>,則輸出的結(jié)果為_(kāi)_____。

32.以下程序的運(yùn)行結(jié)果是【】。

#include<stdio.h>

main()

{intfun();fun();}

fun()

{staticinta[3]={0,1,2};

inti;

for(i=0;i<3;i++)a[i]+=a[i];

for(i=0;i<3;i++)printf("%d,",a[i]);

printf("\n");}

33.以下程序的輸出結(jié)果是______。

main()

{inta=1,b=2;

a=a+b;b=a-b;a=a-b;

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

}

34.以下程序的運(yùn)行結(jié)果是【】。

#defineMAX(a,b)(a>b?a:b)+1

main()

{inti=6,j=8,k;

printf("%d\n",MAX(i,j));

}

35.數(shù)據(jù)結(jié)構(gòu)分為邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu),線(xiàn)性鏈表屬于【】。

36.設(shè)Y是int型變量,請(qǐng)寫(xiě)出判斷Y為奇數(shù)的關(guān)系表達(dá)式【】。

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

#include<stdlib.h>

main()

{char*s1,*s2,m;

s1=s2=(char*)malloc(sizeof(char));

*s1=15;*s2=20;m=*s1+*s2;

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

}

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

main()

{chars[]="9876",*p;

for(p=s;p<s+2;p++)printf("%s\n",p);

}

39.以下程序的輸出結(jié)果是______。

voidreverse(inta[],intn)

{inti,t;

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

{t=a[i];a[i]=a[n+1+i];a[n-1-i]=t;}

}

main()

{intb[10]={1,2,3,4,5,6,7,8,9,10};inti,s=0;

reverse(b,8);

for(i=6;i<10;i++)s+=b[i];

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

}

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

intn='c';

switch(n++)

{default:printf("error");break;

case'a':

case'A':

case'b':

case'B':printf("good");break;

case'c':case'C':printf("pass");

case'd':case'D':printf("warn");

}

三、1.選擇題(20題)41.有以下程序:main(){intx=102,y=012;printf(“%2d,%2d\n”,x,y);}執(zhí)行后輸出結(jié)果是()。

A.10,01B.02,12C.102,10D.02,10

42.下列程序執(zhí)行后輸出的結(jié)果是______。intd=1;fun(intp){intd=5;d+=p++;printf("%d,",D);}main(){inta=3;fun(A);d+=a++;printf("%d\n",D);}

A.8,12B.9,13C.8,4D.9,5

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

A.在C語(yǔ)言中,對(duì)二進(jìn)制文件的訪(fǎng)問(wèn)速度比文本文件快

B.在C語(yǔ)言中,隨機(jī)文件以二進(jìn)制代碼形式存儲(chǔ)數(shù)據(jù)

C.語(yǔ)句FILEfp;定義了一個(gè)名為fp的文件指針

D.C語(yǔ)言中的文本文件以ASCII碼形式存儲(chǔ)數(shù)據(jù)

44.下列不是合法的C語(yǔ)言語(yǔ)句是()。

A.a=5B.{inti;i++;}C.;D.{;}

45.信息隱蔽的概念與下述______概念直接相關(guān)。

A.軟件結(jié)構(gòu)定義B.模塊獨(dú)立性C.模塊類(lèi)型劃分D.模擬耦合度

46.下列敘述中,不屬于軟件需求規(guī)格說(shuō)明書(shū)的作用的是()

A.便于用戶(hù),開(kāi)發(fā)人員進(jìn)行理解和交流

B.反映出用戶(hù)問(wèn)題的結(jié)構(gòu),可以作為軟件開(kāi)發(fā)工作的基礎(chǔ)和依據(jù)

C.作為確認(rèn)測(cè)試和驗(yàn)收的依據(jù)

D.便于開(kāi)發(fā)人員進(jìn)行需求分析

47.下列選項(xiàng)中不符合良好程序設(shè)計(jì)風(fēng)格的是A.源程序要文檔化B.數(shù)據(jù)說(shuō)明的次序要規(guī)范化C.避免濫用goto語(yǔ)句D.模塊設(shè)計(jì)要保證高耦合、高內(nèi)聚

48.有以下程序:#include<string.h>main(){charstr[][20]={"Hello","beijing"},*p=str;ptintf("%\n",strlen(p+20));}程序運(yùn)行后的輸出結(jié)果是()。

A.0B.5C.7D.20

49.有下列程序:

main()

{intt,a=1,b=5,C=-2;

while(a>b>C)

{t=a;a=b;b=t;c++;}

printf("%d,%d,%d",a,b,C);

}

程序的輸出結(jié)果是()。

A.1,5,0B.1,5,-2C.5,1,-1D.5,1,-2

50.下面的程序在編澤時(shí)產(chǎn)生錯(cuò)誤,其出錯(cuò)原因是()。#include<stdio.h>main(){int1_case;floatprintF;printf("請(qǐng)輸入2個(gè)數(shù):");scanf("%d%f",&1_case,&printF);printf("%d%f\n",1_case,printF);}

A.定義語(yǔ)句出錯(cuò),1_case不能作為變量名

B.定義語(yǔ)句出錯(cuò),printF不能用作用戶(hù)自定義標(biāo)識(shí)符

C.定義語(yǔ)句無(wú)錯(cuò),scanf不能作為輸入函數(shù)使用

D.定義語(yǔ)句無(wú)錯(cuò),printf不能輸出1_case的值

51.有以下程序:main(){inti,s=0;for(i=1;i<10;i+=2)s+=i+1;ptintf("%d\n",s);}程序執(zhí)行后的輸出結(jié)果是()。

A.自然數(shù)1~9的累加和B.自然數(shù)1~10的累加和C.自然數(shù)1~9中奇數(shù)之和D.自然數(shù)1~10中偶數(shù)之和

52.中國(guó)國(guó)家計(jì)算機(jī)網(wǎng)絡(luò)設(shè)施是()

A.NCFCB.CERNETC.ISDND.Iinternet

53.已知函數(shù)的調(diào)用形式為fread(buf,size,count,fp),參數(shù)buf的含義是

A.一個(gè)整型變量,代表要讀入的數(shù)據(jù)項(xiàng)總數(shù)

B.一個(gè)文件指針,指向要讀的文件

C.一個(gè)指針;指向要讀入數(shù)據(jù)的存放地址

D.一個(gè)存儲(chǔ)區(qū),存放要讀的數(shù)據(jù)項(xiàng)

54.若有以下定義:intt[3][2];,能正確表示t數(shù)組元素地址的表達(dá)式是______。

A.&t[3][2]B.t[3]C.t[1]D.*t[2]

55.結(jié)構(gòu)化程序設(shè)計(jì)的3種結(jié)構(gòu)是()

A.順序結(jié)構(gòu),分支結(jié)構(gòu),跳轉(zhuǎn)結(jié)構(gòu)

B.順序結(jié)構(gòu),選擇結(jié)構(gòu),循環(huán)結(jié)構(gòu)

C.分支結(jié)構(gòu),選擇結(jié)構(gòu),循環(huán)結(jié)構(gòu)

D.分支結(jié)構(gòu),跳轉(zhuǎn)結(jié)構(gòu),循環(huán)結(jié)構(gòu)

56.若有定義語(yǔ)句:inta[2][3],*p[3],則以下語(yǔ)句中正確的是A.p=a;B.p[0]=a;C.p[0]=&a[1][2];D.p[1]=&a;

57.若有以下說(shuō)明和語(yǔ)句:structst{intn;char*ch;};structsta[3]={5,"abc",7,"def",9,"ghk"},*p=a;則值為6的表達(dá)式是______。

A.p++->nB.p->n++C.(*p).n++D.++p->n

58.C語(yǔ)言庫(kù)函數(shù)fgets(str,n,fp)的功能是______。

A.從中指向的文件中讀取長(zhǎng)度n的字符串存入str指向的內(nèi)存

B.從fp指向的文件中讀取長(zhǎng)度不超過(guò)n-1的字符串存入str指向的內(nèi)存

C.從fp指向的文件中讀取n個(gè)字符串存入str指向的內(nèi)存

D.從str讀取至多n個(gè)字符到文件fp

59.定義如下變量和數(shù)組:intk;inta[3][3]={9,8,7,6,5,4,3,2,1};則下面語(yǔ)句的輸出結(jié)果是()。for(k=0;k<3;k++)printf("%d",a[k][k]);

A.753B.951C.963D.741

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

A.continue語(yǔ)句的作用是結(jié)束整個(gè)循環(huán)的執(zhí)行

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

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

D.從多層循環(huán)嵌套中退出時(shí),只能使用goto語(yǔ)句

四、選擇題(20題)61.有以下程序:

當(dāng)執(zhí)行程序時(shí),按下列方式輸入數(shù)據(jù)(從第l列開(kāi)始,<;CR>;代表回車(chē),注意:回車(chē)也是一個(gè)字符]12<;CR>;34<;CR>;則輸出結(jié)果是()。

A.12B.123C.1234D.12343

62.下列語(yǔ)句中,顯示沒(méi)有下畫(huà)線(xiàn)的超鏈接的語(yǔ)句是()。

A.a{text—decoration:none}

B.a{text—decoration:nounderline}

C.a{underline:none}

D.a{decoration:nounderline}

63.在面向?qū)ο蠓椒ㄖ?,一個(gè)對(duì)象請(qǐng)求另一對(duì)象為其服務(wù)的方式是通過(guò)發(fā)送()。A.調(diào)用語(yǔ)句B.命令C.口令D.消息

64.

若有定義和語(yǔ)句:

int**pp),*P,a=20,b=10;

pp=&p;p=&a;p=&b;printf("%d,%d\n",*P,*PP);

則輸出結(jié)果是()。

A.20,10B.20,20C.10,20D.10,10

65.若有以下的定義:‘intt[3][2];”,能正確表示t數(shù)組元素地址的表達(dá)式是()。

A.&t[3][2]B.t[3]C.t[l]D.t[2][2]

66.負(fù)責(zé)數(shù)據(jù)庫(kù)中查詢(xún)操作的數(shù)據(jù)庫(kù)語(yǔ)言是()。

A.數(shù)據(jù)定義語(yǔ)言B.數(shù)據(jù)管理語(yǔ)言C.數(shù)據(jù)操縱語(yǔ)言D.數(shù)據(jù)控制語(yǔ)言

67.以下程序愛(ài)中,與語(yǔ)句:

68.

有以下程序:

main

{intx=102,y=012;

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

}

執(zhí)行后輸出結(jié)果是()。

A.10,01B.02,12C.102,10D.02,10

69.

70.以下選項(xiàng)中合法的標(biāo)識(shí)符是()。A.1_2B._12C.2_1D.12__

71.

72.以下程序段中的變量已正確定義:

程序段的輸出結(jié)果是()。

A.********B.****C.**D.*

73.串的長(zhǎng)度是______。A.A.串中不同字符的個(gè)數(shù)

B.串中不同字母的個(gè)數(shù)

C.串中所含字符的個(gè)數(shù)且字符個(gè)數(shù)大于零

D.串中所含字符的個(gè)數(shù)

74.

75.

76.

77.

有以下程序:

fun(intx,inty){return(x+y);)

main

{inta=1,b=2,c=2,sum;

sum=fun((a++,b++,a+b),c++);

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

}

執(zhí)行后的結(jié)果是()。

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

78.以下選項(xiàng)中不能作為c語(yǔ)言合法常量的是()。.

A.0.1e+6B.’cd’.C.”、a”D.’\011

79.在結(jié)構(gòu)化方法中,軟件功能分解屬于下列軟件開(kāi)發(fā)中的階段是______。

A.詳細(xì)設(shè)計(jì)B.需求分析C.總體設(shè)計(jì)D.編程調(diào)試

80.若在定義語(yǔ)句:inta,b,c,*p=&c;之后,接著執(zhí)行以下選項(xiàng)中的語(yǔ)句,則能正確執(zhí)行的語(yǔ)句是()。A.A.scanf("%d",a,b,c);B.scanf("%d%d%d",a,b,c):

C.scanf("%d",p);

D.scanf("%d",&p);

五、程序改錯(cuò)題(1題)81.下列給定程序中函數(shù)fun()的功能是:把從主函數(shù)中輸人的3個(gè)數(shù)。最大的數(shù)放在a中,中間的數(shù)放在b中,最小的數(shù)放在C中。例如,若輸入的數(shù)為:55,12,34,輸出的結(jié)果應(yīng)當(dāng)是:a=55.0,b=34.0,c=12.0。請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!試題程序:

六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫(xiě)函數(shù)proc,其功能是將兩個(gè)兩位數(shù)的正整數(shù)a、b合并形成一個(gè)整數(shù)放在c中。合并的方式是:將a數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)個(gè)位和十位上,b數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的百位和千位上。例如,當(dāng)a=25,b=43,實(shí)際輸入時(shí)個(gè)數(shù)之間以Enter鍵分隔,調(diào)用該函數(shù)后,c=3452。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。試題程序:

參考答案

1.B

2.D解析:*p間接引用指針指向的變量,因此“(*p)=&a”不對(duì)。scanf()的輸入變量必須為地址,因此C是錯(cuò)誤的。

3.C

4.A解析:C語(yǔ)言中的函數(shù)可以進(jìn)行遞歸調(diào)用,但不能在函數(shù)中定義函數(shù),即函數(shù)不能嵌套定義。函數(shù)可以沒(méi)有返回值,若有返回值,則返回值類(lèi)型必須確定。

5.C

6.B

7.D程序設(shè)計(jì)是一門(mén)技術(shù),需要相應(yīng)的理論、技術(shù)、方法和工具來(lái)支持。程序設(shè)計(jì)的任務(wù)包括選項(xiàng)A)、B)、c)等方面。

8.A本題考查switch語(yǔ)句。當(dāng)i一1時(shí),執(zhí)行case1,因?yàn)闆](méi)有遇到break語(yǔ)句,所以依次往下運(yùn)行,“a=a+2=2,a=a+3=5”;當(dāng)i=2時(shí),執(zhí)行case2,因?yàn)闆](méi)有遇到break語(yǔ)句,所以依次往下執(zhí)行,“a=a+2=7,a=a+3=10”;當(dāng)i=3時(shí),執(zhí)行case3,a=a+1=11,因?yàn)闆](méi)有遇到break語(yǔ)句,所以依次往下運(yùn)行,a—a+2—13,a—a+3一l6:當(dāng)i=4時(shí),執(zhí)行default,a=a+3=19,結(jié)束循環(huán)。

9.A

10.B內(nèi)循環(huán)只循環(huán)一次就結(jié)束,第1次外循環(huán)時(shí),t=t+b[0][b[0][0]]=1+b[0][0]=1+0=1;第2次外循環(huán)時(shí),t=t+b[1][b[1][1]]=1+b[1][1]=1+1=2;第3次外循環(huán)時(shí),1=1+b[2][b[2][2]]=2+b[2][2]=2+2=4。故本題答案為B選項(xiàng)。

11.C后綴自增運(yùn)算“t++”表示先運(yùn)算,再自加。語(yǔ)句“if(t++<6)printf(“%d\\n”,t);elseprintf(“%d\\n”,t--);”中t的初值為6,則“t++<6”,條件為假,t自增至7,執(zhí)行“printf(“%d\\n”,t--);”,此時(shí)t=7,輸出t值為7,之后進(jìn)行自減操作t=6。因此輸出的結(jié)果為7。故本題答案為C選項(xiàng)。

12.C

13.A

14.B

15.A

16.D

17.C

18.B

19.C內(nèi)部靜態(tài)變量是始終存在的,當(dāng)函數(shù)被調(diào)用退出后,內(nèi)部靜態(tài)變量會(huì)保存數(shù)據(jù),再次調(diào)用該函數(shù)時(shí),以前調(diào)用時(shí)的數(shù)值仍然保留著。Fun(a,5)的值是l5,再次調(diào)用后slim=15,所以Fun(b,4)=45,s=45+15=60。

20.B當(dāng)b=1時(shí),a=1,第二個(gè)if語(yǔ)句成立,此時(shí)a=6,返回for循環(huán);當(dāng)b=2,兩個(gè)if語(yǔ)句都為假,此時(shí)a=3,再返回循環(huán);當(dāng)b=3,第二個(gè)if成立,此時(shí)a=8,繼續(xù)循環(huán);當(dāng)b=4,第一個(gè)if成立,退出for循環(huán)體時(shí)b為4,a為8。

21.44解析:strcpy(s1,s2)函數(shù)的作用是將字符串s2中的內(nèi)容拷貝到字符串s1中的內(nèi)容覆蓋。strlen()函數(shù)是求字符串的長(zhǎng)度。本題實(shí)際上是要求s2字符串的長(zhǎng)度,即是4。

22.局域網(wǎng)和廣域網(wǎng)局域網(wǎng)和廣域網(wǎng)

23.x[0]x[0]x[0],x[0]解析:函數(shù)f()通過(guò)for循環(huán)逐個(gè)比較數(shù)組x中的元素,循環(huán)結(jié)束后,p0和p1分別表示最大值和最小值在數(shù)組中的下標(biāo)位置,然后按照題意將最大值x[p0]和數(shù)組的最后一個(gè)元素x[n-1]交換位置,再將最小值x[p1]和第一個(gè)元素(x[0])進(jìn)行交換,所以空白處應(yīng)該填入x[0]。

24.實(shí)體完整性實(shí)體完整性解析:關(guān)系模型中的完整性是指數(shù)據(jù)庫(kù)中數(shù)據(jù)的正確性和一致性。為了維護(hù)數(shù)據(jù)庫(kù)中數(shù)據(jù)與現(xiàn)實(shí)世界的一致性,關(guān)系數(shù)據(jù)庫(kù)的插入、刪除、修改操作必須遵循3類(lèi)完整性規(guī)則。關(guān)系模型的3類(lèi)完整性指的是實(shí)體完整性、參照完整性和用戶(hù)定義的完整性。

25.層次模型層次模型解析:層次模型是最早發(fā)展起來(lái)的數(shù)據(jù)庫(kù)模型。層次模型的基本結(jié)構(gòu)是樹(shù)形結(jié)構(gòu)。

26.物理獨(dú)立性物理獨(dú)立性解析:數(shù)據(jù)獨(dú)立性分為邏輯獨(dú)立性與物理獨(dú)立性。當(dāng)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)改變時(shí),其邏輯結(jié)構(gòu)可以不變,因此,基于邏輯結(jié)構(gòu)的應(yīng)用程序不必修改,稱(chēng)為物理獨(dú)立性。

27.數(shù)據(jù)庫(kù)管理系統(tǒng)數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)

28.(double*)(double*)解析:本題考查強(qiáng)制類(lèi)型轉(zhuǎn)換。函數(shù)malloc的默認(rèn)返回是void*,若要使指針指向double類(lèi)型,必須進(jìn)行類(lèi)型轉(zhuǎn)換,類(lèi)型轉(zhuǎn)換格式為:(數(shù)據(jù)類(lèi)型*)。

29.1616解析:滿(mǎn)二叉樹(shù)的葉子結(jié)點(diǎn)都在最后一層,即第4層,且第4層的結(jié)點(diǎn)達(dá)到最大數(shù),即25-1=16。

30.黑盒軟件測(cè)試的方法有三種:動(dòng)態(tài)測(cè)試、靜態(tài)測(cè)試和正確性證明。設(shè)計(jì)測(cè)試實(shí)例的方法一般有兩類(lèi):黑盒測(cè)試法和白盒測(cè)試法。在使用黑盒法設(shè)計(jì)測(cè)試實(shí)例時(shí),測(cè)試人員將程序看成一個(gè)“黑盒”,即不關(guān)心程序內(nèi)部是如何實(shí)現(xiàn)的,只是檢查程序是否符合它的“功能說(shuō)明”,所以使用黑盒法設(shè)計(jì)的測(cè)試用例完全是根據(jù)程序的功能說(shuō)明來(lái)設(shè)計(jì)的。

31.xx解析:本題考查的知識(shí)點(diǎn)是while循環(huán)的程序分析;主函數(shù)中首先定義了一個(gè)字符型變量C,接著執(zhí)行下面while語(yǔ)句,在while循環(huán)中,首先從鍵盤(pán)上讀入一個(gè)字符Y并給賦給字符變量C,賦值表達(dá)式的值不為'?',執(zhí)行輸出語(yǔ)句,輸出字符x。接著判斷while中的循環(huán)條件,讀入一個(gè)字符'?',并賦值給c,賦值表達(dá)式的值為'?',循環(huán)條件不再滿(mǎn)足,退出循環(huán)。

32.0240480,2,4\r\n0,4,8解析:本題主要考查for循環(huán)語(yǔ)句的使用以及靜態(tài)局部變量的特點(diǎn)。

33.21

34.99解析:本題考查宏定義與三目運(yùn)算符的綜合用法,宏定義是原樣替換,本題中,如果a>b成立,則a+1的值為整個(gè)表達(dá)式的值,否則為b+1的值為整個(gè)表達(dá)式的值,(應(yīng)注意后面的加1)。

35.存儲(chǔ)結(jié)構(gòu)

36.Y%2=1或Y%2!=0Y%2=1或Y%2!=0解析:判斷變量是否為奇數(shù)可以用變量與2取模,判斷結(jié)果是為1或下為0。本題具體做法如下:Y%2=1或Y%2!=0。

37.4040解析:本題中指針s1和s2都指向同一個(gè)內(nèi)存中的地址。因此語(yǔ)句“*s2=20;”執(zhí)行后,*\u3000s1=*s2=20。所以m最后的值為40。

38.98768769876\r\n876解析:指針是一種數(shù)據(jù)類(lèi)型,這種數(shù)據(jù)類(lèi)型的變量用來(lái)存放內(nèi)存中分配的存儲(chǔ)單元的首地址。指針的定義:

類(lèi)型說(shuō)明符*指針變量名;

39.在main函數(shù)中,調(diào)用reverse函數(shù)將b數(shù)組中的前8個(gè)成員進(jìn)行互置,執(zhí)行完畢后,b數(shù)組中的成員為{8,7,6,5,4,3,2,1,9,10},然后再執(zhí)行for循環(huán)結(jié)構(gòu),將b[6],b[7]…b[9]的值相加,結(jié)果為盟。\r\n\r\n

40.passwarnpasswarn解析:n++是在執(zhí)行完其所在的語(yǔ)句后再加1,因此,在執(zhí)行case的時(shí)候,n的值依然為'c',執(zhí)行case'c'后面的語(yǔ)句,先打印出“pass”;在執(zhí)行完case'c'后,未遇到break跳出switch,便接著執(zhí)行下面的語(yǔ)句,又打印出warn。所以此題輸出結(jié)果是passwarn。

41.C解析:本題中,printf('%2d,%2d\\n',x,y)表示輸出形式是十進(jìn)制整數(shù),域?qū)捠?,而在C語(yǔ)言中規(guī)定:當(dāng)域?qū)捫∮趯?shí)際寬度時(shí)域?qū)挷黄鹱饔?,按?shí)際寬度輸出因此最后的輸出值為102和10,所以,4個(gè)選項(xiàng)中選項(xiàng)C符合題意。

42.C解析:本題執(zhí)行過(guò)程如下:首先調(diào)用fun函數(shù),使得實(shí)參a的值3傳遞給形參p,得到局部變量d=8,打印出局部變量d的值8;返回主函數(shù)執(zhí)行“d+=a++”,此處d為全局變量,所以d=1+3+4(由于本題是值傳遞,所以在函數(shù)run中對(duì)p值的改變并不能引起a的改變),故本題材的輸出是8,4。

43.C在C語(yǔ)言中,文件指針實(shí)際上是指向一個(gè)結(jié)構(gòu)體類(lèi)型的指針,一般稱(chēng)這個(gè)結(jié)構(gòu)體類(lèi)型名為FILE,可以用此類(lèi)型名來(lái)定義文件指針。定義文件類(lèi)型指針變量的一般形式為:FILE*指針變量名:選項(xiàng)c)中少了“*”,所以選項(xiàng)C)錯(cuò)誤。

44.A解析:選項(xiàng)A)是一個(gè)表達(dá)式,它后面沒(méi)有分號(hào)結(jié)尾(C語(yǔ)言中規(guī)定語(yǔ)句必須以分號(hào)結(jié)束),所以它不是語(yǔ)句;選項(xiàng)B)用一個(gè)花括號(hào)把幾條語(yǔ)句括起來(lái)了,這是一個(gè)復(fù)合語(yǔ)句;選項(xiàng)C)中只有一個(gè)分號(hào),是一個(gè)空語(yǔ)句;選項(xiàng)D)是個(gè)復(fù)合語(yǔ)句,也是一個(gè)空語(yǔ)句。

45.B解析:信息隱蔽是指在一個(gè)模塊內(nèi)包含的信息(過(guò)程或數(shù)據(jù)),對(duì)于不需要這些信息的其他模塊來(lái)說(shuō)是不合晰問(wèn)的。模塊獨(dú)立性是指每個(gè)模塊只完成系統(tǒng)要求的獨(dú)立的子功能,并且與其他模塊的聯(lián)系最少且接口簡(jiǎn)單。衡量軟件的模塊獨(dú)立性的度量標(biāo)準(zhǔn)是耦合性和內(nèi)聚性。一個(gè)模塊的內(nèi)聚性越強(qiáng),則該模塊的模塊獨(dú)立性越強(qiáng)。而內(nèi)聚性是信息隱蔽和局部化概念的自然擴(kuò)長(zhǎng)。

46.D解析:軟件需求規(guī)格說(shuō)明書(shū)SRS,SoftwareRequirementSpecification)是需求分析階段的最后成果,是軟件開(kāi)發(fā)中的重要文檔之一。它有以下幾個(gè)方面的作用,①便于用戶(hù)、開(kāi)發(fā)人員進(jìn)行理解和交流;②反映出用戶(hù)問(wèn)題的結(jié)構(gòu),可以作為軟件開(kāi)發(fā)工作的基礎(chǔ)和依據(jù);③作為確認(rèn)測(cè)試和驗(yàn)收的依據(jù)。

47.D解析:編程風(fēng)格是在不影響性能的前提下,有效地編排和組織程序,以提高可讀性和可維護(hù)性。更直接地說(shuō),風(fēng)格就是意味著要按照規(guī)則進(jìn)行編程。這些規(guī)則包括:(1)程序文檔化。就是程序文檔包含恰當(dāng)?shù)臉?biāo)識(shí)符、適當(dāng)?shù)淖⒔夂统绦虻囊曈X(jué)組織等。(2)數(shù)據(jù)說(shuō)明。出于閱讀理解和維護(hù)的需要,最好使模塊前的說(shuō)明語(yǔ)句次序規(guī)范化。此外,為方便查找,在每個(gè)說(shuō)明語(yǔ)句的說(shuō)明符后,數(shù)據(jù)名應(yīng)按照字典順序排列。(3)功能模塊化。即把源程序代碼按照功能劃分為低耦合、高內(nèi)聚的模塊。(4)注意goto語(yǔ)句的使用。合理使用goto語(yǔ)句可以提高代碼的運(yùn)行效率,但goto語(yǔ)句的使用會(huì)破壞程序的結(jié)構(gòu)特性。因此,除非確實(shí)需要,否則最好不使用goto語(yǔ)句。因此,本題的正確答案是D。

48.C解析:主函數(shù)中定義了一個(gè)二維字符數(shù)組并初始化,初始化后的結(jié)果為str[0]='Hello'、str[1]='Beijing',然后定義一個(gè)字符指針變量p并讓它指向數(shù)組的首地址,即指向str[0],而在C語(yǔ)言中無(wú)論是一維還是多維數(shù)組,其元素在內(nèi)存中都是順序存放的,故p+20后指針指向str[1],所以strlen(p+20);返回的是str[1]中的字符串的長(zhǎng)度,即Beijing的長(zhǎng)度為7,所以最后輸出的值為7,所以,4個(gè)選項(xiàng)中選項(xiàng)C符合題意。

49.A解析:本題考查while循環(huán)。先判斷while循環(huán)的控制表達(dá)式是否成立,發(fā)現(xiàn)a>b>c不成立,所以不執(zhí)行循環(huán)。直接輸出a、b、c的值。

50.A解析:C語(yǔ)言變量名可由數(shù)字,字母,下劃線(xiàn)構(gòu)成,但首字符不能為數(shù)字。

51.D解析:本題中,i賦初值為1,并對(duì)其每次進(jìn)行加2操作,即i每次均為1~10之間的奇數(shù),s+=i+1,即s=s+i+1,相當(dāng)于s等于原來(lái)的s每次加上1~10之間的偶數(shù),直到i<lO不成立;當(dāng)i=1時(shí),s=0+1+1=2;當(dāng)i=3時(shí),s=2+3+1=2+4;當(dāng)i=5時(shí),s=2+4+5+1=2+4+6;當(dāng)i=7時(shí),s=2+4+6+7+1=2+4+6+8;當(dāng)i=9時(shí),s=2+4+6+8+9+1=2+4+6+8+10;當(dāng)i=11時(shí),i<10不成立,結(jié)束循環(huán)。所以,4個(gè)選項(xiàng)中選項(xiàng)D符合題意。

52.A

53.C解析:這是一道考查fread函數(shù)的題。buf是一個(gè)指針,fread是讀入數(shù)據(jù)的存放地址;fwrite是輸出數(shù)據(jù)的地址(以上指的是起始地址)。

54.C解析:選項(xiàng)A和B兩個(gè)表達(dá)式都越界了;選項(xiàng)D中,*t[2]是目標(biāo)變量,即—個(gè)整型值,而不是地址值。

55.BB)【解析】程序設(shè)計(jì)語(yǔ)言?xún)H僅使用順序、選擇和重復(fù)(循環(huán))三種基本控制結(jié)構(gòu)就足以表達(dá)出各種其他形式結(jié)構(gòu)的程序設(shè)計(jì)方法。遵循程序結(jié)構(gòu)化的設(shè)計(jì)原則,按結(jié)構(gòu)化程序設(shè)計(jì)方法設(shè)計(jì)出的程序易于理解、使用和維護(hù);可以提高編程工作的效率,降低軟件的開(kāi)發(fā)成本。

56.C解析:選項(xiàng)A中,p為數(shù)組名,其值是不能被改變的,故非法;選項(xiàng)B中,p[0]的類(lèi)型是int*,而a是二維數(shù)組名(類(lèi)型為int[][3]),兩者無(wú)法賦值,故非法:選項(xiàng)C中,p[0]為int型指針,&a[1][2]是int型變量的地址,可以合法賦值;選項(xiàng)D中,p[1]是int型指針,而&a是二維數(shù)組的地址(類(lèi)型為int(*)[2][3]),兩者無(wú)法賦值,故非法。所以本題應(yīng)該選擇C。

57.D解析:根據(jù)結(jié)構(gòu)變量的存儲(chǔ)特點(diǎn),p+1意味著增加地址值為結(jié)構(gòu)體數(shù)組a的一個(gè)元素所占的字節(jié)數(shù),即p++使p由a[0]指向a[1]起始地址。本題++p->n得到p指向的結(jié)構(gòu)體變量中成員n的值使之加1。因?yàn)閜指向數(shù)組a起始地址,p->n的值為5,再掏打自加1運(yùn)行,結(jié)果為6。

58.B解析:fgets函數(shù)的作用是從指定的文件讀入一個(gè)字符串。fgets(str,n,fp)沖的n為要求得到的字符的個(gè)數(shù),但只從fp指向的文件輸入n-1個(gè)字符,然后在最后加一個(gè)'\\0'字符,因此得到的字符串共有n個(gè)字符。

59.B解析:本題中的二維數(shù)組的每個(gè)元素就是一個(gè)由3個(gè)元素構(gòu)成的一維數(shù)組,根據(jù)條件for(k=0;k<3;++)和要求的a[k][k]可以得出本題的答案應(yīng)該是951。

60.B解析:continue是結(jié)束本次循環(huán),直接進(jìn)入到下次循環(huán)中,break用于循環(huán)語(yǔ)句中的作用是直接跳出本層循環(huán),能從多層循環(huán)中退出的語(yǔ)句除了goto語(yǔ)句,exit,return等語(yǔ)句也能直接跳出多層循環(huán)。注意:continue和break語(yǔ)句在while語(yǔ)句中的作用。

61.D按照從鍵盤(pán)輸入的數(shù)據(jù)可以_判斷字符l給了變量a,字符2給了變量b,字符<CR>即回車(chē)給了變量c,字符3給了變量d。所以打印輸出的結(jié)果為D選項(xiàng)。

62.A

63.D解析:面向?qū)ο蟮氖澜缡峭ㄟ^(guò)對(duì)象與對(duì)象間彼此的相互合作來(lái)推動(dòng)的,對(duì)象間的這種相互合作需要一個(gè)機(jī)制協(xié)助進(jìn)行,這樣的機(jī)制稱(chēng)為消息。消息是一個(gè)實(shí)例與另一個(gè)實(shí)例之間傳遞的信息,它請(qǐng)求對(duì)象執(zhí)行某一處理或回答某一要求的信息,它統(tǒng)一了數(shù)據(jù)流和控制流。

64.D

\n本題考查指針變量的賦值。**PP是定義一個(gè)指針變量,語(yǔ)句pp=&p是將pp指向指針P,*P和**PP都是指針P所指的內(nèi)存空間的內(nèi)容,即b的值。

\n

65.C數(shù)組的下標(biāo)是從0開(kāi)始的,A中越界,行下標(biāo)和列下標(biāo)都不能越界;B中,雖然是個(gè)地址,但是也同樣越界了;選項(xiàng)C中表示的是第一個(gè)的首地址;選項(xiàng)D表示的為其元素的值,并不是地址。

66.C數(shù)據(jù)定義語(yǔ)言:負(fù)責(zé)數(shù)據(jù)的模式定義與數(shù)據(jù)的物理存取構(gòu)建;數(shù)據(jù)操縱語(yǔ)言:負(fù)責(zé)數(shù)據(jù)的操縱,包括查詢(xún)及增加、刪除、修改等操作;數(shù)據(jù)控制語(yǔ)言:負(fù)責(zé)數(shù)據(jù)完整性、安全性的定義與檢查以及并發(fā)控制、故障恢復(fù)等功能。因此本題答案為C)。

67.Ak=a>b?(b>C?1:o):o;a>b并且b>C,k為1,其他情況k為o,答案為A)。

68.C解析:本題中,“printf('%2d,%2d\\n',x,y)”表示以逗號(hào)隔開(kāi)輸出兩個(gè)十進(jìn)制整數(shù),每個(gè)整數(shù)域?qū)捠?。而在C語(yǔ)言中規(guī)定:當(dāng)域?qū)捫∮趯?shí)際寬度時(shí)域?qū)挷黄鹱饔?,按?shí)際寬度輸出,因此最后的輸出值為102和10(y的初值012表示八進(jìn)制整數(shù)12,等于十進(jìn)制的10)。所以,4個(gè)選項(xiàng)中選項(xiàng)C符合題意。

69.C

70.B標(biāo)識(shí)符命名規(guī)則:標(biāo)識(shí)符必須由字母(a~z或A~z)或下劃線(xiàn)(_)開(kāi)頭;標(biāo)識(shí)符的其他部分可以用字母、下劃線(xiàn)或數(shù)字(0~9)組成;大小寫(xiě)字母表示不同意義,如cout和Cout代表不同的標(biāo)識(shí)符;在定義標(biāo)識(shí)符時(shí),雖然語(yǔ)法上允許用下劃線(xiàn)開(kāi)頭,但是,最好避免定義用下劃線(xiàn)開(kāi)頭的標(biāo)識(shí)符,因?yàn)榫幾g器常常定義一些下劃線(xiàn)開(kāi)頭的標(biāo)識(shí)符。因此,本題正確答案為B)。

71.C

72.D本題考察for循環(huán)語(yǔ)句,注意第二個(gè)for語(yǔ)句的后面有一個(gè)分號(hào),即printf函數(shù)不屬于循環(huán)體,無(wú)論循環(huán)執(zhí)行多少次,printf(”*”)語(yǔ)句只執(zhí)行一次。因此,本題正確答案為D)。

73.D解析:串的長(zhǎng)度指的是串中字符的個(gè)數(shù),且其字符個(gè)數(shù)可以為零。選項(xiàng)D正確。

74.A

75.C

76.D

77.C

\n表達(dá)式a++,b++,a+b是一個(gè)逗號(hào)表達(dá)式,在逗號(hào)表達(dá)式中,從左向右進(jìn)行各個(gè)表達(dá)式的運(yùn)算,最后一個(gè)表達(dá)式的值就是逗號(hào)表達(dá)式的結(jié)果,所以表達(dá)式a++,b++,a+b的值為5,所以fun函數(shù)中的形參x的值為5;表達(dá)式c++先把變量C的值傳給形參y,然后c的值加1,所以y的值為3,因此函數(shù)fun((a++,b++,a+b),c++)的返回值為8。

\n

78.B要想表示字符串常量應(yīng)該用雙引號(hào)表示,即“cd”,單引號(hào)用于表示字符常量,所以B選項(xiàng)中的表示方法錯(cuò)誤。

79.C解析:軟件系統(tǒng)結(jié)構(gòu)的總體設(shè)計(jì)包括:基于功能層次結(jié)構(gòu)建立系統(tǒng)、按功能劃分成模塊的層次結(jié)構(gòu)、確定每個(gè)模塊的功能、建立與已確定的軟件需求的對(duì)應(yīng)關(guān)系、確定模塊間的調(diào)用關(guān)系和模塊間的接口、評(píng)估模塊劃分的質(zhì)量等方面。詳細(xì)設(shè)計(jì)的任務(wù)是:在使用程序設(shè)計(jì)語(yǔ)言編制程序以前,對(duì)所采用算法的邏輯關(guān)系進(jìn)行分析,設(shè)計(jì)出全部必要的過(guò)程細(xì)節(jié),并給予清晰的表達(dá)。需求分析是指用戶(hù)對(duì)目標(biāo)軟件系統(tǒng)在功能、行為、性能、設(shè)計(jì)約束等方面的期望。需求分析的任務(wù)是發(fā)現(xiàn)需求、求精、建模和定義需求,通常包括:功能需求、性能需求、環(huán)境需求、可靠性需求、安全保密要求、用戶(hù)界面需求、資源使用需求、成本消耗需求、開(kāi)發(fā)進(jìn)度需求等。編程調(diào)試的任務(wù)是診斷和改正程序中潛在的錯(cuò)誤。綜上所述。軟件功能分解只能發(fā)生在總體設(shè)計(jì)階段。

80.C題中整型指針變量P存放的是變量C的地址。所以本題答案為C。

81.(1)錯(cuò)誤:float*k;

正確:floatk;

(2)錯(cuò)誤:if(*a>*c)

正確:if(*a<*c)

【解析】變量定義首先要判斷變量的類(lèi)型,給定程序的賦值語(yǔ)句中,k是以變量形式進(jìn)行賦值的,所以k不是指針,定義為指針是不正確的;由給出程序可以看出,if語(yǔ)句是為了將小于*C的值放入*C中,所以應(yīng)該改為“if(*a<*c)”。

82.

【解析】按題目中的要求,要得到整數(shù)c,首先要得到整數(shù)a和b的個(gè)位和十位上的數(shù),可以通過(guò)取余和整除來(lái)實(shí)現(xiàn),再將其分別乘以1000,100,10,1就可以得到所要求的整數(shù)c。

2022年廣東省江門(mén)市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.設(shè)二叉排序樹(shù)中有n個(gè)結(jié)點(diǎn),則二叉排序樹(shù)的平均查找長(zhǎng)度為()。A.O(1)

B.O(log2n)

C.O(n)

D.(n2)

2.若有說(shuō)明語(yǔ)句:double*P,a;則能通過(guò)scanf語(yǔ)句正確給輸入項(xiàng)讀入數(shù)據(jù)的程序段是()。

A.*p=&a;scanf("%lf",p);

B.*p=&a;scanf("%f",p);

C.p=&a;scanf("%lf",*p);

D.p=&a;scanf("%lf",p);

3.

4.以下對(duì)C語(yǔ)言函數(shù)的有關(guān)描述中,正確的是

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

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

C.函數(shù)必須有返回值,否則不能使用函數(shù)

D.函數(shù)必須有返回值,返回值類(lèi)型不定

5.計(jì)算機(jī)系統(tǒng)的組成是______。

A.主機(jī)、外設(shè)B.運(yùn)算器、控制器C.硬件系統(tǒng)和軟件系統(tǒng)D.CPU、內(nèi)存儲(chǔ)器

6.用單鏈表方式存儲(chǔ)的線(xiàn)性表,存儲(chǔ)每個(gè)結(jié)點(diǎn)需要兩個(gè)域,一個(gè)數(shù)據(jù)域,另一個(gè)是()。

A.當(dāng)前結(jié)點(diǎn)的所在地址B.后繼結(jié)點(diǎn)的所在地址C.空指針域D.空閑域

7.程序設(shè)計(jì)的任務(wù)包括()。

A.編寫(xiě)程序代碼并上機(jī)調(diào)試B.確定所用數(shù)據(jù)結(jié)構(gòu)C.確定所用算法D.以上選項(xiàng)均正確

8.下列程序的輸出結(jié)果是()。#include<stdio.h>main{inta=0,i;for(i=1;i<5;i++){switch(i){case0:case3:a+=1;case1;case2:a+=2;default:a+=3;}}printf("%d",a);}A.19B.1C.6D.8

9.數(shù)據(jù)的邏輯關(guān)系是指數(shù)據(jù)元素的()。

A.關(guān)聯(lián)B.結(jié)構(gòu)C.數(shù)據(jù)項(xiàng)D.存儲(chǔ)方式

10.有以下程序:#include<stdio.h>main(){intb[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1;for(i=0;i<3;i++)for(j=i;j<=i;j++)t+=b[i][b[j][i]];printf(“%d\n”,t);}程序的運(yùn)行結(jié)果是()。

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

11.有以下程序:#include<stdio.h>main(){intt;scanf(“%d”,&t);if(t++<6)printf(“%d\n”,t);elseprintf(“%d\n”,t--);printf(“\n”);}執(zhí)行時(shí)輸入6并按<Enter>鍵,則輸出結(jié)果是()。A.6B.8C.7D.5

12.

13.一個(gè)算法的語(yǔ)句執(zhí)行次數(shù)為(2n2+2nlog2n+4n-7),則其時(shí)間復(fù)雜度為()。

A.O(n2)B.O(nlog2n)C.O(n)D.O(2n2)

14.

15.一個(gè)順序棧一旦聲明,其占用空間的大小()。

A.已固定B.可以變動(dòng)C.不能固定D.動(dòng)態(tài)變化

16.下面哪些使用的不是貪心算法()

A.單源最短路徑中的Dijkstra算法

B.最小生成樹(shù)的Prim算法

C.最小生成樹(shù)的Kruskal算法

D.計(jì)算每對(duì)頂點(diǎn)最短路徑的Floyd-Warshall算法

17.

18.針對(duì)二分查找算法,假設(shè)一個(gè)有序數(shù)組有136個(gè)元素,那么要查找到第10個(gè)元素,需要比較的元素為()

A.68,34,17,9,13,11,10

B.68,34,17,8,12,10

C.69,35,18,10

D.68,34,18,9,13,11,10

19.有以下程序:

程序執(zhí)行后的輸出結(jié)果是()。

A.45B.50C.60D.55

20.以下程序的輸出結(jié)果是()。main{inta=1,b;for(b=1,b<=10;b++){if(a>=8)break;if(a%2==1){a+=5;continue;}a=3;}printf("%d\n",b);}A.A.3B.4C.5D.6

二、2.填空題(20題)21.若有下列定義和語(yǔ)句:

char*s1="12345",*s2="1234";

printf("%d\n",strlen(strcpy(s1,s2)));

則輸出結(jié)果為_(kāi)_____。

22.計(jì)算機(jī)網(wǎng)絡(luò)按通信距離來(lái)劃分可以分為【】。

23.以下程序中函數(shù)f的功能是在數(shù)組x的n個(gè)數(shù)(假定n個(gè)數(shù)互不相同)中找出最大最小數(shù),將其中最小的數(shù)與第一個(gè)數(shù)對(duì)換,把最大的數(shù)與最后一個(gè)數(shù)對(duì)換。請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

voidf(intx[],intn)

{intp0,p1,i,j,t,m;

i=j=x[0];p0=p1=0;

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

{if(x[m]>i){i=x[m];p0=m;}

elseif(x[m]<j){j=x[m];p1=m;}

}

t=x[p0];x[p0]=x[n-1];x[n-1]=t;

t=x[p1];x[p1]=【】;【】=t;

}

main()

{inta[10],u;

for(u=0;u<10;u++)scanf("%d",&a[u]);

f(a,10);

for(u=0;u<10;u++)printf("%d",a[u]);

printf("\n");

}

24.關(guān)系模型的3類(lèi)完整性指的是【】、參照完整性、用戶(hù)定義的完整性。

25.用樹(shù)形結(jié)構(gòu)表示實(shí)體之間聯(lián)系的模型是()。

26.數(shù)據(jù)獨(dú)立性分為邏輯獨(dú)立性與物理獨(dú)立性。當(dāng)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)改變時(shí),其邏輯結(jié)構(gòu)可以不變,因此,基于邏輯結(jié)構(gòu)的應(yīng)用程序不必修改,稱(chēng)為【】。

27.數(shù)據(jù)庫(kù)系統(tǒng)中實(shí)現(xiàn)各種數(shù)據(jù)管理功能的核心軟件稱(chēng)為【】。

28.下面的語(yǔ)句要使指針p指向一個(gè)double類(lèi)型的動(dòng)態(tài)存儲(chǔ)單元,請(qǐng)?zhí)羁铡?/p>

p=【】malloc(sizeof(double));

29.深度為5的滿(mǎn)二叉樹(shù)中,葉子結(jié)點(diǎn)的個(gè)數(shù)為_(kāi)_____。

30.若按功能劃分,軟件測(cè)試的方法通常分為白盒測(cè)試方法和【】測(cè)試方法。

31.有以下程序:

#include<stdio.h>

main()

{

charc;

while((c=getchar())!='?')putchar(--c);

}

程序運(yùn)行時(shí),如查從鍵盤(pán)輸入:Y?N?<回車(chē)>,則輸出的結(jié)果為_(kāi)_____。

32.以下程序的運(yùn)行結(jié)果是【】。

#include<stdio.h>

main()

{intfun();fun();}

fun()

{staticinta[3]={0,1,2};

inti;

for(i=0;i<3;i++)a[i]+=a[i];

for(i=0;i<3;i++)printf("%d,",a[i]);

printf("\n");}

33.以下程序的輸出結(jié)果是______。

main()

{inta=1,b=2;

a=a+b;b=a-b;a=a-b;

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

}

34.以下程序的運(yùn)行結(jié)果是【】。

#defineMAX(a,b)(a>b?a:b)+1

main()

{inti=6,j=8,k;

printf("%d\n",MAX(i,j));

}

35.數(shù)據(jù)結(jié)構(gòu)分為邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu),線(xiàn)性鏈表屬于【】。

36.設(shè)Y是int型變量,請(qǐng)寫(xiě)出判斷Y為奇數(shù)的關(guān)系表達(dá)式【】。

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

#include<stdlib.h>

main()

{char*s1,*s2,m;

s1=s2=(char*)malloc(sizeof(char));

*s1=15;*s2=20;m=*s1+*s2;

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

}

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

main()

{chars[]="9876",*p;

for(p=s;p<s+2;p++)printf("%s\n",p);

}

39.以下程序的輸出結(jié)果是______。

voidreverse(inta[],intn)

{inti,t;

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

{t=a[i];a[i]=a[n+1+i];a[n-1-i]=t;}

}

main()

{intb[10]={1,2,3,4,5,6,7,8,9,10};inti,s=0;

reverse(b,8);

for(i=6;i<10;i++)s+=b[i];

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

}

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

intn='c';

switch(n++)

{default:printf("error");break;

case'a':

case'A':

case'b':

case'B':printf("good");break;

case'c':case'C':printf("pass");

case'd':case'D':printf("warn");

}

三、1.選擇題(20題)41.有以下程序:main(){intx=102,y=012;printf(“%2d,%2d\n”,x,y);}執(zhí)行后輸出結(jié)果是()。

A.10,01B.02,12C.102,10D.02,10

42.下列程序執(zhí)行后輸出的結(jié)果是______。intd=1;fun(intp){intd=5;d+=p++;printf("%d,",D);}main(){inta=3;fun(A);d+=a++;printf("%d\n",D);}

A.8,12B.9,13C.8,4D.9,5

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

A.在C語(yǔ)言中,對(duì)二進(jìn)制文件的訪(fǎng)問(wèn)速度比文本文件快

B.在C語(yǔ)言中,隨機(jī)文件以二進(jìn)制代碼形式存儲(chǔ)數(shù)據(jù)

C.語(yǔ)句FILEfp;定義了一個(gè)名為fp的文件指針

D.C語(yǔ)言中的文本文件以ASCII碼形式存儲(chǔ)數(shù)據(jù)

44.下列不是合法的C語(yǔ)言語(yǔ)句是()。

A.a=5B.{inti;i++;}C.;D.{;}

45.信息隱蔽的概念與下述______概念直接相關(guān)。

A.軟件結(jié)構(gòu)定義B.模塊獨(dú)立性C.模塊類(lèi)型劃分D.模擬耦合度

46.下列敘述中,不屬于軟件需求規(guī)格說(shuō)明書(shū)的作用的是()

A.便于用戶(hù),開(kāi)發(fā)人員進(jìn)行理解和交流

B.反映出用戶(hù)問(wèn)題的結(jié)構(gòu),可以作為軟件開(kāi)發(fā)工作的基礎(chǔ)和依據(jù)

C.作為確認(rèn)測(cè)試和驗(yàn)收的依據(jù)

D.便于開(kāi)發(fā)人員進(jìn)行需求分析

47.下列選項(xiàng)中不符合良好程序設(shè)計(jì)風(fēng)格的是A.源程序要文檔化B.數(shù)據(jù)說(shuō)明的次序要規(guī)范化C.避免濫用goto語(yǔ)句D.模塊設(shè)計(jì)要保證高耦合、高內(nèi)聚

48.有以下程序:#include<string.h>main(){charstr[][20]={"Hello","beijing"},*p=str;ptintf("%\n",strlen(p+20));}程序運(yùn)行后的輸出結(jié)果是()。

A.0B.5C.7D.20

49.有下列程序:

main()

{intt,a=1,b=5,C=-2;

while(a>b>C)

{t=a;a=b;b=t;c++;}

printf("%d,%d,%d",a,b,C);

}

程序的輸出結(jié)果是()。

A.1,5,0B.1,5,-2C.5,1,-1D.5,1,-2

50.下面的程序在編澤時(shí)產(chǎn)生錯(cuò)誤,其出錯(cuò)原因是()。#include<stdio.h>main(){int1_case;floatprintF;printf("請(qǐng)輸入2個(gè)數(shù):");scanf("%d%f",&1_case,&printF);printf("%d%f\n",1_case,printF);}

A.定義語(yǔ)句出錯(cuò),1_case不能作為變量名

B.定義語(yǔ)句出錯(cuò),printF不能用作用戶(hù)自定義標(biāo)識(shí)符

C.定義語(yǔ)句無(wú)錯(cuò),scanf不能作為輸入函數(shù)使用

D.定義語(yǔ)句無(wú)錯(cuò),printf不能輸出1_case的值

51.有以下程序:main(){inti,s=0;for(i=1;i<10;i+=2)s+=i+1;ptintf("%d\n",s);}程序執(zhí)行后的輸出結(jié)果是()。

A.自然數(shù)1~9的累加和B.自然數(shù)1~10的累加和C.自然數(shù)1~9中奇數(shù)之和D.自然數(shù)1~10中偶數(shù)之和

52.中國(guó)國(guó)家計(jì)算機(jī)網(wǎng)絡(luò)設(shè)施是()

A.NCFCB.CERNETC.ISDND.Iinternet

53.已知函數(shù)的調(diào)用形式為fread(buf,size,count,fp),參數(shù)buf的含義是

A.一個(gè)整型變量,代表要讀入的數(shù)據(jù)項(xiàng)總數(shù)

B.一個(gè)文件指針,指向要讀的文件

C.一個(gè)指針;指向要讀入數(shù)據(jù)的存放地址

D.一個(gè)存儲(chǔ)區(qū),存放要讀的數(shù)據(jù)項(xiàng)

54.若有以下定義:intt[3][2];,能正確表示t數(shù)組元素地址的表達(dá)式是______。

A.&t[3][2]B.t[3]C.t[1]D.*t[2]

55.結(jié)構(gòu)化程序設(shè)計(jì)的3種結(jié)構(gòu)是()

A.順序結(jié)構(gòu),分支結(jié)構(gòu),跳轉(zhuǎn)結(jié)構(gòu)

B.順序結(jié)構(gòu),選擇結(jié)構(gòu),循環(huán)結(jié)構(gòu)

C.分支結(jié)構(gòu),選擇結(jié)構(gòu),循環(huán)結(jié)構(gòu)

D.分支結(jié)構(gòu),跳轉(zhuǎn)結(jié)構(gòu),循環(huán)結(jié)構(gòu)

56.若有定義語(yǔ)句:inta[2][3],*p[3],則以下語(yǔ)句中正確的是A.p=a;B.p[0]=a;C.p[0]=&a[1][2];D.p[1]=&a;

57.若有以下說(shuō)明和語(yǔ)句:structst{intn;char*ch;};structsta[3]={5,"abc",7,"def",9,"ghk"},*p=a;則值為6的表達(dá)式是______。

A.p++->nB.p->n++C.(*p).n++D.++p->n

58.C語(yǔ)言庫(kù)函數(shù)fgets(str,n,fp)的功能是______。

A.從中指向的文件中讀取長(zhǎng)度n的字符串存入str指向的內(nèi)存

B.從fp指向的文件中讀取長(zhǎng)度不超過(guò)n-1的字符串存入str指向的內(nèi)存

C.從fp指向的文件中讀取n個(gè)字符串存入str指向的內(nèi)存

D.從str讀取至多n個(gè)字符到文件fp

59.定義如下變量和數(shù)組:intk;inta[3][3]={9,8,7,6,5,4,3,2,1};則下面語(yǔ)句的輸出結(jié)果是()。for(k=0;k<3;k++)printf("%d",a[k][k]);

A.753B.951C.963D.741

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

A.continue語(yǔ)句的作用是結(jié)束整個(gè)循環(huán)的執(zhí)行

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

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

D.從多層循環(huán)嵌套中退出時(shí),只能使用goto語(yǔ)句

四、選擇題(20題)61.有以下程序:

當(dāng)執(zhí)行程序時(shí),按下列方式輸入數(shù)據(jù)(從第l列開(kāi)始,<;CR>;代表回車(chē),注意:回車(chē)也是一個(gè)字符]12<;CR>;34<;CR>;則輸出結(jié)果是()。

A.12B.123C.1234D.12343

62.下列語(yǔ)句中,顯示沒(méi)有下畫(huà)線(xiàn)的超鏈接的語(yǔ)句是()。

A.a{text—decoration:none}

B.a{text—decoration:nounderline}

C.a{underline:none}

D.a{decoration:nounderline}

63.在面向?qū)ο蠓椒ㄖ校粋€(gè)對(duì)象請(qǐng)求另一對(duì)象為其服務(wù)的方式是通過(guò)發(fā)送()。A.調(diào)用語(yǔ)句B.命令C.口令D.消息

64.

若有定義和語(yǔ)句:

int**pp),*P,a=20,b=10;

pp=&p;p=&a;p=&b;printf("%d,%d\n",*P,*PP);

則輸出結(jié)果是()。

A.20,10B.20,20C.10,20D.10,10

65.若有以下的定義:‘intt[3][2];”,能正確表示t數(shù)組元素地址的表達(dá)式是()。

A.&t[3][2]B.t[3]C.t[l]D.t[2][2]

66.負(fù)責(zé)數(shù)據(jù)庫(kù)中查詢(xún)操作的數(shù)據(jù)庫(kù)語(yǔ)言是()。

A.數(shù)據(jù)定義語(yǔ)言B.數(shù)據(jù)管理語(yǔ)言C.數(shù)據(jù)操縱語(yǔ)言D.數(shù)據(jù)控制語(yǔ)言

67.以下程序愛(ài)中,與語(yǔ)句:

68.

有以下程序:

main

{intx=102,y=012;

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

}

執(zhí)行后輸出結(jié)果是()。

A.10,01B.02,12C.102,10D.02,10

69.

70.以下選項(xiàng)中合法的標(biāo)識(shí)符是()。A.1_2B._12C.2_1D.12__

71.

72.以下程序段中的變量已正確定義:

程序段的輸出結(jié)果是()。

A.********B.****C.**D.*

73.串的長(zhǎng)度是______。A.A.串中不同字符的個(gè)數(shù)

B.串中不同字母的個(gè)數(shù)

C.串中所含字符的個(gè)數(shù)且字符個(gè)數(shù)大于零

D.串中所含字符的個(gè)數(shù)

74.

75.

76.

77.

有以下程序:

fun(intx,inty){return(x+y);)

main

{inta=1,b=2,c=2,sum;

sum=fun((a++,b++,a+b),c++);

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

}

執(zhí)行后的結(jié)果是()。

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

78.以下選項(xiàng)中不能作為c語(yǔ)言合法常量的是()。.

A.0.1e+6B.’cd’.C.”、a”D.’\011

79.在結(jié)構(gòu)化方法中,軟件功能分解屬于下列軟件開(kāi)發(fā)中的階段是______。

A.詳細(xì)設(shè)計(jì)B.需求分析C.總體設(shè)計(jì)D.編程調(diào)試

80.若在定義語(yǔ)句:inta,b,c,*p=&c;之后,接著執(zhí)行以下選項(xiàng)中的語(yǔ)句,則能正確執(zhí)行的語(yǔ)句是()。A.A.scanf("%d",a,b,c);B.scanf("%d%d%d",a,b,c):

C.scanf("%d",p);

D.scanf("%d",&p);

五、程序改錯(cuò)題(1題)81.下列給定程序中函數(shù)fun()的功能是:把從主函數(shù)中輸人的3個(gè)數(shù)。最大的數(shù)放在a中,中間的數(shù)放在b中,最小的數(shù)放在C中。例如,若輸入的數(shù)為:55,12,34,輸出的結(jié)果應(yīng)當(dāng)是:a=55.0,b=34.0,c=12.0。請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!試題程序:

六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫(xiě)函數(shù)proc,其功能是將兩個(gè)兩位數(shù)的正整數(shù)a、b合并形成一個(gè)整數(shù)放在c中。合并的方式是:將a數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)個(gè)位和十位上,b數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的百位和千位上。例如,當(dāng)a=25,b=43,實(shí)際輸入時(shí)個(gè)數(shù)之間以Enter鍵分隔,調(diào)用該函數(shù)后,c=3452。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。試題程序:

參考答案

1.B

2.D解析:*p間接引用指針指向的變量,因此“(*p)=&a”不對(duì)。scanf()的輸入變量必須為地址,因此C是錯(cuò)誤的。

3.C

4.A解析:C語(yǔ)言中的函數(shù)可以進(jìn)行遞歸調(diào)用,但不能在函數(shù)中定義函數(shù),即函數(shù)不能嵌套定義。函數(shù)可以沒(méi)有返回值,若有返回值,則返回值類(lèi)型必須確定。

5.C

6.B

7.D程序設(shè)計(jì)是一門(mén)技術(shù),需要相應(yīng)的理論、技術(shù)、方法和工具來(lái)支持。程序設(shè)計(jì)的任務(wù)包括選項(xiàng)A)、B)、c)等方面。

8.A本題考查switch語(yǔ)句。當(dāng)i一1時(shí),執(zhí)行case1,因?yàn)闆](méi)有遇到break語(yǔ)句,所以依次往下運(yùn)行,“a=a+2=2,a=a+3=5”;當(dāng)i=2時(shí),執(zhí)行case2,因?yàn)闆](méi)有遇到break語(yǔ)句,所以依次往下執(zhí)行,“a=a+2=7,a=a+3=10”;當(dāng)i=3時(shí),執(zhí)行case3,a=a+1=11,因?yàn)闆](méi)有遇到break語(yǔ)句,所以依次往下運(yùn)行,a—a+2—13,a—a+3一l6:當(dāng)i=4時(shí),執(zhí)行default,a=a+3=19,結(jié)束循環(huán)。

9.A

10.B內(nèi)循環(huán)只循環(huán)一次就結(jié)束,第1次外循環(huán)時(shí),t=t+b[0][b[0][0]]=1+b[0][0]=1+0=1;第2次外循環(huán)時(shí),t=t+b[1][b[1][1]]=1+b[1][1]=1+1=2;第3次外循環(huán)時(shí),1=1+b[2][b[2][2]]=2+b[2][2]=2+2=4。故本題答案為B選項(xiàng)。

11.C后綴自增運(yùn)算“t++”表示先運(yùn)算,再自加。語(yǔ)句“if(t++<6)printf(“%d\\n”,t);elseprintf(“%d\\n”,t--);”中t的初值為6,則“t++<6”,條件為假,t自增至7,執(zhí)行“printf(“%d\\n”,t--);”,此時(shí)t=7,輸出t值為7,之后進(jìn)行自減操作t=6。因此輸出的結(jié)果為7。故本題答案為C選項(xiàng)。

12.C

13.A

14.B

15.A

16.D

17.C

18.B

19.C內(nèi)部靜態(tài)變量是始終存在的,當(dāng)函數(shù)被調(diào)用退出后,內(nèi)部靜態(tài)變量會(huì)保存數(shù)據(jù),再次調(diào)用該函數(shù)時(shí),以前調(diào)用時(shí)的數(shù)值仍然保留著。Fun(a,5)的值是l5,再次調(diào)用后slim=15,所以Fun(b,4)=45,s=45+15=60。

20.B當(dāng)b=1時(shí),a=1,第二個(gè)if語(yǔ)句成立,此時(shí)a=6,返回for循環(huán);當(dāng)b=2,兩個(gè)if語(yǔ)句都為假,此時(shí)a=3,再返回循環(huán);當(dāng)b=3,第二個(gè)if成立,此時(shí)a=8,繼續(xù)循環(huán);當(dāng)b=4,第一個(gè)if成立,退出for循環(huán)體時(shí)b為4,a為8。

21.44解析:strcpy(s1,s2)函數(shù)的作用是將字符串s2中的內(nèi)容拷貝到字符串s1中的內(nèi)容覆蓋。strlen()函數(shù)是求字符串的長(zhǎng)度。本題實(shí)際上是要求s2字符串的長(zhǎng)度,即是4。

22.局域網(wǎng)和廣域網(wǎng)局域網(wǎng)和廣域網(wǎng)

23.x[0]x[0]x[0],x[0]解析:函數(shù)f()通過(guò)for循環(huán)逐個(gè)比較數(shù)組x中的元素,循環(huán)結(jié)束后,p0和p1分別表示最大值和最小值在數(shù)組中的下標(biāo)位置,然后按照題意將最大值x[p0]和數(shù)組的最后一個(gè)元素x[n-1]交換位置,再將最小值x[p1]和第一個(gè)元素(x[0])進(jìn)行交換,所以空白處應(yīng)該填入x[0]。

24.實(shí)體完整性實(shí)體完整性解析:關(guān)系模型中的完整性是指數(shù)據(jù)庫(kù)中數(shù)據(jù)的正確性和一致性。為了維護(hù)數(shù)據(jù)庫(kù)中數(shù)據(jù)與現(xiàn)實(shí)世界的一致性,關(guān)系數(shù)據(jù)庫(kù)的插入、刪除、修改操作必須遵循3類(lèi)完整性規(guī)則。關(guān)系模型的3類(lèi)完整性指的是實(shí)體完整性、參照完整性和用戶(hù)定義的完整性。

25.層次模型層次模型解析:層次模型是最早發(fā)展起來(lái)的數(shù)據(jù)庫(kù)模型。層次模型的基本結(jié)構(gòu)是樹(shù)形結(jié)構(gòu)。

26.物理獨(dú)立性物理獨(dú)立性解析:數(shù)據(jù)獨(dú)立性分為邏輯獨(dú)立性與物理獨(dú)立性。當(dāng)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)改變時(shí),其邏輯結(jié)構(gòu)可以不變,因此,基于邏輯結(jié)構(gòu)的應(yīng)用程序不必修改,稱(chēng)為物理獨(dú)立性。

27.數(shù)據(jù)庫(kù)管理系統(tǒng)數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)

28.(double*)(double*)解析:本題考查強(qiáng)制類(lèi)型轉(zhuǎn)換。函數(shù)malloc的默認(rèn)返回是void*,若要使指針指向double類(lèi)型,必須進(jìn)行類(lèi)型轉(zhuǎn)換,類(lèi)型轉(zhuǎn)換格式為:(數(shù)據(jù)類(lèi)型*)。

29.1616解析:滿(mǎn)二叉樹(shù)的葉子結(jié)點(diǎn)都在最后一層,即第4層,且第4層的結(jié)點(diǎn)達(dá)到最大數(shù),即25-1=16。

30.黑盒軟件測(cè)試的方法有三種:動(dòng)態(tài)測(cè)試、靜態(tài)測(cè)試和正確性證明。設(shè)計(jì)測(cè)試實(shí)例的方法一般有兩類(lèi):黑盒測(cè)試法和白盒測(cè)試法。在使用黑盒法設(shè)計(jì)測(cè)試實(shí)例時(shí),測(cè)試人員將程序看成一個(gè)“黑盒”,即不關(guān)心程序內(nèi)部是如何實(shí)現(xiàn)的,只是檢查程序是否符合它的“功能說(shuō)明”,所以使用黑盒法設(shè)計(jì)的測(cè)試用例完全是根據(jù)程序的功能說(shuō)明來(lái)設(shè)計(jì)的。

31.xx解析:本題考查的知識(shí)點(diǎn)是while循環(huán)的程序分析;主函數(shù)中首先定義了一個(gè)字符型變量C,接著執(zhí)行下面while語(yǔ)句,在while循環(huán)中,首先從鍵盤(pán)上讀入一個(gè)字符Y并給賦給字符變量C,賦值表達(dá)式的值不為'?',執(zhí)行輸出語(yǔ)句,輸出字符x。接著判斷while中的循環(huán)條件,讀入一個(gè)字符'?',并賦值給c,賦值表達(dá)式的值為'?',循環(huán)條件不再滿(mǎn)足,退出循環(huán)。

32.0240480,2,4\r\n0,4,8解析:本題主要考查for循環(huán)語(yǔ)句的使用以及靜態(tài)局部變量的特點(diǎn)。

33.21

34.99解析:本題考查宏定義與三目運(yùn)算符的綜合用法,宏定義是原樣替換,本題中,如果a>b成立,則a+1的值為整個(gè)表達(dá)式的值,否則為b+1的值為整個(gè)表達(dá)式的值,(應(yīng)注意后面的加1)。

35.存儲(chǔ)結(jié)構(gòu)

36.Y%2=1或Y%2!=0Y%2=1或Y%2!=0解析:判斷變量是否為奇數(shù)可以用變量與2取模,判斷結(jié)果是為1或下為0。本題具體做法如下:Y%2=1或Y%2!=0。

37.4040解析:本題中指針s1和s2都指向同一個(gè)內(nèi)存中的地址。因此語(yǔ)句“*s2=20;”執(zhí)行后,*\u3000s1=*s2=20。所以m最后的值為40。

38.98768769876\r\n876解析:指針是一種數(shù)據(jù)類(lèi)型,這種數(shù)據(jù)類(lèi)型的變量用來(lái)存放內(nèi)存中分配的存儲(chǔ)單元的首地址。指針的定義:

類(lèi)型說(shuō)明符*指針變量名;

39.在main函數(shù)中,調(diào)用reverse函數(shù)將b數(shù)組中的前8個(gè)成員進(jìn)行互置,執(zhí)行完畢后,b數(shù)組中的成員為{8,7,6,5,4,3,2,1,9,10},然后再執(zhí)行for循環(huán)結(jié)構(gòu),將b[6],b[7]…b[9]的值相加,結(jié)果為盟。\r\n\r\n

40.passwarnpasswarn解析:n++是在執(zhí)行完其所在的語(yǔ)句后再加1,因此,在執(zhí)行case的時(shí)候,n的值依然為'c',執(zhí)行case'c'后面的語(yǔ)句,先打印出“pass”;在執(zhí)行完case'c'后,未遇到break跳出switch,便接著執(zhí)行下面的語(yǔ)句,又打印出warn。所以此題輸出結(jié)果是passwarn。

41.C解析:本題中,printf('%2d,%2d\\n',x,y)表示輸出形式是十進(jìn)制整數(shù),域?qū)捠?,而在C語(yǔ)言中規(guī)定:當(dāng)域?qū)捫∮趯?shí)際寬度時(shí)域?qū)挷黄鹱饔?,按?shí)際寬度輸出因此最后的輸出值為102和10,所以,4個(gè)選項(xiàng)中選項(xiàng)C符合題意。

42.C解析:本題執(zhí)行過(guò)程如下:首先調(diào)用fun函數(shù),使得實(shí)參a的值3傳遞給形參p,得到局部變量d=8,打印出局部變量d的值8;返回主函數(shù)執(zhí)行“d+=a++”,此處d為全局變量,所以d=1+3+4(由于本題是值傳遞,所以在函數(shù)run中對(duì)p值的改變并不能引起a的改變),故本題材的輸出是8,4。

43.C在C語(yǔ)言中,文件指針實(shí)際上是指向一個(gè)結(jié)構(gòu)體類(lèi)型的指針,一般稱(chēng)這個(gè)結(jié)構(gòu)體類(lèi)型名為FI

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論