2021年安徽省蚌埠市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題二卷(含答案)_第1頁(yè)
2021年安徽省蚌埠市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題二卷(含答案)_第2頁(yè)
2021年安徽省蚌埠市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題二卷(含答案)_第3頁(yè)
2021年安徽省蚌埠市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題二卷(含答案)_第4頁(yè)
2021年安徽省蚌埠市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題二卷(含答案)_第5頁(yè)
已閱讀5頁(yè),還剩33頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

2021年安徽省蚌埠市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題二卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.

2.下面關(guān)于線性表的敘述中,錯(cuò)誤的是哪一個(gè)()。

A.線性表采用順序存儲(chǔ),必須占用一片連續(xù)的存儲(chǔ)單元

B.線性表采用順序存儲(chǔ),便于進(jìn)行插入和刪除操作

C.線性表采用鏈?zhǔn)酱鎯?chǔ),不必占用一片連續(xù)的存儲(chǔ)單元

D.線性表采用鏈?zhǔn)酱鎯?chǔ),便于進(jìn)行插入和刪除操作

3.設(shè)有向無(wú)環(huán)圖G中的有向邊集合E={<1,2>,<2,3>,<3,4>,<1,4>},則下列屬于該有向圖G的一種拓?fù)渑判蛐蛄械氖?)。

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

4.若有定義"int*p[3];",則以下敘述中正確的是()。

A.定義了一個(gè)基類型為int的指針變量p,該變量具有3個(gè)指針

B.定義了一個(gè)指針數(shù)組p,該數(shù)組含有3個(gè)元素,每個(gè)元素都是基類型為int的指針

C.定義了—個(gè)名為*p的整型數(shù)組,該數(shù)組含有3個(gè)int類型元素

D.定義了一個(gè)可指向一維數(shù)組的指針變量p,所指一維數(shù)組應(yīng)具有3個(gè)int類型元素

5.以下合法的字符型常量是A.B.C.D.

6.在數(shù)據(jù)結(jié)構(gòu)中,與所使用的計(jì)算機(jī)無(wú)關(guān)的是數(shù)據(jù)的()結(jié)構(gòu)。

A.邏輯B.存儲(chǔ)C.邏輯和存儲(chǔ)D.物理

7.設(shè)x=011050,則x=x&01252的值是()。A.0000001000101000

B.1111110100011001

C.0000001011100010

D.1100000000101000

8.在有序表(12,24,36,48,60,72,84)中二分查找關(guān)鍵字72時(shí)所需進(jìn)行的關(guān)鍵字比較次數(shù)是()

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

9.下面關(guān)于數(shù)據(jù)庫(kù)系統(tǒng)中敘述正確的是()。

A.數(shù)據(jù)庫(kù)系統(tǒng)減少了數(shù)據(jù)冗余

B.數(shù)據(jù)庫(kù)系統(tǒng)避免了一切冗余

C.數(shù)據(jù)庫(kù)系統(tǒng)中數(shù)據(jù)的一致性是指數(shù)據(jù)類型的一致

D.數(shù)據(jù)庫(kù)系統(tǒng)比文件系統(tǒng)能管理更多的數(shù)據(jù)

10.下面哪種排序算法是穩(wěn)定的()

A.快速排序B.堆排序C.歸并排序D.選擇排序

11.設(shè)變量已正確定義,則以下能正確計(jì)算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;

12.下列說(shuō)法錯(cuò)誤的是______。

A.關(guān)系中每一個(gè)屬性對(duì)應(yīng)一個(gè)值域

B.關(guān)系中不同的屬性可對(duì)應(yīng)同一值域

C.對(duì)應(yīng)同一值域的屬性為不同的屬性

D.DOM(A)表示屬性A的取值范圍

13.設(shè)有定義“struct{charmark[12];intnum1;doublenum2;}t1,t2;”,若變量均已正確賦初值,則下列語(yǔ)句中錯(cuò)誤的是()。

A.t1=t2;

B.t2.num1=t1.num1;

C.t2.mark=t1.mark;

D.t2.num2=t1.num2;

14.公司中有多個(gè)部門和多名職員,每個(gè)職員只能屬于一個(gè)部門,一個(gè)部門可以有多名職員。則實(shí)體部門和職員間的聯(lián)系是()。

A.1:m聯(lián)系B.m:n聯(lián)系C.1:1聯(lián)系D.m:1聯(lián)系

15.以下敘述中正確的是()

A.C程序由函數(shù)和過(guò)程組成B.C程序由主函數(shù)組成C.C程序由函數(shù)組成D.C程序中,主函數(shù)必須放在其他函數(shù)之前

16.數(shù)據(jù)結(jié)構(gòu)通常研究數(shù)據(jù)的()及運(yùn)算。

A.物理結(jié)構(gòu)和邏輯結(jié)構(gòu)B.存儲(chǔ)和抽象C.理想和抽象D.理想與邏輯

17.有以下程序

#include<stdio.h>

main()

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

*q=*(p+5);

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

}

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

18.

19.軟件開發(fā)模型包括Ⅰ.瀑布模型Ⅱ.扇形模型Ⅲ.快速原型法模型Ⅳ.螺旋模型

A.Ⅰ、Ⅱ、ⅢB.Ⅰ、Ⅱ、ⅣC.Ⅰ、Ⅲ、ⅣD.Ⅱ、Ⅲ、Ⅳ

20.

二、2.填空題(20題)21.若對(duì)長(zhǎng)度為90的線性表進(jìn)行分塊查找,其中每塊子表長(zhǎng)度為9。如果在索引表查找過(guò)程中進(jìn)行順序查找,那么平均查找長(zhǎng)度為【】。

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

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

main()

{

int*s1,*s2;

fun(【】);

}

intfun(【】);

{

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

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

}

24.數(shù)據(jù)庫(kù)管理系統(tǒng)常見的數(shù)據(jù)模型有層次模型、網(wǎng)狀模型和【】3種。

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

#include<stdio.h>

#include"myfun.c"

main()

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

myfun.c文件如下:

voidfun()

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

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

n--;

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

}

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

26.若x和y都是buble型變量,且x的初值為3.0,y的初值為2.0,則表達(dá)式pow(y,fabs(x))的值為【】。

27.用樹型結(jié)構(gòu)表示實(shí)體類型及實(shí)體間聯(lián)系的數(shù)據(jù)模型稱為【】。

28.在宏定義#definePI3.14159中,用宏名PI代替一個(gè)______。

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

main()

{inti=0,a=0;

while(i<20)

{for(;;)

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

elsei--;}

i+=11;

a+=i;

}

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

}

30.若x和y都是double型變量,且x的初值為3.0,y的初值為2.0,則表達(dá)式pow(y,fabs(x))的值為【】。

31.以下程序運(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);

}

32.軟件危機(jī)的核心問(wèn)題是【】和軟件開發(fā)效率低。

33.軟件工程研究的內(nèi)容主要包括:【】技術(shù)和軟件工程管理。

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

main()

{

inta,b,c;

a=25;

b=025;

c=0x25;

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

}

35.漢字系統(tǒng)中,字庫(kù)中的漢字是以【】碼存在。

36.請(qǐng)?jiān)谝韵鲁绦虻谝恍械南聞澗€處填寫適當(dāng)內(nèi)容,使程序能正常運(yùn)行。

#include<stdio.h>

【】(double,double);

main()

{doublex,y;

scanf("%If%If",&x,&y);

printf("%If\n",max(x,y));

}

doublemax(doublea,doubleb)

{return(a>b?a:b);}

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

inci=9;

printf("%o\n",i);

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

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

main()

{intk=1;

white(k<=15)

if(++k%3!=2)continue;

elseprintf("%d",k);

printf("\n");

}

40.由25人圍坐成圓圈,先從任意一人出發(fā)用1到25順時(shí)針依次編號(hào),然后從1號(hào)開始順時(shí)針報(bào)數(shù)(1、2、3…),凡報(bào)5的倍數(shù)者出圈,剩下者繼續(xù)報(bào)數(shù),求出最后出圈者的編號(hào)。

#include<stdio.h>

【】

{inta[26],j,n,count;

for(j=1;j<=25;j++)a[j]=j(luò);

j=1;count=0;n=【】;

do

{if(a[j]!=0)

{n++;

if(n%5==0)

{【】;

if(count==24)printf("%d\n",j);

count++;

}

}

j++;

if(j>25)j=1;

}

while(【】);

}

三、1.選擇題(20題)41.若有以下定義和語(yǔ)句:inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;則不能表示a數(shù)組元素的表達(dá)式是______。

A.*pB.a[10]C.*aD.a[p-a]

42.設(shè)有以下說(shuō)明語(yǔ)句typedefstruct{intn;charch[8];}PER;則下面敘述中正確的是

A.PER是結(jié)構(gòu)體變量名

B.PER是結(jié)構(gòu)體類型名

C.typedefstruct是結(jié)構(gòu)體類型

D.struct是結(jié)構(gòu)體類型名

43.設(shè)變量x和y均已正確定義并賦值。下列if語(yǔ)句中,在編譯時(shí)將產(chǎn)生錯(cuò)誤信息的是()。

A.if(x++);

B.if(x>y&&y!=0);

C.if(x>0)x--

D.if(y<0){;}elsey++;elsex++;

44.有以下程序:#include<stdio.h>main(){charcl='1',c2='2';cl=getchar();c2=getchar();putchar(c1);putchar(c2);}當(dāng)運(yùn)行時(shí)輸入:a<回車>后,以下敘述正確的是()。

A.變量c1被賦予字符a,c2被賦予回車符

B.程序?qū)⒌却脩糨斎氲?個(gè)字符

C.變量c1被賦予字符a,c2中仍是原有字符2

D.變量c1被賦予字符a,c2中將無(wú)確定值

45.閱讀以下程序及對(duì)程序功能的描述,其中正確的是#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=foen(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è)磁盤文件合并并在屏幕上輸出

46.若二維數(shù)組a有m列,則在a[i][j]前的元素個(gè)數(shù)為

A.j*m+iB.i*m+jC.i*m+j-1D.i*m+j+1

47.設(shè)有定義:Structcomplex{intreal,unreal;}data1={1,8},data2;則以下賦值語(yǔ)句中錯(cuò)誤的是()。

A.data2={data1.rea1,data1.unrea1};

B.data2=(2,6);

C.data2.rea1=data1->rea1;

D.data2->rea1=data1.unrea1;

48.有以下程序:

#include<stdio.h>

#include<stdlib.h>

structNODE

{intnum;

structNODE*next;

};

main()

{struetNODE*p,*q,*r;

intsum=0;

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

q=(structNODE*)malloc(sizeof(struetNODE));

r=(structNODE*)malloc(sizeof(structNODE));

P->num=1;q->num=2;r->num=3;

p->next=q;q->next=r;r->next=NULL;

sum+=q->next->num;sum+=P->num;

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

}

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

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

49.運(yùn)行下列程序,若從鍵盤輸入字母“a”,則輸出結(jié)果是()。charc;c=getchar();if(c>='a'&&c<='g')c=c+4;elseif(c>='g'&&c<='z')c=c-21;elseprintf("inputerror!\n");putchar(c);

A.fB.tC.eD.d

50.若變量已正確定義并賦值,以下符合C++語(yǔ)言語(yǔ)法的表達(dá)式是()。

A.a:=b+1B.a=b=c+2C.int18.5%3D.a=a+7=c+b

51.以下程序的輸出結(jié)果是______。inti=010,j=10;printf("%d,%d\n",++i,j--);

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

52.以下程序的輸出結(jié)果是______。main(){chsrst[20]="bello\0\t\\";print("%d%f\n",strlen(st),sizeof(st));}

A.99B.520C.1320D.2020

53.設(shè)x、y和z是int型變量,且x=4,y=6,z=8,則下列表達(dá)式中值為0的是()。

A.x&&y

B.x<=y

C.x‖y+z&&y-z

D.!((x<y)&&!z‖1)

54.以下程序的輸出結(jié)果是______。main(){intx=10,y=10,i;for(i=0;x>8;y=++i)printf("%d%d",x--,y);}

A.10192B.9876C.10990D.101091

55.以下敘述中錯(cuò)誤的是()。

A.可以通過(guò)typedef增加新的類型

B.可以用typedef將已存在的類型用一個(gè)新的名字來(lái)代表

C.用typedef定義新的類型名后,原有類型名仍有效

D.用typedef可以為各種類型起別名,但不能為變量起別名

56.函數(shù)的值通過(guò)return語(yǔ)句返回,下面關(guān)于return語(yǔ)句的形式描述錯(cuò)誤的是

A.return表達(dá)式;

B.return(表達(dá)式);

C.一個(gè)return語(yǔ)句可以返回多個(gè)函數(shù)值

D.一個(gè)return語(yǔ)句只能返回一個(gè)函數(shù)值

57.要求以下程序的功能是計(jì)算main(){intn;floats;s=1.0;for(n=10;n>1;n--)s=s+1/n;pfintf("%6.4f\n",s);}程序運(yùn)行后輸出結(jié)果錯(cuò)誤,導(dǎo)致錯(cuò)誤結(jié)果的程序行是

A.s=1.0;

B.for(n=10;n>1;n--)

C.s=s+1/n;

D.printf("%6.4f\n",8);

58.下述程序的輸出結(jié)果是()。#include<stdio.h>intf(n)intn;{if(n==0||n==1)return3;returnn-f(n-2);}voidmain(){printf("\n%d",f(10));}

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

59.在嵌套使用if語(yǔ)句時(shí),C語(yǔ)言規(guī)定else總是A.和之前與其具有相同縮進(jìn)位置的if配對(duì)

B.和之前與其最近的if配對(duì)

C.和之前與其最近的且不帶else的if配對(duì)

D.和之前的第一個(gè)if配對(duì)

60.在執(zhí)行以下程序時(shí),如果從鍵盤上輸入ABCdef<回車>,則輸出為______。#include<stdio.h>main(){charch;while((ch=getchar())!="\n"){if(ch>='A'&&ch<='B')ch=ch+32;elseif(ch>='a'&&ch<='z')ch=ch-32;printf("%c",ch);}printf("\n");}

A.ABCdefB.abcDEFC.abcD.DEF

四、選擇題(20題)61.設(shè)有如下說(shuō)明

typedefstruct

{intn;

charc;

doublex;

}STD;

則以下選項(xiàng)中,能正確定義結(jié)構(gòu)體數(shù)組并賦初值的語(yǔ)句是

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

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

62.以下程序段完全正確的是()。

A.int*P;scanf("%d",&p);

B.int*P;scanf("%d",p);

C.intk,*p=&k;scanf("%d",p);

D.intk,*p;*p=&k;scanf("%d¨,p);

63.

64.有以下程序:

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

A.7B.10C.8D.9

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

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

66.下列有關(guān)數(shù)據(jù)庫(kù)的描述,正確的是______。

A.數(shù)據(jù)庫(kù)是一個(gè)DBF文件B.數(shù)據(jù)庫(kù)是一個(gè)關(guān)系C.數(shù)據(jù)庫(kù)是一個(gè)結(jié)構(gòu)化的數(shù)據(jù)集合D.數(shù)據(jù)庫(kù)是一組文件

67.

68.下列程序的輸出結(jié)果是()。#includedstdi0.h>#includedstring.h>voidfun(intb[]){staticinti=0;do{b[i]+=b[i+1];}while(++i<2);}main{intk,a[5]={1,3,5,4,9};fun(a);for(k=0;k<5;k++)printf("%d",a[k]);}A.13579B.48579C.48549D.48999

69.

70.在C語(yǔ)言中,函數(shù)返回值的類型最終取決于()。

A.函數(shù)定義時(shí)在函數(shù)首部所說(shuō)明的函數(shù)類型

B.return語(yǔ)句中表達(dá)式值的類型

C.調(diào)用函數(shù)時(shí)主調(diào)函數(shù)所傳遞的實(shí)參類型

D.函數(shù)定義時(shí)形參的類型

71.

72.結(jié)構(gòu)化程序設(shè)計(jì)的主要特征是()。

A)封裝和數(shù)據(jù)隱藏B)集成和重用

C)數(shù)據(jù)和處理數(shù)據(jù)的過(guò)程分離D)把數(shù)據(jù)和處理數(shù)據(jù)的過(guò)程看成一個(gè)整體

73.有以下程序

#include<stdio.h>

main()

{intx=1,y=2,z=3;

if(x>y)

if(y<z)printf("%d",++z);

elseprintf("%d",++y);

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

}

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

A.A.331

B.41

C.2

D.1

74.

75.

76.

77.

有以下程序:

intfun(intn)

{if(n==l)returnl;

elsereturn(n+fun(n一1)):

}

main

{intx;

scanf("%d",&x);x=fun(x);printf("%d\n",

x):

}

執(zhí)行程序時(shí),給變量X輸入10,程序的輸出結(jié)果是()。

A.55B.54C.65D.45

78.執(zhí)行下列程序后,變量a,b,C的值分別是()。intx=5,y=4;inta,b,c;a=(--x==y++)?X:++y;b=++x:c=y:A.a=5,b=5,c=5B.a=4,b=5,c=5C.a=5,b=6,c=5D.a=1,b=5,c=6

79.

80.數(shù)據(jù)庫(kù)設(shè)計(jì)包括兩個(gè)方面的設(shè)計(jì)內(nèi)容,它們是()

A.概念設(shè)計(jì)和邏輯設(shè)計(jì)B.模式設(shè)計(jì)和內(nèi)模式設(shè)計(jì)C.內(nèi)模式設(shè)計(jì)和物理設(shè)計(jì)D.結(jié)構(gòu)特性設(shè)計(jì)和行為特性設(shè)計(jì)

五、程序改錯(cuò)題(1題)81.在主函數(shù)中從鍵盤輸入若干個(gè)數(shù)放人數(shù)組中,用0結(jié)束輸入并放在最后一個(gè)元素中。下列給定程序中,函數(shù)proc()的功能是計(jì)算數(shù)組元素中值為負(fù)數(shù)的平均值(不包括0)。例如,數(shù)組中元素的值為78、-65、-15、35、-45、0,則程序的運(yùn)行結(jié)果為-41.666667。請(qǐng)修改程序中的錯(cuò)誤,使它能得到正確結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:

六、程序設(shè)計(jì)題(1題)82.學(xué)生的記錄由學(xué)號(hào)和成績(jī)組成,M名學(xué)生的數(shù)據(jù)已在主函數(shù)中放入結(jié)構(gòu)體數(shù)組stu中,請(qǐng)編寫函數(shù)proc,其功能是:按分?jǐn)?shù)的高低排列學(xué)生的記錄,高分在前。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc的花括號(hào)中填入所編寫的若干語(yǔ)句。試題程序:#include<stdio.h>#defineMl6typedefstruct{charnum[l0];intS;}STREC:voidproc(STRECa[]){inti,j;STRECt;for(i=1;i<M;i++)/*用冒泡法來(lái)按從高到低排序*/for(j=0;j<M-1;j++)。if(a[j].s<a[j+1].s)//*按分?jǐn)?shù)的高低排列學(xué)生的記錄,高分在前*/{t=a[j];a[j]=a[j+1];a[j+1]=t;)}voidmain{STRECstu[M]={{"GA005",85),{"GA003",76},{"GA002",69},{"GA004",85),{"GA001",91),{"GA007",72),{"GA008",64),{"GA006",87),{"GA015",85),{"GA013",91),{"GA012",64),{¨GA014",91),{"GA011",66),{"GA017",64},{"GA018",64),{"GA016",72}};inti;proc(stu);printf("Thedataaftersorted:\n");for(i=0;i<M;i++){if(i%4==0)//每行輸出4個(gè)學(xué)生記錄printf("n");printf("%s%4d",stu[i],num,stu[i].s);}printf("\n");}

參考答案

1.D

2.B

3.A

4.B解析:指針數(shù)組也是一種數(shù)組,所有有關(guān)的概念都適用于它。但它與普通的數(shù)組又有區(qū)別,它的數(shù)組元素是指針類型,只能用來(lái)存放地址。其格式為:存儲(chǔ)類型數(shù)據(jù)類型*指針數(shù)組名[長(zhǎng)度1],其含義為:定義了一個(gè)長(zhǎng)度1的數(shù)組,其中數(shù)組元素為相應(yīng)存儲(chǔ)類型的指針,對(duì)比定義可知,選項(xiàng)A、C和D都不正確,所以,4個(gè)選項(xiàng)中選項(xiàng)B符合題意。

5.A解析:C語(yǔ)言的字符常量是用單引號(hào)(即撇號(hào))括起來(lái)的一個(gè)字符。除此之外,在C語(yǔ)言中還允許用以一個(gè)“\\”開頭的字符序列來(lái)表示字符常量。其中,形式“\\ddd”表示1到3位8進(jìn)制數(shù)所代表的字符;形式“\\xhh”表示1到2位16進(jìn)制數(shù)所代表的字符。在本題中‘\\x13’表示回車符,是一個(gè)字符常量;‘\\081’用\u30008進(jìn)制數(shù)所代表的字符,但形式不正確,因?yàn)?進(jìn)制數(shù)所表示的字符中不會(huì)出現(xiàn)數(shù)字“8”;‘65’不是一個(gè)字符,而是一個(gè)+進(jìn)制數(shù)字;“\\n”是用雙引號(hào)括起來(lái)的一個(gè)字符,表示一個(gè)字符串,而不是字符常量。

6.A

7.A本題考查按位與運(yùn)算,按位與就是相同為1,不同為0,把x=011050化成二進(jìn)制為0001001000101000,把01252化成二進(jìn)制為0000001010101010,兩者相與得0000001000101000。

8.B

9.A\n數(shù)據(jù)的共享自身又可極大地減少數(shù)據(jù)冗余性,不僅減少了不必要的存儲(chǔ)空間,更為重要的是可以避免數(shù)據(jù)的不一致性。所謂數(shù)據(jù)的一致性是指在系統(tǒng)中同一數(shù)據(jù)在不同位置出現(xiàn)時(shí)應(yīng)保持相同的值。

\n

10.C

11.D解析:A選項(xiàng),將f賦值為0,結(jié)果得到0,因?yàn)?乘任何數(shù)都為0;B選項(xiàng),i<n,計(jì)算的是(n-1)!,C選項(xiàng)將陷入死循環(huán)。

12.C解析:關(guān)系中每一個(gè)屬性都有一個(gè)取值范圍,稱為屬性的值域。每—個(gè)屬性對(duì)應(yīng)一個(gè)值域,不同屬性可對(duì)應(yīng)同一個(gè)值域。對(duì)應(yīng)同一值域的卻不一定是不同的屬性。屬性的值域用DOM(A)表示,A表示屬性的名稱。

13.Cmark為結(jié)構(gòu)體中的數(shù)組,不能直接賦值,所以C選項(xiàng)錯(cuò)誤。故本題答案為C選項(xiàng)。

14.A部門到職員是一對(duì)多的,職員到部門是多對(duì)一的,因此,實(shí)體部門和職員間的聯(lián)系是l:m聯(lián)系。

15.C

16.A

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

18.A

19.C解析:軟件開發(fā)模型包括瀑布模型、快速原型法模型和螺旋模型。

20.C

21.10.5

22.物理獨(dú)立性物理獨(dú)立性解析:邏輯獨(dú)立性是指,由于數(shù)據(jù)的局部邏輯結(jié)構(gòu)與總體邏輯結(jié)構(gòu)之間也由系統(tǒng)提供映像,使得當(dāng)總體邏輯結(jié)構(gòu)改變時(shí),其局部邏輯結(jié)構(gòu)叮以不變,從而根據(jù)局部邏輯結(jié)構(gòu)編寫的應(yīng)用程序也可以不必修改。物理獨(dú)立性是指,由于數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)與邏輯結(jié)構(gòu)之間山系統(tǒng)提供映像,使得當(dāng)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)改變時(shí),其邏輯結(jié)構(gòu)可以不變,所以,基于邏輯結(jié)構(gòu)的應(yīng)用程序不必修改。

23.&s1&s2

24.關(guān)系模型關(guān)系模型解析:數(shù)據(jù)庫(kù)管理系統(tǒng)是位于用戶與操作系統(tǒng)之間的一層系統(tǒng)管理軟件,是一種系統(tǒng)軟件,是用戶與數(shù)據(jù)庫(kù)之間的一個(gè)標(biāo)準(zhǔn)接口。其總是基于某種數(shù)據(jù)模型,可以分為層次模型、網(wǎng)狀模型和關(guān)系模型。

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

26.88解析:fabs函數(shù)功能是求x的絕對(duì)值,計(jì)算結(jié)果為double型。pow功能是計(jì)算x的y次方的值,計(jì)算結(jié)果同樣為double型。所以本題表達(dá)式相當(dāng)于2.0的3.0次方,結(jié)果為8.000000。

27.層次模型用樹型結(jié)構(gòu)表示實(shí)體類型及實(shí)體間聯(lián)系的數(shù)據(jù)模型稱為層次模型,用有向圖結(jié)構(gòu)表示實(shí)體類型及實(shí)體間聯(lián)系的數(shù)據(jù)模型稱為網(wǎng)狀模型,用二維表格結(jié)構(gòu)表示實(shí)體及其聯(lián)系的數(shù)據(jù)模型稱為關(guān)系模型。

28.字符串字符串解析:本題考查字符替換格式:#define標(biāo)識(shí)符字符串。

29.3232解析:while(表達(dá)式)的功能是:首先計(jì)算表達(dá)式的值.若為真,則執(zhí)行循環(huán)體語(yǔ)句,執(zhí)行完畢,再計(jì)算表達(dá)式的值.若仍為真,則重復(fù)執(zhí)行循環(huán)體語(yǔ)句,直到表達(dá)式的值為假,結(jié)束while語(yǔ)句的執(zhí)行,繼續(xù)執(zhí)行while語(yǔ)句后面的語(yǔ)句;i=0時(shí)滿足循環(huán)條件,也滿足if的條件,執(zhí)行語(yǔ)句得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é)束。

30.88解析:fabs函數(shù)功能是求x的絕對(duì)值,計(jì)算結(jié)果為double型。pow功能是計(jì)算x的y次方的值,計(jì)算結(jié)果同樣為double型。所以本題表達(dá)式相當(dāng)于2.0的3.0次方,結(jié)果為8.000000。

31.45994599解析:if語(yǔ)句只對(duì)緊跟其后的一條語(yǔ)句或語(yǔ)句塊產(chǎn)生作用。因此,題目中兩條if語(yǔ)句只有t=a;和t=b是if的子句。第1條if語(yǔ)句中b<a為假,所以跳過(guò)語(yǔ)句t=-a;,執(zhí)行a=c;c=t,a=5、b=4、c=99。第2條if語(yǔ)句的判斷條件a<c&&b<c為真,所以后面3條語(yǔ)句都被執(zhí)行,這3條語(yǔ)句構(gòu)成一次a和b的內(nèi)容交換。所以最后輸出的結(jié)果是:4599。

32.軟件質(zhì)量差軟件質(zhì)量差解析:大約在20世紀(jì)60年代末人們?cè)谟?jì)算機(jī)軟件的開發(fā)和維護(hù)過(guò)程中,遇到了一系列嚴(yán)重問(wèn)題,從而認(rèn)識(shí)到軟件危機(jī)的存在。軟件危機(jī)的核心問(wèn)題是軟件開發(fā)的質(zhì)量太差和軟件系統(tǒng)開發(fā)的效率太低。

33.軟件開發(fā)

34.252137252137解析:本題中先定義了整型變量a、b和c,然后分別給賦值a為25,b為八進(jìn)制的025,c為十六進(jìn)制0x25。然后調(diào)用pruntf()函數(shù)將a、b和c分別用十進(jìn)制輸出,且中間用空格隔開,八進(jìn)制025轉(zhuǎn)換為十進(jìn)制的值為21,十六進(jìn)制的0x25轉(zhuǎn)換為十進(jìn)制的值為37,故最后的輸出結(jié)果為252137。

35.字形字形

36.doublemax或externdoublemaxdoublemax或externdoublemax解析:main函數(shù)中調(diào)用了一個(gè)max函數(shù),而max函數(shù)是在調(diào)用之后定義的,所以要求填空的內(nèi)容應(yīng)該是對(duì)函數(shù)進(jìn)行聲明的語(yǔ)句。由max函數(shù)的定義可知此函數(shù)是double型的,因此空格處應(yīng)該填doublemax或externdoublemax。

37.1111解析:本題考核的知識(shí)點(diǎn)是printf()函數(shù)的輸出格式.本題中定義了一個(gè)整型變量i并賦初值為9,然后要求以八進(jìn)制輸出i的值,因?yàn)?的八進(jìn)制的表示為11,所以最后輸出的值為11。

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

39.25811142581114解析:本題通過(guò)while和if語(yǔ)句,求得出1~15之間與3取模為2的整數(shù),并依次輸出。

40.main()0a[j]=0count<25

41.B解析:程序中定義了數(shù)組a[10],則其元素的下標(biāo)范圍為0~9,而B選項(xiàng)中的a[10]所表示的元素已經(jīng)超出a數(shù)組元素的范圍,故應(yīng)該選擇B。

42.B解析:本題中,typedef聲明新的類型名PER來(lái)代替已有的類型名,PER代表上面指定的一個(gè)結(jié)構(gòu)體類型,此時(shí),也可以用PER來(lái)定義變量。

43.C解析:選項(xiàng)A)和選項(xiàng)B)在條件判斷語(yǔ)句的后面是空語(yǔ)句,什么都不做;在選項(xiàng)D)if后面是一個(gè)復(fù)合空語(yǔ)句;而在選項(xiàng)C)中,在x--后面少了一個(gè)分號(hào),所以程序段在編譯時(shí),會(huì)出現(xiàn)語(yǔ)法錯(cuò)誤。

44.A解析:函數(shù)getchar()的作用是從終端(或系統(tǒng)隱含的輸入沒備)輸入一個(gè)字符,且只能接收一個(gè)字符(回車符也算一個(gè)字符)。所以本題中c1被賦值字符a,c2被賦予回車符。

45.C

46.B解析:本題考查了二維數(shù)組元素的引用及基本概念。元素a[i][j]是數(shù)組a的第i+1行,j+1列位置上的元素。由于數(shù)組a有m列,所以a[i][j]之前還有i*m+j個(gè)元素。

47.B

48.B解析:程序中q->next=r,所以q->next->num即為r->num,值為3,而p->num=1,所以sum=3+1=4。

49.C解析:首先,getchar函數(shù)通過(guò)鍵盤讀入字符'a',即c='a',(其實(shí)c得到的是字符a的ASCII碼值),然后判斷if語(yǔ)句的控制條件,發(fā)現(xiàn)'a'>='a'&&'a'<='g'成立,則執(zhí)行下一步列的語(yǔ)句,c=c+4,c得到的是字符e的ASCII碼值,退出if語(yǔ)句,通過(guò)putchar函數(shù)輸出字符e。

50.B解析:a=b=c+2實(shí)際上相當(dāng)于a=(b=c+2),進(jìn)而可分解為兩個(gè)表達(dá)式:b=c+2和a=b。注意:選項(xiàng)A)中包含一個(gè)不合法的運(yùn)算符“:=”;選項(xiàng)C)應(yīng)改為(int)18.5%3;選項(xiàng)D)可理解為兩個(gè)表達(dá)式:a+7=c+b和a=a+7,其中第一個(gè)是錯(cuò)的,因?yàn)镃++語(yǔ)言規(guī)定賦值號(hào)的左邊只能是單個(gè)變量,不能是表達(dá)式或常量等。注意:C++語(yǔ)言賦值語(yǔ)句的運(yùn)用,

51.B解析:在C語(yǔ)言中,以0開頭表示八進(jìn)制數(shù),所以本題程序中010表示八進(jìn)制數(shù)10,相當(dāng)于十進(jìn)制數(shù)8。因此i的初值為8,經(jīng)++i后,i的值為9。變量j經(jīng)j--后,變?yōu)?0,由于自減運(yùn)算符在j的右側(cè),所以是先輸出j的值10后,再自減1。

52.B解析:C語(yǔ)言中字符串是以'\\0'字符結(jié)束的,且strlen()函數(shù)計(jì)算的是\\0字符前的所有字符的個(gè)數(shù)。本題中strlen(st)應(yīng)為5。數(shù)組定義以后系統(tǒng)就為其分配相應(yīng)大小的內(nèi)存空間,而不論其中有沒有內(nèi)容。sizeof()函數(shù)是計(jì)算變量或數(shù)組的所分配到的內(nèi)存空間的大小。所以本題的sizeof(st)為20。

53.D解析:本題考查邏輯運(yùn)算符的使用。當(dāng)“&&”的兩個(gè)運(yùn)算對(duì)象都是邏輯1時(shí),表達(dá)式才返回值是1;當(dāng)“‖”的兩個(gè)運(yùn)算對(duì)象至少有一個(gè)是邏輯1時(shí),表達(dá)式返回值是1。選項(xiàng)A)中,x和y都是邏輯1。所以返回值是1:選項(xiàng)B)中,x=4<=y=6為邏輯1,所以返回值是1;選項(xiàng)C)中,y+z的值等于14,非0,y-z的值為-2,非0,所以邏輯表達(dá)式4‖14&&-2的值不為0;選項(xiàng)D)中,x<y為1,!z為0,1&&0為1,0‖1為1,因此,!1為0。

54.D解析:第1次循環(huán),i=0,x=10,y=10,先輸出x=10,y=10,再執(zhí)行x--使得x變?yōu)?,其次再執(zhí)行y=++i(i加1后參與賦值)使得y變?yōu)?:第2次循環(huán),i=1,x=9,y=1,先輸出x=9,y=1,再執(zhí)行x--使得x變?yōu)?,其次再執(zhí)行y=++i(i加1后參與賦值)使得y變?yōu)?。x=8,不滿足x>8,循環(huán)結(jié)束。

55.A解析:typedef用來(lái)聲明新的類型名來(lái)代替已有的類型名,typedef只是對(duì)已經(jīng)存在的類型增加了一個(gè)類型名,原有類型名仍有效。typedef不能用來(lái)定義變量。

56.C解析:return語(yǔ)句中的表達(dá)式的值就是所求的函數(shù)值,此表達(dá)式值的類型必須與函數(shù)首部所說(shuō)明的類型一致。如果類型不一致,則以函數(shù)值的類型為準(zhǔn),由系統(tǒng)自動(dòng)進(jìn)行轉(zhuǎn)換。一個(gè)return語(yǔ)句只能返回一個(gè)值。

57.C解析:程序中由于n為整型,所以1/n的結(jié)果始終為0,故程序最后輸出的結(jié)果為0,其結(jié)果錯(cuò)誤,原因?yàn)樵诒磉_(dá)式1/n中1和n均為整型,所以應(yīng)該將1改為1.0,這樣表達(dá)式1.0/n的值不為0,為該數(shù)學(xué)表達(dá)式的值,因此我們可以知道導(dǎo)致程序運(yùn)行后輸出結(jié)果錯(cuò)誤的行為s=s+1/n。

58.A解析:本題定義了一個(gè)遞歸函數(shù)f()。當(dāng)傳入的參數(shù)n等于1或0時(shí)返回3,否則返回n-f(n-2)。所以f(10)=10-f(8)=10-(8—f(6))=10-8+(6-f(4))=10-8+6-(4-f(2))=10-8+6-4+(2-f(0))=10-8+6-4+2-3=3。故本題應(yīng)該選擇A。

59.C解析:C語(yǔ)言的語(yǔ)法規(guī)定:else子句總是與前面最近的不帶else的if相結(jié)合,與書寫格式無(wú)關(guān)。所以選項(xiàng)C)為正確答案。

60.B

61.C本題主要考查關(guān)鍵字typedef的作用和結(jié)構(gòu)體的初始化。C語(yǔ)言不僅提供了豐富的數(shù)據(jù)類型,而且還允許由用戶自己定義類型說(shuō)明符,也就是說(shuō),允許由用戶為已存在的數(shù)據(jù)類型名定義一個(gè)“別名”。類型定義符typedef即可用來(lái)完成此功能。說(shuō)明新類型名的語(yǔ)句一般形式為:

typedef類型名標(biāo)識(shí)符;

這里的“類型名”必須是在此語(yǔ)句之前已有定義的類型標(biāo)識(shí)符,可以是任何基本類型、結(jié)構(gòu)或聯(lián)合類型符號(hào)。

在本題中,通過(guò)題目中程序的定義可以知道,STD為該結(jié)構(gòu)體的類型,而不是結(jié)構(gòu)體變量,因此,STDtt[2]的聲明是正確的。

由于結(jié)構(gòu)體的第三個(gè)成員變量為雙精度型,而在選項(xiàng)A中,輸入與其對(duì)應(yīng)的值是整型,數(shù)據(jù)類型不匹配,因此不正確。

由于結(jié)構(gòu)體的第二個(gè)成員變量為字符型,而在選項(xiàng)B和選項(xiàng)D中,用雙引號(hào)引起,表示字符串,而不是單個(gè)字符,因此不正確。

在選項(xiàng)C中,雖然缺少

溫馨提示

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