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

下載本文檔

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

文檔簡介

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

一、單選題(20題)1.

2.在一個(gè)源文件中定義的全局變量的作用域?yàn)椋?)

A.本程序的全部范圍B.本函數(shù)的全部范圍C.從定義該變量的位置開始到本文件結(jié)束D.以上說法都不正確

3.下列可用于C語言用戶標(biāo)識(shí)符的一組是

A.void,define,WORD

B.a3_b3,_123,Car

C.For,-abc,IFCase

D.2a,DO,sizeof

4.有以下程序:#include<stdio.h>main(){chara[5][10]={“China”,“beijing”,“very”,“welcome”,“you”};char*p[5];inti;for(i=3;i<5;i++){p[i]=*(a+i);printf(“%s”,p[i]);printf(“%c”,*p[i]);}}程序運(yùn)行后的輸出結(jié)果是()。

A.wwyyB.ChinaCbeijingbC.veryvwelcomewD.welcomewyouy

5.若有定義“inta,b;”,通過語句“scanf(“%d;%d,”&a,&b)能把整數(shù)3賦給變量a、5賦給變量b的輸入數(shù)據(jù)是()。

A.35B.3,5C.3;5D.35

6.s1和s2已正確定義并分別指向兩個(gè)字符串。若要求:當(dāng)s1所指串大于s2所指串時(shí),執(zhí)行語句s;則以下選項(xiàng)中正確的是()。

A.if(s1>s2)S;

B.if(strcmp(s1,s2))S;

C.if(strcmp(s2,sl)>O)S;

D.if(stremp(s1,s2)>O)S;

7.以下不合法的用尸標(biāo)識(shí)符是()。A.A.804zhangB._hhC.yy614D.If

8.以下程序輸出的結(jié)果是#include<stdio.h>#include<string.h>main(){charw[][10]={"ABCD","EFGH","IJKL","MNOP"},k;for(k=1;k<3;k++)printf("%s\n",&w[k][k]);}

A.ABCDFGHKLB.ABCEFGUMC.EFGJKOD.FGHKL

9.若有定義floata[15],*p=a;,且數(shù)組a的首地址為300H,則p+13所指向的數(shù)組元素的地址為()。

A.334HB.30DHC.352HD.31AH

10.定義根節(jié)點(diǎn)深度為1,有n個(gè)元素的完全二叉樹的深度是()

A.D(n)=log2(n)

B.D(n)=1+log2(n)

C.D(n)=n+log2(n)

D.D(n)=1+n*log2(n)

11.有下列程序:程序執(zhí)行后的輸出結(jié)果是()。A.11B.43C.57D.53

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

13.

14.若有以下語句:typedefstructS{intg;charh;}T;以下敘述中正確的是()。A.可用S定義結(jié)構(gòu)體變量B.可用T定義結(jié)構(gòu)體變量C.S是struct類型的變量D.T是structS類型的變量

15.若用一個(gè)大小為6的數(shù)值來實(shí)現(xiàn)循環(huán)隊(duì)列,且當(dāng)前rear和front的值分別為0和3,當(dāng)從隊(duì)列中刪除一個(gè)元素,再加入兩個(gè)元素后,rear和front的值分別為()。

A.1和5B.2和4C.4和2D.5和1

16.若變量a、i已正確定義,且i已正確賦值,合法的語句是()。

A.a==lB.++iC.a=a++=5D.a=int(i)

17.

18.有以下函數(shù)char*fun(char*p){returnp;}該函數(shù)的返回值是______。

A.無確切的值B.形參p中存放的地址值C.一個(gè)臨時(shí)存儲(chǔ)單元的地址D.形參p自身的地址值

19.有以下程序:#include<stdio.h>voidfunc(intn){inti;for(i=0;i<=n;i++)printf("*"):printf("#");}main(){func(3);printf("????");func(4);printf("n\");程序運(yùn)行后的輸出結(jié)果()。A.****#????***#

B.***#????****#

C.**#????****#

D.****#????*****#

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

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

二、2.填空題(20題)21.數(shù)據(jù)庫的邏輯模型設(shè)計(jì)階段的任務(wù)是將______轉(zhuǎn)換成關(guān)系模式。

22.數(shù)據(jù)庫保護(hù)分為:安全性控制、______、并發(fā)性控制和數(shù)據(jù)的恢復(fù)。

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

#include<stdio.h>

main()

{inta[5]={2,4,6,8,10},*p;

p=a;p++;

printf("%d",*p);

}

24.在面向?qū)ο蠓椒ㄖ?,類的?shí)例稱為______。

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

doublesub(doublex,doubley,doublez)

{y-=1.0;

z=z+x;

returnz;

}

main()

{doublea=2.5,b=9.0;

printf("functionrunningresultis:%6.1f\n",sub(b-a,a,A));

}

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

#include<stdio.h>

main()

fintx=0;

sub(&x,16,2);

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

}

sub(int*a,intn,intk)

{if(k<=n)sub(a,n/2,2*k);

*a+=k;

}

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

main()

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

if(b<a&&a<c)t=a;a=C;c=t;

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

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

}

28.在面向?qū)ο蠓椒ㄖ校尽棵枋龅氖蔷哂邢嗨茖傩耘c操作的一組對象。

29.在程序設(shè)計(jì)階段應(yīng)該采取______和逐步求精的方法,把一個(gè)模塊的功能逐步分解,細(xì)化為一系列具體的步驟,繼而用某種程序設(shè)計(jì)語言寫成程序。

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

#definePOWER(x)((x)*(x))

main()

{inti=1;

printf("%d,%d",POWER(i++),i);

}

31.當(dāng)數(shù)據(jù)的物理結(jié)構(gòu)(存儲(chǔ)結(jié)構(gòu)、存取方式等)改變時(shí),不影響數(shù)據(jù)庫的邏輯結(jié)構(gòu),從而不致引起應(yīng)用程序的變化,這是指數(shù)據(jù)的【】。

32.下列執(zhí)行后輸出的結(jié)果是【】。

main()

{intarr[10],i,k=0

for(i=0;i<10;i++)atr[i]=i

for(i=1,i<4;i++)k+=arr[i]+i;

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

}

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

#include<stdio.h>

main()

{inta[]={1,2,3,4,5,6},*k[3],i=1;

while(i<4)

{k[i-1]=&a[2*i-1];

printf("%d",*k[i-1]);

i++;

}

}

34.指針變量p和數(shù)組a的說明如下:

int*a[3]={"aa","bb","cc"},**p;

執(zhí)行語句p=&a[2];后,*p指向的字符串是______。

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

#include<stdlib.h>

main()

{char*s1,*s2,m;

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

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

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

}

36.以下程序的功能是:求出數(shù)組x中各相鄰兩個(gè)元素的和依次存放到a數(shù)組中,然后輸出。請?zhí)羁铡?/p>

main()

{intx[10],a[9],i;

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

for([11];i<10;i++)

a[i-1]=x[i]+[12];.

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

printf("");

}

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

main()

{int=0;

while(n++<=1);

printf("%d,",n);

printf("%d",n++);

}

38.在一棵二叉樹上第6層的結(jié)點(diǎn)個(gè)數(shù)最多是______個(gè)。

39.設(shè)有如下程序main(){intn1,n2;scanf(“%d”,&n2);while(n2!=0){n1=n2%10;n2=n2/10;printf(“%d”,n1);}}程序運(yùn)行后,如果從鍵盤上輸入1298,則輸出結(jié)果為

40.[]的任務(wù)是診斷和改正程序中的錯(cuò)誤。

三、1.選擇題(20題)41.以下4個(gè)選項(xiàng)中,不能看作一條語句的是

A.;B.a=5,b=2.5,c=3.6;C.if(a<5);D.if(b!=5)x=2;y=6;

42.在以下術(shù)語中,與數(shù)據(jù)的邏輯結(jié)構(gòu)無關(guān)的是______。

A.線性結(jié)構(gòu)B.鏈?zhǔn)浇Y(jié)構(gòu)C.樹型結(jié)構(gòu)D.網(wǎng)狀結(jié)構(gòu)

43.下列特征中不是面向?qū)ο蠓椒ǖ闹饕卣鞯氖?)。

A.多態(tài)性B.繼承C.封裝性D.模塊化

44.下面各選項(xiàng)中,均是C語言合法標(biāo)識(shí)符的選項(xiàng)組是

A.33weautoB._23me_3ewC._433e_elseD.ER-DF32

45.下列不屬于軟件工程的3個(gè)要素的是______。

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

46.以下程序中函數(shù)sort的功能是對數(shù)組a中的數(shù)據(jù)進(jìn)行由大到小的排序:#include<stdio.h>voidsort(inta[],intn){inti,j,t;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;}}main(){intaa[]={1,2,3,4,5,6,7,8,9,10},i;son(&aa[3],5);for(i=0;i<10;i++)printf("%d,",aa[i]);printf("\n");}程序運(yùn)行后的輸出結(jié)果是()。

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

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

C.1,2,3;8,7,6,5,4,9,10,

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

47.有以下程序main(){intm=0256,n=256;printf("%o%o\n",m,n);}程序運(yùn)行后的輸出結(jié)果是

A.02560400B.0256256C.256400D.400400

48.下列敘述中不正確的是

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

B.數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)的物理結(jié)構(gòu)必須與邏輯結(jié)構(gòu)一致

C.數(shù)據(jù)庫設(shè)計(jì)是指設(shè)計(jì)一個(gè)能滿足用戶要求,性能良好的數(shù)據(jù)庫

D.數(shù)據(jù)庫系統(tǒng)是一個(gè)獨(dú)立的系統(tǒng),但是需要操作系統(tǒng)的支持

49.以下程序的輸出結(jié)果是#include<stdio.h>voidprt(int*x,int*y,int*z){printf("%d,%d,%d\n",++*x,++*y,*(z++));}main(){inta=10,b=40,c=20;prt(&a,&b,&c);prt(&a,&b,&c);}

A.11,42,3112,22,41

B.11,41,2012,42,20

C.11,21,4011,21,21

D.11,41,21.12,42,22

50.數(shù)據(jù)庫技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)的()。

A.存儲(chǔ)問題B.共享問題C.安全問題D.保護(hù)問題

51.下面程序的輸出結(jié)果是()。#include"stdio.h"fun(xintx{inty=0;staticintz=5;z=x++,y++;return(Z);}main(){inta=4,i,j;for(i=0;i<2;i++)j=fun(a++);printf("%d",j);}

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

52.以下程序運(yùn)行后的輸出結(jié)果是______。intd=1;fun(intp){staticintd=5;d+=p;printf("%d",d);returnd;}main(){inta=3;printf("%d\n",fun(a+fun(d)));}

A.699B.669C.61515D.6615

53.下列選項(xiàng)中,不是一個(gè)算法的基本特征的是()。

A.完整性B.可行性C.有窮性D.擁有足夠的情報(bào)

54.結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是______。

A.程序的規(guī)模B.程序的易讀性C.程序的執(zhí)行效率D.程序的可移植性

55.下列數(shù)據(jù)中,不合法的C語言實(shí)型數(shù)據(jù)是

A.0.123B.123e3C.2.1e3.5D.789.0

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

A.inta[5]={0,1,2,3,4,5}

B.chara[]={'0','1','2','3','4','5','\0'};

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

D.inta[5]="0123";

57.“年齡在18—25之間”這種約束是屬于數(shù)據(jù)庫當(dāng)中的()

A.原子性措施B.一致性措施C.完整性措施D.安全性措施

58.已知形成鏈表的存儲(chǔ)結(jié)構(gòu)如下圖所示,則下述類型描述中的空白處應(yīng)填______。structlink{chardata;______;}node;

A.Structlinknext

B.link*next

C.structnextlink

D.Structlink*next

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

A.黑箱(盒)測試方法完全不考慮程序的內(nèi)部結(jié)構(gòu)和內(nèi)部特征

B.黑箱(盒)測試方法主要考慮程序的內(nèi)部結(jié)構(gòu)和內(nèi)部特征

C.白箱(盒)測試不考慮程序內(nèi)部的邏輯結(jié)構(gòu)

D.上述3種說法都不對

60.結(jié)構(gòu)化分析方法是面向()的自頂向下、逐步求精進(jìn)行需求分析的方法

A.對象B.數(shù)據(jù)結(jié)構(gòu)C.數(shù)據(jù)流D.目標(biāo)

四、選擇題(20題)61.有以下程序則以下函數(shù)調(diào)用語句錯(cuò)誤的是()。

A.k=*f(a,b);B.k=add(a,b);C.k=(*f)(a,b);D.k=f(a,b);

62.

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

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

64.有三個(gè)關(guān)系R、S和T如下:

則由關(guān)系R和S得到關(guān)系T的操作是()。

A.自然連接B.交C.投影D.并

65.利用fseek函數(shù)可實(shí)現(xiàn)的操作是()。

A.實(shí)現(xiàn)文件的順序讀寫B(tài).改變文件的位置指針C.實(shí)現(xiàn)文件的隨機(jī)讀寫D.以上答案均正確

66.對于現(xiàn)實(shí)世界中事物的特征,在實(shí)體一聯(lián)系模型中使用()。A.屬性描述B.關(guān)鍵字描述C.二維表格描述D.實(shí)體描述

67.

有下列程序:

#include<stdio.h>

main

{intx=0;

inty=0;

while(x<7&&++v)

{y--;

x++;}

printf("%d,%d",y,x);

}

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

A.0,7B.7,7C.0,6D.1,6

68.

69.

70.有以下程序:

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

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

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

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

72.設(shè)變量均已正確定義,若要通過

scaIIf(”%d%c%d%c”,&;al,&;el,&;a2,&;c2);

語句為變量al和a2賦數(shù)值l0和20,為變量cl和c2賦字符x和Y。以下所示的輸入形式中正確的是()。(注:口代表空格字符)

73.將c語言的整數(shù)設(shè)為整數(shù)類1,則下面屬于類I實(shí)例的是()。

A.一103B.10E3C.10.3D.“0103”

74.

75.有以下程序:

main()

{

chara[7]="a0\OaO\0";inti,j;

i=sizeof(a);j=strlen(a);

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

}

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

A)22B)76

C)75D)62

76.有以下程序程序執(zhí)行后輸出結(jié)果是()。

A.5.OOB.5C.5.2lD.0.0

77.有以下程序:

#include<stdio.h>

main()

{chara[5][10]={"one","tw0","three","four","five"};

inti,j;

chart:、

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

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

if(a[i][O]>a[j][0])

{t=a[i][O];a[i][O]=a[j][O];a[j][O]=t;)

puts(a[1]);

}

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

A.fwo

B.fix

C.two

D.owo

78.下列函數(shù)的功能是()。

A.將a所指字符串賦給b所指空間

B.使指針b指向a所指字符串

C.將a所指字符串和b所指字符串進(jìn)行比較

D.檢查a和b所指字符串中是否有’\0

79.

80.下列選項(xiàng)中不會(huì)引起二義性的宏定義是()。

A.#defineS(x)x*x

B.#defineS(x)(x)*(x)

C.#defineS(x)(x*x)

D.#defineS(x)((x)*(x))

五、程序改錯(cuò)題(1題)81.下列給定的程序中,函數(shù)proc()的功能是:用選擇法對數(shù)組中的m個(gè)元素按從小到大的順序進(jìn)行排序。

例如,排序前的數(shù)據(jù)為:1132-5214

則排序后的數(shù)據(jù)為:-52111432

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

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

試題程序:

六、程序設(shè)計(jì)題(1題)82.請編寫一個(gè)函數(shù)proc,它的功能是:求出1~m(含m)能被7或11整除的所有整數(shù)放在數(shù)組a中,通過n返回這些數(shù)的個(gè)數(shù)。例如,若傳給m的值為70,則程序輸出:7111421222833354244495556636670注意:部分源程序給出如下。請勿改動(dòng)main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc的花括號(hào)中填人所編寫的若干語句。試題程序:#include<stdlib.h>#include<conio.h>#include<stdio.h>#defineN100voidproc(intm,int*a,int*n){ }voidmain{intarr[N],n,k;system("CLS");proc(70,arr,&n);for(k=0;k<n;k++)if((k+1)%20==0)//每行輸出20個(gè)數(shù){printf("%4d",arr[k]);printf("\n");}elseprintf("%4d",arr[k]);printf("\n");}

參考答案

1.D

2.C

3.B解析:C語言規(guī)定標(biāo)識(shí)符只能由字母、數(shù)字和下畫線3種字符組成,且第一個(gè)字符必須為字母或下畫線,排除選項(xiàng)C)和D);C語言中還規(guī)定標(biāo)識(shí)符不能為C語言的關(guān)鍵字,而選項(xiàng)A)中void為關(guān)鍵字,故排除選項(xiàng)A)。

4.Dmain函數(shù)定義一個(gè)二維字符數(shù)組a,它包含5個(gè)字符串,每個(gè)字符串存放在一個(gè)長度為10的一維數(shù)組中。指針數(shù)組P包含5個(gè)字符指針元素。for循環(huán)中,每次將*(a+i)賦給P[i],再輸出P[i]和*P[i]。由于*(a+i)等價(jià)于a[i],因此每次都是將下標(biāo)為i的字符串首地址賦給p[i],再輸出該字符串和該字符串的首字符。i=3時(shí),輸出字符串“welcome”和首字符“w”;i=4時(shí),輸出字符串“you”和首字符“y”。綜上,輸出結(jié)果為welcomewyouy。故本題答案為D選項(xiàng)。

5.C輸入數(shù)據(jù)的格式必須與scanf的格式控制字符串完全匹配。函數(shù)中非格式字符需要原樣輸入,所以輸入時(shí)必須在3和5之間輸入“;”。故本題答案為C選項(xiàng)。

6.D在C語言中,不能直接比較兩個(gè)字符串的大小,必須用特定的函數(shù)來完成,選項(xiàng)A錯(cuò)誤;選項(xiàng)B不管大于還是小于都執(zhí)行S,不符合題意;選項(xiàng)C正好相反,當(dāng)s2大于s1時(shí),執(zhí)行語句S,可知選項(xiàng)D正確。

7.AC語言規(guī)定,標(biāo)識(shí)符是由字母、數(shù)字或下劃線組成,并且它的第一個(gè)字符必須是字母或下劃線。

8.D當(dāng)k=1時(shí),引用的是二維數(shù)組元素w[1][1],值為字符串“FGH”;當(dāng)k=2時(shí),引用的是數(shù)組元素w[2][2],即字符串“KL”;當(dāng)k=3時(shí),結(jié)束程序的執(zhí)行。注意:字符串?dāng)?shù)組的定義。

9.C解析:解答本題,首先要明白在對指針進(jìn)行加、減運(yùn)算的時(shí)候,數(shù)字“1”不是十進(jìn)制的數(shù)“1”,而是指'1'個(gè)存儲(chǔ)單元長度,而1個(gè)存儲(chǔ)單元長度占多少存儲(chǔ)空間,應(yīng)該視具體情況而定。如果基本類型是int型,移動(dòng)1個(gè)存儲(chǔ)單元的長度就是位移2個(gè)字節(jié),如果基本類型是float型,移動(dòng)1個(gè)存儲(chǔ)單元的長度就是位移4個(gè)字節(jié)。所以p+13所指向的數(shù)組元素的地址:300H+(13*上標(biāo))4)H=352H。

10.B

11.D函數(shù)f是一個(gè)遞歸函數(shù)。當(dāng)x>=2時(shí),遞歸調(diào)用自身,返回值為x*f(x-l)+(x-l)*f(x-2);3x<2時(shí),返回值為1。main函數(shù)中,調(diào)用函數(shù)f傳入4,所以y的值是f(4)。f(4)等價(jià)于4*f(3)+3*f(2);f(3)等價(jià)于3*f(2)+2*f(1);f(2)等價(jià)于2*f(1)+1*f(0);f(0)、f(1)等價(jià)于1。綜上:f(2)等于3,f(3)等于11,f(4)等于53。本題答案為D選項(xiàng)。

12.B

13.B

14.B解析:語句typedefstructS{intg;charh;}T的作用是用T作為struetS{intg;charh;)的簡寫,所以選B。

15.B

16.B選項(xiàng)A為表達(dá)式,因此不正確,選項(xiàng)C中a++本身就是表達(dá)式,無需再賦值,選項(xiàng)D中,在強(qiáng)制類型轉(zhuǎn)換時(shí),類型名應(yīng)用括號(hào)括起來,故選擇8選項(xiàng)。

17.C

18.B解析:p本身就是一個(gè)字符型指針變量,返回p也就是返回變量p中存放的地址值。

19.D本題考查簡單的for循環(huán),func(3)由于i是從0開始,所以會(huì)輸出四個(gè)“*”和一個(gè)“#”,然后打印四個(gè)“?”func(4),會(huì)輸出五個(gè)“*”和一個(gè)“#”,所以答案選擇D。

20.D解析:因?yàn)閤的值為大于1的奇數(shù),所以x除以2的余數(shù)等于1。所以選項(xiàng)D)等于關(guān)系表達(dá)式的結(jié)果為假,即等于0。

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

22.完整性控制完整性控制

23.指針P指向數(shù)組a的首地址,執(zhí)行語句p++;后p指向數(shù)組a的第2個(gè)元素的地址,即a[1]的地址,因此*p=a[1]=4。\r\n\r\n

24.對象對象解析:類描述的是具有相似性質(zhì)的一組對象。例如,每本具體的書是一個(gè)對象,而這些具體的書都有共同的性質(zhì),它們都屬于更一般的概念“書”這一類對象。一個(gè)具體對象稱為類的實(shí)例。

25.functionrunningresultis:9.0

26.1414解析:本題考查遞歸函數(shù)的調(diào)用。在主函數(shù)中調(diào)用sub(&x,16,2)函數(shù),此時(shí)n=16,k=2,if語句的控制的條件k<=n成立,所以執(zhí)行下面的語句,調(diào)用sub(x,8,4),此時(shí)n=8,k=4,if語句的控制條件k<=n成立,所以執(zhí)行下面的語句,調(diào)用sub(x,4,8),此時(shí)n=4,k=8,if語句控制的條件k<=n不成立,因此,最后得x=2+4+8=14。

27.4599

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

29.自頂向下自頂向下解析:在程序設(shè)計(jì)時(shí),應(yīng)先考慮總體,后考慮細(xì)節(jié),逐步使問題具體化,對復(fù)雜的問題,應(yīng)該設(shè)計(jì)一些子目標(biāo)作為過渡,上述方法概括為:自頂向下,逐步細(xì)化。

30.111,1解析:POWER(i++)中先引用i的值1,再將i的值加1,POWER(i++)=1*1=1。

31.物理獨(dú)立性物理獨(dú)立性

32.1212解析:本題的第—個(gè)for循環(huán)用于始數(shù)組arr賦初值,第二個(gè)for循環(huán)用于求和運(yùn)算。由于第二個(gè)for循環(huán)初始值為1,而循環(huán)條件為i<4,所以求的是arr[1]到arr[3]及i的和,所以輸出結(jié)果為12。

33.246

34.cc。cc。解析:a是指針數(shù)組,每個(gè)數(shù)組元素存放的是字符數(shù)據(jù)的地址,數(shù)組a的3個(gè)元素分別指向字符串常量'aa'、'bb'和'cc',指針p賦予數(shù)組元素a[2]的值,即指向第3個(gè)字符串。

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

36.對于10個(gè)數(shù),相鄰的兩個(gè)數(shù)相加取和,總共要進(jìn)行9次加法運(yùn)算,所以空14處應(yīng)填入i=1。相鄰的兩個(gè)數(shù)相加取和,放在數(shù)組a中,x[0]與x[1]的和存放在a[0]中,所以空15處應(yīng)填入x[i-1]。\r\n\r\n

37.333,3解析:本題在while(n++<=1)語句后,直接加了分號(hào),說明如果while()的條件為真時(shí),該循環(huán)什么都不做;n++是先取n的當(dāng)前值和I做比較,然后再將n加1。第一次循環(huán),n=0時(shí),循環(huán)條件n++=0<=1成立,執(zhí)行循環(huán),然后得到n=1。第二次循環(huán),n=1時(shí),循環(huán)條件n++=1<=1成立,執(zhí)行循環(huán),然后得到n=2。第三次循環(huán),n=2時(shí),循環(huán)條件n++=2<=1不成立,不執(zhí)行循環(huán),但在判斷循環(huán)條件時(shí)仍將n加1,得到n=3。退出循環(huán)后執(zhí)行printf語句,第二個(gè)printf語句輸出n++,是先輸出n的當(dāng)前值3,然后再將n加1,即程序結(jié)束后得到n=4,但輸出的是3。

38.3232解析:根據(jù)二叉樹的性質(zhì),在二叉樹的第K層上,最多有2k-1個(gè)結(jié)點(diǎn)。所以,第6層的結(jié)點(diǎn)數(shù)最多為32。

39.89218921

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

41.D解析:選項(xiàng)D)為兩條語句。

42.B

43.DD?!窘馕觥棵嫦?qū)ο笤O(shè)計(jì)方法與面向過程設(shè)計(jì)方法有本質(zhì)的不同,其基本原理是:使用現(xiàn)實(shí)世界的概念抽象地思考問題從而自然地解決問題。其特點(diǎn)包括:分類性、多態(tài)性、封裝性、模塊獨(dú)立性、繼承和多態(tài)性等。模塊化是結(jié)構(gòu)化程序設(shè)計(jì)的特點(diǎn)。

44.B解析:合法的標(biāo)識(shí)符是由字母、數(shù)字和下劃線組成,并且第一個(gè)字符必須為字母或下劃線,用戶定義的標(biāo)識(shí)符不能與關(guān)鍵字相同。選項(xiàng)A),數(shù)字不能為第一個(gè)字母,auto為關(guān)鍵字;選項(xiàng)C)中,也是數(shù)字不能為第一個(gè)字母,else為關(guān)鍵字;選項(xiàng)D)中負(fù)號(hào)不合法。

45.D解析:本題考查了軟件工程的基本概念。軟件工程包括3個(gè)要素,即方法、工具和過程。方法是完成軟件工程項(xiàng)目的技術(shù)手段;工具支持軟件的開發(fā)、管理和文檔生成;過程支持軟件開發(fā)的各個(gè)環(huán)節(jié)的控制和管理。

46.C解析:在main函數(shù)中調(diào)用sort函數(shù)時(shí),實(shí)參&aa[3]把數(shù)組元素aa[3]的首地址傳給形參數(shù)組a,使aa[3]與a[0]相對應(yīng)。sort函數(shù)將從aa[3]開始的連續(xù)5個(gè)數(shù)進(jìn)行了從大到小的排序,其他數(shù)組元素不變。

47.C解析:程序中定義了兩個(gè)整型變量,一個(gè)用八進(jìn)制表示,一個(gè)用十進(jìn)制表示,輸出語向中要求m,n都為八進(jìn)制輸出,顯然m原樣輸出為256,n的值轉(zhuǎn)換為八進(jìn)制輸出(256的八進(jìn)制為400),故輸出400.所以,4個(gè)選項(xiàng)中選項(xiàng)C符合題意。

48.B解析:B選項(xiàng)錯(cuò)誤,原因是,數(shù)據(jù)庫應(yīng)該具有物理獨(dú)立性和邏輯獨(dú)立性,改變其一而不影響另一個(gè)。

49.B解析:盡管C語言以傳值方式進(jìn)行函數(shù)調(diào)用,但也可以通過傳遞指針的值(變量的地址)來達(dá)到修改實(shí)參變量值的目的,這是此題主要說明的問題。其次,應(yīng)注意表達(dá)式。(z++)的值是*z,其后的z++在程序中無實(shí)際作用。函數(shù)調(diào)用時(shí),由于x,y和z分指向a,b和c,因此,*x,*y和*z就是a,b和c。第一次調(diào)用函數(shù)時(shí),*x=a=10,*y=b=40,*z=c=20輸出結(jié)果為11,41,20,至此,已經(jīng)可以肯定選項(xiàng)B)是正確的。在第一次輸出后,a=11,b=41,c=20,第二次輸出為:12,42,20。注意:指針作為參數(shù)的函數(shù)調(diào)用的執(zhí)行過程。

50.B解析:數(shù)據(jù)庫產(chǎn)生的背景就是計(jì)算機(jī)的應(yīng)用范圍越來越廣泛,數(shù)據(jù)量急劇增加,對數(shù)據(jù)共享的要求越來越高。共享的含義是多個(gè)用戶、多種語言、多個(gè)應(yīng)用程序相互覆蓋的使用一些公用的數(shù)據(jù)集合。在這樣的背景下,為了滿足多用戶、多應(yīng)用共,享數(shù)據(jù)的要求,就出現(xiàn)了數(shù)據(jù)庫技術(shù),以便對數(shù)據(jù)庫進(jìn)行管理。因此,數(shù)據(jù)庫技術(shù)的根本目標(biāo)就是解決數(shù)據(jù)的共享問題。故選項(xiàng)B正確。

51.D解析:本題在fun()函數(shù)中定義了一個(gè)靜態(tài)局部變量z,在第一次調(diào)用此函數(shù)時(shí),z被初始化為5,而以后的調(diào)用2都會(huì)保留上次調(diào)用后的值。主函數(shù)通過一個(gè)for循環(huán),二次調(diào)用fun()函數(shù),第1次調(diào)用實(shí)參表達(dá)式a++的值為4,執(zhí)行z=x++,y++;語句,因運(yùn)算符“=”的優(yōu)先級(jí)高于“,”,故z的值為表達(dá)式x++的值,x++是先對z賦值再對x加1,則z的值為4。第二次調(diào)用實(shí)參表達(dá)式a++的值為5,返回結(jié)果也為5,所以最后輸出結(jié)果是5。D為所選。

52.C解析:靜態(tài)局部變量在編譯時(shí)賦初值,即只賦初值一次,在程序運(yùn)行時(shí)它已有初值。以后每次調(diào)用時(shí)不再重新賦初值而只是保留上次函數(shù)調(diào)用結(jié)束時(shí)的值,而對自動(dòng)變量賦初值,不是在編譯時(shí)進(jìn)行的,而在函數(shù)調(diào)用時(shí)進(jìn)行,每調(diào)用一次函數(shù)重新給一次初值,相當(dāng)于執(zhí)行一次賦值語句。本題在程序開頭定義了全局變量d并賦初值1,在被調(diào)函數(shù)fun()中,定義了靜態(tài)局部變量d,初值為5。在第一次調(diào)用函數(shù)fun時(shí),d初值為5,p由主函數(shù)傳遞過來的值為1,則d=d+p=5+1=6,由于d是靜態(tài)局部變量,在函數(shù)調(diào)用結(jié)束后,它仍保留d=6。再次調(diào)用fun函數(shù),d的初值為6,而由主函數(shù)傳遞的p的值為9,則此時(shí)d=d+p=6+9=15,最后打印輸出d的值并返回主函數(shù)。

53.A解析:作為一個(gè)算法,一般應(yīng)該具有下列4個(gè)特征:(1)可行性,即考慮到實(shí)際的條件能夠達(dá)到一個(gè)滿意的結(jié)果;(2)確定性,算法中的每一個(gè)步驟都必須是有明確定義的,(3)有窮性,一個(gè)算法必須在有限的時(shí)間內(nèi)做完;(4)擁有足夠的情報(bào)。

54.B解析:采用結(jié)構(gòu)化編程方法的好處主要在于:一是便于控制、降低程序的復(fù)雜性,因此便于編寫程序。二是程序清晰易讀,可理解性好。因此,結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是程序的易讀性,而不是程序的規(guī)模、程序的執(zhí)行效率和程序的可移植性。

55.C解析:在C語言中,實(shí)數(shù)有兩種形式表示,即十進(jìn)制數(shù)形式和指數(shù)形式,在指數(shù)形式中,e3、2.le3.5、.e3、e等都是不合法的指數(shù)形式。再如123e3或123E3都代表123乘以10的3次方。注意,字母e的前面必須有數(shù)字,且e的后面必須是整數(shù)。

56.B解析:選項(xiàng)A)中,定義的初值個(gè)數(shù)大于數(shù)組的長度;選項(xiàng)C)中,數(shù)組名后少了中括號(hào);選項(xiàng)D)中,整型數(shù)組不能賦予字符串。

57.C解析:本題主要考查數(shù)據(jù)庫的各種特性。其中數(shù)據(jù)庫的完整性是指數(shù)據(jù)的正確性和相容性(如學(xué)生的學(xué)號(hào)必須惟一,性別只能是女或男等),數(shù)據(jù)庫是否具備完整性關(guān)系到數(shù)據(jù)庫系統(tǒng)能否真實(shí)反映現(xiàn)實(shí)世界,因此維護(hù)數(shù)據(jù)庫的完整性是非常重要的。根據(jù)題意分析可知這種約束屬于數(shù)據(jù)庫中的完整性措施。

58.D解析:在單向鏈表中,由于每個(gè)結(jié)點(diǎn)需要存儲(chǔ)下一個(gè)結(jié)點(diǎn)的地址,且下一個(gè)結(jié)點(diǎn)的數(shù)據(jù)類型與前一個(gè)結(jié)點(diǎn)的數(shù)據(jù)類型完全相同,故應(yīng)為structlink*next。

59.A解析:黑箱測試方法完全不考慮程序的內(nèi)部結(jié)構(gòu)和內(nèi)部特征,而只是根據(jù)程序功能導(dǎo)出測試用例,選項(xiàng)A是正確的,選項(xiàng)B錯(cuò)誤。白箱測試是根據(jù)對程序內(nèi)部邏輯結(jié)構(gòu)的分析來選取測試用例,選項(xiàng)C錯(cuò)誤。

60.CC?!窘馕觥拷Y(jié)構(gòu)化分析方法是面向數(shù)據(jù)流進(jìn)行需求分析的方法,采用自頂向下、逐層分解,建立系統(tǒng)的處理流程,以數(shù)據(jù)流圖和數(shù)據(jù)字典為主要工具,建立系統(tǒng)的邏輯模型。

61.AA)選項(xiàng)中*f(a,b)表示調(diào)用后返回一個(gè)指向整型數(shù)據(jù)的地址指針,即該函數(shù)的返回值為指針類型,因此不能將其賦值給整型變量k。

62.D

63.A在數(shù)據(jù)管理技術(shù)的發(fā)展過程中,經(jīng)歷了人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫系統(tǒng)階段。其中數(shù)據(jù)獨(dú)立性最高的階段是數(shù)據(jù)庫系統(tǒng)這一階段。數(shù)據(jù)庫系統(tǒng)階段用數(shù)據(jù)模型來表示復(fù)雜的數(shù)據(jù),有較高的數(shù)據(jù)獨(dú)立性。數(shù)據(jù)庫系統(tǒng)為用戶提供了方便的用戶接口,用戶既可使用查詢語

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論