2021-2022年河南省三門峽市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)真題二卷(含答案)_第1頁
2021-2022年河南省三門峽市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)真題二卷(含答案)_第2頁
2021-2022年河南省三門峽市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)真題二卷(含答案)_第3頁
2021-2022年河南省三門峽市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)真題二卷(含答案)_第4頁
2021-2022年河南省三門峽市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)真題二卷(含答案)_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

2021-2022年河南省三門峽市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)真題二卷(含答案)學(xué)校:________班級:________姓名:________考號(hào):________

一、單選題(20題)1.

2.C語言常量的類型從字面形式上可區(qū)分,以下判斷中正確的是()。

A.2E3——整型B.2.0E3——實(shí)型C.‘\025’——字符串D.“a”——字符型

3.以下符號(hào)中不能作為標(biāo)識(shí)符的是()。A.256B.voidC.vanfD.4Struct

4.

5.有以下程序:#include<stdio.h>main(){inta=-2,b=0;while(a++++b);printf("%d,%d\n",a,b);}程序運(yùn)行后的輸出結(jié)果是()。A.1,3B.0,2C.0,3D.1,2

6.

7.求2n個(gè)數(shù)中的最大值和最小值,最少的比較次數(shù)是()

A.4n/3B.2n-2C.3n-2D.3n/2

8.下列數(shù)據(jù)模型中,具有堅(jiān)實(shí)理論基礎(chǔ)的是()。

A.關(guān)系模型B.網(wǎng)狀模型C.層次模型D.以上三個(gè)都是

9.可以判斷一個(gè)有向圖中是否含有回路的方法為()。

A.廣度優(yōu)先遍歷B.深度優(yōu)先遍歷C.拓?fù)渑判駾.求最短路徑

10.判斷一個(gè)順序存儲(chǔ)的隊(duì)列sp為空的條件是()。

A.sp->front=sp->rear

B.sp->front=sp->rear+1

C.sp->front=sp->rear-1

D.sp->front=NULL

11.軟件詳細(xì)設(shè)計(jì)的主要任務(wù)是確定每個(gè)模塊的()。

A.算法和使用的數(shù)據(jù)結(jié)構(gòu)B.外部接口C.功能D.編程

12.判斷一個(gè)循環(huán)隊(duì)列cq(最多元素為m)為滿的條件是()。

A.cq->rear-cq-front=m;

B.(cq->rear+1)%m=cq->front;

C.cq->front=cq->rear;

D.cq->rear=m-1;

13.有以下程序:程序運(yùn)行后的輸出結(jié)果是()。A.13442B.13431C.01234D.02431

14.以下不能正確進(jìn)行字符串賦初值的語句是

A.charstr[5]="good!";

B.charstr[]="good!";

C.char*srt="good!";

D.charstr[5]={'g','o','o','d'};

15.下列選項(xiàng)中,當(dāng)X為大于1的奇數(shù)時(shí),值為0的表達(dá)式是()。

A.x%2==0B.x/2C.x%2!=0D.x%2==1

16.以下不能對二維數(shù)組a進(jìn)行正確初始化的語句是()。A.inta[2][3]={0};

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

C.inta[][3]={{1,2},{0}};

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

17.已知大寫字母A的ASCII值是65,小寫字母a的ASCII值是97。下列不能將變量c中的大寫字母轉(zhuǎn)換為對應(yīng)小寫字母的語句是()。

A.c=(‘A’,+c)%26-‘a(chǎn)’B.c=c+32C.c=c-‘A’+‘a(chǎn)’D.c=(c-‘A’)%26+‘a(chǎn)’

18.

19.程序流程圖中帶有箭頭的線段表示的是()。

A.圖元關(guān)系B.數(shù)據(jù)流C.控制流D.調(diào)用關(guān)系

20.有下列函數(shù)定義:fun(floath){printf("%f,%f\n",h,h*h);)該函數(shù)的類型是()。A.int類型B.float類型C.void類型D.函數(shù)無類型說明,定義有錯(cuò)

二、2.填空題(20題)21.解題方案的準(zhǔn)確而完整的描述稱為______。

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

main()

{inta=1,b=3,c=5;

if(c=a+b)printf("yes\n");

elseprintf("no\n");

}

23.()是指用戶的應(yīng)用程序與數(shù)據(jù)庫的邏輯結(jié)構(gòu)是相互獨(dú)立的,也就是說,數(shù)據(jù)的邏輯結(jié)構(gòu)改變了,用戶程序也可以不變。

24.以下程序的功能是計(jì)算:s=1+12+123+1234+12345。請?zhí)羁铡?/p>

main()

{intt=0,s=0,i;

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

{t=i+______;s=s+t;}

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

}

25.一個(gè)模塊直接調(diào)用的其他模塊的模塊個(gè)數(shù)稱為______。

26.算法執(zhí)行過程中所需要的存儲(chǔ)空間稱為算法的______。

27.下列程序的字符串中各單詞之間有一個(gè)空格,則程序的輸出結(jié)果是【】。

#include<stdio.h>

#include<string.h>

main()

{charstr1[]="Howdoyoudo",*p1=str1;

strcpy(str1+strlen(str1)/2,"esshe");

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

}

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

#defineN10

#defines(x)x*x

#definef(x)(x*x)

main()

{inti1,i2;

i1=1000/s(N);i2=1000/f(N);

printf("%d%d\n",i1,i2);

}

29.在面向?qū)ο蟮姆椒ㄖ?,______描述的是具有相似屬性與操作的一組對象。

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

main()

{inti=0,a=0;

while(i<20)

{for(;;)

{if((i%10)==0)break;

elsei--;}

i+=11;

a+=i;

}

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

}

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

int*p,x;

x=100;

p=&x;

x=*p+50;

32.下列程序中的數(shù)組a包括10個(gè)整數(shù)元素,分別將前項(xiàng)和后項(xiàng)之和存入數(shù)組b,并按每行4個(gè)元素輸出數(shù)組b。請?zhí)羁铡?/p>

#include<stdioh>

main()

{inta[10],b[10],i;

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

scanf("%d",&a[i]);

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

for(i;0;i<9;i++)

{if(i%4==0)primf("\n");

printf("%3d",b[i];

}

}

33.以下程序的輸出結(jié)果是()。#include<stdio.h>voidswap(int*a,int*B){int*t;t=a;a=b;b=c;}main(){inti=3,j=5,*p=&i,*q=&j;swap(p,q);printf("%d%d\n",*p,*q);}

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

#include<string.h>

main()

{printf("%d\n",strlen("IBM\n012\1\\"));}

35.數(shù)據(jù)庫系統(tǒng)的主要特點(diǎn)為數(shù)據(jù)集成性、數(shù)據(jù)的高_(dá)_____和低冗余性、數(shù)據(jù)獨(dú)立性和數(shù)據(jù)統(tǒng)一管理和控制。

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

main()

{inti=3,j=2;

char*a="DCBA";

printf("%c%c\n",a[i],a[j])

}

37.源程序文檔化要求程序應(yīng)加注釋。注釋一般分為序言性注釋和【】注釋。

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

39.表示""整數(shù)x的絕對值大于5""時(shí)值為""真""的C語言表達(dá)式是【】。

40.在雙鏈表中每個(gè)結(jié)點(diǎn)有兩個(gè)指針域:一個(gè)指向【】,另一個(gè)指向【】。

三、1.選擇題(20題)41.下列有關(guān)數(shù)據(jù)庫的描述,正確的是A.數(shù)據(jù)處理是將信息轉(zhuǎn)化為數(shù)據(jù)的過程

B.數(shù)據(jù)的物理獨(dú)立性是指當(dāng)數(shù)據(jù)的邏輯結(jié)構(gòu)改變時(shí),數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)不變

C.關(guān)系中的每一列稱為元組,一個(gè)元組就是一個(gè)字段

D.如果一個(gè)關(guān)系中的屬性或?qū)傩越M并非該關(guān)系的關(guān)鍵字,但它是另一個(gè)關(guān)系的關(guān)鍵字,則稱其為本關(guān)系的外關(guān)鍵字

42.有以下程序main(){char*s="abcde";s+=2;printf("%ld\n",s);}程序運(yùn)行后的輸出結(jié)果是()

A.cdeB.字符c的ASCII碼值C.字符c的地址D.出錯(cuò)

43.下列函數(shù)定義中,會(huì)出現(xiàn)編譯錯(cuò)誤的是

A.max(intx,inty,int*z){*z=x>y?x:y;}

B.intmax(intx,y){intz;z=x>y?x:y;returnz;}

C.max(intx,inty){intz;z=x>y?x:y;return(z);

D.intmax(intx,inty){return(x>y?x:y);}

44.設(shè)有如下說明typedefstruct{intn;charc;doublex;}STD;則以下選項(xiàng)中,能正確定義結(jié)構(gòu)體數(shù)組并賦初值的語句是

A.STDtt[2]={{l,'A',62},{2,'B',75}};

B.STDtt[2]={1,"A",62,2,"B",75};

C.streetn[2]={{1,'A'},{2,'B'}};

D.structtt[2]={{1,"A",62.5},{2,"B",75.0}};

45.下列正確的實(shí)型常量是()。

A.E3.4B.-12345C.2.2e0.8D.4

46.下列說法正確的是()。

A.一個(gè)C程序可以有多個(gè)主函數(shù)

B.一個(gè)C語言的函數(shù)中只允許有一對花括號(hào)

C.C程序的書寫格式是自由的,一個(gè)語句可以寫在一行上,也可以寫在多行內(nèi)

D.在對C程序進(jìn)行編譯時(shí),可以發(fā)現(xiàn)注釋行中的拼寫錯(cuò)誤

47.下列關(guān)系模型中,能使經(jīng)運(yùn)算后得到的新關(guān)系中屬性個(gè)數(shù)多于原來關(guān)系中屬性個(gè)數(shù)的是

A.選擇B.連接C.投影D.并

48.設(shè)intx=1,y=1;表達(dá)式(!x||--y)的值是()。

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

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

main

{

doubled=3.2;intx,y;

x=1.2;y=(x+3.8)/5.0;

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

}

A.3B.3.2C.0D.3.07

50.下列循環(huán)體的執(zhí)行次數(shù)是()。#include<stdio.h>main(){inti,j;for(i=0j=1;i<j+1;i+=1,j--)printf("%d\n",j);}

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

51.下列程序的輸出結(jié)果是______。main(){char*s="121";intk=0,a=0,b=0;do{k++;if(k%2==0){a=a+s[k]-'0';continue;}b=b+s[k]-'0';a=a+s[k]-'0';}while(s[k+1]);printf("k=%da=%db=%d\n",k,a,b);}

A.k=3a=2b=3B.k=3a=3b=2C.k=2a=3b=2D.k=2a=2b=3

52.有以下程序:#include<stdio.h>main(){intk=4,n=0;for(;n<k;){n++;if(n%3!=0)continue;k--;}printf("%d,%d\n",k,n);}程序運(yùn)行后的輸出結(jié)果是()。

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

53.若t已定義為double類型,表達(dá)式:t=1,t++,t+5的值是()

A.1B.7C.2D.1

54.若有定義“doublea;”,則正確的輸入語句是()。

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

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

C.scanf("%1f,&A)

D.scanf("%1e",&A);

55.下列程序中c的二過值是()。chara=2,b=4,c;c=a^b>>2;

A.11B.10100C.11100D.11000

56.下列選項(xiàng)中,不屬于模塊間耦合的是()。A.數(shù)據(jù)耦合B.標(biāo)記耦合C.異構(gòu)耦合D.公共耦合

57.在以下選項(xiàng)中,操作不合法的一組是______。

A.intx[6],*p;p=&x[0];

B.intx[6],*p;*p=x;

C.intx[6],*p;p=x;

D.intx[5],p;p=x[0];

58.若定義:inta=511,*b=&a;則printf(“%d\n”,*B);的輸出結(jié)果為

A.無確定值B.a的地址C.512D.511

59.數(shù)據(jù)管理技術(shù)隨著計(jì)算機(jī)技術(shù)的發(fā)展而發(fā)展。數(shù)據(jù)庫階段具有許多特點(diǎn),但下面列出的特點(diǎn)中,______不是數(shù)據(jù)庫階段的特點(diǎn)。

A.數(shù)據(jù)結(jié)構(gòu)化B.數(shù)據(jù)面向應(yīng)用程序C.數(shù)據(jù)共享性高D.數(shù)據(jù)具有較高的獨(dú)立性

60.以下選項(xiàng)小可作為C語言合法整數(shù)的是()。

A.10110BB.386C.0XffaD.x2a2

四、選擇題(20題)61.閱讀以下程序及對程序功能的描述,其中正確的描述是

#include<stdio.h>

main()

{

FILE*in,*out;

charch,infile[10],outfile[10];

printf("Entertheinfilename:\n");

scanf("%s",infile);

printf("Entertheoutfilename:\n");

scanf("%s",outfile);

if((in=fopen(infile,"r"))==NULL)

{

printf("cannotopeninfile\n");

exit(0);

}

if((out=fopen(outfile,"w"))==NULL)

{

printf("cannotopenoutfile\n");

exit(0);

}

while(!feof(in))fputc(fgetc(in),out);

fclose(in);

fclose(out);

}

A.程序完成將磁盤文件的信息在屏幕上顯示的功能

B.程序完成將兩個(gè)磁盤文件合二為一的功能

C.程序完成將一個(gè)磁盤文件復(fù)制到另一個(gè)磁盤文件中

D.程序完成將兩個(gè)磁盤文件合并后在屏幕上輸出

62.若a為int類型,且其值為3,則執(zhí)行完表達(dá)式a+=a-=a*a后,a的值是()。A.A.-3B.9C.-12D.6

63.讀取二進(jìn)制文件的函數(shù)調(diào)用形式為:fread(buffer,size,Count,fp);,其中buffed

代表的是()。

A.一個(gè)內(nèi)存塊的首地址,代表讀入數(shù)據(jù)存放的地址

B.一個(gè)整型變量,代表待讀取的數(shù)據(jù)的字節(jié)數(shù)

C.一個(gè)文件指針,指向待讀取的文件

D.一個(gè)內(nèi)存塊的字節(jié)數(shù)

64.

65.若有定義:doublea=22;inti=0,k=18;,則不符合c語言規(guī)定的賦值語句是()。

A.i=(a+k)<=(i+k);B.i=a%11;C.a=a++,i++;D.i=!a;

66.

67.

68.(23)在深度為5的滿二叉樹中,葉子結(jié)點(diǎn)的個(gè)數(shù)為______。

A.32

B.31

C.16

D.15

69.

70.對如下二叉樹進(jìn)行后序遍歷的結(jié)果為()。

A.A.ABCDEFB.DBEAFCC.ABDECFD.DEBFCA

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

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

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

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

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

72.

73.

74.一個(gè)關(guān)系中屬性個(gè)數(shù)為1時(shí),稱此關(guān)系為()。

A.對應(yīng)關(guān)系B.單一關(guān)系C.一元關(guān)系D.二元關(guān)系

75.有以下程序:

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

A.10B.11C.20D.21

76.下面不屬于軟件工程三個(gè)要素的是()。

A.工具B.過程C.方法D.環(huán)境

77.

78.

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

#include<stdio.h>

main

{inti;

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

{if(i*i>=20)&&(i*i<=100))

break;

}

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

}

A.49B.36C.25D.64

79.

80.

五、程序改錯(cuò)題(1題)81.下列給定程序中,fun()函數(shù)的功能是:求3個(gè)數(shù)的最小公倍數(shù),例如,給變量a、b、c、分別輸入15、11、2,則輸出結(jié)果應(yīng)當(dāng)是330。請修改函數(shù)中的錯(cuò)誤,得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不能增行或減行,也不能更改程序的結(jié)構(gòu)。試題程序:

六、程序設(shè)計(jì)題(1題)82.請編寫函數(shù)proc,該函數(shù)的功能是:將M行N列的二維數(shù)組中的數(shù)據(jù),按行的順序依次放到一維數(shù)組中,一維數(shù)組中數(shù)據(jù)的個(gè)數(shù)存放在形參n所指的存儲(chǔ)單元中。

例如,若二維數(shù)組中的數(shù)據(jù)為

13233343

14243444

15253545

則一維數(shù)組中的內(nèi)容應(yīng)該是132333431424344415253545。

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

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

試題程序:

#include<stdio.h>

voidproc(int(*s)[103,int*b,int*n,intrain.intnn)

{}

voidmain

{

intarr[10][10]={{33,33,33,33),{44,44,44,44},

{55,55,55,55}),i,j;

inta[l00]={o),n=o;

printf("Thematrix:\n");

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

{

for(j=0;j<4;j++)

printf("%3d",arr[i][j]):

printf("\n");

}

proc(arr,a,&n,3,4):

printf("TheAarray:\n");

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

printf("%3d",a[i]):

printf("\n\n");

}

參考答案

1.B

2.B2E3是實(shí)型常量的指數(shù)形式,選項(xiàng)A錯(cuò)誤;2.0E3是實(shí)型常量的指數(shù)形式,選項(xiàng)B正確;‘\\025’是八進(jìn)制表示的轉(zhuǎn)義字符,選項(xiàng)C錯(cuò)誤;“a”是雙引號(hào)標(biāo)注的字符串常量,選項(xiàng)D錯(cuò)誤。故本題答案為B選項(xiàng)。

3.B

4.A

5.D輸出的結(jié)果是:-1,1\r\n0,2\r\n1,2

6.D

7.A

8.A解析:在層次模型和網(wǎng)狀模型的系統(tǒng)研究和數(shù)據(jù)庫設(shè)計(jì)中,其性能和質(zhì)量主要決定于設(shè)計(jì)者的經(jīng)驗(yàn)和技術(shù)水平,缺乏一定的理論指導(dǎo)。關(guān)系模型有堅(jiān)實(shí)的理論基礎(chǔ),它以數(shù)學(xué)理論為基礎(chǔ),從而避免了層次模型和網(wǎng)狀模型系統(tǒng)中存在的問題。

9.C

10.A

11.A解析:從軟件開發(fā)的工程化觀點(diǎn)來看,在使用程序設(shè)計(jì)語言編制程序以前,需要對所采用算法的邏輯關(guān)系進(jìn)行分析,設(shè)計(jì)出全部必要的過程細(xì)節(jié),并給予清晰的表達(dá)。詳細(xì)設(shè)計(jì)的任務(wù)就是要決定各個(gè)模塊的實(shí)現(xiàn)算法,并精確表達(dá)出這些算法。本題正確答案為選項(xiàng)A。

12.B

13.Bmain函數(shù)中定義包含5個(gè)元素的數(shù)組m,每個(gè)元素都是NODE類型。指針p指向數(shù)組第1個(gè)元素,指針q指向數(shù)組最后一個(gè)元素。while循環(huán)使用p、q從首尾向中間遍歷,遍歷的同時(shí)為各個(gè)元素賦值。所以第1輪循環(huán),i的值為0,先執(zhí)行的值為++i,后執(zhí)行i++的值也為1,m[0].k和m[4].k的值都為1;接著第2輪循環(huán),i的值為2,先執(zhí)行的值為3,后執(zhí)行i++的值也為3,m[l].k和m[3].k的值都為3;第3輪循環(huán),p和q指向的都是m[2]元素,指針相同,循環(huán)結(jié)束,此時(shí)i的值為4,即m[2].k賦值為4。綜上,程序輸出:13431。本題答案為B選項(xiàng)。

14.A解析:本題考核的知識(shí)點(diǎn)是字符數(shù)組和字符指針變量的初始化。選項(xiàng)A定義了一個(gè)字符數(shù)組str,具有5個(gè)元素,但賦初值的時(shí)候,初值個(gè)數(shù)卻是6個(gè)(有一個(gè)'\\0'),故選項(xiàng)A錯(cuò)誤的;選項(xiàng)B定義了一個(gè)字符數(shù)組str并給它賦初值,由于省去了長度定義,長度由初值個(gè)數(shù)確定,相當(dāng)于str[6],選項(xiàng)B正確;選項(xiàng)C定義了一個(gè)字符型指針變量并用一個(gè)字符串給它賦初值,使該字符型指針指向了該字符串,選項(xiàng)C正確;選項(xiàng)D是對字符型數(shù)組中單個(gè)元素依次賦初值,選項(xiàng)D正確。所以,4個(gè)選項(xiàng)中A為所選。

15.A算術(shù)運(yùn)算符的優(yōu)先級高于關(guān)系運(yùn)算符的優(yōu)先級。所以當(dāng)x為大于1的奇數(shù)時(shí),A選項(xiàng)的值為假,即0。B選項(xiàng)的值為不定值,但絕對不是0。C選項(xiàng)的值為真,即1。0選項(xiàng)的值為真,即1。故本題答案為A選項(xiàng)。

16.B選項(xiàng)A中,將二維數(shù)組a的6個(gè)元素都賦值為0,正確;選項(xiàng)B中,由于a包含2個(gè)元素,每個(gè)元素都是包含3個(gè)元素的一維數(shù)組,初始化列表中包含3個(gè)元素,每個(gè)元素是包含2個(gè)元素的數(shù)組,錯(cuò)誤;選項(xiàng)C中,a的每個(gè)元素是包含3個(gè)元素的一維數(shù)組,初始化列表將a[0]的3個(gè)元素初始化為1,2,0,將a[1]的3個(gè)元素初始化為0,0,0,正確;選項(xiàng)D中,將a[0]初始化為1,2,3,將a[1]初始化為4,5,6,正確。本題答案為B選項(xiàng)。

17.A根據(jù)題意可知,小寫字母比與之對應(yīng)的大寫字母的ASCII值大32。A選項(xiàng)中字符W加變量c再對字母個(gè)數(shù)26取余,不能轉(zhuǎn)換為對應(yīng)的小寫字母。故本題答案為A選項(xiàng)。

18.D

19.C解析:程序流程圖是人們對解決問題的方法、思路或算法的一種描述。其中,圖框表示各種操作的類型,圖框中的文字和符號(hào)表示操作的內(nèi)容,流程線表示操作的先后次序。帶箭頭的線段在數(shù)據(jù)流程圖中表示數(shù)據(jù)流。帶箭頭的線段在程序流程圖中表示控制流。題中給出的選項(xiàng)中,在圖元之間用帶有箭頭的線段表示圖元關(guān)系。在模塊之間用帶有箭頭的線段表示調(diào)用關(guān)系。構(gòu)成程序流程圖的基本圖符及含義:→或↓表示控制流;□表示加工步驟;

表示邏輯條件。

20.A本題考查函數(shù)值的類型,在函數(shù)定義時(shí),由于函數(shù)沒有說明其類型,系統(tǒng)默認(rèn)一律自動(dòng)按整型(int)處理。

21.算法算法解析:算法是指對解題方案的準(zhǔn)確而完整的描述。

22.yesyes解析:if語句的條件語句為c=a+b=1+3=4,即條件為真,執(zhí)行語句printf('yes\\n');,輸出結(jié)果為yes。

23.邏輯獨(dú)立性邏輯獨(dú)立性解析:數(shù)據(jù)獨(dú)立性包括數(shù)據(jù)的物理獨(dú)立性和邏輯獨(dú)立性。物理獨(dú)立性是指用戶的應(yīng)用程序與存儲(chǔ)在磁盤上的數(shù)據(jù)庫中數(shù)據(jù)是相互獨(dú)立的。數(shù)據(jù)在磁盤上的數(shù)據(jù)庫中怎樣存儲(chǔ)是由DBMS管理的,用戶程序不需要了解,應(yīng)用程序要處理的只是數(shù)據(jù)的邏輯結(jié)構(gòu),這樣當(dāng)數(shù)據(jù)的物理存儲(chǔ)改變時(shí)。應(yīng)用程序不用改變。邏輯獨(dú)立性是指用戶的應(yīng)用程序與數(shù)據(jù)庫的邏輯結(jié)構(gòu)是相互獨(dú)立的,也就是說,數(shù)據(jù)的邏輯結(jié)構(gòu)改變了,用戶程序也可以不變。

24.t*10或10*tt*10或10*t解析:本題要求累加一系列有規(guī)律的數(shù),從輸出結(jié)果來看,s保存的是最終結(jié)果,而s在循環(huán)體中,每次累加一個(gè)t,則說明t在5次循環(huán)中分別等于1.12、123、1234、12345;而t每次循環(huán)等于“填空內(nèi)容”加上循環(huán)變量i,又因?yàn)閕在5次循環(huán)中分別等于1、2、3、4,5,所以t每次循環(huán)要加的“填空內(nèi)容”應(yīng)分別為0、10、120,1230,12340,這一系列值正好是前一次t的值的10倍.所以“填空內(nèi)容”應(yīng)是t*10。

25.扇出扇出解析:在結(jié)構(gòu)圖中,調(diào)用一個(gè)給定模塊的模塊個(gè)數(shù)稱為扇入,一個(gè)模塊直接調(diào)用的其他模塊個(gè)數(shù)稱為扇出。

26.空間復(fù)雜度空間復(fù)雜度解析:算法執(zhí)行時(shí)所需要的存儲(chǔ)空間,稱為算法的空間復(fù)雜度。

27.HowdoessheHowdoesshe解析:程序中的strlen(str1)是求str1字符串的長度,結(jié)果為13,然后除以2結(jié)果為6。strcpy函數(shù)是把字符串“esshe”拷貝到str1后的第6個(gè)字符后面,也就是說,拷貝后的結(jié)果是“Howdoesshe”。

28.100010100010解析:先將程序中的宏替換掉,兩處的宏替換后分別為i1=1000/10*10和i2=1000/(10*10),即i1=1000,i2=10,所以最后輸出的i1和i2的值分別為1000和10。

29.類類解析:在面向?qū)ο蟮姆椒ㄖ校丫哂邢嗤瑢傩院头椒ǖ膶ο蠓Q為類,類是對象的抽象,對象是類的實(shí)例。

30.3232解析:while(表達(dá)式)的功能是:首先計(jì)算表達(dá)式的值,若為真,則執(zhí)行循環(huán)體語句,執(zhí)行完畢,再計(jì)算表達(dá)式的值,若仍為真,則重復(fù)執(zhí)行循環(huán)體語句,直到表達(dá)式的值為假時(shí),結(jié)束while語句的執(zhí)行,繼續(xù)執(zhí)行while語句后面的語句:i=0時(shí)滿足循環(huán)條件,也滿足if的條件,執(zhí)行語句得i=11,a=11,第2次循環(huán)不滿足if的條件,執(zhí)行i--,i=10,執(zhí)行i+=11;a+=i后,得i=21,a=32,不滿足i<20,循環(huán)結(jié)束。

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

32.b[i]=a[i]+a[i+1]b[i]=a[i]+a[i+1]解析:將數(shù)組a中元素a[i]與a[i+1]值相加后的值賦予數(shù)組b中元素b[i]小即可實(shí)現(xiàn)將一個(gè)數(shù)組的前項(xiàng)和后項(xiàng)之和存入另一數(shù)組。

33.3535解析:本題考查函數(shù)中形參和實(shí)參的傳遞。在C語言函數(shù)中實(shí)參和形參傳遞具有不可逆性,參數(shù)只能由實(shí)參傳向形參,而不能由形參傳向?qū)崊?,雖然swap函數(shù)的功能是實(shí)現(xiàn)兩個(gè)數(shù)的交換,但由于沒有返回值,故最終的輸出結(jié)果為35。

34.99解析:本題要輸出的結(jié)果是字符串'IBM\\n012\\1\\\\'的長度,'IBM'是3個(gè)字符,\'\\n\'是1個(gè)字符,'012'又是3個(gè)字符,最后的\'\\1\'和\'\\\\\'都是1個(gè)字符。所以最終字符串的長度應(yīng)該是3+1+3+1+1=9。故本題應(yīng)該填9。

35.共享性共享性解析:數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)能被不同的應(yīng)用程序使用,實(shí)現(xiàn)了數(shù)據(jù)的高度共享,從而降低了數(shù)據(jù)的冗余,這也是數(shù)據(jù)庫的主要目的。

36.AB

37.功能性功能性

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

39.x>5||x<-5x<-5或x<-5||x>5x>5||x<-5,x<-5或x<-5||x>5解析:要使整數(shù)x的絕對值大于5,則x大于5或x小于5,用C語言表示即為:x>5||x<-5或者x<-5||x>5。故本題答案為;x>5||x<-5或者x<-5||x>5。

40.前趨結(jié)點(diǎn)后繼結(jié)點(diǎn)前趨結(jié)點(diǎn)\r\n后繼結(jié)點(diǎn)

41.D數(shù)據(jù)處理是指將數(shù)據(jù)轉(zhuǎn)換成信息的過程,故選項(xiàng)A敘述錯(cuò)誤。數(shù)據(jù)的物理獨(dú)立性是指數(shù)據(jù)的物理結(jié)構(gòu)的改變,不會(huì)影響數(shù)據(jù)庫的邏輯結(jié)構(gòu),故選項(xiàng)B敘述錯(cuò)誤。關(guān)系中的行稱為元組,對應(yīng)存儲(chǔ)文件中的記錄,關(guān)系中的列稱為屬性,對應(yīng)存儲(chǔ)文件中的字段,故選項(xiàng)C敘述錯(cuò)誤。所以本題選D。

42.C

43.B解析:本題考核的知識(shí)點(diǎn)是函數(shù)的定義方法。選項(xiàng)B中在說明形參時(shí),省略了第二個(gè)參數(shù)的類型,故選項(xiàng)B編譯不能通過。所以,4個(gè)選項(xiàng)中選項(xiàng)B符合題意。

44.A解析:本題定義了一個(gè)結(jié)構(gòu)體類型并自定義類型名為STD,用戶自定義類型后,就可以利用它進(jìn)行變量與數(shù)組的定義。定義的方法,與C語言中其他類型的定義完全—樣,定義結(jié)構(gòu)型數(shù)組并賦初值時(shí),每個(gè)元素用一對“{”和“}“括起來,字符型元素用”'”括起來。

45.B解析:實(shí)型常量有兩種書寫形式。①小數(shù)形式,它由符號(hào)、整數(shù)部分、小數(shù)點(diǎn)及小數(shù)部分組成;②指數(shù)形式,由十進(jìn)制小數(shù)形式加上指數(shù)部分組成,其形式為:十進(jìn)制小數(shù)e指數(shù)或十進(jìn)制小數(shù)E指數(shù)。

注:e或E后面的指數(shù)必須是整數(shù),并且在e或E的前面必須有數(shù)字。本題中,選項(xiàng)A)中E的前面沒有數(shù)字,因此錯(cuò)誤。選項(xiàng)C)中0.8不是整數(shù),因此錯(cuò)誤。選項(xiàng)D)中4是整型常量而不是實(shí)型常量。

46.C解析:本題涉及C語言基本的3個(gè)知識(shí)點(diǎn):①C語言規(guī)定一個(gè)程序只允許有一個(gè)主函數(shù),一個(gè)函數(shù)內(nèi)可以允許有多個(gè)花括號(hào);②C語言的標(biāo)識(shí)符是由字母、數(shù)字、下劃線組成的,可以是大寫字母,而且標(biāo)識(shí)符區(qū)分字母的大小寫;③C程序的注釋部分僅僅是方便程序員閱讀,提高程序的可讀性和可移植性,它并不參與程序的編譯,所以編譯器也就不會(huì)發(fā)現(xiàn)注釋行中的錯(cuò)誤。

47.B解析:本題主要考查關(guān)系模型中幾種運(yùn)算的特征。經(jīng)過選擇或投影運(yùn)算得到的新關(guān)系的屬性個(gè)數(shù)最多不會(huì)超過原關(guān)系中的屬性個(gè)數(shù)。經(jīng)過連接運(yùn)算得到的新關(guān)系最多不少于原關(guān)系中屬性的個(gè)數(shù)。故選項(xiàng)B正確。

48.A解析:當(dāng)邏輯或運(yùn)算符兩邊的運(yùn)算對象至少有一個(gè)為1時(shí),整個(gè)邏輯表達(dá)式的值是1;如果兩邊的運(yùn)算對象都為0,則整個(gè)邏輯表達(dá)式的值為0。題中!x=0,--y=0,所以整個(gè)表達(dá)式的值是0。

49.C解析:本題中,程序先執(zhí)行語句x=1.2;,根據(jù)賦值運(yùn)算的類型轉(zhuǎn)換規(guī)則,先將double型的常量1.2轉(zhuǎn)換為int型,即取整為1,然后將1賦值給變量x。接下來執(zhí)行語句y=(x+3.8)/5.0;根據(jù)運(yùn)算符的優(yōu)先級,先計(jì)算小括號(hào)內(nèi),再計(jì)算除法,最后執(zhí)行賦值運(yùn)算。小括號(hào)內(nèi)的運(yùn)算過程:先將整型變量x的值1轉(zhuǎn)換為double型1.0,然后與3.8進(jìn)行加法運(yùn)算,得到中間結(jié)果4.8。接著進(jìn)行除法運(yùn)算4.8/5.0,其結(jié)果小于1.0,這里沒有必要計(jì)算出精確值,因?yàn)榻又M(jìn)行賦值運(yùn)算,賦值號(hào)左邊的變量y的類型為整型,于是對這個(gè)小于1.0的中間結(jié)果進(jìn)行取整,結(jié)果為0,于是變量y的值為0,d*y的值也為0。注意:格式輸出語句printf的使用。

50.C解析:本題考查for循環(huán)。第一次循環(huán)前先判斷循環(huán)條件,此時(shí)i=0,j=1,i<j+1成立,循環(huán)第一次;第二次循環(huán)前先判斷循環(huán)條件,此時(shí)i=1,j=0,(j--是先使用j的值再減1),i<j+1不成立,結(jié)束循環(huán)。

51.C

52.C解析:本題考查循環(huán)和continue語句,continue語句的功能是結(jié)束本次循環(huán)。n從0開始循環(huán),判斷n%3!=0是否成立,如果成立,結(jié)束本次循環(huán),繼續(xù)下一次for循環(huán);否則執(zhí)行k--,并繼續(xù)下一次for循環(huán),直至循環(huán)結(jié)束。在程序中,當(dāng)n取1,2時(shí),不執(zhí)行k--,當(dāng)n取3時(shí),執(zhí)行k--,k變?yōu)?,循環(huán)結(jié)束,輸出k,n的值分別為3,3。

53.B

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

55.A解析:本題主要考查按位異或和右移運(yùn)算。b=4的二進(jìn)制為00000100,b>>2后為00000001,a=2的二進(jìn)制為00000010,兩者異或?yàn)?0000011。

56.C解析:模塊之間的耦合程度反映了模塊的獨(dú)立性,也反映了系統(tǒng)分解后的復(fù)雜程度。按照耦合程度從弱到強(qiáng),可以將其分成5級,分別是:數(shù)據(jù)耦合、同構(gòu)耦合、控制耦合、公用耦合和內(nèi)容耦合。選項(xiàng)C),沒有這種耦合方式。注意:評價(jià)模塊獨(dú)立性的主要標(biāo)準(zhǔn),以及對它們的定義和分類。

57.B解析:對于A和C都可使p指向數(shù)組x的首地址。D是把數(shù)組元素x[0]賦給p。

58.D解析:本題考核的知識(shí)點(diǎn)是printf()函數(shù)的輸出格式.本題中先定義了一個(gè)int型的變量a并賦初值為511,接著定義了一個(gè)指向a的指針變量b,在printf()函數(shù)的輸出格式中,是輸出*b,即輸出指針?biāo)赶蜃兞縜的值為511,因此輸出511。所以,4個(gè)選項(xiàng)中D為所選。

59.B解析:數(shù)據(jù)的結(jié)構(gòu)化是數(shù)據(jù)庫階段的重要特征之一。在數(shù)據(jù)庫階段,數(shù)據(jù)不再面向應(yīng)用,而是面向整個(gè)系統(tǒng),數(shù)據(jù)的共享性高、冗余小、易于擴(kuò)展。由于數(shù)據(jù)庫三級模式間的兩級映像,所以數(shù)據(jù)具有較高的獨(dú)立性。

60.C解析:整數(shù)可以用十進(jìn)制、八進(jìn)制或十六進(jìn)制表示,并分為有符號(hào)數(shù)、無符號(hào)數(shù)和長整型數(shù),由此可知選項(xiàng)A)錯(cuò);選項(xiàng)B),用0386表示八進(jìn)制錯(cuò)誤,因?yàn)榘诉M(jìn)制數(shù)字為0~7八個(gè)數(shù)字,含有8是不對的;數(shù)字前加“0x”表示十六進(jìn)制數(shù),所以D)不對。

61.C本題主要考查文件的操作。從選項(xiàng)中我們可以知道,本題是對兩個(gè)磁盤文件進(jìn)行相關(guān)操作。

在程序中,首先定義了兩個(gè)文件類的指針變量in和out,然后定義了兩個(gè)字符型數(shù)組分別用來保存兩個(gè)文件的名字,這兩個(gè)文件即是要被操作的文件。接著分別輸入要操作的兩個(gè)文件的名字,并分別判斷文件是否為空文件,如果是,則輸出“文件不能被打開”的提示,并返回。然后用一個(gè)循環(huán)將一個(gè)磁盤文件復(fù)制到另一個(gè)磁盤文件中。最后關(guān)閉兩個(gè)被操作的文件。因此本題的答案選C。

62.C在表達(dá)式中,其+=,-=的優(yōu)先級相同,按從右到左的結(jié)合方向運(yùn)算,而*的優(yōu)先級最高,表達(dá)式寫成a=a+(a-(a*a)),代入3可得-12。

63.Afread(void*buffer,sizet_size,sizet__count,F(xiàn)ILE*stream);功能是從一個(gè)文件流中讀數(shù)據(jù),讀取countl"元素,每個(gè)元素disize個(gè)字節(jié),如果調(diào)用成功返回count。buffer:用于接收數(shù)據(jù)的內(nèi)存地址,大小至少是size*count個(gè)字節(jié);size:單個(gè)元素的大小,單位是字節(jié);count:元素的個(gè)數(shù),每個(gè)元素占size個(gè)字節(jié);streaili:輸入流。故本題答案為A)。

64.A

65.B取模運(yùn)算符“%”,二元運(yùn)算符,具有左結(jié)合性,參與運(yùn)算的量均為整型。選項(xiàng)B中的a變量是doable實(shí)型,所以8不符合規(guī)定。

66.B

67.C

68.C

69.C

70.D所謂的后序遍歷是指,首先遍歷左子樹,然后遍歷右子樹,最后訪問根結(jié)

溫馨提示

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

評論

0/150

提交評論