2021-2022年河北省滄州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)_第1頁(yè)
2021-2022年河北省滄州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)_第2頁(yè)
2021-2022年河北省滄州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)_第3頁(yè)
2021-2022年河北省滄州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)_第4頁(yè)
2021-2022年河北省滄州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)_第5頁(yè)
已閱讀5頁(yè),還剩74頁(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)介

2021-2022年河北省滄州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.

2.設(shè)有如下定義和語(yǔ)句:FILE*fp;intdata[10],i,n;fp=fopen(“abc.txt”,“r”);文本文件abc.txt中的數(shù)據(jù)為58192765190,其中第1個(gè)數(shù)據(jù)代表的是它后面數(shù)據(jù)的個(gè)數(shù)。若文件已正確打開(kāi),則以下程序段中能將文件的最后5個(gè)數(shù)據(jù)依次正確讀入數(shù)組data[0]~data[4]中的是()。

A.fscanf(fp,“%d”,&n);for(i=0;i<n;i++)fscanf(fp,“%d”,&data[i]);

B.i=0;while(!feof(fp)){fscanf(fp,“%d”,&data[i]);i++;}

C.for(i=0;!feof(fp);i++)fscanf(fp,“%d”,&data[i]);

D.i=0;fscanf(fp,“%d”,&n);i++;while(!feof(fp)){fscanf(fp,“%d”,&data[i]);i++;}

3.有以下程序:#include<stdio.h>main(){charch[]=“uvwxyz”,*pc;pc=ch;printf(“%c\n”,*(pc+5));}程序的運(yùn)行結(jié)果是()

A.zB.0C.元素ch[5]的地址D.字符y的地址

4.以下選項(xiàng)中與“(!a==0)”的邏輯值不等價(jià)的表達(dá)式是()。

A.(a==!0)B.aC.(a>0||a<0)D.(a!=0)

5.軟件設(shè)計(jì)中劃分模塊的一個(gè)準(zhǔn)則是()。A.低內(nèi)聚低耦合B.高內(nèi)聚低耦合C.低內(nèi)聚高耦合D.高內(nèi)聚高耦合

6.數(shù)據(jù)庫(kù)DB、數(shù)據(jù)庫(kù)系統(tǒng)DBS、數(shù)據(jù)庫(kù)管理系統(tǒng)DBMS之間的關(guān)系是()。

A.DB包含DBS和DBMSB.DBMS包含DB和DBSC.DBS包含DB和DBMSD.沒(méi)有任何關(guān)系

7.下述程序的輸出結(jié)果是()。#include<stdio.h>voidmain(){chara=1,b=2;charc=a^b<<2;printf("\n%d",C);}

A.9B.10C.12D.2

8.設(shè)有定義語(yǔ)句:charc1=92,c2=92;則以下表達(dá)式中值為零的是()。

A.c1∧c2B.c1&c2C.~c2D.c1|c2

9.若有定義語(yǔ)句:“intkl一10,k2=20;”,執(zhí)行表達(dá)式(kl=kl>k2)(k2=k2>k1)后,kl和k2的值分別為()。

A.0和1B.0和20C.10和1D.10和20

10.設(shè)fun函數(shù)的定義形式為voidfun(charch,floatx){…}則下列對(duì)函數(shù)fun的調(diào)用語(yǔ)句中,正確的是()。

A.fun("abc",3.0);

B.t=fun(D.16.5);

C.fun(65,2.8);

D.fun(32,32);

11.已知一算術(shù)表達(dá)式的中綴形式為A+B*C–D/E,后綴形式為ABC*+DE/–,其前綴形式為()。

A.–A+B*C/DEB.–A+B*CD/EC.–+*ABC/DED.–+A*BC/DE

12.有以下程序:voidswap(char*x,char*y){chart;t=*x;*x=*y;*y=t;}main{char*s1="abe",*s2="123":swap(s1,s2);printf("%s,%s\n",s1,s2);}程序執(zhí)行后的輸出結(jié)果是()。A.123,abeB.abc.123C.1bc,a23D.321,cba

13.有以下程序:main(){intk=5,n=0;do{switch(k){case1:case3:n+=l;k--;break;defalut:n=0;k--;case2:case4:n+=2;k--;break:}printf("%d",n);}while(k>0&&n<5);}程序運(yùn)行后的輸出結(jié)果是()。A.235B.0235C.02356D.2356

14.

15.

16.檢查軟件產(chǎn)品是否符合需求定義的過(guò)程稱為_(kāi)_____。

A.確認(rèn)測(cè)試B.集成測(cè)試C.驗(yàn)證測(cè)試D.驗(yàn)收測(cè)試

17.交換兩個(gè)變量的值,不允許用臨時(shí)變量,應(yīng)該使用下列()位運(yùn)算符。

A.&.B.^C.||D.~

18.

有以下程序:

main()

{intk=5,n=0;

do

{switch(k)

{case1:

case3:n+=l;k--;break;

defalut:n=0;k--;

case2:

case4:n+=2;k--;break:

}

printf("%d",n);

}while(k>0&&n<5);

}

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

A.235B.0235C.02356D.2356

19.使用堆排序方法排序(45,78,57,25,41,89),初始堆序列()

A.78,45,57,25,41,89

B.89,78,57,25,41,45

C.89,78,25,45,41,57

D.89,45,78,41,57,25

20.若函數(shù)中有定義語(yǔ)句:inta;,則()。

A.系統(tǒng)將自動(dòng)給a賦初值0B.這時(shí)a中的值是和隨機(jī)數(shù)C.系統(tǒng)將自動(dòng)給a賦初值-1D.這a中無(wú)任何值

二、2.填空題(20題)21.下面程序有兩個(gè)printf語(yǔ)句,如果第一個(gè)printf語(yǔ)句輸出的是194,則第二個(gè)printf語(yǔ)句的輸出結(jié)果是【】。

main()

{inta[10]={1,2,3,4,5,6,7,8,9,0},*p;

p=a;

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

printf("%x\n,p+9);

}

22.有以下程序:

#include<stdio.h>

main()

{charch1,ch2;intn1,n2

ch1=getchar();ch2=getchar();

n1=ch1-'0';n2=n1*10+(ch2-'0');

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

}

程序運(yùn)行時(shí)輸入:12<回車>,執(zhí)行后的輸出結(jié)果是【】。

23.某二叉樹(shù)中度為2的結(jié)點(diǎn)有18個(gè),則該二叉樹(shù)中有【】個(gè)葉子結(jié)點(diǎn)。

24.若有語(yǔ)句:

inti=-19,j=i%4;

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

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

25.以下程序通過(guò)函數(shù)SunFun求。這里f(x)=x2+l,由F函數(shù)實(shí)現(xiàn)。請(qǐng)?zhí)羁铡?/p>

main()

{

printf("Thesum=%d\n",SunFun(10));

}

SunFun(intn)

{

intx,s=0;

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

S+=F(______);

returns;

}

F(intx)

{

return(______);

}

26.下面程序的功能是輸出數(shù)組中最大的數(shù),由a指針指向該元素。請(qǐng)?zhí)羁铡?/p>

main()

{ints[]={6,7,2,13,9,1,12,10,5,8,4,3,11),*a,*b;

for(【】)

if(*a<*b)a=b;

printf("%d",*a);

}

27.在數(shù)據(jù)流圖的類型中有兩種類型,它們是變換型和()。

28.數(shù)據(jù)結(jié)構(gòu)分為線性結(jié)構(gòu)和非線性結(jié)構(gòu),帶鏈的隊(duì)列屬于[]。

29.在面向?qū)ο蠓椒ㄖ校畔㈦[蔽是通過(guò)對(duì)象的______性來(lái)實(shí)現(xiàn)的。

30.數(shù)據(jù)庫(kù)的邏輯模型設(shè)計(jì)階段的任務(wù)是將______轉(zhuǎn)換成關(guān)系模式。

31.fseek函數(shù)的正確調(diào)用形式是【】。

32.輸出指針數(shù)組各元素所指的整數(shù)值和它存放的地址值。

#include<stdio.h>

main()

{inti;

inta[5]={1,3,5,7,9};

int*num[5];

int【】;

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

num[i]=【】;

p=num+0;

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

{printf("%d%d\n",【】);

p++;

}

}

33.若有定義:inta=6,b=8,c=14;接著順序執(zhí)行下列語(yǔ)句后,變量c中的值是()。c=(b-=(a-5));a=(c%3)+(a=8);

34.有以下程序

main()

{intn=0,m=l,x=2;

if(!n)x-=1;

if(m)x-=2;

if(x)x-=3;

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

}

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

35.分析下列程序:

main()

{intx=1,y=0,a=0,b=0;

switch(a)

{case1:switch(b)

{case0:x++;

case1:y++;break;

}

case2:x++;y++;break;

}

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

}

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

36.在具有n個(gè)單元、順序存儲(chǔ)的循環(huán)隊(duì)列中,隊(duì)滿時(shí),共有【】個(gè)元素。

37.實(shí)現(xiàn)程序可將磁盤(pán)中的一個(gè)文件復(fù)制到另一個(gè)文件中,兩個(gè)文件的文件名在可執(zhí)行命令的命令行中(相當(dāng)于copy命令),假定文件在當(dāng)前目錄下。請(qǐng)補(bǔ)全程序。

#include<stdio.h>

voidmain(intargc,char*argv[])

{FILE*f1,*f2;

if(argc<【】)

{printf("parametererror!\n");exit(0);}

f1=fopen(argv[1],"r");

f2=fopen(argv[2],"w");

while(【】)fputc(fgetc(f1),f2);

fclose(f1);

fclose(f2);

}

38.若有以下程序

main()

{inta=4,b=3,c=5,t=0;

if(a<b)t=a;a=b;b=t;

if(a<c)t=a;a=c;c=t;

pfintf("%d%d%d\n",a,b,c);

}

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

39.在關(guān)系運(yùn)算中,【】運(yùn)算是在給定關(guān)系的某些域上進(jìn)行的運(yùn)算。

40.若有下面的程序片段:int[12]={0},*p[3],**pp,i;for(i=0;i<3;i)p[i]=&a[i*4];pp=p;則對(duì)數(shù)組元素的錯(cuò)誤引用是

三、1.選擇題(20題)41.若運(yùn)行以下程序時(shí),從鍵盤(pán)輸入ADescriptor<CR>(<CR>表示回車),則下面程序的運(yùn)行結(jié)果是

#include<stdio.h>

main()

{charc;

intv0=1,v1=0,v2=0;

do{switch(c=getchar())

{case′a′:case′A′:

case′e′:case′E′:

case′i′:case′I′:

case′o′:case′O′:

case′u′:case′U′:v1+=1;

default:v0+=1;v2+=1;}}while(c!='\n');

printf("v0=%d,v1=%d,v2=%d\n",v0,v1,v2);}

A.v0=7,v1=4,v2=7

B.v0=8,v1=4,v2=8

C.v0=11,v1=4,v2=11

D.v0=13,v1=4,v2=12

42.下列程序的輸出結(jié)果是()。voidf(int*x,int*y){intt;t=*x,*x=*y;*y=t;}main(){inta[8]={1,2,3,4,5,6,7,8},i,*p,*q;p=a;q=&a[7];while(p<q){f(p,q);p++;q--;}for(i=0;i<8;i+)printf("%d,",a[i]);}

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

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

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

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

43.以下程序輸出正確的是______。amovep(int*p,int(*A)[3],intn){inti,j;for(i=0;i<n;i++)for(j=0;j<n;j++){*p=a[i][j];p++}}main(){int*p,a[3][3]={{1,3,5},{2,4,6}};p=(int*)malloc(100);amovep(p,a,3);printf("%d%d\n",p[2],p[5]);free(p);}

A.56B.25C.34D.程序錯(cuò)誤

44.算法的時(shí)間復(fù)雜度是指______。

A.執(zhí)行算法程序所需要的時(shí)間B.算法程序的長(zhǎng)度C.算法執(zhí)行過(guò)程中所需要的基本運(yùn)算次數(shù)D.算法程序中的指令條數(shù)

45.在下列字符序列中,不可用做C語(yǔ)言標(biāo)識(shí)符的是()

A.student___numB.classC.#88D.month___12

46.以下是while語(yǔ)句的基本形式:while(表達(dá)式){語(yǔ)句:}其中“表達(dá)式”()。

A.必須是邏輯表達(dá)式B.必須是關(guān)系表達(dá)式C.必須是邏輯表達(dá)式或關(guān)系表達(dá)式D.可以是任意合法的表達(dá)式

47.有下列程序:main{chars[]="abcde";s+=2:printf("%d\n",s[0]);}執(zhí)行后的結(jié)果是()。

A.輸出字符a的ASCII碼B.輸出字符c的ASCII碼C.輸出字符cD.程序出錯(cuò)

48.有以下程序:#include<stdio.h>main(){FILE*fp;inti,k=0,n=0;fp=fopen("d1.dat","w");for(i=1;i<4;i++)fprintf(fp,"%d",i);fclose(fp);fp=fopen("d1.dat","r");fscanf(fp,"%d%d",&k,&n);printf("%d%d\n",k,n);fclose(fp);}執(zhí)行后輸出結(jié)果是()。

A.12B.1230C.123D.00

49.若有以下定義:floatx;inta,b,c=2;,則正確的switch語(yǔ)句是()

A.switch(x){case1.0:printf("*\n");case2.0:printf("**\n");}

B.switch(int(x)){case1:printf("*\n");case2:printf("**\n");}

C.switch(a+b){case1:printf("*\n");case1+2:printf("**\n");}

D.switch(a+B){case1:printf("*\n");casec:printf("**\n");}

50.設(shè)有以下語(yǔ)句

typedefstructS

{intg;charh;}T;

則下面敘述中正確的是()A.可用S定義結(jié)構(gòu)體變量B.可以用T定義結(jié)構(gòu)體變量C.S是struct類型的變量D.T是structS類型的變量

51.C語(yǔ)言程序的基本單位是()

A.函數(shù)B.過(guò)程C.字符D.語(yǔ)句

52.軟件(結(jié)構(gòu))設(shè)計(jì)階段產(chǎn)生的文檔是______。

A.程序流程圖B.系統(tǒng)功能說(shuō)明書(shū)C.系統(tǒng)模型說(shuō)明書(shū)D.模塊結(jié)構(gòu)圖和模塊說(shuō)明書(shū)

53.若有以下說(shuō)明和定義fun(int*C){…}main(){int(*A)()=fun,*b(),w[10],c;┇}在必要的賦值之后,對(duì)fun函數(shù)的正確調(diào)用語(yǔ)句是()

A.a=a(w);B.(*a)(&c);C.b=*b(w);D.fun(b);

54.軟件生存周期是指______這一過(guò)程。

A.軟件系統(tǒng)投入運(yùn)行到軟件系統(tǒng)被廢棄

B.軟件系統(tǒng)投入試運(yùn)行到軟件系統(tǒng)被廢棄

C.軟件系統(tǒng)開(kāi)始研制到軟件系統(tǒng)投入運(yùn)行

D.軟件系統(tǒng)開(kāi)始研制到軟件系統(tǒng)被廢棄

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

A.一個(gè)邏輯數(shù)據(jù)結(jié)構(gòu)只能有一種存儲(chǔ)結(jié)構(gòu)

B.數(shù)據(jù)的邏輯結(jié)構(gòu)屬于線性結(jié)構(gòu),存儲(chǔ)結(jié)構(gòu)屬于非線性結(jié)構(gòu)

C.一個(gè)邏輯數(shù)據(jù)結(jié)構(gòu)可以有多種存儲(chǔ)結(jié)構(gòu),且各種存儲(chǔ)結(jié)構(gòu)不影響數(shù)據(jù)處理的效率

D.一個(gè)邏輯數(shù)據(jù)結(jié)構(gòu)可以有多種存儲(chǔ)結(jié)構(gòu),且各種存儲(chǔ)結(jié)構(gòu)影響數(shù)據(jù)處理的效率

56.以下敘述中錯(cuò)誤的是A.C語(yǔ)言源程序經(jīng)編譯后生成后綴為.obj的目標(biāo)程序

B.C程序經(jīng)過(guò)編譯、連接步驟之后才能形成一個(gè)真正可執(zhí)行的二進(jìn)制機(jī)器指令文件

C.用C語(yǔ)言編寫(xiě)的程序稱為源程序,它以ASCII代碼形式存放在一個(gè)文本文件中

D.C語(yǔ)言中的每條可執(zhí)行語(yǔ)句和非執(zhí)行語(yǔ)句最終都將被轉(zhuǎn)換成二進(jìn)制的機(jī)器指令

57.以下程序的運(yùn)行結(jié)果是______。main(){chart=02;printf("%d\n",t=++t>>2);}

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

58.若有“doublea;”,則正確的輸入語(yǔ)句是()。

A.scanf("%1f",a);

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

C.scanf("%lf",&a)

D.scanf("%le",&a);

59.下列描述中正確的是()。

A.程序就是軟件

B.軟件開(kāi)發(fā)不受計(jì)算機(jī)系統(tǒng)的限制

C.軟件既是邏輯實(shí)體,又是物理實(shí)體

D.軟件是程序、數(shù)據(jù)與相關(guān)文檔的集合

60.有如下程序:voidf(intx,inty){intt;if(x<y){t=x;x=y;y=t;}}main(){inta=4,b=3,C=5,f(a,b);f(a,c);f(b,c);printf("%d,%d,%d\n",a,b,C);}執(zhí)行后輸出結(jié)果是()。

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

四、選擇題(20題)61.

62.某二叉樹(shù)共有7個(gè)結(jié)點(diǎn),其中葉子結(jié)點(diǎn)只有l(wèi)個(gè),則該二叉樹(shù)的深度為(假設(shè)根結(jié)點(diǎn)在第1層)()。

A.3B.4C.6D.7

63.

64.

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

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

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

66.有以下程序:

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

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

67.

68.下列處理中與隊(duì)列有關(guān)的是()。

A.操作系統(tǒng)中的作業(yè)調(diào)度B.執(zhí)行程序中的過(guò)程調(diào)用C.執(zhí)行程序中的循環(huán)控制D.——-X樹(shù)的遍歷

69.有以下程序,若從鍵盤(pán)上輸入7和3

main()

{inta,b,k;

scanf("%d,%d",&a,&b);

k=a;

if(a<b)k=a%b;

elsek=b%a;

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

}

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

A.7B.3

C.1D.0

70.

71.設(shè)有宏定義:

72.在數(shù)據(jù)庫(kù)設(shè)計(jì)中,將E—R圖轉(zhuǎn)換成關(guān)系數(shù)據(jù)模型的過(guò)程屬于()。

A.需求分析階段B.概念設(shè)計(jì)階段C.邏輯設(shè)計(jì)階段D.物理設(shè)計(jì)階段

73.下列關(guān)于棧的描述錯(cuò)誤的是()。

A.棧按“先進(jìn)后出”組織數(shù)據(jù)B.棧是特殊的線性表,只能在一端插入或刪除數(shù)據(jù)C.棧具有記憶功能D.棧只能順序存儲(chǔ)

74.

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

A.軟件交付使用后還需要進(jìn)行維護(hù)

B.軟件一旦交付使用就不需要再進(jìn)行維護(hù)

C.軟件交付使用后其生命周期就結(jié)束

D.軟件維護(hù)是指修復(fù)程序中被破壞的指令

76.已知大寫(xiě):字母A的ASCIl碼是65,小寫(xiě)字母a的ASCIl碼是97。以下不能將變量c中的大寫(xiě)字母轉(zhuǎn)換為對(duì)應(yīng)小寫(xiě)字母的語(yǔ)句是()。

77.設(shè)有以下說(shuō)明語(yǔ)句:

則下面的敘述中不正確的是()。

A.struct結(jié)構(gòu)體類型的關(guān)鍵字

B.example是結(jié)構(gòu)體類型名

C.x,y,z都是結(jié)構(gòu)體成員名

D.struetex是結(jié)構(gòu)體類型名

78.有以下程序

voidfun(inta,intb,intc)

{

a=456,b=567,c=678;

}

main()

{

intx=10,y=20,z=30;

fun(x,y,z);

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

}

輸出結(jié)果是

A.10,20,30B.30,20,10

C.456,567,678D.678,567,456

79.有以下程序:

main

{

unsignedchara=2,b=4,c=5,d;

d=a|b;d&=c;printf("%d\n",d);

}

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

A.3B.4C.5D.6

80.概要設(shè)計(jì)中要完成的事情是()。

A.系統(tǒng)結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)B.系統(tǒng)結(jié)構(gòu)和過(guò)程的設(shè)計(jì)C.過(guò)程和接口的設(shè)計(jì)D.數(shù)據(jù)結(jié)構(gòu)和過(guò)程的設(shè)計(jì)

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:給定n個(gè)實(shí)數(shù),輸出平均值,并統(tǒng)計(jì)平均值以上(含平均值)的實(shí)數(shù)個(gè)數(shù)。

例如,n=8時(shí),輸入90.009,179.623,167.575,100.051,6.092,154.986,12.432,45.765,所得平均值為94.566635,在平均值以上的實(shí)數(shù)個(gè)數(shù)應(yīng)為4。

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

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

試題程序:

六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫(xiě)一個(gè)函數(shù),用來(lái)刪除字符串中的所有*。例如,輸入abc*de*f*gh,則輸出為abcdefgh。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。試題程序:

參考答案

1.D

2.A由題意可知,文件abc.txt中存放了6個(gè)整數(shù)。其中第1個(gè)表示后續(xù)數(shù)據(jù)的個(gè)數(shù)。要將最后5個(gè)數(shù)據(jù)讀入數(shù)組data中,需要讀取數(shù)據(jù)的個(gè)數(shù)為5,所以首先調(diào)用fscanf函數(shù),將5讀入整型變量n中;接著通過(guò)for循環(huán),i分別取值0~n-1,調(diào)用fscanf函數(shù)將n個(gè)整數(shù)讀入data[0]~data[n-1]中。故本題答案為A選項(xiàng)。

3.A語(yǔ)句“pc=ch;”使得指針變量pc指向字符數(shù)組ch的首地址,即指向字符‘u’。而“pc+5”指向的是指針向后移動(dòng)5位所指的字符,即指向字符‘z’,所以輸出的“*(pc+5)”的值為‘z’。故本題答案為A選項(xiàng)。

4.A運(yùn)算符邏輯非“!”和“==”,邏輯非“!”的優(yōu)先級(jí)高于“==”,選項(xiàng)A等價(jià)于“(!a)==0”。如果a不等于0,則表達(dá)式為真,否則表達(dá)式為假。故本題答案為A選項(xiàng)。

5.B一般較優(yōu)秀的軟件設(shè)計(jì),應(yīng)盡量做到高內(nèi)聚、低耦合,即減弱模塊之間的耦合性和提高模塊內(nèi)的內(nèi)聚性,有利于提高模塊的獨(dú)立性。

6.C(10)C)解析:DB即數(shù)據(jù)庫(kù)(Database),是統(tǒng)一管理的相關(guān)數(shù)據(jù)的集合;DBMS即數(shù)據(jù)庫(kù)管理系統(tǒng)(DatabaseManagementSystem),是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,為用戶或應(yīng)用程序提供訪問(wèn)DB的方法;DBS即數(shù)據(jù)庫(kù)系統(tǒng)(DatabaseSystem)由如下5部分組成,數(shù)據(jù)庫(kù)(數(shù)據(jù))、數(shù)據(jù)庫(kù)管理系統(tǒng)(軟件)、數(shù)據(jù)庫(kù)管理員(人員)、系統(tǒng)平臺(tái)之一——硬件平臺(tái)(硬件)、系統(tǒng)平臺(tái)之二——軟件平臺(tái)(軟件)。

7.A

8.A解析:按位異或“^”運(yùn)算,是當(dāng)對(duì)應(yīng)位上的二進(jìn)制數(shù)值相同時(shí)結(jié)果為0,否則為1。因?yàn)閏1,c2的值相同,所以異或的結(jié)果為0,選項(xiàng)A)正確。按位與“&”運(yùn)算符只有當(dāng)所有對(duì)應(yīng)位上的數(shù)都不相同時(shí)結(jié)果才為0,所以c1&c2的值不可能為0,選項(xiàng)B)錯(cuò)誤。“~”是按位取反,由于十進(jìn)制數(shù)92轉(zhuǎn)化成二進(jìn)制數(shù)并不是全為1,所以即使取反也不能得到全為。的答案,所以錯(cuò)誤。“|”是按位或運(yùn)算,由于十進(jìn)制數(shù)92轉(zhuǎn)化為二進(jìn)制數(shù)也不是全為0,所以按位或運(yùn)算后也不會(huì)全為0。

9.B

10.C由題目的已知條件函數(shù)fun的定義形式voidfun(charch,floatx){…)可知第一個(gè)形參為字符型,所以A不符合,第二個(gè)形參為精度型,所以D不符合,函數(shù)fun定義為void型(無(wú)論返回值型),故其沒(méi)有返回值,所以選項(xiàng)B錯(cuò)誤。選項(xiàng)C的第一個(gè)實(shí)參的類型為字符型,第二個(gè)實(shí)參的類型為單精度型,與函數(shù)fun的形式參數(shù)的類型相符合,所以選項(xiàng)C為正確答案。

11.D

12.C本題考查swap函數(shù),它的作用是把x、Y所指的內(nèi)容互換,其他的不變,因此當(dāng)執(zhí)行完調(diào)用函數(shù)后,僅僅a與1互換,其他的沒(méi)有變。

13.B本題考查分支語(yǔ)句用法加個(gè)句號(hào)因?yàn)樽兞康某跏贾捣謩e為k一5、n一0,所以程序第1次進(jìn)入循環(huán)時(shí),執(zhí)行default語(yǔ)句,輸出0,k減1;這時(shí)n=0、k=4,程序進(jìn)行第2次循環(huán),執(zhí)行case4:這個(gè)分支,結(jié)果是n=2、k=3,打印出2;這時(shí)n=2、k=3,break跳出,程序進(jìn)行第3次循環(huán),執(zhí)行case3:這個(gè)分支,結(jié)果是n=3、k=2,打印出3;這時(shí)n一3、k2,b¨ak跳出,程序然后進(jìn)行第4次循環(huán),執(zhí)行case2:case4:這個(gè)分支,結(jié)果是n=5、k=1,打印出5,break跳出,這時(shí)因?yàn)閚=5不滿足n<5的循環(huán)條件,因此循環(huán)結(jié)束。

14.D

15.A

16.A本題主要考查軟件測(cè)試的基本知識(shí)。軟件測(cè)試的步驟可分為單元測(cè)試(模塊測(cè)試)、集成測(cè)試、確認(rèn)測(cè)試和系統(tǒng)測(cè)試。

(1)單元測(cè)試是針對(duì)每個(gè)模塊進(jìn)行的測(cè)試,它可從程序的內(nèi)部結(jié)構(gòu)出發(fā)設(shè)計(jì)測(cè)試用例,多個(gè)模塊可以平行、對(duì)立地測(cè)試。單元測(cè)試主要用于發(fā)現(xiàn)詳細(xì)設(shè)計(jì)和編程時(shí)犯下的錯(cuò)誤。單元測(cè)試多采用白盒測(cè)試,輔之以黑盒測(cè)試。

(2)集成測(cè)試是在單元測(cè)試的基礎(chǔ)上,根據(jù)模塊結(jié)構(gòu)圖將各個(gè)模塊連接起來(lái),必須精心計(jì)劃,應(yīng)提交集成測(cè)試計(jì)劃、集成測(cè)試規(guī)格說(shuō)明和集成測(cè)試分析報(bào)告。主要目標(biāo)是發(fā)現(xiàn)與接口有關(guān)的問(wèn)題。集成測(cè)試可以發(fā)現(xiàn)概要設(shè)計(jì)時(shí)犯的錯(cuò)誤。

(3)確認(rèn)測(cè)試用于驗(yàn)證軟件的功能和性能及其他特性是否與用戶的要求一致。確認(rèn)測(cè)試主要用于發(fā)現(xiàn)需求分析時(shí)犯下的錯(cuò)誤,一般使用黑盒法測(cè)試,以表明軟件符合需求說(shuō)明書(shū)的要求,應(yīng)該仔細(xì)設(shè)計(jì)測(cè)試用例和測(cè)試過(guò)程。確認(rèn)測(cè)試必須有用戶參加,或以用戶為主,用戶應(yīng)參與設(shè)計(jì)測(cè)試用例,通常情況下,主要使用生產(chǎn)中的實(shí)際數(shù)據(jù)進(jìn)行測(cè)試,測(cè)試數(shù)據(jù)通過(guò)用戶接口輸入。

(4)系統(tǒng)測(cè)試是將已經(jīng)通過(guò)確認(rèn)測(cè)試的軟件,作為整個(gè)計(jì)算機(jī)系統(tǒng)的元素與計(jì)算機(jī)硬件、外設(shè)和網(wǎng)絡(luò)等其他因素結(jié)合在一起,進(jìn)行一系列的組裝測(cè)試和確認(rèn)測(cè)試。系統(tǒng)測(cè)試的目的是通過(guò)與系統(tǒng)的需求定義做比較,發(fā)現(xiàn)軟件與系統(tǒng)的定義不符合的地方。系統(tǒng)測(cè)試可以發(fā)現(xiàn)問(wèn)題定義時(shí)犯下的錯(cuò)誤。

17.B按邏輯位運(yùn)算特點(diǎn):①用按位與運(yùn)算將特定位清為0或保留特定位;②用按位或運(yùn)算將特定的位置為1;③用按位異或運(yùn)算將某個(gè)變量的特定位翻轉(zhuǎn)或交換兩個(gè)變量的值。

18.B

\n本題考查分支語(yǔ)句用法加個(gè)句號(hào)因?yàn)樽兞康某跏贾捣謩e為k一5、n一0,所以程序第1次進(jìn)入循環(huán)時(shí),執(zhí)行default語(yǔ)句,輸出0,k減1;這時(shí)n=0、k=4,程序進(jìn)行第2次循環(huán),執(zhí)行case4:這個(gè)分支,結(jié)果是n=2、k=3,打印出2;這時(shí)n=2、k=3,break跳出,程序進(jìn)行第3次循環(huán),執(zhí)行case3:這個(gè)分支,結(jié)果是n=3、k=2,打印出3;這時(shí)n一3、k2,b¨ak跳出,程序然后進(jìn)行第4次循環(huán),執(zhí)行case2:case4:這個(gè)分支,結(jié)果是n=5、k=1,打印出5,break跳出,這時(shí)因?yàn)閚=5不滿足n<5的循環(huán)條件,因此循環(huán)結(jié)束。

\n

19.B

20.B本題考查變量賦值基本概念。在聲明一個(gè)變量后,如果未顯式的對(duì)其進(jìn)行賦值,則它的值是一個(gè)隨機(jī)值。

21.1a61a6解析:對(duì)于指針變量的運(yùn)算,就是對(duì)地址的運(yùn)算。本題中由于指針指向的是整型變量,所以,使指針變量移動(dòng)9個(gè)位置也就是移動(dòng)18個(gè)字節(jié)。注意,本題是以十六進(jìn)制輸出的。

22.1212解析:本題中n1='1'-'0'=1,n2=1×10+('2'-'0')=10+2=12。

23.1919解析:根據(jù)二叉樹(shù)的性質(zhì):在任意一棵二叉樹(shù)中,度為。的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))總是比度為2的結(jié)點(diǎn)多一個(gè)。本題中度為2的結(jié)點(diǎn)數(shù)為18,故葉子結(jié)點(diǎn)數(shù)為18+1=19個(gè)。

24.-3-3解析:%運(yùn)算符是求兩個(gè)數(shù)相除的余數(shù),其結(jié)果與被除數(shù)的符號(hào)一致,本題中“-19%4”的值為“-3”。

25.xX*X+1或1+x*xx\r\nX*X+1或1+x*x解析:題目中要求從x=0開(kāi)始將f(x)的值累加起來(lái),直到x=10。在SunFun()函數(shù)中用了一個(gè)for循環(huán),每循環(huán)一次將f(x)累加到s中,所以在本題的第一個(gè)空格處我們應(yīng)該填x,,然后x+1,共循環(huán)10次。F()函數(shù)的功能應(yīng)該是求數(shù)學(xué)表達(dá)式f(x)得值,所以其返回值應(yīng)該為x*x+1。

26.a=sb=s+1;b-s<sizeof(s)/sizeof(s[0]);b++a=s,b=s+1;b-s<sizeof(s)/sizeof(s[0]);b++解析:題目要求輸出數(shù)組中最大的數(shù),所以要遍歷整個(gè)數(shù)組,而指針a用來(lái)指向最大數(shù),所以循環(huán)變量只有使用指針b。for初始化時(shí),應(yīng)該先讓a指向第1個(gè)數(shù),然后讓b指向第2個(gè)數(shù),故循環(huán)初始化語(yǔ)句應(yīng)該為a=s,b=s+1或其他等價(jià)表達(dá)式。因?yàn)橐筨遍歷整個(gè)數(shù)組,故循環(huán)條件應(yīng)該為b-s<sizeof(s)/sizeof(s[0])或其他等價(jià)表達(dá)式。最后每次循環(huán)應(yīng)該讓b往后移動(dòng)一位,故for的第3條語(yǔ)句應(yīng)該是++b、b++或其他等價(jià)形勢(shì)。所以本題應(yīng)填a=s,b=s+1;b-s<sizeof(s)/sizeof(s[0]);b++或其他等價(jià)語(yǔ)句。

27.事務(wù)型事務(wù)型解析:典型的數(shù)據(jù)流類型有兩種:變換型和事務(wù)型。

28.線性結(jié)構(gòu)線性結(jié)構(gòu)解析:與棧類似,隊(duì)列也是線性表,也町以采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。

29.封裝封裝

30.E-R圖E-R圖解析:數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)的任務(wù)是將概念模型進(jìn)一步轉(zhuǎn)化成相應(yīng)的數(shù)據(jù)模型。而E-R圖是主要的概念模型,因此數(shù)據(jù)庫(kù)的邏輯設(shè)計(jì)的主要工作是將E-R圖轉(zhuǎn)換成關(guān)系模式。

31.fseek(文件指針位移量起始點(diǎn))fseek(文件指針,位移量,起始點(diǎn))解析:本題考查函數(shù)fseek的用法。fseek函數(shù)的調(diào)用形式為:

fseek(文件指針,位移量,起始點(diǎn))

“起始點(diǎn)”用0,1或2代替,其中,0代表“文件開(kāi)始”;1為“當(dāng)前位置”;2為“文件末尾”?!拔灰屏俊敝敢浴捌鹗键c(diǎn)”為基點(diǎn),向前移動(dòng)的字節(jié)數(shù)。ANSIC和大多數(shù)C版本要求位移量是long型數(shù)據(jù),這樣當(dāng)文件的長(zhǎng)度大于64k時(shí)不致出現(xiàn)問(wèn)題。ANSIC標(biāo)準(zhǔn)規(guī)定在數(shù)字的末尾加一個(gè)字母L,就表示long型。

32.**pa+I**p*p

33.77解析:本題考查基本賦值運(yùn)算符和賦值表達(dá)式。c=(b-=a-5))等價(jià)于c=b-(a-5)b=7。c%3=1,a=(c%3)+a=8)=9,但c的值在第二條語(yǔ)句只能夠并沒(méi)有被改變,因此c的值還是7。

34.-4-4解析:本題考核的知識(shí)點(diǎn)是if...else結(jié)構(gòu)的應(yīng)用。if…else構(gòu)造了一種二路分支選擇,是一種最基本的選擇結(jié)構(gòu),if(條件)S1(if分結(jié)構(gòu))elseS2(else分結(jié)構(gòu)),它的工作過(guò)程是:先對(duì)條件表達(dá)式進(jìn)行判斷,若為真(成立,值為非零),就執(zhí)行if分結(jié)構(gòu)(S1);否則(不成立,值為0),就執(zhí)行else分結(jié)構(gòu)(S2)。本題中,n=0,可以判斷(!n)為真,執(zhí)行x=x-1=2-1=1;m=1,可以判斷(m)為真,執(zhí)行x=x-2=1-2=-1;進(jìn)而可以判斷(x)為真,執(zhí)行x=x-3=-l-3=4。所以,最后輸出為叫

35.x=1y=0。x=1,y=0。解析:本題程序的主體部分是switch語(yǔ)句的嵌套結(jié)構(gòu),當(dāng)變量a的值為0時(shí),在第一層switch-case語(yǔ)句中,沒(méi)有匹配的case分支。因此,x和y的值沒(méi)有變化,仍然是1和0。

36.n-1

37.3!feof(f1)3\r\n!feof(f1)解析:要實(shí)現(xiàn)文件復(fù)制,需要指定源文件及目的文件,因此在命令行下執(zhí)行程序時(shí)至少要指定兩個(gè)參數(shù),加上程序名本身,故argc的值至少為3,因此第一空應(yīng)填3。while循環(huán)中語(yǔ)句fputc(fgetc(f1),f2);的目的是將f1中的字符依次讀出并寫(xiě)入到f2對(duì)應(yīng)的文件中去,直至文件f1結(jié)束為止,因此第二空為!feof(f1)。

38.503503解析:如果if后面的條件為真,只執(zhí)行其后的一條語(yǔ)句或一條復(fù)合語(yǔ)句,如果if后面的條件為假,只執(zhí)行else后面的一條語(yǔ)句或一條復(fù)合語(yǔ)句。先判斷表達(dá)式“a<b”為假,不執(zhí)行“t=a”,但執(zhí)行“a=b;b=t;”,a的值為3,b的值為0。在判斷表達(dá)式“a<c”,值為真,所以執(zhí)行后面的3條語(yǔ)句“t=a;a=c;c=t”,結(jié)果a的值為5,c的值為3,所以最后輸出的結(jié)果為5、0和3。

39.投影投影解析:在關(guān)系運(yùn)算中,投影運(yùn)算是在給定關(guān)系的某些域上進(jìn)行的運(yùn)算。

40.C

41.D解析:本題考查switch語(yǔ)句的掌握。必須撐握以下內(nèi)容:首先應(yīng)該明白switch語(yǔ)句的語(yǔ)法格式:

switch語(yǔ)句的語(yǔ)法格式為:

switch(表達(dá)式)

{

case常量表達(dá)式1:語(yǔ)句組1;

case常量表達(dá)式2:語(yǔ)句組2;

case常量表達(dá)式n:語(yǔ)句組n;

default:語(yǔ)句組n+1;

}

另外,以下幾點(diǎn)關(guān)于switch語(yǔ)句的重點(diǎn):

①系統(tǒng)在執(zhí)行時(shí)計(jì)算開(kāi)關(guān)表達(dá)式的值;②根據(jù)所得的值在各個(gè)case標(biāo)號(hào)表達(dá)式中尋找匹配,直到發(fā)現(xiàn)與表達(dá)式匹配的標(biāo)號(hào)(本例中匹配的是case\'B\':);\ue008③找\ue009到匹配后執(zhí)行后面相應(yīng)的語(yǔ)句表,順序往下執(zhí)行;④如果無(wú)相匹配的標(biāo)號(hào),若存在default標(biāo)號(hào),則執(zhí)行該語(yǔ)句標(biāo)號(hào)后面的語(yǔ)句表n+1;當(dāng)不存在default標(biāo)號(hào)時(shí),不執(zhí)行switch中的任何一個(gè)語(yǔ)句表。

一般而言,在多分支結(jié)構(gòu)中總會(huì)出現(xiàn)'意外'的情況,這時(shí)均可歸入default程序段,作統(tǒng)一的處理。default標(biāo)號(hào)是可選性的,不必每次都有,視需要而定。switch語(yǔ)句中還可以包含switch語(yǔ)句,形成switch的嵌套。

42.D解析:函數(shù)f()的功能是對(duì)兩個(gè)數(shù)據(jù)互換。在主函數(shù)中指針變量p和q分別指向數(shù)組a[8)的首和尾,在while循環(huán)中實(shí)現(xiàn)從首尾開(kāi)始數(shù)組元素的互換操作。

43.A解析:本題main函數(shù)中定義了指針p和二維數(shù)組a,通過(guò)函數(shù)amovep將數(shù)組的值存入指針p所指向的存儲(chǔ)單元中,a的各各元素分別為:a[0][0]=1,a[0][1]=3,a[0][2]=5,a[1][0]=2,a[1][1]=4,a[1][2]=6,a[2][0]=0,a[2][1]=0,a[2][2]=0。通過(guò)malloc()函數(shù)紿指針?lè)峙鋬?nèi)存空間,free()函數(shù)用于釋放指針變量所用內(nèi)存空間。在主函數(shù)中通過(guò)amovep(p,a,3)調(diào)用函數(shù)amovep,使得實(shí)參p與形參p,實(shí)參數(shù)組a與形參中指向數(shù)組的指針變量共用同一存儲(chǔ)空間。最后輸出p[2],p[5]為56。

44.C解析:算法的時(shí)間復(fù)雜度實(shí)際上就是執(zhí)行算法程序所需要的計(jì)算工作量。為了客觀地反映算法性能,在度量算法的時(shí)間復(fù)雜度時(shí),應(yīng)該與編寫(xiě)算法程序所使用的程序設(shè)計(jì)語(yǔ)言、執(zhí)行算法程序時(shí)所使用的計(jì)算的工具以及程序員的水平無(wú)關(guān)。選項(xiàng)A錯(cuò)誤,因?yàn)橥凰惴ǔ绦蛟谶\(yùn)行速度不同的計(jì)算機(jī)上運(yùn)行時(shí),其計(jì)算時(shí)間是不同的。選項(xiàng)B錯(cuò)誤,因?yàn)樗惴ㄋ帉?xiě)的程序長(zhǎng)度往往與程序設(shè)計(jì)語(yǔ)言以及程序員的水平有關(guān),同一個(gè)算法,用不同的程序設(shè)計(jì)語(yǔ)言或者不同的程序員所編寫(xiě)出的程序其長(zhǎng)度可能會(huì)大不相同。選項(xiàng)D錯(cuò)誤,因?yàn)楦鶕?jù)一個(gè)算法所編制出的程序之中,其指令條數(shù)往往與程序設(shè)計(jì)語(yǔ)言以及程序員的水平有關(guān),不能用算法程序中的指令條數(shù)來(lái)度量算法的時(shí)間復(fù)雜度。所以,本題正確答案為C。

45.C

46.D解析:本題考查while表達(dá)式。while(表達(dá)式)中的表達(dá)式可以為任何合法的表達(dá)式,一般情況下為邏輯、條件表達(dá)式,需要注意的是,當(dāng)?shù)忍?hào)(==)誤寫(xiě)為賦值號(hào)(=)時(shí)不會(huì)報(bào)錯(cuò)的,但是其值恒為1。

47.D解析:因?yàn)樽址麛?shù)組s1)中的數(shù)組名s表示的是一個(gè)地址常量。所以語(yǔ)句“s+=2;”不能將指針在當(dāng)前位置的基礎(chǔ)上再向后移動(dòng)兩位,因而程序編譯時(shí)出錯(cuò)。

48.B解析:函數(shù)fopen(constchar*filename,constchar*mode)的功能,是以mode指定的模式打開(kāi)filename指定的磁盤(pán)文件;fclose(FILE*fp)的功能是關(guān)閉文件指針fp指向的文件;函數(shù)fscanf(FILE*fp,constchar*format[,address,--])的功能是根據(jù)format中的格式從fP指向的文件中讀取數(shù)據(jù),并存入到相應(yīng)的address指向的變量中。函數(shù)fprintf(FILE*fp,constchar*format[,argument,--])的功能是把a(bǔ)rgument列表中的表達(dá)式值寫(xiě)到fp所指向的文件中:本題中首先定義了一個(gè)文件指針fp,然后通過(guò)函數(shù)fopen以“w”的方式打開(kāi)文件“d1.dat”,直接通過(guò)一個(gè)for循環(huán),每循環(huán)一次調(diào)用函數(shù)fpfintf將i的值寫(xiě)進(jìn)fP所指的文件中,該循環(huán)共循環(huán)3次,循環(huán)完后fP所指文件的內(nèi)容為123,然后通過(guò)fclose函數(shù)關(guān)閉fp所指文件。接著通過(guò)fscanf函數(shù)將fP所指文件的內(nèi)容讀出并賦值給變量k和變量n,由于fp所指文件中只有123沒(méi)有分隔符,故只給k賦值為123,變量n的值依然為以前的值,故最后輸出k和n的值為123。

49.C

50.B解析:結(jié)構(gòu)體類型的定義格式為:

strcut結(jié)構(gòu)體名

{成員說(shuō)明列表};

結(jié)構(gòu)體變量的定義有3種形式:第一種:定義結(jié)構(gòu)體型的同時(shí)定義結(jié)構(gòu)體變量如:strcut結(jié)構(gòu)體名{成員說(shuō)明列表}變量;第二種先定義一個(gè)結(jié)構(gòu)體類型,然后使用該類型來(lái)定義結(jié)構(gòu)體變量,如:strcutstudent{成員說(shuō)明列表):student變量;第三種:定義一個(gè)無(wú)名稱的結(jié)構(gòu)體類型的同時(shí)定義結(jié)構(gòu)體變量,如:Strctstudent{成員說(shuō)明列表}變量。和上面三種情況比較我們不難得知只有選項(xiàng)B是正確的。所以,4個(gè)選項(xiàng)中選項(xiàng)B符合題意。

51.A

52.D

53.B

54.D解析:在軟件工程學(xué)中,一個(gè)軟件系統(tǒng)從開(kāi)始研制到最終被廢棄這個(gè)過(guò)程被叫做軟件系統(tǒng)的生命周期。

55.D解析:數(shù)據(jù)的邏輯結(jié)構(gòu)是對(duì)數(shù)據(jù)元素之間的邏輯關(guān)系的描述,它可以用一個(gè)數(shù)據(jù)元素的集合和在此集合中定義的若干關(guān)系來(lái)表示。數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)空間中的存放形式稱為數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)(也稱數(shù)據(jù)的物理結(jié)構(gòu))。一種數(shù)據(jù)的邏輯結(jié)構(gòu)根據(jù)需要可以表示成多種存儲(chǔ)結(jié)構(gòu),常用的存儲(chǔ)結(jié)構(gòu)有順序、鏈接等存儲(chǔ)結(jié)構(gòu)。但是不同的存儲(chǔ)結(jié)構(gòu)的數(shù)據(jù)的處理效率不同。

56.D(44)D)解析:并不是源程序中的所有行都參加編譯。在條件編譯形式下,相關(guān)內(nèi)容只在滿足一定條件時(shí)才進(jìn)行編譯。選項(xiàng)D)中的非執(zhí)行語(yǔ)句不在其范圍內(nèi)。

57.A解析:t的二進(jìn)制形式是00000010,前置加之后,t值的二進(jìn)制形式為00000011,右移兩位,最后兩個(gè)1將移出,t值最后是0。

58.D解析:scanf函數(shù)的調(diào)用形式是:scanf(格式字符串,輸入項(xiàng)地址表)。其中,“格式字符串”是要輸入的變量的格式符;“輸入項(xiàng)地址表”是要輸入的變量的地址。題中定義變量a為雙精度型變量,雙精度變量的格式符為“l(fā)e”;變量的地址用取地址符“&”加變量名表示,例如變量a的地址為“&a”。

59.D\r\n軟件是與計(jì)算機(jī)操作相關(guān)的計(jì)算機(jī)程序、規(guī)程、規(guī)則,以及可能有的文件、文檔及數(shù)據(jù);軟件開(kāi)發(fā)要受到計(jì)算機(jī)系統(tǒng)的限制;軟件是一個(gè)邏輯實(shí)體,不是物理實(shí)體,軟件具有抽象性。因此選項(xiàng)D正確。

60.D解析:C語(yǔ)言規(guī)定,在函數(shù)調(diào)用時(shí)變量作為參數(shù)傳遞是傳值的,在函數(shù)體中對(duì)形參變量的修改不能影響到對(duì)應(yīng)的實(shí)參變量。本題定義了一個(gè)函數(shù)f(),用變量作為形參,在main()函數(shù)中調(diào)用了3次f()函數(shù),由于變量作為參數(shù)進(jìn)行傳遞,所以對(duì)應(yīng)的實(shí)參的值并沒(méi)有被交換。故輸出的a、b、c依舊是原來(lái)的值4、3、5。D選項(xiàng)為所選。

61.A

62.D根據(jù)二叉樹(shù)的基本性質(zhì)3:在任意一棵二叉樹(shù)中,度為0的葉子結(jié)點(diǎn)總比度為2的結(jié)點(diǎn)多一個(gè),因此本題中度為2的結(jié)點(diǎn)為l一1=0個(gè),據(jù)此可以知道本題目中的二叉樹(shù)的每一個(gè)結(jié)點(diǎn)都有一個(gè)分支,所以共7個(gè)結(jié)點(diǎn)共7層,即深度為7,選擇D)。

63.C

64.A

65.C由于內(nèi)層循環(huán)for(k=1;k<3;k++)后面直接跟了空語(yǔ)句“;”所以在循環(huán)內(nèi)部什么操作也不做,跳出外層循環(huán)后執(zhí)行打印語(yǔ)句,所以打印了一個(gè)“t”,選擇C。

66.Cs=f(a)表達(dá)式第一次調(diào)用f(n)函數(shù)時(shí).f(n)函數(shù)運(yùn)行結(jié)果為n=4,a=2,即s等于4;s=s+f(a)表達(dá)式第二次調(diào)用f(n)函數(shù)時(shí),f(n)函數(shù)運(yùn)行結(jié)果為n=5,所以得到s值為9。

67.C

68.A隊(duì)列是指允許在一端進(jìn)行插入,而在另一端進(jìn)行刪除的線性表。由于最先進(jìn)入隊(duì)列的元素將最先出隊(duì),所以隊(duì)列具有“先進(jìn)先出”的特性,體現(xiàn)了“先來(lái)先服務(wù)”的原則。作業(yè)調(diào)度是指根據(jù)一定信息,按照一定的算法,從外存的后備隊(duì)列中選取某些作業(yè)調(diào)入內(nèi)存分配資源并將新創(chuàng)建的進(jìn)程插入就緒隊(duì)列的過(guò)程。執(zhí)行程序中的過(guò)程調(diào)用一般指函數(shù)調(diào)用,需要調(diào)用時(shí)候轉(zhuǎn)入被調(diào)用函數(shù)地址執(zhí)行程序,與隊(duì)列無(wú)關(guān)。執(zhí)行程序中的循環(huán)控制是指算法的基本控制結(jié)構(gòu),包括對(duì)循環(huán)條件的判定與執(zhí)行循環(huán)體,與隊(duì)列無(wú)關(guān)。二叉樹(shù)是一個(gè)有限的結(jié)點(diǎn)集合,二叉樹(shù)的遍歷是指不重復(fù)地訪問(wèn)二叉樹(shù)中的所有結(jié)點(diǎn),與隊(duì)列無(wú)關(guān)。故本題選擇A選項(xiàng)。

69.B本題考查C語(yǔ)言中的求余數(shù)運(yùn)算。

題目給出的程序首先通過(guò)scanf函數(shù)向整型變量a、b輸入值7、3。程序最后的結(jié)果為輸出k的值。if語(yǔ)句中的判別條件為a>b,若該條件成立,則令k等于a整除b后的余數(shù),7整除3后所得到的余數(shù)為1。如果判別條件不成立,則令k等于b整除a后的余數(shù),3整除7后所得到的余數(shù)為3。顯然,判別條件是不成立的,故輸出結(jié)果為3。

70.D

71.AIsDIV(k,n)判斷k被n整除是否余l(xiāng),所以IsDIV(m,5)&&IsDIV(m,7)就是判斷m被5和7整除是否都余l(xiāng)。

72.CC)【解析】邏輯結(jié)構(gòu)設(shè)計(jì)的任務(wù):概念結(jié)構(gòu)是各種數(shù)據(jù)模型的共同基礎(chǔ),為了能夠用某一DBMS實(shí)現(xiàn)用戶需求,還必須將概念結(jié)構(gòu)進(jìn)一步轉(zhuǎn)化為相應(yīng)的數(shù)據(jù)模型,這正是數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)所要完成的任務(wù)。它包括從E—R圖向關(guān)系模式轉(zhuǎn)換和邏輯模式規(guī)范化及調(diào)整、實(shí)現(xiàn)。

73.B\n棧是限定在一端進(jìn)行插入與刪除的線性表,允許插入和刪除元素的一端稱為棧頂,另一端為棧底。棧頂元素是最后被插入的元素,也是最先被刪除的元素,即棧是按照”先進(jìn)后出”的原則組織數(shù)據(jù)的。棧具有記憶功能,帶鏈的棧的結(jié)點(diǎn)存儲(chǔ)順序與其邏輯順序可以不一致。

\n

74.B

75.A解析:維護(hù)是軟件生命周期的最后一個(gè)階段,也是持續(xù)時(shí)間最長(zhǎng)、付出代價(jià)最大的階段。軟件工程學(xué)的目的就在于提高軟件的可維護(hù)性,同時(shí)也要設(shè)法降低維護(hù)的代價(jià)。

軟件維護(hù)通常有以下四類;

①為糾正使用中出現(xiàn)的錯(cuò)誤而進(jìn)行的改正性維護(hù);

②為適應(yīng)環(huán)境變化而進(jìn)行的適應(yīng)性維護(hù);

③為改進(jìn)原有軟件而進(jìn)行的完善性維護(hù);

④為將來(lái)的可維護(hù)和可靠而進(jìn)行的預(yù)防性維護(hù)。

軟件維護(hù)不僅包括程序代碼的維護(hù),還包括文檔的維護(hù)。文檔可以分為用戶文檔和系統(tǒng)文檔兩類。但無(wú)論是哪類文檔,都必須與程序代碼同時(shí)維護(hù)。只有與程序代碼完全一致的文檔才有意義和價(jià)值。由此可知,本題中選項(xiàng)B、C、D中的說(shuō)法都是錯(cuò)誤的。

76.A大寫(xiě)字母轉(zhuǎn)換為對(duì)應(yīng)小寫(xiě)字母,即加上32,A)選項(xiàng)不是累加32,所以選擇A)

77.B本題中,structex是結(jié)構(gòu)體類型名,exam-Ple是結(jié)構(gòu)體變量名。

78.A本題考查函數(shù)中變量的作用范圍,在主函數(shù)中給變量x、y、z賦值,然后將其作為實(shí)參傳遞給了函數(shù)fun(),雖然在函數(shù)fun()中改變了這三個(gè)變量的值,但只是同名的局部變量,不影響函數(shù)中變量的值。所以,在調(diào)用函數(shù)fun()結(jié)束后,主函數(shù)三個(gè)變量的值未改變,即形參值的改變不能影響實(shí)參值。

79.B本題考查的是邏輯運(yùn)算。本題中主要是進(jìn)行位的邏輯運(yùn)算。將a的值轉(zhuǎn)換成二進(jìn)制為:00000010,b的值轉(zhuǎn)換成二進(jìn)制為:00000100,將a、b進(jìn)行按位或運(yùn)算(參加計(jì)算的兩個(gè)位只要有一個(gè)為1,那么運(yùn)算結(jié)果為l),因此此時(shí)d的二進(jìn)制為:00000110,C的值轉(zhuǎn)換成二進(jìn)制為:00000101,接下來(lái)將d和C進(jìn)行按位與運(yùn)算(參加計(jì)算的兩個(gè)位都為1,則結(jié)果為1,否則為0),結(jié)果為:00000100,轉(zhuǎn)換成十進(jìn)制數(shù)結(jié)果為4。

80.A

\n在C語(yǔ)言中軟件概要設(shè)計(jì)的基本任務(wù)是:設(shè)計(jì)軟件系統(tǒng)結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫(kù)設(shè)計(jì)、編寫(xiě)概要設(shè)計(jì)文檔、概要設(shè)計(jì)文檔評(píng)審4種。

\n81.錯(cuò)誤:缺{

正確:加{

【解析】根據(jù)C語(yǔ)言語(yǔ)法規(guī)則,函數(shù)體中的所有語(yǔ)句應(yīng)包含在符號(hào){和)之間。因此.應(yīng)在函數(shù)proc()的函數(shù)后面加上符號(hào){。

82.

【解析】根據(jù)題目中要求刪除字符串中所有的*號(hào),需要檢查字符串中的每一個(gè)字符,將不是*號(hào)的字符放入原來(lái)的字符串中,形成新的字符串,最后在新的字符串的末尾加上結(jié)束符。

2021-2022年河北省滄州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.

2.設(shè)有如下定義和語(yǔ)句:FILE*fp;intdata[10],i,n;fp=fopen(“abc.txt”,“r”);文本文件abc.txt中的數(shù)據(jù)為58192765190,其中第1個(gè)數(shù)據(jù)代表的是它后面數(shù)據(jù)的個(gè)數(shù)。若文件已正確打開(kāi),則以下程序段中能將文件的最后5個(gè)數(shù)據(jù)依次正確讀入數(shù)組data[0]~data[4]中的是()。

A.fscanf(fp,“%d”,&n);for(i=0;i<n;i++)fscanf(fp,“%d”,&data[i]);

B.i=0;while(!feof(fp)){fscanf(fp,“%d”,&data[i]);i++;}

C.for(i=0;!feof(fp);i++)fscanf(fp,“%d”,&data[i]);

D.i=0;fscanf(fp,“%d”,&n);i++;while(!feof(fp)){fscanf(fp,“%d”,&data[i]);i++;}

3.有以下程序:#include<stdio.h>main(){charch[]=“uvwxyz”,*pc;pc=ch;printf(“%c\n”,*(pc+5));}程序的運(yùn)行結(jié)果是()

A.zB.0C.元素ch[5]的地址D.字符y的地址

4.以下選項(xiàng)中與“(!a==0)”的邏輯值不等價(jià)的表達(dá)式是()。

A.(a==!0)B.aC.(a>0||a<0)D.(a!=0)

5.軟件設(shè)計(jì)中劃分模塊的一個(gè)準(zhǔn)則是()。A.低內(nèi)聚低耦合B.高內(nèi)聚低耦合C.低內(nèi)聚高耦合D.高內(nèi)聚高耦合

6.數(shù)據(jù)庫(kù)DB、數(shù)據(jù)庫(kù)系統(tǒng)DBS、數(shù)據(jù)庫(kù)管理系統(tǒng)DBMS之間的關(guān)系是()。

A.DB包含DBS和DBMSB.DBMS包含DB和DBSC.DBS包含DB和DBMSD.沒(méi)有任何關(guān)系

7.下述程序的輸出結(jié)果是()。#include<stdio.h>voidmain(){chara=1,b=2;charc=a^b<<2;printf("\n%d",C);}

A.9B.10C.12D.2

8.設(shè)有定義語(yǔ)句:charc1=92,c2=92;則以下表達(dá)式中值為零的是()。

A.c1∧c2B.c1&c2C.~c2D.c1|c2

9.若有定義語(yǔ)句:“intkl一10,k2=20;”,執(zhí)行表達(dá)式(kl=kl>k2)(k2=k2>k1)后,kl和k2的值分別為()。

A.0和1B.0和20C.10和1D.10和20

10.設(shè)fun函數(shù)的定義形式為voidfun(charch,floatx){…}則下列對(duì)函數(shù)fun的調(diào)用語(yǔ)句中,正確的是()。

A.fun("abc",3.0);

B.t=fun(D.16.5);

C.fun(65,2.8);

D.fun(32,32);

11.已知一算術(shù)表達(dá)式的中綴形式為A+B*C–D/E,后綴形式為ABC*+DE/–,其前綴形式為()。

A.–A+B*C/DEB.–A+B*CD/EC.–+*ABC/DED.–+A*BC/DE

12.有以下程序:voidswap(char*x,char*y){chart;t=*x;*x=*y;*y=t;}main{char*s1="abe",*s2="123":swap(s1,s2);printf("%s,%s\n",s1,s2);}程序執(zhí)行后的輸出結(jié)果是()。A.123,abeB.abc.123C.1bc,a23D.321,cba

13.有以下程序:main(){intk=5,n=0;do{switch(k){case1:case3:n+=l;k--;break;defalut:n=0;k--;case2:case4:n+=2;k--;break:}printf("%d",n);}while(k>0&&n<5);}程序運(yùn)行后的輸出結(jié)果是()。A.235B.0235C.02356D.2356

14.

15.

16.檢查軟件產(chǎn)品是否符合需求定義的過(guò)程稱為_(kāi)_____。

A.確認(rèn)測(cè)試B.集成測(cè)試C.驗(yàn)證測(cè)試D.驗(yàn)收測(cè)試

17.交換兩個(gè)變量的值,不允許用臨時(shí)變量,應(yīng)該使用下列()位運(yùn)算符。

A.&.B.^C.||D.~

18.

有以下程序:

main()

{intk=5,n=0;

do

{switch(k)

{case1:

case3:n+=l;k--;break;

defalut:n=0;k--;

case2:

case4:n+=2;k--;break:

}

printf("%d",n);

}while(k>0&&n<5);

}

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

A.235B.0235C.02356D.2356

19.使用堆排序方法排序(45,78,57,25,41,89),初始堆序列()

A.78,45,57,25,41,89

B.89,78,57,25,41,45

C.89,78,25,45,41,57

D.89,45,78,41,57,25

20.若函數(shù)中有定義語(yǔ)句:inta;,則()。

A.系統(tǒng)將自動(dòng)給a賦初值0B.這時(shí)a中的值是和隨機(jī)數(shù)C.系統(tǒng)將自動(dòng)給a賦初值-1D.這a中無(wú)任何值

二、2.填空題(20題)21.下面程序有兩個(gè)printf語(yǔ)句,如果第一個(gè)printf語(yǔ)句輸出的是194,則第二個(gè)printf語(yǔ)句的輸出結(jié)果是【】。

main()

{inta[10]={1,2,3,4,5,6,7,8,9,0},*p;

p=a;

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

printf("%x\n,p+9);

}

22.有以下程序:

#include<stdio.h>

main()

{charch1,ch2;intn1,n2

ch1=getchar();ch2=getchar();

n1=ch1-'0';n2=n1*10+(ch2-'0');

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

}

程序運(yùn)行時(shí)輸入:12<回車>,執(zhí)行后的輸出結(jié)果是【】。

23.某二叉樹(shù)中度為2的結(jié)點(diǎn)有18個(gè),則該二叉樹(shù)中有【】個(gè)葉子結(jié)點(diǎn)。

24.若有語(yǔ)句:

inti=-19,j=i%4;

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

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

25.以下程序通過(guò)函數(shù)SunFun求。這里f(x)=x2+l,由F函數(shù)實(shí)現(xiàn)。請(qǐng)?zhí)羁铡?/p>

main()

{

printf("Thesum=%d\n",SunFun(10));

}

SunFun(intn)

{

intx,s=0;

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

S+=F(______);

returns;

}

F(intx)

{

return(______);

}

26.下面程序的功能是輸出數(shù)組中最大的數(shù),由a指針指向該元素。請(qǐng)?zhí)羁铡?/p>

main()

{ints[]={6,7,2,13,9,1,12,10,5,8,4,3,11),*a,*b;

for(【】)

if(*a<*b)a=b;

printf("%d",*a);

}

27.在數(shù)據(jù)流圖的類型中有兩種類型,它們是變換型和()。

28.數(shù)據(jù)結(jié)構(gòu)分為線性結(jié)構(gòu)和非線性結(jié)構(gòu),帶鏈的隊(duì)列屬于[]。

29.在面向?qū)ο蠓椒ㄖ?,信息隱蔽是通過(guò)對(duì)象的______性來(lái)實(shí)現(xiàn)的。

30.數(shù)據(jù)庫(kù)的邏輯模型設(shè)計(jì)階段的任務(wù)是將______轉(zhuǎn)換成關(guān)系模式。

31.fseek函數(shù)的正確調(diào)用形式是【】。

32.輸出指針數(shù)組各元素所指的整數(shù)值和它存放的地址值。

#include<stdio.h>

main()

{inti;

inta[5]={1,3,5,7,9};

int*num[5];

int【】;

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

num[i]=【】;

p=num+0;

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

{printf("%d%d\n",【】);

p++;

}

}

33.若有定義:inta=6,b=8,c=14;接著順序執(zhí)行下列語(yǔ)句后,變量c中的值是()。c=(b-=(a-5));a=(c%3)+(a=8);

34.有以下程序

main()

{intn=0,m=l,x=2;

if(!n)x-=1;

if(m)x-=2;

if(x)x-=3;

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

}

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

35.分析下列程序:

main()

{intx=1,y=0,a=0,b=0;

switch(a)

{case1:switch(b)

{case0:x++;

case1:y++;break;

}

case2:x++;y++;break;

}

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

}

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

36.在具有n個(gè)單元、順序存儲(chǔ)的循環(huán)隊(duì)列中,隊(duì)滿時(shí),共有【】個(gè)元素。

37.實(shí)現(xiàn)程序可將磁盤(pán)中的一個(gè)文件復(fù)制到另一個(gè)文件中,兩個(gè)文件的文件名在可執(zhí)行命令的命令行中(相當(dāng)于copy命令),假定文件在當(dāng)前目錄下。請(qǐng)補(bǔ)全程序。

#include<stdio.h>

voidmain(intargc,char*argv[])

{FILE*f1,*f2;

if(argc<【】)

{printf("parametererror!\n");exit(0);}

f1=fopen(argv[1],"r");

f2=fopen(argv[2],"w");

while(【】)fputc(fgetc(f1),f2);

fclose(f1);

fclose(f2);

}

38.若有以下程序

main()

{inta=4,b=3,c=5,t=0;

if(a<b)t=a;a=b;b=t;

if(a<c)t=a;a=c;c=t;

pfintf("%d%d%d\n",a,b,c);

}

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

39.在關(guān)系運(yùn)算中,【】運(yùn)算是在給定關(guān)系的某些域上進(jìn)行的運(yùn)算。

40.若有下面的程序片段:int[12]={0},*p[3],**pp,i;for(i=0;i<3;i)p[i]=&a[i*4];pp=p;則對(duì)數(shù)組元素的錯(cuò)誤引用是

三、1.選擇題(20題)41.若運(yùn)行以下程序時(shí),從鍵盤(pán)輸入ADescriptor<CR>(<CR>表示回車),則下面程序的運(yùn)行結(jié)果是

#include<stdio.h>

main()

{charc;

intv0=1,v1=0,v2=0;

do{switch(c=getchar())

{case′a′:case′A′:

case′e′:case′E′:

case′i′:case′I′:

case′o′:case′O′:

case′u′:case′U′:v1+=1;

default:v0+=1;v2+=1;}}while(c!='\n');

printf("v0=%d,v1=%d,v2=%d\n",v0,v1,v2);}

A.v0=7,v1=4,v2=7

B.v0=8,v1=4,v2=8

C.v0=11,v1=4,v2=11

D.v0=13,v1=4,v2=12

42.下列程序的輸出結(jié)果是()。voidf(int*x,int*y){intt;t=*x,*x=*y;*y=t;}main(){inta[8]={1,2,3,4,5,6,7,8},i,*p,*q;p=a;q=&a[7];while(p<q){f(p,q);p++;q--;}for(i=0;i<8;i+)printf("%d,",a[i]);}

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

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

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

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

43.以下程序輸出正確的是______。amovep(int*p,int(*A)[3],intn){inti,j;for(i=0;i<n;i++)for(j=0;j<n;j++){*p=a[i][j];p++}}main(){int*p,a[3][3]={{1,3,5},{2,4,6}};p=(int*)malloc(100);amovep(p,a,3);printf("%d%d\n",p[2],p[5]);free(p);}

A.56B.25C.34D.程序錯(cuò)誤

44.算法的時(shí)間復(fù)雜度是指______。

A.執(zhí)行算法程序所需要的時(shí)間B.算法程序的長(zhǎng)度C.算法執(zhí)行過(guò)程中所需要的基本運(yùn)算次數(shù)D.算法程序中的指令條數(shù)

45.在下列字符序列中,不可用做C語(yǔ)言標(biāo)識(shí)符的是()

A.student___numB.classC.#88D.month___12

46.以下是while語(yǔ)句的基本形式:while(表達(dá)式){語(yǔ)句:}其中“表達(dá)式”()。

A.必須是邏輯表達(dá)式B.必須是關(guān)系表達(dá)式C.必須是邏輯表達(dá)式或關(guān)系表達(dá)式D.可以是任意合法的表達(dá)式

47.有下列程序:main{chars[]="abcde";s+=2:printf("%d\n",s[0]);}執(zhí)行后的結(jié)果是()。

A.輸出字符a的ASCII碼B.輸出字符c的ASCII碼C.輸出字符cD.程序出錯(cuò)

48.有以下程序:#include<stdio.h>main(){FILE*fp;inti,k=0,n=0;fp=fopen("d1.dat","w");for(i=1;i<4;i++)fprintf(fp,"%d",i);fclose(fp);fp=fopen("d1.dat","r");fscanf(fp,"%d%d",&k,&n);printf("%d%d\n",k,n);fclose(fp);}執(zhí)行后輸出結(jié)果是()。

A.12B.1230C.123D.00

49.若有以下定義:floatx;inta,b,c=2;,則正確的switch語(yǔ)句是()

A.switch(x){case1.0:printf("*\n");case2.0:printf("**\n");}

B.switch(int(x)){case1:printf("*\n");case2:printf("**\n");}

C.switch(a+b){case1:printf("*\n");case1+2:printf("**\n");}

D.switch(a+B){case1:printf("*\n");casec:printf("**\n");}

50.設(shè)有以下語(yǔ)句

typedefstructS

{intg;charh;}T;

則下面敘述中正確的是()A.可用S定義結(jié)構(gòu)體變量B.可以用T定義結(jié)構(gòu)體變量C.S是struct類型的變量D.T是structS類型的變量

51.C語(yǔ)言程序的基本單位是()

A.函數(shù)B.過(guò)程C.字符D.語(yǔ)句

52.軟件(結(jié)構(gòu))設(shè)計(jì)階段產(chǎn)生的文檔是______。

A.程序流程圖B.系統(tǒng)功能說(shuō)明書(shū)C.系統(tǒng)模型說(shuō)明書(shū)D.模塊結(jié)構(gòu)圖和模塊說(shuō)明書(shū)

53.若有以下說(shuō)明和定義fun(int*C){…}main(){int(*A)()=fun,*b(),w[10],c;┇}在必要的賦值之后,對(duì)fun函數(shù)的正確調(diào)用語(yǔ)句是()

A.a=a(w);B.(*a)(&c);C.b=*b(w);D.fun(b);

54.軟件生存周期是指______這一過(guò)程。

A.軟件系統(tǒng)投入運(yùn)行到軟件系統(tǒng)被廢棄

B.軟件系統(tǒng)投入試運(yùn)行到軟件系統(tǒng)被廢棄

C.軟件系統(tǒng)開(kāi)始研制到軟件系統(tǒng)投入運(yùn)行

D.軟件系統(tǒng)開(kāi)始研制到軟件系統(tǒng)被廢棄

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

A.一個(gè)邏輯數(shù)據(jù)結(jié)構(gòu)只能有一種存儲(chǔ)結(jié)構(gòu)

B.數(shù)據(jù)的邏輯結(jié)構(gòu)屬于線性結(jié)構(gòu),存儲(chǔ)結(jié)構(gòu)屬于非線性結(jié)構(gòu)

C.一個(gè)邏輯數(shù)據(jù)結(jié)構(gòu)可以有多種存儲(chǔ)結(jié)構(gòu),且各種存儲(chǔ)結(jié)構(gòu)不影響數(shù)據(jù)處理的效率

D.一個(gè)邏輯數(shù)據(jù)結(jié)構(gòu)可以有多種存儲(chǔ)結(jié)構(gòu),且各種存儲(chǔ)結(jié)構(gòu)影響數(shù)據(jù)處理的效率

56.以下敘述中錯(cuò)誤的是A.C語(yǔ)言源程序經(jīng)編譯后生成后綴為.obj的目標(biāo)程序

B.C程序經(jīng)過(guò)編譯、連接步驟之后才能形成一個(gè)真正可執(zhí)行的二進(jìn)制機(jī)器指令文件

C.用C語(yǔ)言編寫(xiě)的程序稱為源程序,它以ASCII代碼形式存放在一個(gè)文本文件中

D.C語(yǔ)言中的每條可執(zhí)行語(yǔ)句和非執(zhí)行語(yǔ)句最終都將被轉(zhuǎn)換成二進(jìn)制的機(jī)器指令

57.以下程序的運(yùn)行結(jié)果是______。main(){chart=02;printf("%d\n",t=++t>>2);}

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

58.若有“doublea;”,則正確的輸入語(yǔ)句是()。

A.scanf("%1f",a);

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

C.scanf("%lf",&a)

D.scanf("%le",&a);

59.下列描述中正確的是()。

A.程序就是軟件

B.軟件開(kāi)發(fā)不受計(jì)算機(jī)系統(tǒng)的限制

C.軟件既是邏輯實(shí)體,又是物理實(shí)體

D.軟件是程序、數(shù)據(jù)與相關(guān)文檔的集合

60.有如下程序:voidf(intx,inty){intt;if(x<y){t=x;x=y;y=t;}}main(){inta=4,b=3,C=5,f(a,b);f(a,c);f(b,c);printf("%d,%d,%d\n",a,b,C);}執(zhí)行后輸出結(jié)果是()。

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

四、選擇題(20題)61.

62.某二叉樹(shù)共有7個(gè)結(jié)點(diǎn),其中葉子結(jié)點(diǎn)只有l(wèi)個(gè),則該二叉樹(shù)的深度為(假設(shè)根結(jié)點(diǎn)在第1層)()。

A.3B.4C.6D.7

63.

64.

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

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

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

66.有以下程序:

溫馨提示

  • 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)論