2022-2023年廣東省潮州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)_第1頁(yè)
2022-2023年廣東省潮州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)_第2頁(yè)
2022-2023年廣東省潮州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)_第3頁(yè)
2022-2023年廣東省潮州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)_第4頁(yè)
2022-2023年廣東省潮州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩106頁(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)介

2022-2023年廣東省潮州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.設(shè)有定義:#include<stdio.h>#include<stdlib.h>typedefstruct{intx,y;}T;typedefstruct{intx,y;}*USER;USERfun(){USERp;p=(USER)malloc(sizeof(T));p->x=1;p->y=2;returnp;}函數(shù)fun返回值的類(lèi)型是()。

A.T類(lèi)型的結(jié)構(gòu)體B.指向結(jié)構(gòu)體類(lèi)型的指針C.int類(lèi)型的元素D.int類(lèi)型的指針

2.有下列程序:程序執(zhí)行后的輸出結(jié)果是()。A.Sun,f,90,Sun,f,90

B.Zhao,m,85,Sun,f,90

C.Zhao,m,85,Qian,f,95

D.Sun,f,90,Qian,f,95

3.下述哪一個(gè)是順序存儲(chǔ)結(jié)構(gòu)的優(yōu)點(diǎn)()。

A.存儲(chǔ)密度大B.插入運(yùn)算方便C.刪除運(yùn)算方便D.可方便地用于各種邏輯結(jié)構(gòu)的存儲(chǔ)表示

4.線性表的順序存儲(chǔ)結(jié)構(gòu)是一種()。

A.隨機(jī)存取的存儲(chǔ)結(jié)構(gòu)B.順序存取的存儲(chǔ)結(jié)構(gòu)C.索引存取的存儲(chǔ)結(jié)構(gòu)D.Hash存取的存儲(chǔ)結(jié)構(gòu)

5.定義int*swap()指的是______。

A.—個(gè)返回整型值的函數(shù)swap()

B.一個(gè)返回指向整型值指針的函swap()

C.一個(gè)指向函數(shù)swap()的指針,函數(shù)返回一個(gè)整型值

D.以上說(shuō)法均錯(cuò)

6.下列二維數(shù)組初始化語(yǔ)句中,不正確的是()。

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

B.intb[3][5]={0,0,0};

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

D.intb[3][2]={(1,2),(3,4),(5,6)};

7.設(shè)有6個(gè)結(jié)點(diǎn)的無(wú)向圖,該圖至少應(yīng)有()條邊才能確保是一個(gè)連通圖。

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

8.下列選項(xiàng)中非法的字符常量是()。

A.'\t'B.'\039'C.','D.'\n'

9.若已定義x和y為double類(lèi)型,則表達(dá)式:x=1,y=x+3/2的值是()A.1B.2C.2.0D.2.5

10.下列程序的輸出結(jié)果是()。main(){chara[7]="a0\0a0\0";inti,j;i=sizeof(a);j=strlen(a);printf("%d%d\n",i,j);}

A.22B.76C.72D.62

11.若有定義和語(yǔ)句int**pp,*p,a=10,b=20;pp=&p;p=&a;p=&b;printf("%d,%d\n",*p,**pp);則輸出結(jié)果是()

A.10,10B.10,20C.20,10D.20,20

12.不帶頭結(jié)點(diǎn)的單鏈表head為空的判定條件是()。

A.head=NULLB.head->next=NULLC.head->next=headD.head!=NULL

13.設(shè)a,b,c,d,m和n均為int型變量,且a=5,b=6,c=7,d=m=2,n=2,則邏輯表達(dá)式(m=a>b)&&(n=c>d)運(yùn)算后,n的值為()

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

14.以下說(shuō)法錯(cuò)誤的是()。

A.C語(yǔ)言中的常量是指在程序運(yùn)行過(guò)程中經(jīng)常被用到的變量

B.C語(yǔ)言中的常量是指在程序運(yùn)行過(guò)程中其值不能被改變的量

C.C語(yǔ)言中的常量可以用一個(gè)符號(hào)名來(lái)代表

D.C語(yǔ)言中的常量可以用宏來(lái)定義

15.有以下程序:#include<stdio.h>doublef(doublex);main(){doublea=0;inti;for(i=0;i<30;i+=10)a+=f((double)i);printf(“%3.0f\n”,a);}doublef(doublex)}returnx*x+1;}程序的運(yùn)行結(jié)果是()。

A.500B.401C.503D.1404

16.

17.已知函數(shù)的調(diào)用形式:fread(buffer,size,count,fp);其中buffer代表的是()。

A.一個(gè)整型變量,代表要讀入的數(shù)據(jù)項(xiàng)總數(shù)

B.一個(gè)文件指針,指向要讀的文件

C.一個(gè)指針,是指向的輸入數(shù)據(jù)放在內(nèi)存中的起始位置

D.一個(gè)存儲(chǔ)區(qū),存放要讀的數(shù)據(jù)項(xiàng)

18.棧和隊(duì)列的共同點(diǎn)是()。

A.都是先進(jìn)先出B.都是先進(jìn)后出C.只允許在端點(diǎn)處插入和刪除元素D.沒(méi)有共同點(diǎn)

19.可用作C語(yǔ)言用戶(hù)標(biāo)識(shí)符的一組標(biāo)識(shí)符是()。A.voiddefine+WORDB.a3_b3_123YNC.for-abcCaseD.2aDOsizeof

20.在一個(gè)雙向鏈表中,q的前一個(gè)節(jié)點(diǎn)為p,q的后一個(gè)節(jié)點(diǎn)為n,刪除q所指向節(jié)點(diǎn),則執(zhí)行()

A.deleteq;

B.q->prev->next=q->prev;q->next->prev=q->next;deleteq;

C.q->prev=p->next;p->next=p->prev;deleteq;

D.q->next=q->prev->next;q->prev=q->next->prev;deleteq;

E.q->prev->next=q->next;q->next->prev=q->prev;deleteq;

F.p->prev->next=p->next;p->next->prev=p->prev;deleteq->next;

二、2.填空題(20題)21.C語(yǔ)言用于結(jié)構(gòu)化程序設(shè)計(jì)的3種基本結(jié)構(gòu)是______、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。

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

#include<stdio,h>

#include<string,h>

main()

{charch[]="abc".,x[3][4]:inti:

for(i=0;i<3:i++)strcpy(x[i],ch):

for(i=0;i<3:i++)printf("%s",&x[i][i]);

printf("\n")

}

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

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

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

26.已知head指向一個(gè)帶頭結(jié)點(diǎn)的單向鏈表,鏈表中每個(gè)結(jié)點(diǎn)包含數(shù)據(jù)域(data)和指針域(next),數(shù)據(jù)域?yàn)檎?。以下函?shù)求出鏈表中所有鏈結(jié)點(diǎn)數(shù)據(jù)域的和值,作為函數(shù)值返回。請(qǐng)?jiān)跈M線處填入正確內(nèi)容。

structlink

{intdata;structlink*next;}

main()

{structlink*head;

......

sum(head);

......

}

sum(【】);

{structlink*p;ints=0;

p=head->next;

while(p){s+=p->data;p=p->next;}

return(s);}

27.下列表達(dá)式用于判斷y是否為閏年。閏年的判斷條件是:年號(hào)能被4整除但不能被100整除或年號(hào)能被400整除,請(qǐng)?zhí)羁誣_____。

28.有以下程序

intfa(intx){returnx*x;}

intfb(intx){retumx*x*x;}

intf(int(*f1)(),int(*f2)(),intx)

{returnf2(x)-f1(x);}

main()

{inti;i=f(fa,fb,2);printf("%d\n",i);}

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

29.若有以下程序:

intf(intx,inty)

{return(y-x)*x;}

main()

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

d=f(f(3,4),f(3,5));

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

}

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

30.若有以下定義和語(yǔ)句,則使指針p指向值為36的數(shù)組元素的表達(dá)式是【】。

inta[10]={19,23,44,17,37,28,49,36},*p;

p=a;

31.下面程序的功能是求整數(shù)m、n的最大公約數(shù),請(qǐng)?zhí)羁铡?/p>

main()

{intm,n,r;

scanf("%d,%d",m,n);

if(【】){r=m;m=n;n=r;}

while(【】)

{r=m%n;m=n;n=r;}

printf("%d",m);

}

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

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

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

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

#include<stdio.h>

#defineSIZE12

main()

{chars[SIZE];intI;for(I=0;I<SIZE;I++)s[I]=′A′+I+321;

sub(s,7,SIZE-1);

for(I=0;I<SIZE;I++)printf("%c",s[I]);

printf("\n");}

sub(char*a,intt1,intt2)

{charch;

while(t1<t2)

{ch=*(a+t1);

*(a+t1)=*(a+t2);

*(a+t2)=ch;

t1++;t2--;}}

36.棧中允許進(jìn)行插入和刪除的一端叫做______。

37.順序存儲(chǔ)方法是把邏輯上相鄰的結(jié)點(diǎn)存儲(chǔ)在物理位置______的存儲(chǔ)單元中。

38.函數(shù)pi的功能是根據(jù)以下公式近似求得的:

pi*pi/6=1+1/(2*2)+1/(3*3)+…+1/(n*n)

請(qǐng)?jiān)谙旅娴暮瘮?shù)中填空,完成求pi的功能。

#include<math.h>

doublepi(longn)

{doubles=0.0,longi;

for(i=1;i<=n;i++)s=s+【】。

return(sqrt(6*s));

}

39.以下程序的功能是輸入任意整數(shù)給n后,輸出n行由大寫(xiě)字母A開(kāi)始構(gòu)成的三角形字符陣列圖形。例如,輸入整數(shù)5時(shí)(注意:n不得大于10),程序運(yùn)行結(jié)果如下:

ABCDE

FGHI

JKL

MN

O

請(qǐng)?zhí)羁胀瓿稍摮绦颉?/p>

main()

{inti,j,n;charch='A';

scanf("%d",&n);

if(n<11)

{for(i=1;i<=n;i++)

{for(j=1;j<n-i+1;j++)

{printf("%2c",ch);

[10];

}

[11];

}

40.若運(yùn)行時(shí)給變量x輸入12,則以下程序的運(yùn)行結(jié)果是【】;

main(){

intx,y;

scanf(""%d"",&x);

y=x>12?x+10:x-12;

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

}

三、1.選擇題(20題)41.下列程序的輸出結(jié)果是______。main(){intn;(n=6*4,n+6),n*2;printf("n=%d\n",n);}

A.22B.23C.24D.25

42.有以下程序main(){union{unsignedintn;unsignedcharC;}ul;u1.C='A';printf("%c\n",u1.n);}執(zhí)行后輸出結(jié)果是

A.產(chǎn)生語(yǔ)法錯(cuò)B.隨機(jī)值C.AD.65

43.有以下程序structSTU{charname[10];intnum;};voidf1(structSTUC){structSTUb={"LiSiGuo",2042};c=b;}voidf2(structSTU*C){structSTUb={"SunDan",2044};*c=b;}main(){structSTUa={"YangSan",2041},b={"WangYin",2043};f1(a);f2(&b);printf("%d%d\n",a.num,b.num);}執(zhí)行后輸出結(jié)果是

A.20412044B.20412043C.20422044D.20422043

44.在結(jié)構(gòu)化方法中,軟件功能分解屬于軟件開(kāi)發(fā)中的______階段。

A.詳細(xì)設(shè)計(jì)B.需求分析C.總體設(shè)計(jì)D.編程調(diào)試

45.以下關(guān)于字符串的敘述中正確的是()。

A.C語(yǔ)言中有字符串類(lèi)型的常量和變量

B.兩個(gè)字符串中的字符個(gè)數(shù)相同時(shí)才能進(jìn)行串符串大小的比較

C.可以用關(guān)系運(yùn)算符對(duì)字符串的大小進(jìn)行比較

D.空串一定比空格打頭的字符串小

46.有以下程序main(){inta=1,b;for(b=1;b<=10;b++){if(a>=8)break;if(a%2==1){a+=5;continue;}a-=3;}printf("%d\n",b);}程序運(yùn)行后的輸出結(jié)果是______。

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

47.設(shè)有以下定義inta=0;doubleb=1.25;charcc='A';#defined2則下面語(yǔ)句中錯(cuò)誤的是

A.a++;B.b++;C.c++;D.d++;

48.下面程序的輸出結(jié)果是______。main(){inta[]={1,2,3,4,5,6,7,8,9,0,},*p;p=a;printf("%d\n",*p+9);}

A.0B.1C.10D.9

49.利用E-R模型進(jìn)行數(shù)據(jù)庫(kù)的概念設(shè)計(jì),可以分成3步:首先設(shè)計(jì)局部E-R模型,然后把各個(gè)局部E-R模型綜合成一個(gè)全局的模型,最后對(duì)全局E-R模型進(jìn)行(),得到最終的E-R模型。

A.簡(jiǎn)化B.結(jié)構(gòu)化C.最小化D.優(yōu)化

50.在C語(yǔ)言中,不正確的int類(lèi)型的常數(shù)是______。

A.32768B.0C.37D.0xAF

51.下列選項(xiàng)中不屬于結(jié)構(gòu)化程序設(shè)計(jì)方法的是()。

A.自頂向下B.逐步求精C.模塊化D.可復(fù)用

52.以下與函數(shù)fseek(fp,0L,SEEK_SE乃有相同作用的是()。

A.feof(fp)B.ftell(fp)C.fgetc(fp)D.rewind(fp)

53.下列敘述中錯(cuò)誤的是()。

A.一種數(shù)據(jù)的邏輯結(jié)構(gòu)可以有多種存儲(chǔ)結(jié)構(gòu)

B.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)與數(shù)據(jù)的處理效率無(wú)關(guān)

C.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)與數(shù)據(jù)的處理效率密切相關(guān)

D.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)在計(jì)算機(jī)中所占的空間不一定是連續(xù)的

54.在軟件生產(chǎn)過(guò)程中,需求信息的來(lái)源是()

A.程序員B.項(xiàng)目經(jīng)理C.設(shè)計(jì)人員D.軟件用戶(hù)

55.下面程序的輸出結(jié)果是______。#include<stdio.h>main(){char*p[]={"BOOL","OPK","H","SP"};inti:for(i=3;i>=0;i-,i-)printf("%c",*p[i]);printf("\n");}

A.SOB.SPC.SPOPKD.SHOB

56.以下選項(xiàng)中,非法的字符常量是______。

A.'\t'B.'\17'C.\nD.'\xaa'

57.若有以下說(shuō)明,則能打印出“Yu”的語(yǔ)句是______。structsamp{charname[10];intnumber;}kk[3]={{"WarBin",1},{"LiYu",2},{"LuHui",3}};structsamp*str[3];str[0]=&kk[0];str[1]=&kk[1];str[2]=&kk[2];

A.printf("%s\n",str[1].name[2]);

B.printf("%s\n",str[1]->name+2);

C.printf("%s\n",str[2].name[2]);

D.printf("%s\n",str[2]->name+2);

58.在C語(yǔ)言中,只有在使用時(shí)才占用內(nèi)存單元的變量,其存儲(chǔ)類(lèi)型是()。

A.auto和register

B.extern和register

C.auto和static

D.static和register

59.設(shè)變量已正確定義,則下列能正確計(jì)算f=n!的程序段是()。

A.f=0;for(i=1;i<=n;i++)f*=i;

B.f=1;for(i=1;i<n;i++)f*=i;

C.f=1;for(i=n;i>1;i++)f*=i;

D.f=1;for(i=n;i>=2;i--)f*=i;

60.下面函數(shù)調(diào)用語(yǔ)句含有實(shí)參的個(gè)數(shù)為func((exp1,exp2),(exp3,exp4,exp5));

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

四、選擇題(20題)61.

62.

63.有以下程序

#include<stdio.h>

structst

{intx,y,z;}data[2]={3,10,2,20,15,7};

main()

{structst*p=data;

printf("%d,",p->y);

printf("%d\n",(++p)->x);

}

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

A.10,3B.20,3

C.10,20D.20,2

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

A.數(shù)據(jù)庫(kù)包括數(shù)據(jù)庫(kù)系統(tǒng)和數(shù)據(jù)庫(kù)管理系統(tǒng)

B.數(shù)據(jù)庫(kù)系統(tǒng)包括數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)管理系統(tǒng)

C.數(shù)據(jù)庫(kù)管理系統(tǒng)包括數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)系統(tǒng)

D.三者沒(méi)有明顯的包含關(guān)系

65.下列程序的運(yùn)行結(jié)果是()。main(){intx=1,y=3,a=0;while(x++!=(y-=1)){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

66.

67.

68.

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

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

70.

71.

72.函數(shù)fseek(pf,OL,SEEKEND)中的SEEKENE代表的起始點(diǎn)是()。

A.文件開(kāi)始B.文件末尾C.文件當(dāng)前位置D.以上都不對(duì)

73.有以下程序:

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

A.02B.13C.57D.12

74.下列選項(xiàng)中不是字符常量的是()。

A.'\v'B.'\x2a'C.'a'D."\0"

75.冒泡排序的時(shí)間復(fù)雜度為

A.O(n)B.O(n2)C.O(log2n)D.O(nlog2n)

76.數(shù)據(jù)庫(kù)設(shè)計(jì)包含四個(gè)階段,它們是需求分析、()、邏輯設(shè)計(jì)和物理設(shè)計(jì)。

A.編碼設(shè)計(jì)B.測(cè)試階段C.運(yùn)行階段D.概念設(shè)計(jì)

77.有定義語(yǔ)句:“int*p[4];”,以下選項(xiàng)中與此語(yǔ)句等價(jià)的是()。

A.intp[4];B.int**P;C.int*(p[4]);D.int(*p)[4];

78.若要求定義具有10個(gè)int型元素的一維數(shù)組a,則以下定義語(yǔ)句中錯(cuò)誤的是()。

79.有以下程序:

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

A.9.One*World

B.9.One*Dream!

C.10.One*Dream!

D.10.One*World

80.

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

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

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

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

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

試題程序:

#include<stdio.h>

#defineM20

voidproc(inta[],intn)

{

inti,j,t,P;

//****found****

for(j=0;j<n-1;j++);

{

p=j;

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

if(a[[i]<a[p])

p=i;

t=a[p];

a[p]=aEj3;

//****found****

a[p]=t;

}

}

voidmain

{

intarr[M]={11,32,-5,2,14},i,m=5;

printf("排序前的數(shù)據(jù):");

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

printf("%d",arr[i]);

printf("\n");

proc(arr,m);

printf("排序后的順序:");

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

printf("%d",arr[i]);

printf("\n");

}

六、程序設(shè)計(jì)題(1題)82.某學(xué)生的記錄由學(xué)號(hào)、8門(mén)課程成績(jī)和平均分組成,學(xué)號(hào)和8門(mén)課程的成績(jī)已在主函數(shù)中給出,請(qǐng)編寫(xiě)函數(shù),其功能是:求出該學(xué)生的平均分,并放入記錄的ave成員中。

例如,學(xué)生的成績(jī)是:85.5,76,69.5,85,91,72,64.5,87.5,則他的平均分應(yīng)為78.875。

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

請(qǐng)勿改動(dòng)main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun部位中填入你編寫(xiě)的若干語(yǔ)句。

試題程序:

#include<stdio.h>

#defineN8

typedefstruct

{

charnum[10];

doubles[N];

doubleave;

}STREC;

voldfun(STREC*a)

{

}

voidmain

STRECs={"GA005",85.5,76,69.5,85,91,72,64.5,87.5};

inti;

fun(&s);

printf("The%ssstudentdata:\n",s.num);

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

printf("%4.1fkn",s.s[i]);

printf("\nknave=%7.3fkn",s.aVe);

printf("\n");

}

參考答案

1.B由題意可知:使用typedef將類(lèi)型“struct{intx,y;}*”重命名為“USER”,所以函數(shù)fun的返回類(lèi)型為“struct{intx,y;}*”,即指向結(jié)構(gòu)體類(lèi)型的指針。故本題答案為B選項(xiàng)。

2.A程序定義結(jié)構(gòu)體類(lèi)型STU,定義類(lèi)型STU的全局變量a。main函數(shù)定義局部類(lèi)型為STU變量b,并對(duì)它初始化,調(diào)用函數(shù)f。將局部變量c的各個(gè)成員值賦給a,覆蓋a的舊值,將a的新值返回并賦給b,此時(shí)a、b的各個(gè)成員值都是Sun,f,90,程序輸出:Sun,f,90,Sun,f,90。本題答案為A選項(xiàng)。

3.A

4.A

5.B解析:—個(gè)函數(shù)可以帶回—個(gè)整型值、字符值、實(shí)型值等,但也可以帶回指針型數(shù)據(jù),即地址。本題的定義中,包括括號(hào)和*號(hào),由于()優(yōu)先級(jí)高于*。故它是—個(gè)返回整型指針的函數(shù)。

6.D解析:在對(duì)二維數(shù)組元素賦初值時(shí),可以只對(duì)部分元素賦初值,未賦初值的元素自動(dòng)取0;C語(yǔ)言規(guī)定,對(duì)于二維數(shù)組,只可以省略第1個(gè)方括號(hào)中的常量表達(dá)式,而不能省略第2個(gè)方括號(hào)中的常量表達(dá)式;賦的初值不能多于事先定義好的數(shù)組元素個(gè)數(shù)。

在選項(xiàng)D)賦值表達(dá)式中,對(duì)每一維的元素賦初值應(yīng)用{},而不是()。

7.B

8.B水平制表符中,'\t'表示的是橫向跳若干格;選項(xiàng)B中,'\039'錯(cuò)誤,'\039'是八進(jìn)制形式表的字符,最大數(shù)為7,但其中出現(xiàn)'9',','是字符逗號(hào);選項(xiàng)D中,'\n'表示的是換行。

9.C解析:這是一個(gè)逗號(hào)表達(dá)式,它的值應(yīng)為表達(dá)式y(tǒng)=x+3/2的值,而前一個(gè)表達(dá)式已給x賦值1,在沒(méi)有進(jìn)行類(lèi)型轉(zhuǎn)換的情況下,3/2的值為1,所以x+3/2的值應(yīng)為2.0。

10.C解析:函數(shù)slzeof(a)的功能是求出字符串a(chǎn)中的字符占用存儲(chǔ)空間的大小,由于字符數(shù)組a有長(zhǎng)度為7,所以i=7;函數(shù)strlen(a)的功能是:求出字符串a(chǎn)的長(zhǎng)度。而每個(gè)字符串都以'\\0'為字符串的結(jié)束標(biāo)記,所以j的值等于2。

11.D

12.A

13.C

14.AC語(yǔ)言中的常量是指在程序運(yùn)行過(guò)程中其值不能被改變的量,它可以用宏來(lái)定義,用一個(gè)符號(hào)名來(lái)代表。選項(xiàng)A錯(cuò)誤,選項(xiàng)B、C、D正確。本題答案為A選項(xiàng)。

15.Cfor循環(huán)中,函數(shù)f的返回值累加到變量a中。第1次循環(huán),a=0,i=0,返回值a=0*0+1=1;第2次循環(huán),a=1,i=10,返回值a=10*10+1+1=102;第3次循環(huán),a=102,i=20,返回值a=20*20+1+102=503;第4次循環(huán)a=503,i=30,不符合1<30,跳出循環(huán),最后結(jié)果輸出a=503。故本題答案為C選項(xiàng)。

16.C

17.C解析:數(shù)據(jù)塊輸入/輸出函數(shù)的調(diào)用形式為:fread(buffer,size,count,fp)。fread函數(shù)參數(shù)說(shuō)明:“buffer”是一個(gè)指引,對(duì)fread來(lái)說(shuō),它是讀入數(shù)據(jù)的存放地址;“size”是要讀寫(xiě)的字節(jié)數(shù);“count”是要進(jìn)行讀寫(xiě)多少個(gè)size字節(jié)的數(shù)據(jù)項(xiàng);“fp”是指文件型指針。

18.C解析:棧和隊(duì)列都是一種特殊的操作受限的線性表,只允許在端點(diǎn)處進(jìn)行插入和刪除。二者的區(qū)別是:棧只允許在表的一端進(jìn)行插入或刪除操作,是一種“后進(jìn)先出”(或“先進(jìn)后出”)的線性表;而隊(duì)列只允許在表的一端進(jìn)行插入操作,在另一端:進(jìn)行刪除操作,是一種“先進(jìn)先出”(或“后進(jìn)后出”)的線性表。因此棧和隊(duì)列的共同點(diǎn)是只允許在端點(diǎn)處插入和刪除元素。

19.B

20.E

21.順序結(jié)構(gòu)順序結(jié)構(gòu)解析:結(jié)構(gòu)化程序有3種摹本結(jié)構(gòu),即順序結(jié)構(gòu)、選擇結(jié)構(gòu)(包括if語(yǔ)句和switch語(yǔ)句)和循環(huán)結(jié)構(gòu)(包括for語(yǔ)句、while語(yǔ)句、do…while語(yǔ)句)。

22.abcbccabcbcc解析:for循環(huán)用strcpy函數(shù)將字符數(shù)組ch的值'abc',分別復(fù)制給二維數(shù)組x的每一行,然后通過(guò)for循環(huán)先后打印出以x[0][0],x[1][1],x[2][2]開(kāi)頭的字符串'abe','bc','c',所以輸出結(jié)果為:abcbcc。

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

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

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

26.structlink*headstructlink*head解析:考查用指針引用結(jié)構(gòu)體變量成員數(shù)據(jù)的方法。因?yàn)楸绢}中是用結(jié)構(gòu)體變量構(gòu)成了鏈表,所以要從鏈表頭節(jié)點(diǎn),逐個(gè)節(jié)點(diǎn)的引用結(jié)構(gòu)體的數(shù)據(jù)域,需要有指向結(jié)構(gòu)體變量的指針,依次指向各個(gè)節(jié)點(diǎn),即p=p->next,而用指針引用結(jié)構(gòu)體成員數(shù)據(jù)的方法為:p->data。

27.(y%4==0)&&(y%100!=0)||(y%400==0)(y%4==0)&&(y%100!=0)||(y%400==0)解析:考查邏輯表達(dá)。年號(hào)能被4整除(y%4==0)但不能被100整除(y%100!=0),兩者是與的關(guān)系,年號(hào)能被400整除即y%400==0,與前兩項(xiàng)是或的關(guān)系。

28.44解析:在主函數(shù)中調(diào)用函數(shù)f,函數(shù)f有三個(gè)參數(shù),形參f1與f2分別是兩個(gè)指向函數(shù)的指針。在f中執(zhí)行f2(x)-f1(x),實(shí)際上是執(zhí)行了fb(2)-fa(2),故執(zhí)行i=(fa,fb,2)后i的值為23-22=4。

29.99解析:f(3,4)=(4-3)×3=3,f(3,5)=(5-3)×3=6,所以d=f(f(3,4),f(3,5))=f(3,6)=(6-3)×3=9。

30.p=p+7或p+=7p=p+7或p+=7解析:本題考查通過(guò)指針引用數(shù)組元素。值為36的數(shù)組元素在a數(shù)組中是第8個(gè)元素,即a[7]。在程序中,p=a;語(yǔ)句將數(shù)組a的首地址賦給了指針變量p,則可以用*(p+i)來(lái)表示數(shù)組元素,*(p+i)與a[i]等價(jià),a[7]可表示為*(p+7)。要使指針p指向a[7],可以用p=p+7移動(dòng)指針,故填寫(xiě)p=p+7或p+=7。

31.m<nn!=0

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

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

34.程序調(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)試主要在開(kāi)發(fā)階段。

35.abcdefglkjIhabcdefglkjIh解析:本題主要考查了字符變量可參與的運(yùn)算。因?yàn)樽址谟?jì)算機(jī)中是以ASCII碼的形式存放的,所以字符變量可看作整型變量來(lái)處理,如參與算術(shù)運(yùn)算等,某字符的大寫(xiě)字母的ASCII碼值比它對(duì)應(yīng)的小寫(xiě)字母ASCII碼值小32。

36.棧頂棧頂解析:棧是限定在表的一端進(jìn)行插入和刪除操作的線性表。在表中,允許插入和刪除的一端叫做“棧頂”,不允許插入和刪除的一端叫做“棧底”。

37.相鄰相鄰

38.0/i/i或1.0/(i*i)0/i/i或1.0/(i*i)解析:由題面中提供的計(jì)算pi的公式可知;在第i項(xiàng)其值為1/(i*i),考慮到運(yùn)算結(jié)果為浮點(diǎn)數(shù),故必須要將1轉(zhuǎn)化為浮點(diǎn)數(shù)或采用1.0/(i*i)的形式。故本題應(yīng)填1.0/(i*i)或其等效形式。

39.C語(yǔ)言允許字符數(shù)據(jù)與整數(shù)進(jìn)行直接的算術(shù)運(yùn)算,故輸出大寫(xiě)字母A開(kāi)始的連續(xù)字符,可通過(guò)白加運(yùn)算ch++完成。三角形字符陣列第i行的字符個(gè)數(shù)為n-i+1,在每行結(jié)尾以回車(chē)字符‘\\n’換行。\r\n\r\n

40.00解析:三目運(yùn)算符的形式為(表達(dá)式1)?(表達(dá)式2):(表達(dá)式3)。當(dāng)(表達(dá)式1)值為真時(shí),返回(表達(dá)式2)的值;為假時(shí),返回(表達(dá)式3)的值。題中因?yàn)閤>12為假,所以結(jié)果為x-12,即為0。

41.C

42.C解析:在定義共用體的同時(shí),定義了一個(gè)共用體型變量u1,共占兩個(gè)字節(jié),有兩個(gè)成員n和c,兩個(gè)成員的首地址是相同的.因此給u1.c賦一個(gè)“A”,其實(shí)就是給無(wú)符號(hào)整型成員u1.n的低字節(jié)賦一個(gè)“A”,輸出u1.n的時(shí)候是以字符型的形式輸出,只輸出它的低地址的一個(gè)字節(jié),因此為“A”。所以,C選項(xiàng)為所選。

43.A解析:本題中首先定義了一個(gè)結(jié)構(gòu)體類(lèi)型STU,它由一個(gè)字符數(shù)組和一個(gè)整型變量num組成。然后定義兩個(gè)函數(shù)f1和f2。其中f1是值傳遞的,f2是地址傳遞的。主函數(shù)中定義兩個(gè)結(jié)構(gòu)體變量a和b并分別賦初值,接著調(diào)用函數(shù)f1(a),由于函數(shù)f1是值傳遞,故執(zhí)行該函數(shù)后并沒(méi)有改變a的值,在接著調(diào)用函數(shù)f2(&b),由于該函數(shù)是地址傳遞,執(zhí)行該函數(shù)后將使變量b的值為{“SunDan”,2044},故函數(shù)最后輸出的a.num和b.num的值為2041和2044。

44.C解析:總體設(shè)計(jì)過(guò)程通常由兩個(gè)主要階段組成:系統(tǒng)設(shè)計(jì),確定系統(tǒng)的具體實(shí)現(xiàn)方案;結(jié)構(gòu)設(shè)計(jì),確定軟件,結(jié)構(gòu)。為確定軟件結(jié)構(gòu),首先需要從實(shí)現(xiàn)角度把復(fù)雜的功能進(jìn)一步分解。分析員結(jié)合算法描述仔細(xì)分析數(shù)據(jù)流圖中的每個(gè)處理,如果一個(gè)處理的功能過(guò)分復(fù)雜,必須把它的功能適當(dāng)?shù)胤纸獬梢幌盗斜容^簡(jiǎn)單的功能。

45.D解析:C語(yǔ)言中只有字符串常量而沒(méi)有字符串變量,故選項(xiàng)A不正確:字符串比較大小是以第1個(gè)不相同字符的大小為標(biāo)準(zhǔn)的,跟長(zhǎng)度沒(méi)有關(guān)系,故選項(xiàng)B不正確:字符串比較大小除了使用庫(kù)函數(shù)stremp()以外,就只能靠自己寫(xiě)代碼來(lái)實(shí)現(xiàn)了,而不能通過(guò)關(guān)系運(yùn)算符來(lái)比較大小,因?yàn)樽址诒磉_(dá)式中相當(dāng)于coostchar*,即常字符指針,代表的是字符串的首地址,關(guān)系運(yùn)算符會(huì)將兩個(gè)字符串的首地址值比較大小,這是毫無(wú)意義的。所以選項(xiàng)C也不正確??沾拈L(zhǎng)度為0,而以空格打頭的字符串的長(zhǎng)度至少為1,故選項(xiàng)D正確,本題應(yīng)該選擇D。

46.B解析:本題是考查手工模擬執(zhí)行程序的能力。a初值是1,循環(huán)開(kāi)始時(shí)b值為1,由于a>=8為假,不執(zhí)行break,但a%2==1為真,執(zhí)行a+=5,a值變?yōu)?,再執(zhí)行continue跳過(guò)不執(zhí)行a-=3語(yǔ)句,而立即開(kāi)始下一次循環(huán)。這時(shí)b值為2,由于a值為6,a>=8仍為假,不執(zhí)行break,但a%2==1為假,不執(zhí)行復(fù)合語(yǔ)句“{a+=5;continue;}”而執(zhí)行a-=3,a值變?yōu)?。再開(kāi)始下一次循環(huán),這時(shí)b值為3。由于a值為3,a>=8仍為假,不執(zhí)行break,但a%2==1為真,執(zhí)行a+=5,a值變?yōu)?,再執(zhí)行continue跳過(guò)不執(zhí)行a-=3語(yǔ)句,而立即開(kāi)始下一次循環(huán)。這時(shí)b值為4。由于a值為8,a>=8為真,執(zhí)行break,停止for循環(huán)。此時(shí)輸出的b值應(yīng)為4。

47.D解析:自加運(yùn)算對(duì)象可以是整型變量也可以是實(shí)型變量,但不能是表達(dá)式和常量。本題中,#defined2定義了d為常數(shù)2,不能再對(duì)d進(jìn)行自加運(yùn)算。

48.A解析:p指向a[0],則p+9指向a[9],*(p+9)=a[9]=0。

49.D解析:在概念設(shè)計(jì)中按照模塊的劃分畫(huà)出每個(gè)模塊的E-R圖,然后把這些圖合成一張E-R圖作為全局模型,最后應(yīng)該對(duì)全局E-R圖進(jìn)行優(yōu)化,看看是否有重復(fù)和不合理的地方。不能只是進(jìn)行簡(jiǎn)單的合并。

50.A解析:C語(yǔ)言中int類(lèi)型的常數(shù)的范圍是:-32768~32767。C整常數(shù)可用三種形式表示:十進(jìn)制整數(shù),八進(jìn)制整數(shù),十六進(jìn)制整數(shù)。選項(xiàng)A超出范圍,不正確。

51.D解析:20世紀(jì)70年代以來(lái),提出了許多軟件設(shè)計(jì)方法,主要有①逐步求精:對(duì)復(fù)雜的問(wèn)題,應(yīng)設(shè)計(jì)一些子目標(biāo)作過(guò)渡,逐步細(xì)化;②自頂向下:程序設(shè)計(jì)時(shí)應(yīng)先考慮總體,后考慮細(xì)節(jié);先考慮全局目標(biāo),后考慮局部目標(biāo)。不要一開(kāi)始就過(guò)多追求眾多的細(xì)節(jié),先從最上層總目標(biāo)開(kāi)始設(shè)計(jì),逐步使問(wèn)題具體化;⑧模塊化:一個(gè)復(fù)雜問(wèn)題,肯定是由若干稍簡(jiǎn)單的問(wèn)題構(gòu)成。模塊化是把程序要解決的總目標(biāo)分解為分目標(biāo),再進(jìn)一步分解為具體的小目標(biāo),把每個(gè)小目標(biāo)稱(chēng)為一個(gè)模塊,而可復(fù)用是面向?qū)ο蟪绦蛟O(shè)計(jì)的一個(gè)優(yōu)點(diǎn)。

52.D解析:題目中fseek(fp,0L,SEEK_SET)的作用將文件指針定位到文件開(kāi)始。feof(fp)的作用是判斷文件指針是否已到文件結(jié)尾,因此選項(xiàng)A不對(duì)。ftell(fp)的作用是獲取當(dāng)前文件指針的位置,因此選項(xiàng)B不對(duì)。fgetc(fp)的作用是從文件中讀取一個(gè)字節(jié),因此選項(xiàng)C不對(duì)。rewind(fp)的作用是將文件指針重定位到文件開(kāi)頭,所以應(yīng)該選擇D。

53.BB。【解析】數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)分為順序結(jié)構(gòu)和鏈?zhǔn)浇Y(jié)構(gòu),一個(gè)數(shù)據(jù)的邏輯結(jié)構(gòu)可以有多種存儲(chǔ)結(jié)構(gòu)。順序結(jié)構(gòu)中數(shù)據(jù)元素所占的存儲(chǔ)空間是連續(xù)的,而鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中,數(shù)據(jù)元素所占的存儲(chǔ)空間不一定是連續(xù)的。數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)與數(shù)據(jù)的處理效率密切相關(guān)。

54.DD)【解析】軟件需求是指用戶(hù)對(duì)目標(biāo)軟件系統(tǒng)在功能、性能、設(shè)計(jì)約束等方面的要求,是由用戶(hù)提出的。

55.A解析:p[0]存放的是“BOOL\\0”的首地址:p[1]存放的是“OPK\\0”的首址等。在printf語(yǔ)句中輸出的*p[i]表示p[i]字符串的第—個(gè)字符。在for循環(huán)中,i的初值為3,那么輸出的第—個(gè)字符為“S”,接著兩次i--,則輸出的值為*p[1],即字符“O”,所以本題的輸出為SO。

56.C解析:C語(yǔ)言中字符常量是以單引號(hào)括起來(lái)的單個(gè)字符,或?yàn)橐浴癨\”與三位八進(jìn)制數(shù)值或兩位十六進(jìn)制數(shù)值代替單個(gè)字符。

57.B解析:str是指針數(shù)組,每個(gè)元素存放的是指向結(jié)構(gòu)體類(lèi)型數(shù)據(jù)的地址,每個(gè)元素可看作是一個(gè)指針變量,通過(guò)結(jié)構(gòu)體指針變量引用結(jié)構(gòu)體變量各成員的形式有兩種:一是(*指針變量名).成員名;二是指針變量名->成員名。本題可以是'(*str[1]).name+2'或'str[1]->name+2'。

58.A解析:在C語(yǔ)言中,動(dòng)態(tài)存儲(chǔ)區(qū)域中存放的變量在使用時(shí)才分配內(nèi)存空間,函數(shù)調(diào)用時(shí)返回的地址和自動(dòng)類(lèi)局部變量等存放在動(dòng)態(tài)存儲(chǔ)區(qū)域中。auto變量和register變量都屬于自動(dòng)類(lèi)局部變量,因此選項(xiàng)A正確。static說(shuō)明的變量為靜態(tài)變量,靜態(tài)變量在內(nèi)存的靜態(tài)存儲(chǔ)中占據(jù)著永久的存儲(chǔ)單元,直至程序運(yùn)行結(jié)束。extern說(shuō)明的變量為外部變量,屬于全局變量,全局變量在整個(gè)程序運(yùn)行期間都占用內(nèi)存空間。

59.D解析:要正確計(jì)算函數(shù)f=n!,由n!的數(shù)學(xué)定義可知n!=n*(n-1)*(n-2)*……*1。在選項(xiàng)A)中,由于f的初值為0,在for循環(huán)語(yǔ)句中,f依次乘以1,2,3,……,n。最后計(jì)算f=n!=O,所以選項(xiàng)A)不正確。在選項(xiàng)B)中,f的初值為1,在for循環(huán)語(yǔ)句中,f依次乘以1,2,3,……,(n-1)。最后計(jì)算得到f=(n-1)!,所以選項(xiàng)B)不正確。在選項(xiàng)C)中,f的初值為1,在for循環(huán)語(yǔ)句中,f依次乘以n,n+1,n+2,……,所以選項(xiàng)C)不正確。在選項(xiàng)D)中,f的初值為1,在for循環(huán)語(yǔ)句中,f依次乘以n,n-1,n-2,……,2。最后計(jì)算f=n!,所以選項(xiàng)D)正確。

60.B解析:函數(shù)調(diào)用的一般形式為:函數(shù)名(形參表)若函數(shù)無(wú)形參,調(diào)用形式為:函數(shù)名(),當(dāng)所調(diào)用的函數(shù)用于求出某個(gè)值時(shí),函數(shù)的調(diào)用可作為表達(dá)式出現(xiàn)在允許表達(dá)式出現(xiàn)的任何地方,本題中調(diào)用語(yǔ)句的參數(shù)個(gè)數(shù)為2個(gè)。

61.A

62.A

63.C本題考查結(jié)構(gòu)體數(shù)組的相關(guān)操作。結(jié)構(gòu)體數(shù)組的定義方法與結(jié)構(gòu)體變量的定義方法一樣,只不過(guò)將變量變?yōu)閿?shù)組。數(shù)組內(nèi)的各元素在內(nèi)存中是連續(xù)存放的。題目中給出了一個(gè)結(jié)構(gòu)體st,該結(jié)構(gòu)體有三個(gè)整型成員x,y,z。結(jié)構(gòu)體數(shù)組data元素的個(gè)數(shù)為2,并對(duì)數(shù)組進(jìn)行初始化,data[0]={3,10,2},data[1]={20,15,7}。主函數(shù)main中定義了一個(gè)指針p指向數(shù)組data,第一個(gè)printf函數(shù)是輸出p->y,即data[0].y,該值等于10。第二個(gè)printf函數(shù)是輸出(++p)->x,++p使得指針p指向data[1],輸出的目標(biāo)為data[1].x,該值等于20。故輸出結(jié)果為10,20。

64.B數(shù)據(jù)庫(kù)可以看成是長(zhǎng)期存儲(chǔ)在計(jì)算機(jī)內(nèi)的、大量的、有結(jié)構(gòu)的和可共享的數(shù)據(jù)集合。數(shù)據(jù)庫(kù)可以被直觀地理解為存放數(shù)據(jù)的倉(cāng)庫(kù),只不過(guò)這個(gè)倉(cāng)庫(kù)在計(jì)算機(jī)的大容量存儲(chǔ)器上,例如,硬盤(pán)就是一種最常見(jiàn)的計(jì)算機(jī)大容量存儲(chǔ)設(shè)備。數(shù)據(jù)必須按一定的格式存放,因?yàn)樗粌H需要存放,而且還要便于查找和使用。

數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)是位于用戶(hù)與操作系統(tǒng)之間的完成數(shù)據(jù)管理的系統(tǒng)軟件。它是用戶(hù)與數(shù)據(jù)庫(kù)的接口。應(yīng)用程序一般要通過(guò)DBMS才能訪問(wèn)數(shù)據(jù)庫(kù)。在數(shù)據(jù)庫(kù)建立、運(yùn)用和維護(hù)時(shí)對(duì)數(shù)據(jù)庫(kù)進(jìn)行統(tǒng)一控制。

數(shù)據(jù)庫(kù)系統(tǒng)是指在計(jì)算機(jī)系統(tǒng)中引入數(shù)據(jù)庫(kù)后的系統(tǒng),一般由數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)(及其開(kāi)發(fā)工具)、應(yīng)用系統(tǒng)、數(shù)據(jù)庫(kù)管理員和用戶(hù)構(gòu)成。數(shù)據(jù)庫(kù)是整個(gè)數(shù)據(jù)庫(kù)系統(tǒng)最基本的成分。數(shù)據(jù)庫(kù)管理系統(tǒng)是數(shù)據(jù)庫(kù)系統(tǒng)的核心。數(shù)據(jù)庫(kù)管理員是數(shù)據(jù)庫(kù)系統(tǒng)的責(zé)任維護(hù)者,負(fù)責(zé)對(duì)數(shù)據(jù)庫(kù)系統(tǒng)的整體維護(hù)。

綜上所述,本題中只有B選項(xiàng)的描述是正確的。

65.D解析:本題考查while循環(huán)。第一次循環(huán),先拿x的值和(y-1)比較,此時(shí)x=1,y-1=2,循環(huán)條件成立,比較完將x的值加1,此時(shí)x=2,進(jìn)入循環(huán),a=a+1=1,判斷if語(yǔ)句的控制條件是否成立,y<x不成立,接著執(zhí)行下一次循環(huán)。第二次循環(huán),先拿x的值和(y-1)比較,此時(shí)x=2,y-1=1,循環(huán)條件成立,比較完將x的值加1,此時(shí)x=3,進(jìn)入循環(huán),a=a+1=2,判斷if語(yǔ)句的控制條件是否成立,y<x成立,執(zhí)行break語(yǔ)句退出循環(huán)。

66.D

67.C

68.A

69.D軟件工程包括三個(gè)要素:方法、工具和過(guò)程。

軟件工程方法指明了軟件開(kāi)發(fā)如何做。它包括多方面的任務(wù),如項(xiàng)目計(jì)劃與估算、軟件系統(tǒng)需求分析、數(shù)據(jù)結(jié)構(gòu)、系統(tǒng)總體結(jié)構(gòu)的設(shè)計(jì)、算法過(guò)程的設(shè)計(jì)、編碼、測(cè)試以及維護(hù)等。

軟件工具為軟件工程方法提供了自動(dòng)的或半自動(dòng)的軟件支撐環(huán)境。目前,已經(jīng)推出了許多軟件工具,這些軟件工具集成起來(lái),建立起稱(chēng)為計(jì)算機(jī)輔助軟件工程(CASE)的軟件開(kāi)發(fā)支撐系統(tǒng)。CASE是幫助開(kāi)發(fā)人員進(jìn)行應(yīng)用程序開(kāi)發(fā)的軟件,包括系統(tǒng)分析、設(shè)計(jì)和代碼生成等階段。CASE工具為系統(tǒng)設(shè)計(jì)、文件編制、傳統(tǒng)結(jié)構(gòu)編程技術(shù)提供了自動(dòng)的方法,可以在軟件開(kāi)發(fā)生命周期中的各個(gè)階段起輔助作用。

軟件工程的過(guò)程則是將軟件工程的方法和工具綜合起來(lái)以達(dá)到合理、及時(shí)地進(jìn)行計(jì)算機(jī)軟件開(kāi)發(fā)的目的。過(guò)程定義了方法使用的順序、要求交付的文檔資料、為保證質(zhì)量和協(xié)調(diào)變化所需要的管理和軟件開(kāi)發(fā)各個(gè)階段完成的標(biāo)志。

70.A

71.B

72.BSEEK_SET代表文件的開(kāi)始,SEEK_END代表文件末尾,SEEK_CUR代表文件當(dāng)前位置。

73.D本題考查邏輯運(yùn)算符的”短路”現(xiàn)象,由于k的值為0,表達(dá)式首先去求k++的值,因?yàn)楸磉_(dá)式k++的值為0,系統(tǒng)完全可以確定邏輯表達(dá)式的運(yùn)算結(jié)果總是為0,因此將跳過(guò)n++>2,不再對(duì)它進(jìn)行求值,即k的值加1,n的值不變。

74.Dc語(yǔ)言規(guī)定,一個(gè)字符常量代表ASCII碼字符集里的一個(gè)字符,在群序中用單引號(hào)括起來(lái),以便區(qū)分。'\v'表示的是豎向跳格:'kx2a'表示的是兩位十六迸制數(shù);'a'表示的是字符a對(duì)應(yīng)的ASCII碼值。"\0"用雙引號(hào)故不正確。

75.B冒泡排序的基本概念是:以升序?yàn)槔?,依次比較相鄰的兩個(gè)數(shù),將小數(shù)放在前面,大數(shù)放在后面。第一趟排序過(guò)程是這樣的,首先比較第1個(gè)和第2個(gè)數(shù),將小數(shù)放前,大數(shù)放后。然后比較第2個(gè)數(shù)和第3個(gè)數(shù),將小數(shù)放前,大數(shù)放后,如此繼續(xù),直至比較最后兩個(gè)數(shù),將小數(shù)放前,大數(shù)放后。這樣一次排序后,最后一個(gè)數(shù)為所有數(shù)中的最大數(shù)。第二趟排序重復(fù)以上過(guò)程,仍從第一對(duì)數(shù)開(kāi)始比較(因?yàn)榭赡苡捎诘?個(gè)數(shù)和第3個(gè)數(shù)的交換,使得第1個(gè)數(shù)不再小于第2個(gè)數(shù)),將小數(shù)放前,大數(shù)放后,一直比較到最大數(shù)前的一對(duì)相鄰數(shù),將小數(shù)放前,大數(shù)放后,第二趟結(jié)束,在倒數(shù)第二個(gè)數(shù)中得到一個(gè)新的最大數(shù)。如此下去,直至最終完成排序。

冒泡排序的時(shí)間復(fù)雜度是指執(zhí)行冒泡排序算法所需要的時(shí)間。冒泡排序算法最好的時(shí)間復(fù)雜度為所要排序的數(shù)列為正序,即在執(zhí)行排列算法之前就已經(jīng)達(dá)到目標(biāo)的順序。這樣只需要執(zhí)行一次排序算法,算法所需要進(jìn)行數(shù)據(jù)比較的次數(shù)為n-1次。冒泡排序算法最差的時(shí)間復(fù)雜度為當(dāng)前所要進(jìn)行排列的數(shù)列順序與目標(biāo)數(shù)列的順序相反。算法所需要進(jìn)行數(shù)據(jù)比較的次數(shù)為n(n-1)/2=O(n2)。算法的平均時(shí)間復(fù)雜度為O(n2)。

76.D數(shù)據(jù)庫(kù)設(shè)計(jì)目前一般采用生命周期法,即將整個(gè)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的開(kāi)發(fā)分解成目標(biāo)獨(dú)立的若干階段。它們是需求分析階段、概念設(shè)計(jì)階段、邏輯設(shè)計(jì)階段、物理設(shè)計(jì)階段、編碼階段、測(cè)試階段、運(yùn)行階段和進(jìn)一步修改階段。數(shù)據(jù)庫(kù)設(shè)計(jì)中采用前四個(gè)階段,并重點(diǎn)以數(shù)據(jù)結(jié)構(gòu)與模型為設(shè)計(jì)主線。

77.D本題int*p[4]的作用是聲明一個(gè)指針數(shù)組,每個(gè)元素都是int*型指針。

78.B一雛數(shù)組的定義方式為:類(lèi)型說(shuō)明符數(shù)組名[常量表達(dá)式];注意定義數(shù)組時(shí),元素個(gè)數(shù)不能是變量。因此應(yīng)該選B選項(xiàng)。

79.C可以將二維數(shù)組str看成是一個(gè)特殊的

80.C

81.(1)錯(cuò)誤:for(j=0;j<n-1;j++);

\n正確:for(j=0;j<n-1j++)

\n(2)錯(cuò)誤:a[p]=t;

\n正確:a[j]=t;

\n【解析】for循環(huán)結(jié)束的標(biāo)志是for后的一個(gè)語(yǔ)句,如果for后面直接跟一個(gè)分號(hào),說(shuō)明是一個(gè)空循環(huán)不執(zhí)行任何功能,因此“for(j=0;j<n-1;j++);”后面的分號(hào)應(yīng)該去掉;當(dāng)a[i]<a[p]時(shí)兩元素互換,因此“a[p]=t;”應(yīng)改為“a[j]=t”。

\n

82.voidfun(STREC*a)

\n{

\ninti;

\na->ave=0.0;

\nfor(i=0;i<N;i++)

\na->ave=a->ave+a->s[i];

\n/*求各門(mén)課程成績(jī)的總和*/

\na->ave=a->ave/N;/*求平均分*/

\n}

\n【解析】本題考查的是指向結(jié)構(gòu)體類(lèi)型的指針變量做參數(shù)和結(jié)構(gòu)體類(lèi)型成員的運(yùn)算。fun函數(shù)中求出平均成績(jī),要帶回主函數(shù)則必須定義一個(gè)指針類(lèi)型的形參STREC*a,同時(shí)引用成員使用指向運(yùn)算符,a->ave和a->s[i]。

\n2022-2023年廣東省潮州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.設(shè)有定義:#include<stdio.h>#include<stdlib.h>typedefstruct{intx,y;}T;typedefstruct{intx,y;}*USER;USERfun(){USERp;p=(USER)malloc(sizeof(T));p->x=1;p->y=2;returnp;}函數(shù)fun返回值的類(lèi)型是()。

A.T類(lèi)型的結(jié)構(gòu)體B.指向結(jié)構(gòu)體類(lèi)型的指針C.int類(lèi)型的元素D.int類(lèi)型的指針

2.有下列程序:程序執(zhí)行后的輸出結(jié)果是()。A.Sun,f,90,Sun,f,90

B.Zhao,m,85,Sun,f,90

C.Zhao,m,85,Qian,f,95

D.Sun,f,90,Qian,f,95

3.下述哪一個(gè)是順序存儲(chǔ)結(jié)構(gòu)的優(yōu)點(diǎn)()。

A.存儲(chǔ)密度大B.插入運(yùn)算方便C.刪除運(yùn)算方便D.可方便地用于各種邏輯結(jié)構(gòu)的存儲(chǔ)表示

4.線性表的順序存儲(chǔ)結(jié)構(gòu)是一種()。

A.隨機(jī)存取的存儲(chǔ)結(jié)構(gòu)B.順序存取的存儲(chǔ)結(jié)構(gòu)C.索引存取的存儲(chǔ)結(jié)構(gòu)D.Hash存取的存儲(chǔ)結(jié)構(gòu)

5.定義int*swap()指的是______。

A.—個(gè)返回整型值的函數(shù)swap()

B.一個(gè)返回指向整型值指針的函swap()

C.一個(gè)指向函數(shù)swap()的指針,函數(shù)返回一個(gè)整型值

D.以上說(shuō)法均錯(cuò)

6.下列二維數(shù)組初始化語(yǔ)句中,不正確的是()。

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

B.intb[3][5]={0,0,0};

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

D.intb[3][2]={(1,2),(3,4),(5,6)};

7.設(shè)有6個(gè)結(jié)點(diǎn)的無(wú)向圖,該圖至少應(yīng)有()條邊才能確保是一個(gè)連通圖。

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

8.下列選項(xiàng)中非法的字符常量是()。

A.'\t'B.'\039'C.','D.'\n'

9.若已定義x和y為double類(lèi)型,則表達(dá)式:x=1,y=x+3/2的值是()A.1B.2C.2.0D.2.5

10.下列程序的輸出結(jié)果是()。main(){chara[7]="a0\0a0\0";inti,j;i=sizeof(a);j=strlen(a);printf("%d%d\n",i,j);}

A.22B.76C.72D.62

11.若有定義和語(yǔ)句int**pp,*p,a=10,b=20;pp=&p;p=&a;p=&b;printf("%d,%d\n",*p,**pp);則輸出結(jié)果是()

A.10,10B.10,20C.20,10D.20,20

12.不帶頭結(jié)點(diǎn)的單鏈表head為空的判定條件是()。

A.head=NULLB.head->next=NULLC.head->next=headD.head!=NULL

13.設(shè)a,b,c,d,m和n均為int型變量,且a=5,b=6,c=7,d=m=2,n=2,則邏輯表達(dá)式(m=a>b)&&(n=c>d)運(yùn)算后,n的值為()

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

14.以下說(shuō)法錯(cuò)誤的是()。

A.C語(yǔ)言中的常量是指在程序運(yùn)行過(guò)程中經(jīng)常被用到的變量

B.C語(yǔ)言中的常量是指在程序運(yùn)行過(guò)程中其值不能被改變的量

C.C語(yǔ)言中的常量可以用一個(gè)符號(hào)名來(lái)代表

D.C語(yǔ)言中的常量可以用宏來(lái)定義

15.有以下程序:#include<stdio.h>doublef(doublex);main(){doublea=0;inti;for(i=0;i<30;i+=10)a+=f((double)i);printf(“%3.0f\n”,a);}doublef(doublex)}returnx*x+1;}程序的運(yùn)行結(jié)果是()。

A.500B.401C.503D.1404

16.

17.已知函數(shù)的調(diào)用形式:fread(buffer,size,count,fp);其中buffer代表的是()。

A.一個(gè)整型變量,代表要讀入的數(shù)據(jù)項(xiàng)總數(shù)

B.一個(gè)文件指針,指向要讀的文件

C.一個(gè)指針,是指向的輸入數(shù)據(jù)放在內(nèi)存中的起始位置

D.一個(gè)存儲(chǔ)區(qū),存放要讀的數(shù)據(jù)項(xiàng)

18.棧和隊(duì)列的共同點(diǎn)是()。

A.都是先進(jìn)先出B.都是先進(jìn)后出C.只允許在端點(diǎn)處插入和刪除元素D.沒(méi)有共同點(diǎn)

19.可用作C語(yǔ)言用戶(hù)標(biāo)識(shí)符的一組標(biāo)識(shí)符是()。A.voiddefine+WORDB.a3_b3_123YNC.for-abcCaseD.2aDOsizeof

20.在一個(gè)雙向鏈表中,q的前一個(gè)節(jié)點(diǎn)為p,q的后一個(gè)節(jié)點(diǎn)為n,刪除q所指向節(jié)點(diǎn),則執(zhí)行()

A.deleteq;

B.q->prev->next=q->prev;q->next->prev=q->next;deleteq;

C.q->prev=p->next;p->next=p->prev;deleteq;

D.q->next=q->prev->next;q->prev=q->next->prev;deleteq;

E.q->prev->next=q->next;q->next->prev=q->prev;deleteq;

F.p->prev->next=p->next;p->next->prev=p->prev;deleteq->next;

二、2.填空題(20題)21.C語(yǔ)言用于結(jié)構(gòu)化程序設(shè)計(jì)的3種基本結(jié)構(gòu)是______、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。

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

#include<stdio,h>

#include<string,h>

main()

{charch[]="abc".,x[3][4]:inti:

for(i=0;i<3:i++)strcpy(x[i],ch):

for(i=0;i<3:i++)printf("%s",&x[i][i]);

printf("\n")

}

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

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

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

26.已知head指向一個(gè)帶頭結(jié)點(diǎn)的單向鏈表,鏈表中每個(gè)結(jié)點(diǎn)包含數(shù)據(jù)域(data)和指針域(next),數(shù)據(jù)域?yàn)檎?。以下函?shù)求出鏈表中所有鏈結(jié)點(diǎn)數(shù)據(jù)域的和值,作為函數(shù)值返回。請(qǐng)?jiān)跈M線處填入正確內(nèi)容。

structlink

{intdata;structlink*next;}

main()

{structlink*head;

......

sum(head);

......

}

sum(【】);

{structlink*p;ints=0;

p=head->next;

while(p){s+=p->data;p=p->next;}

return(s);}

27.下列表達(dá)式用于判斷y是否為閏年。閏年的判斷條件是:年號(hào)能被4整除但不能被100整除或年號(hào)能被400整除,請(qǐng)?zhí)羁誣_____。

28.有以下程序

intfa(intx){returnx*x;}

intfb(intx){retumx*x*x;}

intf(int(*f1)(),int(*f2)(),intx)

{returnf2(x)-f1(x);}

main()

{inti;i=f(fa,fb,2);printf("%d\n",i);}

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

29.若有以下程序:

intf(intx,inty)

{return(y-x)*x;}

main()

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

d=f(f(3,4),f(3,5));

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

}

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

30.若有以下定義和語(yǔ)句,則使指針p指向值為36的數(shù)組元素的表達(dá)式是【】。

inta[10]={19,23,44,17,37,28,49,36},*p;

p=a;

31.下面程序的功能是求整數(shù)m、n的最大公約數(shù),請(qǐng)?zhí)羁铡?/p>

main()

{intm,n,r;

scanf("%d,%d",m,n);

if(【】){r=m;m=n;n=r;}

while(【】)

{r=m%n;m=n;n=r;}

printf("%d",m);

}

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

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

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

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

#include<stdio.h>

#defineSIZE12

main()

{chars[SIZE];intI;for(I=0;I<SIZE;I++)s[I]=′A′+I+321;

sub(s,7,SIZE-1);

for(I=0;I<SIZE;I++)printf("%c",s[I]);

printf("\n");}

sub(char*a,intt1,intt2)

{charch;

while(t1<t2)

{ch=*(a+t1);

*(a+t1)=*(a+t2);

*(a+t2)=ch;

t1++;t2--;}}

36.棧中允許進(jìn)行插入和刪除的一端叫做______。

37.順序存儲(chǔ)方法是把邏輯上相鄰的結(jié)點(diǎn)存儲(chǔ)在物理位置______的存儲(chǔ)單元中。

38.函數(shù)pi的功能是根據(jù)以下公式近似求得的:

pi*pi/6=1+1/(2*2)+1/(3*3)+…+1/(n*n)

請(qǐng)?jiān)谙旅娴暮瘮?shù)中填空,完成求pi的功能。

#include<math.h>

doublepi(longn)

{doubles=0.0,longi;

for(i=1;i<=n;i++)s=s+【】。

return(sqrt(6*s));

}

39.以下程序的功能是輸入任意整數(shù)給n后,輸出n行由大寫(xiě)字母A開(kāi)始構(gòu)成的三角形字符陣列圖形。例如,輸入整數(shù)5時(shí)(注意:n不得大于10),程序運(yùn)行結(jié)果如下:

ABCDE

FGHI

JKL

MN

O

請(qǐng)?zhí)羁胀瓿稍摮绦颉?/p>

main()

{inti,j,n;charch='A';

scanf("%d",&n);

if(n<11)

{for(i=1;i<=n;i++)

{for(j=1;j<n-i+1;j++)

{printf("%2c",ch);

[10];

}

[11];

}

40.若運(yùn)行時(shí)給變量x輸入12,則以下程序的運(yùn)行結(jié)果是【】;

main(){

intx,y;

scanf(""%d"",&x);

y=x>12?x+10:x-12;

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

}

三、1.選擇題(20題)41.下列程序的輸出結(jié)果是______。main(){intn;(n=6*4,n+6),n*2;printf("n=%d\n",n);}

A.22B.23C.24D.25

42.有以下程序main(){union{unsignedintn;unsignedcharC;}ul;u1.C='A';printf("%c\n",u1.n);}執(zhí)行后輸出結(jié)果是

A.產(chǎn)生語(yǔ)法錯(cuò)B.隨機(jī)值C.AD.65

43.有以下程序structSTU{charname[10];intnum;};voidf1(structSTUC){structSTUb={"LiSiGuo",2042};c=b;}voidf2(structSTU*C){structSTUb={"SunDan",2044};*c=b;}main(){structSTUa={"YangSan",2041},b={"WangYin",2043};f1(a);f2(&b);printf("%d%d\n",a.num,b.num);}執(zhí)行后輸出結(jié)果是

A.20412044B.20412043C.20422044D.20422043

44.在結(jié)構(gòu)化方法中,軟件功能分解屬于軟件開(kāi)發(fā)中的______階段。

A.詳細(xì)設(shè)計(jì)B.需求分析C.總體設(shè)計(jì)D.編程調(diào)試

45.以下關(guān)于字符串的敘述中正確的是()。

A.C語(yǔ)言中有字符串類(lèi)型的常量和變量

B.兩個(gè)字符串中的字符個(gè)數(shù)相同時(shí)才能進(jìn)行串符串大小的比較

C.可以用關(guān)系運(yùn)算符對(duì)字符串的大小進(jìn)行比較

D.空串一定比空格打頭的字符串小

46.有以下程序main(){inta=1,b;for(b=1;b<=10;b++){if(a>=8)break;if(a%2==1){a+=5;continue;}a-=3;}printf("%d\n",b);}程序運(yùn)行后的輸出結(jié)果是______。

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

47.設(shè)有以下定義inta=0;doubleb=1.25;charcc='A';#defined2則下面語(yǔ)句中錯(cuò)誤的是

A.a++;B.b++;C.c++;D.d++;

48.下面程序的輸出結(jié)果是______。main(){inta[]={1,2,3,4,5,6,7,8,9,0,},*p;p=a;printf("%d\n",*p+9);}

A.0B.1C.10D.9

49.利用E-R模型進(jìn)行數(shù)據(jù)庫(kù)的概念設(shè)計(jì),可以分成3步:首先設(shè)計(jì)局部E-R模型,然后把各個(gè)局部E-R模型綜合成一個(gè)全局的模型,最后對(duì)全局E-R模型進(jìn)行(),得到最終的E-R模型。

A.簡(jiǎn)化B.結(jié)構(gòu)化C.最小化D.優(yōu)化

50.在C語(yǔ)言中,不正確的int類(lèi)型的常數(shù)是______。

A.32768B.0C.37D.0xAF

51.下列選項(xiàng)中不屬于結(jié)構(gòu)化程序設(shè)計(jì)方法的是()。

A.自頂向下B.逐步求精C.模塊化D.可復(fù)用

52.以下與函數(shù)fseek(fp,0L,SEEK_SE乃有相同作用的是()。

A.feof(fp)B.ftell(fp)C.fgetc(fp)D.rewind(fp)

53.下列敘述中錯(cuò)誤的是()。

A.一種數(shù)據(jù)的邏輯結(jié)構(gòu)可以有多種存儲(chǔ)結(jié)構(gòu)

B.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)與數(shù)據(jù)的處理效率無(wú)關(guān)

C.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)與數(shù)據(jù)的處理效率密切相關(guān)

D.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)在計(jì)算機(jī)中所占的空間不一定是連續(xù)的

54.在軟件生產(chǎn)過(guò)程中,需求信息的來(lái)源是()

A.程序員B.項(xiàng)目經(jīng)理C.設(shè)計(jì)人員D.軟件用戶(hù)

55.下面程序的輸出結(jié)果是______。#include<stdio.h>main(){char*p[]={"BOOL","OPK","H","SP"};inti:for(i=3;i>=0;i-,i-)printf("%c",*p[i]);printf("\n");}

A.SOB.SPC.SPOPKD.SHOB

56.以下選項(xiàng)中,非法的字符常量是______。

A.'\t'B.'\17'C.\nD.'\xaa'

57.若有以下說(shuō)明,則能打印出“Yu”的語(yǔ)句是______。structsamp{charname[10];intnumber;}kk[3]={{"WarBin",1},{"LiYu",2},{"LuHui",3}};structsamp*str[3];str[0]=&kk[0];str[1]=&kk[1];str[2]=&kk[2];

A.printf("%s\n",str[1].name[2]);

B.printf("%s\n",str[1]->name+2);

C.printf("%s\n",str[2].name[2]);

D.printf("%s\n",str[2]->name+2);

58.在C語(yǔ)言中,只有在使用時(shí)才占用內(nèi)存單元的變量,其存儲(chǔ)類(lèi)型是()。

A.auto和register

B.extern和register

C.auto和static

D.static和register

59.設(shè)變量已正確定義,則下列能正確計(jì)算f=n!的程序段是()。

A.f=0;for(i=1;i<=n;i++)f*=i;

B.f=1;for(i=1;i<n;i++)f*=i;

C.f=1;for(i=n;i>1;i++)f*=i;

D.f=1;for(i=n;i>=2;i--)f*=i;

60.下面函數(shù)調(diào)用語(yǔ)句含有實(shí)參的個(gè)數(shù)為func((exp1,exp2),(exp3,exp4,exp5));

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

四、選擇題(20題)61.

62.

63.有以下程序

#include<stdio.h>

structst

{intx,y,z;}data[2]={3,10,2,20,15,7};

main()

{structst*p=data;

printf("%d,",p->y);

printf("%d\n",(++p)->x);

}

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

A.10,3B.20,3

C.10,20D.20,2

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

A.數(shù)據(jù)庫(kù)包括數(shù)據(jù)庫(kù)系統(tǒng)和數(shù)據(jù)庫(kù)管理系統(tǒng)

B.數(shù)據(jù)庫(kù)系統(tǒng)包括數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)管理系統(tǒng)

C.數(shù)據(jù)庫(kù)管理系統(tǒng)包括數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)系統(tǒng)

D.三者沒(méi)有明顯的包含關(guān)系

65.下列程序的運(yùn)行結(jié)果是()。main(){intx=1,y=3,a=0;while(x++!=(y-=1)){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

66.

67.

68.

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

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

70.

71.

72.函數(shù)fseek(pf,OL,SEEKEND)中的SEEKEN

溫馨提示

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