2021-2022年廣東省汕頭市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)_第1頁
2021-2022年廣東省汕頭市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)_第2頁
2021-2022年廣東省汕頭市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)_第3頁
2021-2022年廣東省汕頭市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)_第4頁
2021-2022年廣東省汕頭市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

2021-2022年廣東省汕頭市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.有以下程序:#include<stdio.h>main(){inti,j,m=1;for(i=1;i<3;i++){for(j=3;j>0;j--){if(i*j>3)break;m*=i+j;}}printf("m=%d\n",m);}程序運(yùn)行后的輸出結(jié)果是()。A.m=6B.m=2C.m=4D.m=3

2.

3.已知廣義表LS=((a,b,c),(d,e,f)),運(yùn)用head和tail函數(shù)取出LS中原子e的運(yùn)算是()。

A.head(tail(LS))

B.tail(head(LS))

C.head(tail(head(tail(LS)))

D.head(tail(tail(head(LS))))

4.二維數(shù)組A按行順序存儲(chǔ),其中每個(gè)元素占1個(gè)存儲(chǔ)單元。若A[1][1]的存儲(chǔ)地址為420,A[3][3]的存儲(chǔ)地址為446,則A[5][5]的存儲(chǔ)地址為_______

A.470B.471C.472D.473

5.

6.設(shè)有定義:int?x=2,以下表達(dá)式中,值不為6的是()。

A.2*<.x+=2B.x++.2*xC.x=x*(1+x)D.x*=x+1

7.按照標(biāo)識(shí)符的要求,()符號(hào)不能組成標(biāo)識(shí)符。

A.連接符B下劃線B.大小寫字母C.數(shù)字字符

8.以下不正確的定義語句是A.A.doublex[5]={2.0,4.0,6.0,8.0,10.0};

B.inty[5.3]={0,1,3,5,7,9};

C.charc1[]={′1′,′2′,′3′,′4′,′5′};

D.charc2[]={′\x10′,′\xa′,′\x8′};

9.以下說法正確的是()。

A.C程序總是從第一個(gè)函數(shù)開始執(zhí)行

B.在C程序中,被調(diào)用的函數(shù)必須在main函數(shù)中定義

C.C程序總是從main函數(shù)開始執(zhí)行

D.C程序中的main函數(shù)必須放在程序的開始部分

10.下列程序的運(yùn)行結(jié)果是()。main{intx=1,y=3,a=0;while(x++!=(y-=l)){a+=1;if(y<x)break;}printf("%d,%d,%d\n",x,y,a);}A.2,3,2B.2,3,1C.1,3,3D.3,1,2

11.若串S=,software,其子串的數(shù)目是()。

A.8B.37C.36D.9

12.若有以下定義,則對(duì)a數(shù)組元素地址的正確引用是()。

inta[5],*p=a;A.A.p5B.*a1C.&a1D.&a[0]

13.

14.根據(jù)二叉樹的定義可知道二叉樹共有種不同形態(tài)的二叉樹()。

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

15.若有以下定義,則能使值為3的表達(dá)式是intk=7,x=12;

A.x%=(k%=5)B.x%=(k-k%5)C.x%=k-k%5D.(x%=k)-(k%=5)

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

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

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

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

18.表達(dá)式9!=10的值為()。

A.非零值B.trueC.0D.1

19.按照標(biāo)識(shí)符的要求,()符號(hào)不能組成標(biāo)識(shí)符。A.連接符B.下劃線C.大小寫字母D.數(shù)字字符

20.

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

#include<stdio.h>

intt(intx,inty,intcp,intdp)

{cp=x*x+y*y;

dp=x*x-y*y;

}

main()

{inta=1,b=8,c=7,d=9;

t(a,b,c,D);

primf("%d,%d%d\n",c,D);

}

22.數(shù)據(jù)流圖的類型有【】和事務(wù)型。

23.下面程序的功能是:計(jì)算110之間的奇數(shù)之和與偶數(shù)之和,請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

main()

{inta,b,c,I;

a=c=0;

for(I=0;I<=10;I+=2)

{a+=I;

【】;

c+=b;}

printf("偶數(shù)之和=%d\n",a);

printf("奇數(shù)之和=%d\n",c-11);}

24.當(dāng)線性表的元素總數(shù)基本穩(wěn)定,且很少進(jìn)行插入和刪除操作,并要求以很快的速度存取線性表中的數(shù)據(jù)元素時(shí),應(yīng)采用【】存儲(chǔ)結(jié)構(gòu)。

25.常用的軟件結(jié)構(gòu)設(shè)計(jì)工具是結(jié)構(gòu)圖(SC),也稱程序結(jié)構(gòu)圖。其中,用矩形表示______,用帶空心圓的箭頭表示傳遞的是數(shù)據(jù)。

26.以下程序運(yùn)行時(shí)若從鍵盤輸入:102030<回車>。輸出結(jié)果是【】。

#include<stdio.h>

main()

{

inti=0,j=0,k=0;

scanf("%d%*d%d",&i,&j,&k);

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

}

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

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

fun(intx,inty,intz)

{z=x*x+y*y;}

main()

{inta=31;

fun(6,3,a)

printf("%d,a)

}

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

main()

/inti,j,a[][3]={1,2,3,4,5,6,7,8,9};

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

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

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

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

printf("\n");

}

}

30.軟件生命周期分為軟件定義期、軟件開發(fā)期和軟件維護(hù)期,詳細(xì)設(shè)計(jì)屬于______中的一個(gè)階段。

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

main()

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

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

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

}

32.以下程序的運(yùn)行結(jié)果是()。#defineA4#defineB(x)A*x/2main(){floatc,a=8.0;c=B(A;printf("%f\n",C);}

33.有以下程序:

#include<stdio.h>

main()

{charch1,ch2;intn1,n2;

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

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

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

}

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

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

35.以下scanf函數(shù)調(diào)用語句中對(duì)結(jié)構(gòu)體變量成員的引用不正確的是{charname[20];}pup[5],*p;

36.測(cè)試的目的是暴露錯(cuò)誤,評(píng)價(jià)程序的可靠性;而______的目的是發(fā)現(xiàn)錯(cuò)誤的位置并改正錯(cuò)誤。

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

38.買來一張新盤后,在存入文件前,必須進(jìn)行【】處理。

39.診斷和改正程序中錯(cuò)誤的工作通常稱為【】。

40.以下程序的輸出結(jié)果是()。#definePR(ar)printf("ar=%d”,ar)main(){intj,a[]={1,8,3,7,6,13,17,15},*p=a+5;for(j=3;j;j--)switch(j){case1:case2:PR(*p++);break;case3:PR(*(--p));}}

三、1.選擇題(20題)41.有以下程序:main(){intx=3,y=2,z=1;printf("%d\n",x/y&~z);}程序運(yùn)行后的輸出結(jié)果是()。

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

42.有以下程序intx=3;do{printf("%d",x-=2);}while(!(--x));程序運(yùn)行后的輸出結(jié)果是()

A.1B.30C.1,-2D.死循環(huán)

43.打開一個(gè)已經(jīng)存在的非空文本文件,若文件名為stu,則正確的打開語句為()

A.FILE*fp;fp=fopen("stu.txt","r")

B.FILE*fp;fp=fopen(stu.txt,r)

C.FILE*fp;fP=fopen("stu,txt","wb")

D.FILE*fp;fp=fopen("stu.txt",wb)

44.在數(shù)據(jù)流圖(DFD)中,帶有名字的箭頭表示______。

A.控制程序的執(zhí)行順序B.模塊之間的調(diào)用關(guān)系C.數(shù)據(jù)的流向D.程序的組成成分

45.設(shè)有下列二叉樹:

對(duì)此二叉樹先序遍歷的結(jié)果為

A.ABCDEFB.DBEAFCC.ABDECPD.DEBFCA

46.若有如下程序:main(){chara[]={"1234"};inti,t=0;for(i=0;a[i]>='0'&&a[i]<='9';i+=2)t=10*t+a[i]一-'0';printf("%d\n',t);}則程序運(yùn)行后的輸出結(jié)果是()。

A.13B.1234C.24D.123

47.若有定義“char,*p2,*p3,*p4,ch;”,則不能正確賦值的程序語句為()

A.p1=&ch;scanf("%c",p1);

B.p2=(char*)malloc(1);scanf("%c",p2);

C.p3=getchar();

D.p4=&ch;*p4=getchar();

48.下面程序的輸出是______。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

49.線性表若采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)時(shí),要求內(nèi)存中可用存儲(chǔ)單元的地址()

A.必須是連續(xù)的B.部分地址必須是連續(xù)的C.一定是不連續(xù)的D.連續(xù)不連續(xù)都可以

50.在深度為5的滿二叉樹中,葉子結(jié)點(diǎn)的個(gè)數(shù)為A.32B.31C.16D.15

51.下述程序段的輸出結(jié)果是()intx=10;inty=x++;printf("%d,%d",(x++,y),y++);

A.11,10B.11,11C.10,10D.10,11

52.下列字符序列中,不可用作C語言標(biāo)識(shí)符的是______。

A.b70B.#abC._symbolD.al

53.下列程序的輸出結(jié)果是()。#include<stdio.h>voidmain(){inta=0,b=1,c=2;if(++a>0‖++b>0)++c;printf("%d,%d,%d",a,b,c);}

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

54.不合法的main函數(shù)命令行參數(shù)表示形式是

A.main(inta,char*c[])

B.mmn(intarc,char**arv)

C.main(intargc,char*argv)

D.majn(intargv,char*atgc[])

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

A.C語言比其他語言高級(jí)

B.C語言可以不用編譯就能被計(jì)算機(jī)識(shí)別執(zhí)行

C.C語言以接近英國國家的自然語言和數(shù)學(xué)語言作為語言的表達(dá)形式

D.C語言出現(xiàn)得最晚,具有其他語言的一切優(yōu)點(diǎn)

56.定義結(jié)構(gòu)體數(shù)組:

structstu

{intnum;

charname[20];

}x[5]={1,"LI",2,"ZHAO",3,"WANG",4,"ZHANG",5,"LIU"};

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

printf("%d%c",x[i].num,x[i].name[2];

以上程序段的輸出結(jié)果為()。

A.2A3N4A5UB.112A3H41C.1A2N3A4UD.2H3A4H51

57.在下列幾種排序方法中,要求內(nèi)存量最大的是______。

A.插入排序B.選擇排序C.快速排序D.緊并排序

58.若x是int型變量,且有下面的程序片段:for(x=3;x<6;x++)printf(x%2)?("**%d"):(”##%d\n”),x);上面程序片段的輸出結(jié)果是()

A.**3##4**5

B.##3**4##5

C.##3**4##5

D.**3##4**5

59.在C語言中,變量的隱含存儲(chǔ)類別是

A.autoB.staticC.extemD.無存儲(chǔ)類別

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

A.在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,各個(gè)對(duì)象之間具有密切的關(guān)系

B.在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,各個(gè)對(duì)象都是公用的

C.在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,各個(gè)對(duì)象之間相對(duì)獨(dú)立,相互依賴性小

D.上述3種說法都不對(duì)

四、選擇題(20題)61.語句int(*ptr)的含義是()。

A.ptr是一個(gè)返回值為int的函數(shù)

B.ptr是指向int型數(shù)據(jù)的指針變量

C.ptr是指向函數(shù)的指針,該函數(shù)返回一個(gè)int型數(shù)據(jù)

D.ptr是一個(gè)函數(shù)名,該函數(shù)的返回值是指向int型數(shù)據(jù)的指針

62.

63.有以下程序:

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

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

64.已定義以下函數(shù)

fun(char*p2,char*p1)

{

while((*p2=*p1)!=’\0’){p1++;p2++;}

}

函數(shù)的功能是

A.將p1所指字符串復(fù)制到p2所指內(nèi)存空間B.將p1所指字符串的地址賦給指針p2

C.對(duì)p1和p2兩個(gè)指針?biāo)缸址M(jìn)行比較D.檢查p1和p2兩個(gè)指針?biāo)缸址惺欠裼小?’

65.

66.有下面程序段:

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

A.18B.19C.20D.21

67.

68.下面的函數(shù)調(diào)用語句中func函數(shù)的實(shí)參個(gè)數(shù)是()。func((f2v1,v2),(v3,v4,v5),(v6,max(v7,v8)))

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

69.設(shè)有定義:intX=2;,以下表達(dá)式中,值不為6的是()。

A.2*x.x+=2B.x++,2*xC.x*=(1+x)D.x*!x+1

70.有以下程序:#include〈stdio.h〉intabe(intu,intv);main{inta=24,b=16,c;c=abc(a,b);printf(“%d\n”,c);}intabc(intu,intv){intw;while(v){w=u%v;u=v;v=w;)returnu;}輸出結(jié)果是()。A.6B.7C.8D.9

71.

72.以下能正確定義二維數(shù)組的是()。

A.inta[][3];

B.inta[][3]={2*3);

C.inta[][3]={};

D.inta[2][3]一{{1),{2},{3,4}};

73.以下選項(xiàng)中不屬于字符常量的是()。

A.

B.

C.

D.

74.以下敘述中正確的是()。A.A.break語句只能用在循環(huán)體內(nèi)和switch’語句體內(nèi)

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

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

D.break語句只能用于switch語句體中

75.

76.有以下程序:

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

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

77.有以下程序:

#include<stdio.h>

main

{inty=10;

while(y--);

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

}

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

A.y=0B.y=-1C.y=lD.while構(gòu)成無限循環(huán)

78.以下選項(xiàng)中不合法的標(biāo)識(shí)符是()。

A.&aB.FORC.printD._00

79.有以下程序:

#include<stdio.h>

#include<strin9.h>

main()

{printf{"%d\n",strlen("%d\n",strlen("ATS\n012\|"));}

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

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

80.

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc的功能是:讀入一個(gè)字符串(長度<20),將該字符串中的所有字符按ASCII碼升序排序后輸出。例如,輸入opdye,則應(yīng)輸出deopy。請(qǐng)修改程序中的錯(cuò)誤,使它能得到正確結(jié)果。注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:#include<string.h>#include<stdlib.h>#include<conio.h>#include<stdio.h>//****found****intproc(charstr[]){charc;unsignedi,j;for(i=0;i<strlen(str)-1;i++)for(j=i+1;j<strlen(str);j++)if(str[i]>str[j]){c=str[j]://****found****str[j]=str[i++];str[i]=c;}}voidmain{charstr[81];system("CLS");printf("\nPleaseenteracharacterstring:");gets(str);printf("\n\nBeforesorting:\n%s",str);proc(str);printf("\nAftersortingdecendingly:\n%s",str);}

六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫函數(shù)proc(),其功能是:將str所指字符串中下標(biāo)為偶數(shù)的字符刪除,串中剩余字符形成的新串放在t所指數(shù)組中。

例如,當(dāng)str所指字符串中的內(nèi)容為abcdefg,則在t所指數(shù)組中的內(nèi)容應(yīng)是bdf。

注意:部分源程序給出如下。

請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫的若干語句。

試題程序:

參考答案

1.A本題考查了多重for循環(huán)。當(dāng)(i*j)>3時(shí),跳出循環(huán),本題中i=1,j=3,i*J后值為3,所以執(zhí)行下邊語句:m*=i+j,也可寫成m=m*i+j,這時(shí)要注意優(yōu)先級(jí),所以m的值為6。

2.B

3.C

4.C

5.A

6.A?A)選項(xiàng)中逗號(hào)表達(dá)式先計(jì)算第一表達(dá)式2*x,然后計(jì)算表達(dá)式x+=2的值,即x=x+2即4,整個(gè)逗號(hào)表達(dá)式為第二個(gè)表達(dá)式的值4,所以選A)。B)選項(xiàng)中首先計(jì)算逗號(hào)表達(dá)式中第一一個(gè)表達(dá)式x++,此時(shí)x為3,再執(zhí)行第二個(gè)表達(dá)式2*x=2*3=6,所以逗號(hào)表達(dá)式為第二個(gè)表達(dá)式的值6。C)選項(xiàng)的賦值表達(dá)式可以表示為x=x*(1+x)=2*(1+2)=6。D)選項(xiàng)中的表達(dá)式可以表示為x=x*(x+1)=2*3=6。

7.A

8.B

9.C解析:C程序是由main函數(shù)開始運(yùn)行,通過main函數(shù)調(diào)用其他函數(shù),所以,選項(xiàng)A)錯(cuò)誤;在C程序中,函數(shù)不能嵌套定義,即不能在一個(gè)函數(shù)中定義另一個(gè)函數(shù),選項(xiàng)B)錯(cuò);C程序總是從main函數(shù)開始執(zhí)行,但main函數(shù)不必放在最前面,故選項(xiàng)D)錯(cuò)。

10.D本題考查"drhile循環(huán)。第一次循環(huán),y=y-1,y=2,循環(huán)條件成立,x=1,X++后值為1,x自加變成2,進(jìn)入循環(huán),a=a+1=1,判斷if語句條件是否成立,y<x不成立,接著執(zhí)行下一次循環(huán)。第二次循環(huán),x=2,y-1=1,循環(huán)條件成立,進(jìn)入循環(huán),a=a+1=2,判斷if語句的控制條件是否成立,y<X成立,執(zhí)行break語句,退出循環(huán)。結(jié)果為D。

11.B

12.D本題考查如何引用數(shù)組元素的地址。選項(xiàng)A)中,p5引用的是af51的地址,而數(shù)組a只有5個(gè)元素,即a[0]、a[1]、a[2]、a[3]、a[4],所以引用錯(cuò)誤;選項(xiàng)B)中,*a1指的是將數(shù)組a的第一個(gè)元素加1;選項(xiàng)C)中,這種引用方式錯(cuò)誤;選項(xiàng)D)中,&a[0]引用的是數(shù)組的首地址。

13.D

14.B

15.D解析:運(yùn)算符“%”的兩側(cè)都應(yīng)該是整型數(shù)。另外,本題需要掌握的知識(shí)點(diǎn)是:x%=k,等價(jià)于x=x%k。注意:強(qiáng)制類型轉(zhuǎn)換表達(dá)式。

16.B解析:本題考查循環(huán)嵌套,外層循環(huán)控制每一行的輸出,內(nèi)層循環(huán)的第一個(gè)for循環(huán)控制空格的輸出,第二個(gè)for循環(huán)控制的輸出。而在第i行,輸出的第一個(gè)元素是num[i][i],所以下劃線處應(yīng)填i。

17.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ù)相乘。

18.D

19.A

20.C

21.7979解析:因?yàn)樵谡{(diào)用子函數(shù)時(shí)進(jìn)行的是數(shù)值傳遞,調(diào)用子函數(shù)并不能改變實(shí)參的值,所以經(jīng)過調(diào)用子函數(shù),c、d的值并沒有發(fā)生變化還是原來的值。

22.變換型典型的數(shù)據(jù)流類型有兩種:變換型和事務(wù)型。變換型是指信息沿輸入通路進(jìn)入系統(tǒng),同時(shí)由外部形式變換成內(nèi)部形式,進(jìn)入系統(tǒng)的信息通過變換中心,經(jīng)加工處理以后再沿輸出通路變換成外部形式離開軟件系統(tǒng);在很多軟件應(yīng)用中,存在某種作業(yè)數(shù)據(jù)流,它可以引發(fā)一個(gè)或多個(gè)處理,這些處理能夠完成該作業(yè)要求的功能,這種數(shù)據(jù)流就叫做事務(wù)。

23.b=I+1b=I+1解析:本題考查了for循環(huán)語句的執(zhí)行過程。i+=2是修正表達(dá)式,執(zhí)行一次循環(huán)體后i的值就增加2,i的初始值為0,每次加2后的和累加至a,所以a的值就是110之間的偶數(shù)之和;b的值是111之間的奇數(shù)和,但在輸出b值時(shí),c去掉多加的11,即為110之間的奇數(shù)之和。

24.順序順序

25.模塊模塊解析:矩形表示的是模塊,箭頭表示的是模塊間的調(diào)用關(guān)系。用帶實(shí)心圓的箭頭表示傳遞的是控制信息,用帶空心圓的箭頭表示傳遞的是數(shù)據(jù)。

26.1030010300解析:本題的scanf()函數(shù)要求用戶輸入三個(gè)十進(jìn)制整數(shù),但只接受第一和第三個(gè)到函數(shù)的第二和第三個(gè)參數(shù)所指的內(nèi)存地址中。所以本題的輸出為:10300。

27.n+1n+1解析:在任意一棵二叉樹中,度為0的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))總是比度為0的結(jié)點(diǎn)多一個(gè)。

28.3131解析:在函數(shù)調(diào)用時(shí),形參值和改變,不會(huì)改變實(shí)參的值。

29.123\n056\n009123\\n056\\n009解析:數(shù)組是用于按順序存儲(chǔ)同類型數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu),如果有一個(gè)一維數(shù)組,它的每一個(gè)元素是類型相同的一維數(shù)組,就形成了一個(gè)二維數(shù)組。在內(nèi)存中數(shù)組的元素是連續(xù)順序存放的,對(duì);維數(shù)組來說,先存放第一行,再存放第;行,…,因?yàn)槊恳恍卸际瞧鋸V義一維數(shù)組的元素,并且在給出全部數(shù)組元素的初值后,二維數(shù)組的定義中可以將第一維的下標(biāo)省略。本題中,定義了一個(gè)元素類型為整型的二維數(shù)組敢a[][3]={1,2,3,4,5,6,7,8,9),它相當(dāng)于一個(gè)3*3的矩陣,for(i=0;i<3:i++)for(j=i+1;j<3;j++)a[j][i]=0;將行下標(biāo)i大于列下標(biāo)j的元素s[1][0],a[2][0],a[2][1]賦值為0,最后for(j=0;j<3;j++)prinff('%n',a[i][j]);printf('\\n');進(jìn)行換行輸出,所以輸出結(jié)果為

123

056

009

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

31.因?yàn)樵跅l件表達(dá)式(a<b)?a:b中,比較表達(dá)式a<b為真,所以x的值等于a的值等于1,后面兩個(gè)條件表達(dá)式中的比較表達(dá)式都為真,所以最終x的值等于1。\r\n\r\n

32.16.0

33.1212解析:程序中的ch1與ch2為字符型變量,輸入12后,ch1得到字符'1',ch2得到字符'2'。n1=ch1-'0'將字符1,轉(zhuǎn)換為數(shù)值1,同理,n2為1*10+2=12。程序執(zhí)行后輸出十進(jìn)制整數(shù)12。

34.物理獨(dú)立性物理獨(dú)立性解析:數(shù)據(jù)的獨(dú)立性是指數(shù)據(jù)和應(yīng)用程序相互獨(dú)立,分為物理獨(dú)立性和邏輯獨(dú)立性。其中物理獨(dú)立性是指數(shù)據(jù)的物理結(jié)構(gòu)(包括存儲(chǔ)結(jié)構(gòu)、存取方式)改變時(shí),不需要修改應(yīng)用程序。而邏輯獨(dú)立性是指當(dāng)邏輯結(jié)構(gòu)改變時(shí),不需要修改應(yīng)用程序。

35.D

36.調(diào)試調(diào)試

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

38.格式化(或初始化、FORMAT)格式化(或初始化、FORMAT)

39.程序調(diào)試程序調(diào)試解析:程序調(diào)試的任務(wù)是診斷和改正程序中的錯(cuò)誤。程序調(diào)試與軟件測(cè)試不同,軟件測(cè)試是盡可能多地發(fā)現(xiàn)軟件中的錯(cuò)誤。先要發(fā)現(xiàn)軟件的錯(cuò)誤,然后借助于調(diào)試工具找出軟件錯(cuò)誤的具體位置。軟件測(cè)試貫穿整個(gè)軟件生命期,而調(diào)試主要在開發(fā)階段。

40.ar=6ar=6ar=13ar=6ar=6ar=13解析:通過*p=a+5將指針P指向a[5],第1次循環(huán),i=3時(shí),switch(3),執(zhí)行case3,*(-p)-a[4]=6,所以輸出ar=6;第2次循環(huán),j=2時(shí),switch(2),執(zhí)行case2,(*p++)是先引用a[4]的值6,輸出ar=6,再將指針P移位指向a[5];第3次循環(huán),j=1時(shí),switch(1),執(zhí)行case1,case1后沒有break語句,接著執(zhí)行case2,(*p++)是先引用a[5]的值13,輸出ar=13,再將指針P移位指向a[6]。

41.D解析:位與運(yùn)算符“&”,按二進(jìn)位進(jìn)行“與”運(yùn)算,如果兩個(gè)相應(yīng)的二進(jìn)制位都為1,則該位的結(jié)果值為1,否則為0;取反運(yùn)算符“~”,用來對(duì)一個(gè)二進(jìn)制按位取反,即將0變1,1變0。在prinf()函數(shù)的表達(dá)式中,“&”前面表達(dá)式的值為1(3/2=1)表示為二進(jìn)制為00000001,而按位取反運(yùn)算符“~”的優(yōu)先級(jí)高于按位與運(yùn)算符“&”,先計(jì)算“&”后面的取反運(yùn)算符“~”。z的二進(jìn)制表示為00000001,取反后為11111110,最后進(jìn)行“&”,即“00000001&11111110”可知結(jié)果為00000000,故最后的值為0。

42.C

43.A

44.C解析:數(shù)據(jù)流相當(dāng)于一條管道,并有一級(jí)數(shù)據(jù)(信息)流經(jīng)它。在數(shù)據(jù)流圖中,用標(biāo)有名字的箭頭表示數(shù)據(jù)流。數(shù)據(jù)流可以從加工流向加工,也可以從加工流向文件或從文件流向加工,并且可以從外部實(shí)體流向系統(tǒng)或從系統(tǒng)流向外部實(shí)體。

45.C解析:二叉樹的遍歷分為先序,中序、后序三種不同方式.本題要求先序遍歷,其遍歷順序應(yīng)該為:訪問根結(jié)點(diǎn)->,先序遍歷左子樹->先序遍歷右子樹。按照定義,先序遍歷序列是ABDECF,故答案為C。

46.A解析:程序中首先以字符串常量定義并初始化了一個(gè)字符數(shù)組a,此時(shí)數(shù)組a包含5個(gè)元素{'1','2','3','4','\\0'},然后定義了一個(gè)變量t,并初始化為0。接下來是一個(gè)for循環(huán),循環(huán)變量i從0開始每次遞增2,循環(huán)條件a[i]是一個(gè)數(shù)字字符。因?yàn)閍[0]、a[2]分別是數(shù)字字符'1'、'3'而a[4]不是,所以循環(huán)體執(zhí)行了兩次,第一次執(zhí)行前t為0,執(zhí)行后t=10*t+a[i]-'0'=10*0+'1'-'0'=1,所以第二次執(zhí)行結(jié)果為t=10*t+a[i]-'0'=10*1+'3'-'0'=13。程序運(yùn)行后的輸出結(jié)果是13,本題選A。

47.C

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

49.D解析:在鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中,存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)的存儲(chǔ)空間可以不連續(xù),各數(shù)據(jù)接點(diǎn)的存儲(chǔ)順序與數(shù)據(jù)元素之間的邏輯關(guān)系可以不一致,而數(shù)據(jù)元素之間的邏輯關(guān)系是由指針域來確定的。

50.C2(n-1)

=2(5-1)=16

51.A

52.B

53.C解析:本題考查if語句。先判斷if語句的條件是否成立,++a=1>0,此條件成立,又因?yàn)槭沁M(jìn)行邏輯或運(yùn)算,在已知其中一個(gè)運(yùn)算對(duì)象為真的情況下,不必判斷另外一個(gè)運(yùn)算符的真假,即不進(jìn)行++b操作,就可以直接得出整個(gè)表達(dá)式的值為邏輯1,執(zhí)行下列的++c。

54.C解析:main()函數(shù)可以帶有參數(shù),并且參數(shù)只能有兩個(gè),第一個(gè)參數(shù)類型為整型,用來記下命令行的參數(shù)個(gè)數(shù),第二個(gè)參數(shù)為一個(gè)字符型指針數(shù)組,或字符型二級(jí)指針變量(指向一個(gè)數(shù)組,數(shù)組元素又是一個(gè)一級(jí)字符指針),其各個(gè)元素用來記下從命令行各參數(shù)字符串的首地址.故本題只有C選項(xiàng)不符合要求。所以,4個(gè)選項(xiàng)中C為所選。

55.C解析:C語言是于1972—1973年,由D.M.Ritehie在貝爾實(shí)驗(yàn)室為描述和實(shí)現(xiàn)UNIX操作系統(tǒng)而在B語言的基礎(chǔ)上設(shè)計(jì)出來的。C語言同時(shí)具備高級(jí)語言和低級(jí)語言的特點(diǎn),既適用于編寫系統(tǒng)軟件,義可用于編寫應(yīng)用軟件。計(jì)算機(jī)不能直接執(zhí)行C語言的源程序,必須編譯生成目標(biāo)程序后才能執(zhí)行。

56.A解析:本題主要考查結(jié)構(gòu)體數(shù)組的使用。x[i].num為結(jié)構(gòu)體x[i]中的num成員,x[i].name[2]是結(jié)構(gòu)體x[i]中name成員的第3個(gè)元素。程序執(zhí)行循環(huán)過程時(shí):第1次循環(huán),i=1,輸出x[1].num,x[1].name[2]的值,即2A;第2次循環(huán),i=2,輸出x[2].num,x[2].name[2]的值,即3N;第3次循環(huán),i=3,輸出x[3].num,x[3].name[2]的值,即4A;第4次循環(huán),i=4,輸出x[4].num,x[4].name[2]的值,即5U。

57.D解析:快速排序的基本思想是,通過一趟排序?qū)⒋判蛴涗浄指畛瑟?dú)立的兩部分,其中一部分記錄的關(guān)鍵字均比另一部分記錄的關(guān)鍵字小,再分別對(duì)這兩部分記錄繼續(xù)進(jìn)行排序,以達(dá)到整個(gè)序列有序;插入排序的基本操作是指將無序序列中的各元素依次插入到已經(jīng)有序的線性表中,從而得到一個(gè)新的序列;選擇排序的基本思想是:掃描整個(gè)線性表,從中選出最小的元素,將它交換到表的前面(這是它應(yīng)有的位置),然后對(duì)乘下的子表采用同樣的方法,直到表空為止;歸并排序是將兩個(gè)或兩個(gè)以上的有序表組合成一個(gè)新的有序表。

58.D

59.A解析:auto變量:無static聲明的局部變量。用auto作存儲(chǔ)類別的聲明時(shí),可以不寫auto,存儲(chǔ)類別隱含確定為auto(自動(dòng)存儲(chǔ)類別),是動(dòng)態(tài)存儲(chǔ)方式。大多數(shù)變量是自動(dòng)變量。用static聲明的局部變量是靜態(tài)局部變量。函數(shù)調(diào)用結(jié)束后靜態(tài)局部變量占據(jù)的內(nèi)存存儲(chǔ)單元空間不釋放,局部變量保留原值,下次調(diào)用時(shí)可以繼續(xù)使用該值。用extern聲明外部變量,外部變量即全局變量,可以用extern聲明來改變?nèi)肿兞康淖饔糜颍瑢?shí)際上,關(guān)鍵字“auto”可以省略,auto不寫則隱含確定為“自動(dòng)存儲(chǔ)類別”,屬于動(dòng)態(tài)存儲(chǔ)方式

60.C本題考查對(duì)面向?qū)ο蟮睦斫狻C嫦驅(qū)ο蟮某绦蛟O(shè)計(jì)是對(duì)象模擬問題領(lǐng)域中的實(shí)體,各對(duì)象之間相對(duì)獨(dú)立,相互依賴性小,通過消息來實(shí)現(xiàn)對(duì)象之間的相互聯(lián)系。

61.C本題考查的是指向函數(shù)的指針。函數(shù)指針定義的基本格式為:類型標(biāo)識(shí)符(*指針變量名)()?!邦愋蜆?biāo)識(shí)符”為函數(shù)返回值的類型。

62.D

63.A語句pc=eh;使得指針變量指向字符數(shù)組ch的首地址,即指向字符‘u’,則pc+5指向的是字符向后移動(dòng)5位,指向字符‘z’。所以輸出的$pc+5的值即為‘Z’。因此A選項(xiàng)正確。

64.A本題主要考查字符串的操作。從題目的選項(xiàng)中我們可以看出,本題給出的程序是對(duì)字符串進(jìn)行相應(yīng)的操作。

本題的程序是一個(gè)fun函數(shù),該函數(shù)帶有兩個(gè)指針類型的形參p1和p2,它們分別指向兩個(gè)需要被操作的字符串,程序中主要是一個(gè)while循環(huán),循環(huán)的判斷條件是(*p2=*p1)!=’\0’,這個(gè)表達(dá)式的作用是將指針變量p1所指向的字符串的當(dāng)前字符賦值給指針變量p2所指向的存儲(chǔ)空間,并判斷該字符串是否為字符串結(jié)束標(biāo)識(shí),如果不是結(jié)束標(biāo)識(shí),則兩個(gè)指針都后移一位,即分別指向下一個(gè)存儲(chǔ)單元。

通過上面對(duì)程序的分析我們可以看出,程序是將指針變量p1所指向的字符串復(fù)制到指針變量p2所指向的存儲(chǔ)空間中,直到字符串結(jié)束。因此,本題的答案選A。

65.C

66.B字符串連接函數(shù)strcat的調(diào)用形式如下:strcat(sl,s2)。此函數(shù)將s2所指字符串的內(nèi)容連接到sl所指的字符串后面,并自動(dòng)覆蓋sl串末尾的尾標(biāo),函數(shù)返回sl的地址值。本題中首先將二維數(shù)組中各行的字符串都復(fù)制到了指針P所指向的一維數(shù)組k的地址空間,然后用strlen函數(shù)求得k數(shù)組的長度i,即l9。

67.D

68.A解析:本調(diào)用語句func中

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論