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

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

一、單選題(20題)1.假設(shè)下圖中每個(gè)正方形的邊長(zhǎng)為1,則從A到Z的最短路徑條數(shù)為()A.11B.12C.13D.14

2.下列程序的輸出結(jié)果是______。#include<stdio.h>main(){inti,j,k,a=3,b=2;i=(--a==b++)?--a;++b;j=a++;k=b;printf("i=%d,j=%d,k=%d\n",i,j,k);}

A.i=2,j=1,k=3B.i=1,j=1,k=2C.i=4,j=2,k=4D.i=1,j=1,k=3

3.以下能正確定義一維數(shù)組的選項(xiàng)是()。

A.inta[5]=(0,1,2,3,4,5);

B.chara[]={0,1,2,3,4,5);

C.chara={'A','B','C'};

D.inta[5]="0123";

4.一個(gè)隊(duì)列的入隊(duì)序列是1,2,3,4,則隊(duì)列的輸出序列是()。

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

5.在數(shù)據(jù)管理技術(shù)的發(fā)展過(guò)程中,經(jīng)歷了人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫(kù)系統(tǒng)階段。其中數(shù)據(jù)獨(dú)立性最高的階段是()。

A.數(shù)據(jù)庫(kù)系統(tǒng)B.文件系統(tǒng)C.人工管理D.數(shù)據(jù)項(xiàng)管理

6.C語(yǔ)言結(jié)構(gòu)體類(lèi)型變量在程序執(zhí)行期間,()。

A.所有成員一直駐留在內(nèi)存中B.沒(méi)有成員駐留在內(nèi)存中C.部分成員駐留在內(nèi)存中D.只有一個(gè)成員駐留在內(nèi)存中

7.有以下程序:#include<stdio.h>main(){chars[]=“abcde”;s+=2;printf(“%d\n”,s[0]);}程序的運(yùn)行結(jié)果是()。

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

8.將兩個(gè)各有n個(gè)元素的有序表歸并成一個(gè)有序表,最少的比較次數(shù)是()。

A.nB.2n-1C.2nD.n-1

9.需要分配較大空間,插入和刪除不需要移動(dòng)元素的線(xiàn)性表,其存儲(chǔ)結(jié)構(gòu)是()。A.單鏈表B.靜態(tài)鏈表C.線(xiàn)性鏈表D.順序存儲(chǔ)結(jié)構(gòu)

10.

11.下列敘述中錯(cuò)誤的是()。A.在數(shù)據(jù)庫(kù)系統(tǒng)中,數(shù)據(jù)的物理結(jié)構(gòu)必須與邏輯結(jié)構(gòu)一致,

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

C.數(shù)據(jù)庫(kù)設(shè)計(jì)是指在已有數(shù)據(jù)庫(kù)管理系統(tǒng)的基礎(chǔ)上建立數(shù)據(jù)庫(kù)

D.數(shù)據(jù)庫(kù)系統(tǒng)需要操作系統(tǒng)的支持

12.若已定義:inta[9],*p=a;并在以后的語(yǔ)句中未改變p的值,不能表示a[1]地址的表達(dá)式是_______。

A.p+1B.a+1C.a++D.++p

13.設(shè)q1和q2是指向一個(gè)float型一維數(shù)組的指針變量,k為float型變量,則不能正確執(zhí)行的語(yǔ)句是()。

A.k=*q1+*q2;B.q1=k;C.q1=q2;D.k=*q1*(*q2);

14.該程序試圖通過(guò)指針p為變量n讀入數(shù)據(jù)并輸出,但程序有多處錯(cuò)誤,以下語(yǔ)句正確的是()#includeMain(){intn,*p=NULL;*p=&n;printf("Inputn:");scanf("%d",&p);print("outputn:");print("%d\n",p);A.intn,*p=NULL;

B.*p=&n;

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

D.printf("%d\n",p);

15.檢查軟件產(chǎn)品是否符合需求定義的過(guò)程稱(chēng)為()。

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

16.有以下程序

#include<stdio.h>

main()

{inta[]={1,2,3,4,5,6,7,8,9,10,11,12,},*p=a+5,*q=NULL;

*q=*(p+5);

printf("%d%d\n",*p,*q);

}

程序運(yùn)行后的輸出結(jié)果是A.運(yùn)行后報(bào)錯(cuò)B.66C.611D.510

17.

18.以下對(duì)結(jié)構(gòu)體類(lèi)型變量的定義中,不正確的是()。

A.typedefstruetaa{intn;floatm;}AA;AAtdl;

B.#defineAAstructaaAA{intn;floatm;}tdl;

C.struct{intn;floatm;}aa;structaatdl;

D.struct{intn;floatm;}tdl;

19.有以下程序:#include<stdio.h>main(){charch=‘D’;while(ch>‘A’){ch--;putchar(ch);if(ch==‘A’)break;putchar(ch+1);}}程序運(yùn)行后的輸出結(jié)果是()。

A.CBB.BCAC.CCBBD.CDBCA

20.有以下程序:#include<stdio.h>#include<string.h>main(){charstr[][20][{"One*World","One*Dream!"},*p=str[1];prinft("%d,",strlen(p));printf("%s\n",p);}程序運(yùn)行后的輸出結(jié)果是()。A.9,0ne*WorldB.9,0ne*Dream!C.10,One*Dream!D.10,Ome*World

二、2.填空題(20題)21.下列程序的輸出結(jié)果是______。

longfun5(intn)

{longs;

if((n==1)‖(n==2))

s=2;

else

s=n+fun5(n-1);

return(s);

}

main()

{longx;

x=fun5(4);

printff"%1d\n",x);}

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

intt(intx,inty,intcp,intdp)

{cp=x*x+y*y;

dp=x*x-y*y;

}

main()

{inta=4,b=3,c=5,d=6;

t(a,b,c,d);

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

}

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

main()

{inti,m=0,n=0,k=0;

for(i=9;i<=11;i++)

switch(i/10)

{case0:m++;n++;break;

case1:n++;break;

default:k++;n++;

}

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

}

24.在面向?qū)ο蠓椒ㄖ?,【】描述的是具有相似屬性與操作的一組對(duì)象。

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

#definePOW(r)(r)*(r)

main()

{intx=3,y=2,t;

t=POW(x+y);

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

}

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

#include<string.h>

char*ss(char*s)

{returns+strlen(s)/2;}

main()

{char*p,*str="abcdefgh";

p=ss(str);printf("%s\n",p);

}

27.在______個(gè)容量為32的循環(huán)隊(duì)列中,若頭指針front=3,尾指針rear=2,則該循環(huán)隊(duì)列中共有______個(gè)元素。

28.數(shù)據(jù)庫(kù)設(shè)計(jì)分為以下6個(gè)設(shè)計(jì)階段:需求分析階段、______、邏輯設(shè)計(jì)階段、物理設(shè)計(jì)階段、實(shí)施階段、運(yùn)行和維護(hù)階段。

29.下面程序調(diào)用fun函數(shù)動(dòng)態(tài)分配兩個(gè)整型存儲(chǔ)單元,并通過(guò)形參傳回這兩個(gè)整型存儲(chǔ)單元的地址給s1和s2,將程序補(bǔ)充完整。

main()

{

int*s1,*s2;

fun(【】);

}

intfun(【】);

{

*p=(int*)malloc(sizeof(int));

*q=(int*)malloc(sizeof(int));

}

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

main()

{inti;

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

{if(i>4)

{printf("%d\n",i);

break;}

printf("%d\n",i++);}}

31.下列程序的運(yùn)行結(jié)果為【】。

main()

{inti;

chara[]="Ilovechina!",b[20],*p1,*p2;

p1=a;

p2=b;

while(*p1)

{*p2=*p1;

p1++;

p2++;

}

*p2='\0';

printf("stringbis:%s\n",b);

}

32.下列的for語(yǔ)句的循環(huán)次數(shù)為_(kāi)_____。

for(x=1,y=0;(y!=19)&&(x<7);x++);

33.設(shè)有定義“stmct{inta;floatb;charc}abc,*p_abc=&abc;”,則對(duì)結(jié)構(gòu)體成員a的引用方法可以是abc.a和p_abc______。

34.常用的黑箱測(cè)試有等價(jià)類(lèi)劃分法、【】和錯(cuò)誤推測(cè)法3種。

35.當(dāng)循環(huán)隊(duì)列非空且隊(duì)尾指針等于隊(duì)頭指針時(shí),說(shuō)明循環(huán)隊(duì)列已滿(mǎn),不能進(jìn)行人隊(duì)運(yùn)算。這種情況稱(chēng)為【】。

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

#include<string.h>

voidfun(char*s,intp,intk)

{inti;

for(i=p;i<k-1;i++)s[i]=s[i+2];

}

main()

{chars[]="abcdefg";

fun(s,3,strlen(s));puts(s);

}

37.現(xiàn)有兩個(gè)C程序文件T18.c和myfun.c同在TC系統(tǒng)目錄(文件夾)下,其中T18.c文件如下:

#include<stdio.h>

#include"myfun.c"

main()

{fun();printf("\n");}

myfun.c文件如下:

voidfun()

{chars[80],c;intn=0;

while((c=getchar())!=′\n′)s[n++]=c;

n--;

while(n>=0)printf("%c",s[n--]);

}

當(dāng)編譯連接通過(guò)后,運(yùn)行程序T18時(shí),輸入Thank!,則輸出結(jié)果是【】。

38.有以下定義和語(yǔ)句,則sizeof(a.share)的值是()。

structdate

{unsignedintday;

unsignedintmouth;

unsignedintyear;

union{intshare1;

floatshare2;

}share;

}a;

39.計(jì)算機(jī)病毒除有破壞性、潛伏性和激發(fā)性外,還有一個(gè)最明顯的特性是【】

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

main()

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

for(p=s+1;p<s+4;p++)printf("%s\n",p);}

三、1.選擇題(20題)41.字符(char)型數(shù)據(jù)在微機(jī)內(nèi)存中的存儲(chǔ)形式是______。

A.反碼B.補(bǔ)碼C.EBCDIC碼D.ASCII碼

42.設(shè)有數(shù)組定義:chararray[]="China";則數(shù)組array所占的空間為()個(gè)字節(jié)。

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

43.有如下程序

main()

{intn=9;

while(n>6){n--;printf("%d",n);}}

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

A.987B.876C.8765D.9876

44.按照“先進(jìn)先出”組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是()。

A.隊(duì)列B.棧C.雙向鏈表D.二叉樹(shù)

45.設(shè)有數(shù)組定義:chararray[]="China";則數(shù)組array所占的空間是()。

A.4個(gè)字節(jié)B.5個(gè)字節(jié)C.6個(gè)字節(jié)D.7個(gè)字節(jié)

46.下列關(guān)于棧的描述中,正確的是()

A.在棧中只能插入元素B.在棧中只能刪除元素C.只能在一端插入或刪除元素D.只能在一端插入元素,而在另一端刪除元素

47.若有定義:intx=0,*p=&x;,則語(yǔ)句printf("%d\n",*p);的輸出結(jié)果是()。

A.隨機(jī)值B.0C.x的地址D.p的地址

48.在16位C編譯系統(tǒng)上,若定義longa;,則能給a賦值40000的正確語(yǔ)句是()

A.a=20000+20000;B.a=4000*10;C.a=30000+10000;D.a=4000L*10L;

49.若進(jìn)棧序列為1,2,3,4,進(jìn)棧過(guò)程中可以出棧,則下列不可能的一個(gè)出棧序列是______。

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

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

A.c1c2

B.c1&c2C.~c2D.c1│c2

51.以下所列的各函數(shù)首部中,正確的是______。

A.voidplay(Var:Integer,varb:Integer)

B.voidplay(inta,b)

C.voidplay(inta,intb)

D.Subplay(aasinteger,basinteger)

52.軟件是指()。A.程序B.程序和文檔C.算法加數(shù)據(jù)結(jié)構(gòu)D.程序、數(shù)據(jù)與相關(guān)文檔的完整集合

53.如果需要打開(kāi)一個(gè)已經(jīng)存在的非空文件"Demo"進(jìn)行修改,下面選項(xiàng)中正確的是

A.fp=fopen("Demo","r");

B.fp=fopen("Demo","ab+");

C.fp=fopen("Demo","w+");

D.fp=fopen("Demo","r+");

54.下面程序的輸出是______。main(){char*s="12134211";intv1=0,v2=0,v3=0,v4=0,k;for(k=0;s[k];k++)switch(s[k]){default:v4++;case'1':v1++;case'3':v3++;case'2':v2++;}printf("v1=%d,v2=%d,v3=%d,v4=%d\n",v1,v2,v3,v4);}

A.v1=4,v2=2,v3=1,v4=1

B.v1=4,v2=9,v3=3,v4=1

C.v1=5,v2=8,v3=6,v4=1

D.v1=8,v2=8,v3=8,v4=8

55.分析下列程序:#include<stdio.h>main(){int*p1,*p2,*p;inta=6,b=9;p1=&a;p2=&b;if(a<b){p=p1;p1=p2;p2=p;}printf("%d,%d",*p1,*p2);printf("%d,%d",a,b);}程序的輸出結(jié)果為()。

A.9,66,9B.6,99,6C.6,96,9D.9,69,6

56.以下合法的賦值語(yǔ)句是()

A.x=y=100B.d--;C.x+y;D.c=int(a+b);

57.下列敘述中,不屬于軟件需求規(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)行需求分析

58.若有說(shuō)明:inta[][3]={0,0};則不正確的敘述是()。

A.數(shù)組a的每個(gè)元素的初值都是0

B.數(shù)組a的第一維大小為1

C.數(shù)組a的行數(shù)為1

D.只有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0

59.關(guān)于線(xiàn)性表的描述,錯(cuò)誤的一條是______。

A.線(xiàn)性表是線(xiàn)性結(jié)構(gòu)

B.線(xiàn)性表就是單鏈表

C.線(xiàn)性表的順序存儲(chǔ)結(jié)構(gòu),必須占用一片連續(xù)的存儲(chǔ)單元

D.線(xiàn)性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),不必占用連續(xù)的存儲(chǔ)單元

60.不能與do…while(exp)語(yǔ)句中的(exp)等價(jià)的表達(dá)式是()。

A.(!exp==O)B.(exp>0||exp<0)C.(exp==0)D.(exp!=O)

四、選擇題(20題)61.(57)下列敘述中,不屬于軟件需求規(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)行需求分析

62.(59)SQL語(yǔ)言又稱(chēng)為()

A.結(jié)構(gòu)化定義語(yǔ)言

B.結(jié)構(gòu)化控制語(yǔ)言

C.結(jié)構(gòu)化查詢(xún)語(yǔ)言

D.結(jié)構(gòu)化操縱語(yǔ)言

63.

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

main

{intm=5;

if(m++>5)printf("%d\n",m):

elseprintf("%d\n",m--);

}

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

64.數(shù)據(jù)流圖用于抽象描述一個(gè)軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構(gòu)成。下列圖符名標(biāo)識(shí)的圖符不屬于數(shù)據(jù)流圖內(nèi)容的是

A.控制流B.加工C.?dāng)?shù)據(jù)存儲(chǔ)D.?dāng)?shù)據(jù)流

65.以下符合C語(yǔ)言語(yǔ)法的實(shí)型常量是

A.1.2E0.7B.3.33.145EC.E23D..4E-2

66.以下定義數(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’};

67.以下敘述中錯(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ù)

68.有以下程序:

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

A.1,0,7,0,B.1,2,3,4,C.1,4,5,9,D.3,4,8,10,

69.當(dāng)變量c的值不為2、4、6時(shí),值也為“真”的表達(dá)式是()。

70.在關(guān)系數(shù)據(jù)庫(kù)中,用來(lái)表示實(shí)體間聯(lián)系的是()。

A.網(wǎng)狀結(jié)構(gòu)B.樹(shù)狀結(jié)構(gòu)C.屬性D.二維表

71.已知一棵二叉樹(shù)前序遍歷和中序遍歷分別為ABDEFGCHI和DBFEGACIH,則該二叉樹(shù)的后序遍歷為

A.DFGEBHICAB.DGEBHFCAIC.DFGEBIHCAD.DGEBFIHCA

72.若運(yùn)行以下程序時(shí),從鍵盤(pán)輸入ADescriptor<CR>(<CR>表示回車(chē)),則下面程序的運(yùn)行結(jié)果是()。

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

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

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

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

73.下列詞語(yǔ)中,不屬于面向?qū)ο蠓椒ǖ氖?/p>

A.對(duì)象、消息B.繼承、多態(tài)C.類(lèi)、封裝D.過(guò)程調(diào)用

74.

75.若有以下定義和語(yǔ)句:“doubler=99,*p=&r;*P=r;”,則以下正確的敘述是()。

A.兩個(gè)*p含義相同,都說(shuō)明給指針變量p賦值

B.在“doubler=99,*p=&r;”中,把r的地址賦值給了P所指的存儲(chǔ)單元

C.語(yǔ)句“*p=r;”把變量r的值賦給指針變量P

D.語(yǔ)句“*p=r;”取變量r的值放回r中

76.

77.下面程序段的運(yùn)行結(jié)果是()。

A.8B.12C.4D.7

78.

79.對(duì)長(zhǎng)度為n的線(xiàn)性表排序,在最壞情況下,比較次數(shù)是nlog2n的排序方法是()。

A.快速排序B.冒泡排序C.直接插入排序D.堆排序

80.關(guān)于結(jié)構(gòu)化程序設(shè)計(jì)原則和方法的描述錯(cuò)誤的是()。

A.選用的結(jié)構(gòu)只準(zhǔn)許有一個(gè)入口和一個(gè)出口

B.復(fù)雜結(jié)構(gòu)應(yīng)該用嵌套的基本控制結(jié)構(gòu)進(jìn)行組合嵌套來(lái)實(shí)現(xiàn)

C.不允許使用GOTO語(yǔ)句

D.語(yǔ)言中若沒(méi)有控制結(jié)構(gòu),應(yīng)該采用前后一致的方法來(lái)模擬

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:將字符串str中的所有字符復(fù)制到字符串b中,要求在每復(fù)制3個(gè)字符之后插入1個(gè)空格。例如,在調(diào)用proc()函數(shù)之前給字符

串str輸入abcdefghijk,調(diào)用函數(shù)之后,字符串b中的內(nèi)容則為abcdefghijk。

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

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

試題程序:

六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫(xiě)一個(gè)函數(shù)voidproc(char*str),其功能是:將字符串str中所有下標(biāo)為偶數(shù)位置上的字母轉(zhuǎn)化為大寫(xiě)(若該位置上不是字母,則不轉(zhuǎn)換)。例如,若輸入字符串:“thankyou6verymuch”,則應(yīng)輸出:“TbAnKYoU6vErYMuCh”。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。試題程序:

參考答案

1.C

2.D

3.B數(shù)組1標(biāo)從0開(kāi)始,A選項(xiàng)中所賦值的個(gè)數(shù)超過(guò)了數(shù)組的長(zhǎng)度;C選項(xiàng)中定義a為字符型變量,而不是數(shù)組,賦值錯(cuò)誤;D選項(xiàng)中,整型數(shù)組不能賦字符串。

4.C

5.A在數(shù)據(jù)管理技術(shù)的發(fā)展過(guò)程中,經(jīng)歷了人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫(kù)系統(tǒng)階段。其中數(shù)據(jù)獨(dú)立性最高的階段是數(shù)據(jù)庫(kù)系統(tǒng)這一階段。數(shù)據(jù)庫(kù)系統(tǒng)階段用數(shù)據(jù)模型來(lái)表示復(fù)雜的數(shù)據(jù),有較高的數(shù)據(jù)獨(dú)立性。數(shù)據(jù)庫(kù)系統(tǒng)為用戶(hù)提供了方便的用戶(hù)接口,用戶(hù)既可使用查詢(xún)語(yǔ)言或終端命令操作數(shù)據(jù)庫(kù),也可以用程序方式來(lái)操作。數(shù)據(jù)庫(kù)管理系統(tǒng)提供了數(shù)據(jù)控制功能。

6.A解析:C語(yǔ)言結(jié)構(gòu)體類(lèi)型變量在程序執(zhí)行期間所有成員一直駐留在內(nèi)存中。

7.B在C語(yǔ)言中,數(shù)組名類(lèi)似于一個(gè)指向數(shù)組首地址的指針常量,一旦定義就不能修改其內(nèi)容。所以本題中的“s+=2;”語(yǔ)句讓數(shù)組名S的內(nèi)容加2是錯(cuò)誤的,編譯無(wú)法通過(guò)。故本題答案為B選項(xiàng)。

8.B

9.B

10.B

11.A解析:本題考查數(shù)據(jù)庫(kù)系統(tǒng)的基本概念和知識(shí)。數(shù)據(jù)的邏輯結(jié)構(gòu),是數(shù)據(jù)間關(guān)系的描述,它只抽象地反映數(shù)據(jù)元素之間的邏輯關(guān)系,而不管其在計(jì)算機(jī)中的存儲(chǔ)方式。數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu),又叫物理結(jié)構(gòu),是邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)器里的實(shí)現(xiàn)。這兩者之間沒(méi)有必然的聯(lián)系。因此,選項(xiàng)A的說(shuō)法是錯(cuò)誤的。

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

數(shù)據(jù)庫(kù)設(shè)計(jì)是在數(shù)據(jù)庫(kù)管理系統(tǒng)的支持下,按照應(yīng)用的要求,設(shè)計(jì)一個(gè)結(jié)構(gòu)合理、使用方便、效率較高的數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng)。數(shù)據(jù)庫(kù)設(shè)計(jì)包含兩方面的內(nèi)容:一是結(jié)構(gòu)設(shè)計(jì),也就是設(shè)計(jì)數(shù)據(jù)庫(kù)框架或數(shù)據(jù)庫(kù)結(jié)構(gòu);二是行為設(shè)計(jì),即設(shè)計(jì)基于數(shù)據(jù)庫(kù)的各類(lèi)應(yīng)用程序、事務(wù)等。因此,選項(xiàng)C的說(shuō)法是錯(cuò)誤的。

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

12.C解析:數(shù)組名是指針常量,是個(gè)固定的指針,不能對(duì)數(shù)組名賦予一個(gè)新的地址值,也不能使這個(gè)指針常駐量“移動(dòng)”,指向數(shù)組的其他元素。

13.B解析:選項(xiàng)A)是將指針q1和q2所指向的變量值相加,然后賦給k;選項(xiàng)B)中,float型數(shù)據(jù)和指針型數(shù)據(jù)之間不能進(jìn)行賦值運(yùn)算:選項(xiàng)C)中,是兩個(gè)指針變量之間的賦值:選項(xiàng)D)中,是兩個(gè)指針型變量所指向的兩個(gè)float型數(shù)據(jù)相乘。

14.A選項(xiàng)B)的正確寫(xiě)法應(yīng)為p=&n;選項(xiàng)C)的正確寫(xiě)法應(yīng)為scanf("%d",p);選項(xiàng)D)的正確寫(xiě)法應(yīng)為print("%d\\n",*p)。

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

(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ò)誤。

16.C解析:本題中第一行代碼對(duì)指針P進(jìn)行了初始化,其指向數(shù)組a的第6個(gè)元素,在其后的操作中p的值也沒(méi)有改變過(guò),所以最后輸出*p=*\u3000\u3000(p+0)\u3000\u3000=a\u3000[5]\u3000=6,而第二行代碼中對(duì)q指向的值進(jìn)行賦值,等價(jià)于*q=a[10]=11,所以輸出結(jié)果*q為11。

17.D

18.C解析:定義結(jié)構(gòu)體類(lèi)型的變量有如下幾種方法:

①定義結(jié)構(gòu)體類(lèi)型的同時(shí),定義結(jié)構(gòu)體類(lèi)型的變量,如:

stractaa

{…}tdl;

選項(xiàng)B)中將宏名AA用宏體structaa替換后,與該定義形式一樣,因此是正確的。在這一定義形式中,結(jié)構(gòu)體類(lèi)型名aa是可以省略的,因此,D)項(xiàng)也是正確的。

②先定義結(jié)構(gòu)體類(lèi)型,然后再定義結(jié)構(gòu)體類(lèi)型的變量,形式如下:

structaa

{…};

strnctaatdl;

這種定義形式也可演變?yōu)椋合扔妙?lèi)型定義語(yǔ)句typedef將該結(jié)構(gòu)體類(lèi)型定義成一個(gè)類(lèi)型名AA,然后直接用該類(lèi)型名AA定義一個(gè)結(jié)構(gòu)體變量(這時(shí)不再需要使用關(guān)鍵字struct)。因此選項(xiàng)A)正確。

19.Dputchar函數(shù)的功能是輸出一個(gè)字符,由whlie判斷條件和ch初始值可知,只要“ch≠‘A’”,執(zhí)行兩次putchar函數(shù),否則跳出循環(huán)。第1次輸出“CD”,第2次輸出“BC”,第3次輸出“A”后跳出循環(huán)。故本題答案為D選項(xiàng)。

20.C本題輸出兩個(gè)結(jié)果,第一個(gè)是求字符串的長(zhǎng)度。第二個(gè)是輸出的字符串,數(shù)組的下標(biāo)是從0開(kāi)始的,所以當(dāng)str取1的時(shí)候,應(yīng)為“One*Dream!”。

21.99解析:考查ifelse語(yǔ)句,n==4不滿(mǎn)足條件,所以fun5(4)=4+fun5(3),n==3也不滿(mǎn)足條件,fun5(3)=3+funS(2),n==2滿(mǎn)足條件fun5(2)=2,故x=4+3+2=9。

22.5656解析:本題中a,b,c,d足實(shí)參,x,y,cp,dp是形參。C語(yǔ)言規(guī)定,實(shí)參變量對(duì)形參變量的數(shù)據(jù)傳遞是“值傳遞”,即單向傳遞,只由實(shí)參傳給形參,而不能由形參傳回來(lái)給實(shí)參。在內(nèi)存中,實(shí)參單元與形參單元是不同的單元。在調(diào)用函數(shù)時(shí),給形參分配存儲(chǔ)單元,并將實(shí)參對(duì)應(yīng)的值傳遞給形參,調(diào)用結(jié)束后,形參單元被釋放,實(shí)參單元仍保留并維持原值。因此,程序的輸出結(jié)果是56。

23.130130解析:本題主函數(shù)中用了一個(gè)for循環(huán),循環(huán)了3次:當(dāng)i=9時(shí),i/10=0,執(zhí)行switch語(yǔ)句中case0分支,m和n的值各增1,變?yōu)?和1,然后遇到break語(yǔ)句,退出switch語(yǔ)句;當(dāng)i=10和11時(shí),i/10都等于1,執(zhí)行switch語(yǔ)句中的case1分支,兩次使n增1,變?yōu)?,退出switch語(yǔ)句。故該空格處應(yīng)該填130。

24.類(lèi)類(lèi)解析:在面向?qū)ο蠓椒ㄖ?,?lèi)描述的是具有相似屬性與操作的一組對(duì)象。

25.2525解析:本題考查帶參數(shù)的宏的定義及相關(guān)運(yùn)算。運(yùn)算過(guò)程為:t=POW(x+y)=(2+3)*(2+3)=25。

26.efghefgh解析:函數(shù)ss返回形參s所指向的符號(hào)串的后半部分,故p='efgh'。

27.3131解析:設(shè)隊(duì)列容量為m,如果:rear>front,則隊(duì)列中元素個(gè)數(shù)為rear-front;如果rear<front,則隊(duì)列中元素個(gè)數(shù)為m+(rear-front)。本題rear<front,則m=32+(2-3)=31。

28.概念設(shè)計(jì)階段(數(shù)據(jù)庫(kù)概念設(shè)計(jì)階段)概念設(shè)計(jì)階段(數(shù)據(jù)庫(kù)概念設(shè)計(jì)階段)

29.&s1&s2

30.1351\r\n3\r\n5解析:本題考查了for循環(huán)語(yǔ)句的使用,break語(yǔ)句用在本題中是結(jié)束for循環(huán)直接跳出循環(huán)體外。當(dāng)i=1時(shí),因?yàn)閕f語(yǔ)句條件不滿(mǎn)足,所以直接執(zhí)行printf('%d\\n',i++);輸出1,同時(shí)i自加1;執(zhí)行第二次for循環(huán)時(shí),i=3;同樣的if語(yǔ)句條件不滿(mǎn)足,所以直接執(zhí)行printf('%d\\n',i++);輸出3,同時(shí)i自加1;執(zhí)行第三次for循環(huán)時(shí),i=5,if語(yǔ)句條件滿(mǎn)足,所以執(zhí)行printf('%d\\n',i),輸出5,然后break語(yǔ)句跳出了for循環(huán)。

31.stringbis:Ilovechina!

32.66解析:分析程序可知,每循環(huán)一次,x的值加1,然后檢測(cè)循環(huán)控制條件(y!=19)&&(x<7),因y的值不變,故滿(mǎn)足x<7時(shí)循環(huán)6次。

33.若結(jié)構(gòu)體變量abc有成員a,并有指針p_abc指向結(jié)構(gòu)變量abe,則引用變量abe成員s的標(biāo)記形式有abe.a和p_abc->a。

34.邊界值分析法邊界值分析法解析:黑箱測(cè)試方法完全不考慮程序的內(nèi)部結(jié)構(gòu)和內(nèi)部特征,而只是根據(jù)程序功能導(dǎo)出測(cè)試用例。常用的黑箱測(cè)試有等價(jià)類(lèi)劃分、邊界值分析法和錯(cuò)誤推測(cè)法3種。

35.上溢上溢解析:入隊(duì)運(yùn)算是指在循環(huán)隊(duì)列的隊(duì)尾加入一個(gè)新元素。這個(gè)運(yùn)算有兩個(gè)基本操作:首先將隊(duì)尾指針進(jìn)一(即rear=rear+1),并當(dāng)rear=m+1時(shí),置rear=1;然后將新元素插入隊(duì)尾指針指向的位置。當(dāng)循環(huán)隊(duì)列非空(s=1)且隊(duì)尾指針等于隊(duì)頭指針時(shí),說(shuō)明循環(huán)隊(duì)列已滿(mǎn),不能進(jìn)行人隊(duì)運(yùn)算,這種情況稱(chēng)為“上溢”。

36.abcfgabcfg解析:本題考查的是字符數(shù)組用作函數(shù)參數(shù)。C語(yǔ)言中數(shù)組名可以看作該數(shù)組首地址的常量指針、因此可以直接傳遞給指針類(lèi)型的參數(shù)。本題的主函數(shù)調(diào)用fun(s,3,strlen(s));后,函數(shù)中for循環(huán)就是for(i=3;i<strlen(s)-1;i++),即i從3遞增到字符數(shù)組s的長(zhǎng)度-2位置,循環(huán)中讓s[i]=s[i+2],所以函數(shù)fun()實(shí)現(xiàn)的功能簡(jiǎn)單來(lái)說(shuō)就是將字符串s下標(biāo)為p+2~k范圍的字符整體復(fù)制到字符串s下標(biāo)為p~k-2的位置上。在本題中strlen(s)返回s的長(zhǎng)度7,所以復(fù)制的字符為s[5]~s[7],即'f'、'g','\\0'三個(gè)字符,復(fù)制到s[3]~s[5],故最終輸出的字符串為abcfg(因?yàn)閟[5]為'\\0',所以后面的字符不會(huì)輸出)。

37.!knahT!knahT解析:此程序是一道次序顛倒題,即輸入'Thank!',則輸出'!knahT'。

38.4

39.傳染性或傳播性傳染性或傳播性

40.BCDCDDBCD\r\nCD\r\nD解析:本題考查指向字符串的指針的運(yùn)算方法。指針變量p首先指向字符串中的第一個(gè)字符A,執(zhí)行p=s+1后,p指向字符串中的第二個(gè)字符B,然后輸出值“BCD”并換行,依次執(zhí)行循環(huán)語(yǔ)句。

41.D解析:將—個(gè)字符常量放到一個(gè)字符變量中,實(shí)際上并不是把該字符本身放到內(nèi)存單元中去,而是將該字符的ASCII碼值放到存儲(chǔ)單元中。

42.C解析:在定義字符數(shù)組用字符串常量進(jìn)行初始化時(shí),系統(tǒng)會(huì)自動(dòng)在結(jié)尾加'\\0'做結(jié)束標(biāo)志,所以數(shù)組array所占的空間為6個(gè)字節(jié)。

43.B解析:該題目應(yīng)該根據(jù)循環(huán)體第一次和最后一次執(zhí)行時(shí)的輸出結(jié)果來(lái)決定哪一項(xiàng)是正確的。第一次進(jìn)入循環(huán)時(shí),n的值是9,循環(huán)體內(nèi),先經(jīng)過(guò)n--運(yùn)算,n的值變?yōu)?,所以第一次的輸出值是8,由此可以排除選項(xiàng)A)和D)。由循環(huán)條件n>6可以知道,最后一次循環(huán)開(kāi)始時(shí),n的值應(yīng)該為7,所以最后一次執(zhí)行循環(huán)時(shí),輸出為6,由此可以排除選項(xiàng)C)。

44.A隊(duì)列是一種特殊的線(xiàn)性表,只允許在表的一端插八元素,在表的另一端刪除元素,插入元素的一端叫“隊(duì)尾”,刪除元素的一端叫“隊(duì)頭”。先插入的元素先被刪除,是按“先進(jìn)先出”的原則組織數(shù)據(jù)的。

【知識(shí)拓展】“隊(duì)列”和“?!倍际且环N特殊的線(xiàn)性表。之所以稱(chēng)之為“隊(duì)列”,其形式如“排隊(duì)”。要講究“先來(lái)后到”,先進(jìn)先出,后進(jìn)后出。

45.C解析:在定義字符數(shù)組時(shí),可以用一個(gè)字符串作為初值,對(duì)數(shù)組進(jìn)行初始化。要注意的是,數(shù)組array的長(zhǎng)度不是5,而是6,因?yàn)橄到y(tǒng)將自動(dòng)在字符串常量的后面加上一個(gè)'\\0',因此,題干中的初始化語(yǔ)句與chararray[]={'C','h','i','n','9','\\0'};等價(jià)。

46.C\nC)【解析】棧實(shí)際也是線(xiàn)性表,只不過(guò)是一種特殊的線(xiàn)性表。棧是只能在表的~端進(jìn)行插入和刪除運(yùn)算的線(xiàn)性表,通常稱(chēng)插入、刪除的這一端為棧頂另一端為棧底。當(dāng)表中沒(méi)有元素時(shí)稱(chēng)為空棧。棧頂元素總是最后被插入的元素,從而也是最先被刪除的元素;棧底元素總是最先被插入的元素,從而也是最后才能被刪除的元素。

\n

47.B解析:p為整型指針,指向整型變量x,輸出項(xiàng)為*p,即x的值,所以輸出結(jié)果為0。

48.D

49.C解析:棧是一種后進(jìn)先出表,選項(xiàng)C中,先出棧的是3,說(shuō)明此時(shí)棧內(nèi)必然有1,2,由于1先于2進(jìn)淺,所以1不可能在2之前出棧,故選項(xiàng)C這種出棧序列是不可能的。

50.A解析:本題考核的知識(shí)點(diǎn)是位運(yùn)算的應(yīng)用。選項(xiàng)A為異或運(yùn)算符,如果參加運(yùn)算的兩個(gè)位相同,結(jié)果為O,否則為1。顯然選項(xiàng)A中參加運(yùn)算c1和c2相同,故其值位0;選項(xiàng)B為位與運(yùn)算,如果參加運(yùn)算的兩位都為1,則結(jié)果為1,否則結(jié)果為0,選項(xiàng)B中參加運(yùn)算的c1和c2都為真,所該結(jié)果為1;選項(xiàng)C為取反運(yùn)算,用來(lái)對(duì)一個(gè)二進(jìn)制取反,顯然c2取反后不為0,選項(xiàng)D為位或運(yùn)算,參加運(yùn)算的兩位只要有一個(gè)為1,那么運(yùn)算結(jié)果為1,顯然參加運(yùn)算的c1和c2都不為0,故運(yùn)算結(jié)果不為0。所以,4個(gè)選項(xiàng)中選項(xiàng)A符合題意。

51.C解析:C語(yǔ)言中函數(shù)首部中的各參數(shù)必須分開(kāi)單獨(dú)定義,因此選項(xiàng)C才是正確的。而選項(xiàng)A和D是其他語(yǔ)言的函數(shù)定義方式。

52.D軟件是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部分,是包括程序、數(shù)據(jù)及相關(guān)文檔的完整集合。其中,程序是軟件開(kāi)發(fā)人員根據(jù)用戶(hù)需求開(kāi)發(fā)的、用程序設(shè)計(jì)語(yǔ)言描述的、適合計(jì)算機(jī)執(zhí)行的指令(語(yǔ)句)序列;數(shù)據(jù)是使程序能正常操縱信息的數(shù)據(jù)結(jié)構(gòu);文檔是與程序開(kāi)發(fā)、維護(hù)和使用有關(guān)的圖文資料。因此本題的正確答案是D。

53.D解析:此題考查文件打開(kāi)方式對(duì)文件操作的影響。由于打開(kāi)文件進(jìn)行修改,可見(jiàn)選項(xiàng)A)是錯(cuò)誤的,因?yàn)榇朔N方式打開(kāi)時(shí),只能讀,不能寫(xiě),當(dāng)然無(wú)法修改;選項(xiàng)B)是以追加方式'ab+'打開(kāi)文件讀寫(xiě),以這種方式打開(kāi)時(shí),新寫(xiě)入的數(shù)據(jù)只能追加在文件原有內(nèi)容之后,但可以對(duì)以前的數(shù)據(jù)讀出。換言之,'ab+'或'a+'方式打文件后,對(duì)于寫(xiě)操作,文件指針只能定位在文件的原有內(nèi)容之后,但對(duì)于讀操作,文件指針可以定位在全文件范圍內(nèi),可見(jiàn),按此種方式打開(kāi)文件不能實(shí)現(xiàn)文件內(nèi)容的修改;選項(xiàng)C)以'w+'方式打開(kāi)文件,此時(shí),原文件中已存在的內(nèi)容都被清除,但新寫(xiě)入文件的數(shù)據(jù)可以被再次讀出或再次寫(xiě)入,故也不能實(shí)現(xiàn)對(duì)文件的修改。只有以'r+'方式打開(kāi)文件時(shí),才允許將文件原來(lái)數(shù)據(jù)讀出,也允許在某些位置上再寫(xiě)入,從而實(shí)現(xiàn)對(duì)文件的修改。

54.C解析:當(dāng)switch后面括弧內(nèi)的表達(dá)式的值與某一個(gè)case后面的常量的表達(dá)式的值相等時(shí),就執(zhí)行此case后面的語(yǔ)句,若所有的case中的常量表達(dá)式的值都沒(méi)有與表達(dá)式的值匹配的,就執(zhí)行default后面的語(yǔ)句。

55.A解析:通過(guò)p1=&a,p2=&b分別將a、b的地址賦給指針p1、p2,接著執(zhí)行if語(yǔ)句,發(fā)現(xiàn)a<b成立,則通過(guò)交換p1、p2的值,即交換a、b所在存儲(chǔ)單元的地址,但是a、b的值并沒(méi)有發(fā)生變化。

56.B解析:選項(xiàng)A的結(jié)尾沒(méi)用‘;’,所以不是一條語(yǔ)句:選項(xiàng)C中的表達(dá)式不會(huì)改變?nèi)魏巫兞康膬?nèi)容,也不是合法的賦值語(yǔ)句;選項(xiàng)D有語(yǔ)法錯(cuò)誤,int應(yīng)該加上括號(hào)。所以,4個(gè)選項(xiàng)中只有選項(xiàng)B符合題意,運(yùn)行后d的內(nèi)容被減一。

57.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ù)。

58.D解析:本題考查給二維數(shù)組元素賦值。給二維數(shù)組元素賦值時(shí)應(yīng)注意下列兩點(diǎn):①在對(duì)二維數(shù)組元素賦初值時(shí),可以只對(duì)部分元素賦初值,未賦初值的元素自動(dòng)取0。②二維數(shù)組第一維的大小由下列規(guī)則確定;當(dāng)初值的個(gè)數(shù)能被第二維的常量表達(dá)式的值除盡時(shí),所得商數(shù)就是第一維的大??;當(dāng)初值的個(gè)數(shù)不能被第二維的常量表達(dá)式的值除盡時(shí),第一維的大小等于所得商數(shù)加1。

59.A解析:線(xiàn)性表是一種最簡(jiǎn)單,最常用的數(shù)據(jù)結(jié)構(gòu)。線(xiàn)性表操作的實(shí)現(xiàn)依賴(lài)于線(xiàn)性表中數(shù)據(jù)元素及元素之間的關(guān)系在存儲(chǔ)器中如何存儲(chǔ)。采用順序存儲(chǔ)方式存儲(chǔ)的線(xiàn)性表稱(chēng)為順序表,用鏈?zhǔn)酱鎯?chǔ)方式存儲(chǔ)的線(xiàn)性表稱(chēng)為線(xiàn)性鏈表,用散列方法存儲(chǔ)的線(xiàn)性表稱(chēng)為散列表。

60.C解析:本題考查do…while循環(huán)。在do…while循環(huán)中,當(dāng)表達(dá)式的值為非零(真)時(shí),執(zhí)行循環(huán),不能與其等價(jià)的是為零的表達(dá)式,即(exp==0)。

61.D

62.C

63.B

\nm++的意思是先用m的值再自加1,所以表達(dá)式的值為5,m為6,此時(shí)if語(yǔ)句條件m++>5不成立,執(zhí)行else語(yǔ)句,則輸出m--的值為6,而此時(shí)m為5,故選擇B選項(xiàng)。

\n

64.A數(shù)據(jù)流圖(DFD)是用來(lái)描繪系統(tǒng)的邏輯模型的,它以圖形的方式描繪數(shù)據(jù)在系統(tǒng)中流動(dòng)和處理的過(guò)程,反映系統(tǒng)必須完成的邏輯功能。

數(shù)據(jù)流圖的4種基本符號(hào)分別是數(shù)據(jù)的源點(diǎn)或終點(diǎn)、數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)和加工。

65.D本題主要考查實(shí)型常量的合法表示。在C語(yǔ)言中,實(shí)型常量主要有兩種表現(xiàn)形式,分別為:

(1)十進(jìn)制小數(shù)表示法。這種表示法中主要用數(shù)字和小數(shù)點(diǎn)組成實(shí)數(shù)。用這種表示法表示實(shí)數(shù)沒(méi)有什么其他的要求,不容易出錯(cuò)。

(2)指數(shù)形式表示法,如123e3或123E3。用這種表示法表示實(shí)數(shù)需要注意以下事項(xiàng)。

①字母E之前必須有數(shù)字。

②字母E之后的數(shù)字必須為整數(shù)。

③字母E前后不能有空格字符。

根據(jù)前面的分析,不難看出本題中只有D選項(xiàng)的描述是正確的。在A選項(xiàng)中,由于E后面的數(shù)字是小數(shù)而不正確;在B選項(xiàng)中,由于E后面沒(méi)有數(shù)字而不正確;在選項(xiàng)C中,由于E之前沒(méi)有數(shù)字而不正確。

66.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)。

67.C解析:FILE是由系統(tǒng)定義的一個(gè)結(jié)構(gòu)體類(lèi)型,并用該類(lèi)型來(lái)定義若干個(gè)FILE類(lèi)型的變量,以便存放若干個(gè)文件。所以用FILE定義的變量必須是數(shù)組或指針,所以選項(xiàng)C中的“FILE\u3000\u3000fp;”改為“FILE*fp;”就對(duì)了。

68.A該程序首先在定義變量時(shí),對(duì)二維數(shù)組a[][N]進(jìn)行賦值操作;調(diào)用函數(shù)fun,函數(shù)fun的功能是將二維數(shù)組中的a[0兒0]、a[1][1]、a[2][2]和a[3][3]賦值給一維數(shù)組,最后將一維數(shù)組元素l,0,7,0,輸出。

69.Ac=2&&c<=6)Il(ct_3)I|(c1=5)可以滿(mǎn)足題目條件,所以選擇A)。

70.D單一的數(shù)據(jù)結(jié)構(gòu)——關(guān)系,現(xiàn)實(shí)世界的實(shí)體以及實(shí)體間的各種聯(lián)系均用關(guān)系來(lái)表示。數(shù)據(jù)的邏輯結(jié)構(gòu)——二維表,從用戶(hù)角度,關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表。但是關(guān)系模型的這種簡(jiǎn)單的數(shù)據(jù)結(jié)構(gòu)能夠表達(dá)豐富的語(yǔ)義,描述出現(xiàn)實(shí)世界的實(shí)體以及實(shí)體間的各種關(guān)系。

71.C本題主要考查二叉樹(shù)的遍歷。題目中給出了二叉樹(shù)的前序遍歷和中序遍歷結(jié)果,要求其后序遍歷的結(jié)果。

由于二叉樹(shù)的前序遍歷為ABDEFGCHI,可以知道這個(gè)二叉樹(shù)的根結(jié)點(diǎn)是A,根據(jù)二叉樹(shù)的中序遍歷為DBFEGACIH,可以知道D、B、F、E、G結(jié)點(diǎn)為二叉樹(shù)的左子樹(shù),而C、I、H結(jié)點(diǎn)為二叉樹(shù)的右子樹(shù)。

然后由前序遍歷序列BDEFG可知,B結(jié)點(diǎn)為左子樹(shù)的根結(jié)點(diǎn),由前序遍歷序列CHI可知,C結(jié)點(diǎn)為右子樹(shù)的根結(jié)點(diǎn);由中序遍歷序列DBFEG可知,D結(jié)點(diǎn)為B子樹(shù)的左子樹(shù),而F、E、G結(jié)點(diǎn)為B子樹(shù)的右子樹(shù),由中序遍歷序列CIH可知,I、H序列為C子樹(shù)的右子樹(shù)。

同理可以推導(dǎo)出,E為B右子樹(shù)的根結(jié)點(diǎn),而F為E的左子樹(shù),G為E的右子樹(shù),H為C的右子樹(shù),I為H的左子樹(shù)。然后將構(gòu)成的樹(shù)

進(jìn)行后序遍歷得到結(jié)果為DFGEBIHCA。因此,本題的答案選C。\r\n\r\n\r\n

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

另外,以下幾點(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á)式匹配的

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

73.D面向?qū)ο蠓椒ㄊ且环N運(yùn)用對(duì)象、類(lèi)、封裝、繼承、多態(tài)和消息等概念來(lái)構(gòu)造、測(cè)試、重構(gòu)軟件的方法。面向?qū)ο蠓椒◤膶?duì)象出發(fā),發(fā)展出對(duì)象、類(lèi)、消息、繼承等概念。

74.D

75.B在定義*p=&r時(shí),是表示r的地址賦給了p所指的存儲(chǔ)單元,因此選項(xiàng)B正確。

76.C

77.C本題考查兩個(gè)知識(shí)點(diǎn):strlen函數(shù)的功能

78.C

79.D在最壞情況下,快速排序、冒泡排序和直接插入排序需要的比較次數(shù)都是n(n一1)/2,堆排序需要比較的次數(shù)為nlog2n。

80.C結(jié)構(gòu)化程序設(shè)計(jì)的原則和方法之一是限制使用GOT0語(yǔ)句,但不是絕對(duì)不允許使用GOT0語(yǔ)句。其他三項(xiàng)為結(jié)構(gòu)化程序設(shè)計(jì)的原則。

81.

82.

【解析】要將字符串str中下標(biāo)為偶數(shù)位置上的字符轉(zhuǎn)化為大寫(xiě)字母,首先應(yīng)該判斷字符串str中下標(biāo)為偶數(shù)位置上的字符是否為小寫(xiě)字母,若是將其轉(zhuǎn)化為大寫(xiě)字母.若不是不做任何變化。

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

一、單選題(20題)1.假設(shè)下圖中每個(gè)正方形的邊長(zhǎng)為1,則從A到Z的最短路徑條數(shù)為()A.11B.12C.13D.14

2.下列程序的輸出結(jié)果是______。#include<stdio.h>main(){inti,j,k,a=3,b=2;i=(--a==b++)?--a;++b;j=a++;k=b;printf("i=%d,j=%d,k=%d\n",i,j,k);}

A.i=2,j=1,k=3B.i=1,j=1,k=2C.i=4,j=2,k=4D.i=1,j=1,k=3

3.以下能正確定義一維數(shù)組的選項(xiàng)是()。

A.inta[5]=(0,1,2,3,4,5);

B.chara[]={0,1,2,3,4,5);

C.chara={'A','B','C'};

D.inta[5]="0123";

4.一個(gè)隊(duì)列的入隊(duì)序列是1,2,3,4,則隊(duì)列的輸出序列是()。

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

5.在數(shù)據(jù)管理技術(shù)的發(fā)展過(guò)程中,經(jīng)歷了人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫(kù)系統(tǒng)階段。其中數(shù)據(jù)獨(dú)立性最高的階段是()。

A.數(shù)據(jù)庫(kù)系統(tǒng)B.文件系統(tǒng)C.人工管理D.數(shù)據(jù)項(xiàng)管理

6.C語(yǔ)言結(jié)構(gòu)體類(lèi)型變量在程序執(zhí)行期間,()。

A.所有成員一直駐留在內(nèi)存中B.沒(méi)有成員駐留在內(nèi)存中C.部分成員駐留在內(nèi)存中D.只有一個(gè)成員駐留在內(nèi)存中

7.有以下程序:#include<stdio.h>main(){chars[]=“abcde”;s+=2;printf(“%d\n”,s[0]);}程序的運(yùn)行結(jié)果是()。

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

8.將兩個(gè)各有n個(gè)元素的有序表歸并成一個(gè)有序表,最少的比較次數(shù)是()。

A.nB.2n-1C.2nD.n-1

9.需要分配較大空間,插入和刪除不需要移動(dòng)元素的線(xiàn)性表,其存儲(chǔ)結(jié)構(gòu)是()。A.單鏈表B.靜態(tài)鏈表C.線(xiàn)性鏈表D.順序存儲(chǔ)結(jié)構(gòu)

10.

11.下列敘述中錯(cuò)誤的是()。A.在數(shù)據(jù)庫(kù)系統(tǒng)中,數(shù)據(jù)的物理結(jié)構(gòu)必須與邏輯結(jié)構(gòu)一致,

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

C.數(shù)據(jù)庫(kù)設(shè)計(jì)是指在已有數(shù)據(jù)庫(kù)管理系統(tǒng)的基礎(chǔ)上建立數(shù)據(jù)庫(kù)

D.數(shù)據(jù)庫(kù)系統(tǒng)需要操作系統(tǒng)的支持

12.若已定義:inta[9],*p=a;并在以后的語(yǔ)句中未改變p的值,不能表示a[1]地址的表達(dá)式是_______。

A.p+1B.a+1C.a++D.++p

13.設(shè)q1和q2是指向一個(gè)float型一維數(shù)組的指針變量,k為float型變量,則不能正確執(zhí)行的語(yǔ)句是()。

A.k=*q1+*q2;B.q1=k;C.q1=q2;D.k=*q1*(*q2);

14.該程序試圖通過(guò)指針p為變量n讀入數(shù)據(jù)并輸出,但程序有多處錯(cuò)誤,以下語(yǔ)句正確的是()#includeMain(){intn,*p=NULL;*p=&n;printf("Inputn:");scanf("%d",&p);print("outputn:");print("%d\n",p);A.intn,*p=NULL;

B.*p=&n;

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

D.printf("%d\n",p);

15.檢查軟件產(chǎn)品是否符合需求定義的過(guò)程稱(chēng)為()。

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

16.有以下程序

#include<stdio.h>

main()

{inta[]={1,2,3,4,5,6,7,8,9,10,11,12,},*p=a+5,*q=NULL;

*q=*(p+5);

printf("%d%d\n",*p,*q);

}

程序運(yùn)行后的輸出結(jié)果是A.運(yùn)行后報(bào)錯(cuò)B.66C.611D.510

17.

18.以下對(duì)結(jié)構(gòu)體類(lèi)型變量的定義中,不正確的是()。

A.typedefstruetaa{intn;floatm;}AA;AAtdl;

B.#defineAAstructaaAA{intn;floatm;}tdl;

C.struct{intn;floatm;}aa;structaatdl;

D.struct{intn;floatm;}tdl;

19.有以下程序:#include<stdio.h>main(){charch=‘D’;while(ch>‘A’){ch--;putchar(ch);if(ch==‘A’)break;putchar(ch+1);}}程序運(yùn)行后的輸出結(jié)果是()。

A.CBB.BCAC.CCBBD.CDBCA

20.有以下程序:#include<stdio.h>#include<string.h>main(){charstr[][20][{"One*World","One*Dream!"},*p=str[1];prinft("%d,",strlen(p));printf("%s\n",p);}程序運(yùn)行后的輸出結(jié)果是()。A.9,0ne*WorldB.9,0ne*Dream!C.10,One*Dream!D.10,Ome*World

二、2.填空題(20題)21.下列程序的輸出結(jié)果是______。

longfun5(intn)

{longs;

if((n==1)‖(n==2))

s=2;

else

s=n+fun5(n-1);

return(s);

}

main()

{longx;

x=fun5(4);

printff"%1d\n",x);}

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

intt(intx,inty,intcp,intdp)

{cp=x*x+y*y;

dp=x*x-y*y;

}

main()

{inta=4,b=3,c=5,d=6;

t(a,b,c,d);

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

}

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

main()

{inti,m=0,n=0,k=0;

for(i=9;i<=11;i++)

switch(i/10)

{case0:m++;n++;break;

case1:n++;break;

default:k++;n++;

}

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

}

24.在面向?qū)ο蠓椒ㄖ?,【】描述的是具有相似屬性與操作的一組對(duì)象。

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

#definePOW(r)(r)*(r)

main()

{intx=3,y=2,t;

t=POW(x+y);

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

}

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

#include<string.h>

char*ss(char*s)

{returns+strlen(s)/2;}

main()

{char*p,*str="abcdefgh";

p=ss(str);printf("%s\n",p);

}

27.在______個(gè)容量為32的循環(huán)隊(duì)列中,若頭指針front=3,尾指針rear=2,則該循環(huán)隊(duì)列中共有______個(gè)元素。

28.數(shù)據(jù)庫(kù)設(shè)計(jì)分為以下6個(gè)設(shè)計(jì)階段:需求分析階段、______、邏輯設(shè)計(jì)階段、物理設(shè)計(jì)階段、實(shí)施階段、運(yùn)行和維護(hù)階段。

29.下面程序調(diào)用fun函數(shù)動(dòng)態(tài)分配兩個(gè)整型存儲(chǔ)單元,并通過(guò)形參傳回這兩個(gè)整型存儲(chǔ)單元的地址給s1和s2,將程序補(bǔ)充完整。

main()

{

int*s1,*s2;

fun(【】);

}

intfun(【】);

{

*p=(int*)malloc(sizeof(int));

*q=(int*)malloc(sizeof(int));

}

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

main()

{inti;

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

{if(i>4)

{printf("%d\n",i);

break;}

printf("%d\n",i++);}}

31.下列程序的運(yùn)行結(jié)果為【】。

main()

{inti;

chara[]="Ilovechina!",b[20],*p1,*p2;

p1=a;

p2=b;

while(*p1)

{*p2=*p1;

p1++;

p2++;

}

*p2='\0';

printf("stringbis:%s\n",b);

}

32.下列的for語(yǔ)句的循環(huán)次數(shù)為_(kāi)_____。

for(x=1,y=0;(y!=19)&&(x<7);x++);

33.設(shè)有定義“stmct{inta;floatb;charc}abc,*p_abc=&abc;”,則對(duì)結(jié)構(gòu)體成員a的引用方法可以是abc.a和p_abc______。

34.常用的黑箱測(cè)試有等價(jià)類(lèi)劃分法、【】和錯(cuò)誤推測(cè)法3種。

35.當(dāng)循環(huán)隊(duì)列非空且隊(duì)尾指針等于隊(duì)頭指針時(shí),說(shuō)明循環(huán)隊(duì)列已滿(mǎn),不能進(jìn)行人隊(duì)運(yùn)算。這種情況稱(chēng)為【】。

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

#include<string.h>

voidfun(char*s,intp,intk)

{inti;

for(i=p;i<k-1;i++)s[i]=s[i+2];

}

main()

{chars[]="abcdefg";

fun(s,3,strlen(s));puts(s);

}

37.現(xiàn)有兩個(gè)C程序文件T18.c和myfun.c同在TC系統(tǒng)目錄(文件夾)下,其中T18.c文件如下:

#include<stdio.h>

#include"myfun.c"

main()

{fun();printf("\n");}

myfun.c文件如下:

voidfun()

{chars[80],c;intn=0;

while((c=getchar())!=′\n′)s[n++]=c;

n--;

while(n>=0)printf("%c",s[n--]);

}

當(dāng)編譯連接通過(guò)后,運(yùn)行程序T18時(shí),輸入Thank!,則輸出結(jié)果是【】。

38.有以下定義和語(yǔ)句,則sizeof(a.share)的值是()。

structdate

{unsignedintday;

unsignedintmouth;

unsignedintyear;

union{intshare1;

floatshare2;

}share;

}a;

39.計(jì)算機(jī)病毒除有破壞性、潛伏性和激發(fā)性外,還有一個(gè)最明顯的特性是【】

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

main()

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

for(p=s+1;p<s+4;p++)printf("%s\n",p);}

三、1.選擇題(20題)41.字符(char)型數(shù)據(jù)在微機(jī)內(nèi)存中的存儲(chǔ)形式是______。

A.反碼B.補(bǔ)碼C.EBCDIC碼D.ASCII碼

42.設(shè)有數(shù)組定義:chararray[]="China";則數(shù)組array所占的空間為()個(gè)字節(jié)。

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

43.有如下程序

main()

{intn=9;

while(n>6){n--;printf("%d",n);}}

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

A.987B.876C.8765D.9876

44.按照“先進(jìn)先出”組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是()。

A.隊(duì)列B.棧C.雙向鏈表D.二叉樹(shù)

45.設(shè)有數(shù)組定義:chararray[]="China";則數(shù)組array所占的空間是()。

A.4個(gè)字節(jié)B.5個(gè)字節(jié)C.6個(gè)字節(jié)D.7個(gè)字節(jié)

46.下列關(guān)于棧的描述中,正確的是()

A.在棧中只能插入元素B.在棧中只能刪除元素C.只能在一端插入或刪除元素D.只能在一端插入元素,而在另一端刪除元素

47.若有定義:intx=0,*p=&x;,則語(yǔ)句printf("%d\n",*p);的輸出結(jié)果是()。

A.隨機(jī)值B.0C.x的地址D.p的地址

48.在16位C編譯系統(tǒng)上,若定義longa;,則能給a賦值40000的正確語(yǔ)句是()

A.a=20000+20000;B.a=4000*10;C.a=30000+10000;D.a=4000L*10L;

49.若進(jìn)棧序列為1,2,3,4,進(jìn)棧過(guò)程中可以出棧,則下列不可能的一個(gè)出棧序列是______。

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

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

A.c1c2

B.c1&c2C.~c2D.c1│c2

51.以下所列的各函數(shù)首部中,正確的是______。

A.voidplay(Var:Integer,varb:Integer)

B.voidplay(inta,b)

C.voidplay(inta,intb)

D.Subplay(aasinteger,basinteger)

52.軟件是指()。A.程序B.程序和文檔C.算法加數(shù)據(jù)結(jié)構(gòu)D.程序、數(shù)據(jù)與相關(guān)文檔的完整集合

53.如果需要打開(kāi)一個(gè)已經(jīng)存在的非空文件"Demo"進(jìn)行修改,下面選項(xiàng)中正確的是

A.fp=fopen("Demo","r");

B.fp=fopen("Demo","ab+");

C.fp=fopen("Demo","w+");

D.fp=fopen("Demo","r+");

54.下面程序的輸出是______。main(){char*s="12134211";intv1=0,v2=0,v3=0,v4=0,k;for(k=0;s[k];k++)switch(s[k]){default:v4++;case'1':v1++;case'3':v3++;case'2':v2++;}printf("v1=%d,v2=%d,v3=%d,v4=%d\n",v1,v2,v3,v4);}

A.v1=4,v2=2,v3=1,v4=1

B.v1=4,v2=9,v3=3,v4=1

C.v1=5,v2=8,v3=6,v4=1

D.v1=8,v2=8,v3=8,v4=8

55.分析下列程序:#include<stdio.h>main(){int*p1,*p2,*p;inta=6,b=9;p1=&a;p2=&b;if(a<b){p=p1;p1=p2;p2=p;}printf("%d,%d",*p1,*p2);printf("%d,%d",a,b);}程序的輸出結(jié)果為()。

A.9,66,9B.6,99,6C.6,96,9D.9,69,6

56.以下合法的賦值語(yǔ)句是()

A.x=y=100B.d--;C.x+y;D.c=int(a+b);

57.下列敘述中,不屬于軟件需求規(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)行需求分析

58.若有說(shuō)明:inta[][3]={0,0};則不正確的敘述是()。

A.數(shù)組a的每個(gè)元素的初值都是0

B.數(shù)組a的第一維大小為1

C.數(shù)組a的行數(shù)為1

D.只有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0

59.關(guān)于線(xiàn)性表的描述,錯(cuò)誤的一條是______。

A.線(xiàn)性表是線(xiàn)性結(jié)構(gòu)

B.線(xiàn)性表就是單鏈表

C.線(xiàn)性表的順序存儲(chǔ)結(jié)構(gòu),必須占用一片連續(xù)的存儲(chǔ)單元

D.線(xiàn)性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),不必占用連續(xù)的存儲(chǔ)單元

60.不能與do…while(exp)語(yǔ)句中的(exp)等價(jià)的表達(dá)式是()。

A.(!exp==O)B.(exp>0||exp<0)C.(exp==0)D.(exp!=O)

四、選擇題(20題)61.(57)下列敘述中,不屬于軟件需求規(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)行需求分析

62.(59)SQL語(yǔ)言又稱(chēng)為()

A.結(jié)構(gòu)化定義語(yǔ)言

B.結(jié)構(gòu)化控制語(yǔ)言

C.結(jié)構(gòu)化查詢(xún)語(yǔ)言

D.結(jié)構(gòu)化操縱語(yǔ)言

63.

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

main

{intm=5;

if(m++>5)printf("%d\n",m):

elseprintf("%d\n",m--);

}

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

64.數(shù)據(jù)流圖用于抽象描述一個(gè)軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構(gòu)成。下列圖符名標(biāo)識(shí)的圖符不屬于數(shù)據(jù)流圖內(nèi)容的是

A.控制流B.加工C.?dāng)?shù)據(jù)存儲(chǔ)D.?dāng)?shù)據(jù)流

65.以下符合C語(yǔ)言語(yǔ)法的實(shí)型常量是

A.1.2E0.7B.3.33.145EC.E23D..4E-2

66.以下定義數(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’};

67.以下敘述中錯(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ù)

68.有以下程序:

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

A.1,0,7,0,B.1,2,3,4,C.1,4,5,9,D.3,4,8,10,

69.當(dāng)變量c的值不為2、4、6時(shí),值也為“真”的表達(dá)式是()。

70.在關(guān)系數(shù)據(jù)庫(kù)中,用來(lái)表示實(shí)體間聯(lián)系的是()。

A.網(wǎng)狀結(jié)構(gòu)B.樹(shù)狀結(jié)構(gòu)C.屬性D.二維表

71.已知一棵二叉樹(shù)前序遍歷和中序遍歷分別為ABDEFGCHI和DBFEGACIH,則該二叉樹(shù)的后序遍歷為

A.DFGEBHICAB.DGEBHFCAIC.DFGEBIHCAD.DGEBFIHCA

72.若運(yùn)行以下程序時(shí),從鍵盤(pán)輸入ADescriptor<CR>(<CR>表示回車(chē)),則下面程序的運(yùn)行結(jié)果是()。

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

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

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

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

73.下列詞語(yǔ)中,不屬于面向?qū)ο蠓椒ǖ氖?/p>

A.對(duì)象、消息B.繼承、多態(tài)C.類(lèi)、封裝D.過(guò)程調(diào)用

74.

75.若有以下定義和語(yǔ)句:“doubler=99,*p=&r;*P=r;”,則以下正確的敘述是()。

A.兩個(gè)*p含義相同,都說(shuō)明給指針變量p賦值

B.在“doubler=99,*p=&r;”中,把r的地址賦值給了P所指的存儲(chǔ)單元

C.語(yǔ)句“*p=r;”把變量r的值賦給指針變量P

D.語(yǔ)句“*p=r;”取變量r的值放回r中

76.

77.下面程序段的運(yùn)行結(jié)果是()。

A.8B.12C.4D.7

78.

79.對(duì)長(zhǎng)度為n的線(xiàn)性表排序,在最壞情況下,比較次數(shù)是nlog2n的排序方法是()。

A.快速排序B.冒泡排序C.直接插入排序D.堆排序

80.關(guān)于結(jié)構(gòu)化程序設(shè)計(jì)原則和方法的描述錯(cuò)誤的是()。

A.選用的結(jié)構(gòu)只準(zhǔn)許有一個(gè)入口和一個(gè)出口

B.復(fù)雜結(jié)構(gòu)應(yīng)該用嵌套的基本控制結(jié)構(gòu)進(jìn)行組合嵌套來(lái)實(shí)現(xiàn)

C.不允許使用GOTO語(yǔ)句

D.語(yǔ)言中若沒(méi)有控制結(jié)構(gòu),應(yīng)該采用前后一致的方法來(lái)模擬

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:將字符串str中的所有字符復(fù)制到字符串b中,要求在每復(fù)制3個(gè)字符之后插入1個(gè)空格。例如,在調(diào)用proc()函數(shù)之前給字符

串str輸入abcdefghijk,調(diào)用函數(shù)之后,字符串b中的內(nèi)容則為abcdefghijk。

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

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

試題程序:

六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫(xiě)一個(gè)函數(shù)voidproc(char*str),其功能是:將字符串str中所有下標(biāo)為偶數(shù)位置上的字母轉(zhuǎn)化為大寫(xiě)(若該位置上不是字母,則不轉(zhuǎn)換)。例如,若輸入字符串:“thankyou

溫馨提示

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