2021-2022年湖南省岳陽(yáng)市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)_第1頁(yè)
2021-2022年湖南省岳陽(yáng)市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)_第2頁(yè)
2021-2022年湖南省岳陽(yáng)市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)_第3頁(yè)
2021-2022年湖南省岳陽(yáng)市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)_第4頁(yè)
2021-2022年湖南省岳陽(yáng)市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)_第5頁(yè)
已閱讀5頁(yè),還剩30頁(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)介

2021-2022年湖南省岳陽(yáng)市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.

2.針對(duì)二分查找算法,假設(shè)一個(gè)有序數(shù)組有136個(gè)元素,那么要查找到第10個(gè)元素,需要比較的元素為()

A.68,34,17,9,13,11,10

B.68,34,17,8,12,10

C.69,35,18,10

D.68,34,18,9,13,11,10

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

A.測(cè)試工作必須由程序編制者自己完成

B.測(cè)試用例和調(diào)試用例必須一致

C.一個(gè)程序經(jīng)調(diào)試改正錯(cuò)誤后,一般不必再進(jìn)行測(cè)試

D.上述三種說(shuō)法都不對(duì)

4.若有序表的關(guān)鍵字序列為(b,c,d,e,f,g,q,r,s,t),則在二分查找關(guān)鍵字b的過(guò)程中,先后進(jìn)行的關(guān)鍵字依次為()

A.f,c,BB.f,d,BC.g,c,BD.g,d,B

5.有以下程序:#include<stdio.h>voidfunc(intn){staticintnum=1);num=num+n;printf("%d",num);}main(){funo(3);func(4);printf("n");}程序運(yùn)行后的輸出結(jié)果是()。A.48B.34C.35D.45

6.對(duì)關(guān)系S和R進(jìn)行集合運(yùn)算,結(jié)果中既包含S中的所有元組也包含R中的所有元組,這樣的集合運(yùn)算稱(chēng)為()

A.并運(yùn)算B.交運(yùn)算C.差運(yùn)算D.積運(yùn)算

7.軟件按功能可以分為應(yīng)用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件)。下面屬于應(yīng)用軟件的是()。

A.學(xué)生成績(jī)管理系統(tǒng)B.C語(yǔ)言編譯程序C.UNIX操作系統(tǒng)D.數(shù)據(jù)庫(kù)管理系統(tǒng)

8.

9.設(shè)ch是char型變量,值為'A',則表達(dá)式ch=(ch>='A'&&ch<='Z')?ch+32:ch的值是()。

A.ZB.aC.zD.A

10.若有定義“inta,b,c;”以下程序段的輸出結(jié)果是()。a=11;b=3;c=0;printf(“%d\n”,c=(a/b,a%b));

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

11.以下程序執(zhí)行后sum的值是()。

A.15

B.14

C.不確定

D.0main(){inti,sum;for(i=1;i<6;i++)sum+=i;printf("%d\n",sum);}

12.軟件詳細(xì)設(shè)計(jì)產(chǎn)生的圖如圖所示。該圖是()。A.N—S圖B.PAD圖C.程序流程圖D.E—R圖

13.設(shè)某文件內(nèi)排序后得到100個(gè)初始?xì)w并段(初始順串),若使用多路歸并排序算法,且要求三趟歸并完成排序,問(wèn)歸并路數(shù)最少為()

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

14.已知inta=2,b=3;則執(zhí)行表達(dá)式a=a<b后,變量a的值為()。

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

15.下列標(biāo)識(shí)符不是關(guān)鍵字的是()。

A.breakB.charC.SwithchD.return

16.以下不能定義為用戶(hù)標(biāo)識(shí)符的是()。

A.scanfB.VoidC.3comD.int

17.

18.

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

A.對(duì)于double類(lèi)型數(shù)組,不可以直接用數(shù)組名對(duì)數(shù)組進(jìn)行整體輸入或輸出

B.數(shù)組名代表的是數(shù)組所占存儲(chǔ)區(qū)的首地址,其值不可改變

C.當(dāng)程序執(zhí)行中,數(shù)組元素的下標(biāo)超出所定義的下標(biāo)范圍時(shí),系統(tǒng)將給出“下標(biāo)越界”的出錯(cuò)信息

D.可以通過(guò)賦初值的方式確定數(shù)組元素的個(gè)數(shù)

20.擁有PC機(jī)并以撥號(hào)方式接入網(wǎng)絡(luò)的用戶(hù)需要配置()

A.CD-ROMB.ModemC.電話機(jī)D.鼠標(biāo)

二、2.填空題(20題)21.數(shù)據(jù)模型按不同的應(yīng)用層次分為三種類(lèi)型,它們是______數(shù)據(jù)模型、邏輯數(shù)據(jù)模型和物理數(shù)據(jù)模型。

22.類(lèi)是一個(gè)支持集成的抽象數(shù)據(jù)類(lèi)型,而對(duì)象是類(lèi)的【】。

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

#defineMAX3

inta[MAX];

main()

{fun1();{un2(A);printf("\n");}

funl()

{intk,t=0;

for(k=0;k<MAX;k++,t++)a[k]=t+t;

}

fun2(intb[])

{intk;

for(k=0;k<MAX;k++)printf("%d",*(b+k));

}

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

#include<string.h>

typedefstructstudent{

charname[10];

longsno);

floatscore

}STU;

main()

{STUa={"zhangsan",2001,95},b={"Shangxian",2002,90}

c={"Anhua",2003,95},d,*p=&d;

d=a;

if(strcmp(,)>0)d=b;

if(strcmp(,)>0)d=c;

printf("%1d%s\n",d.sno,p->name);

}

25.下列程序的輸出結(jié)果是16.00,請(qǐng)?zhí)羁眨?/p>

main()

{

inta=9,b=2;

floatx=【】,y=1.1,z;

z=a/2+b*x/y+1/2;

printf("%5.2f\n",z);

}

26.若有定義floatb[15],*p=b;,且數(shù)組b的首地址為200H,則p+13所指向的數(shù)組元素的地址為_(kāi)_____。

27.以下程序運(yùn)行結(jié)果是【】。

#include<stdio.h>

longfib(intg)

{switch(g)

{case0:return0;

case1:

case2:return1;}

return(fib(g-1)+fib(g-2));}

main()

{longk;

k=fib(5);

printf("k=%5ld\n",k);}

28.設(shè)在主函數(shù)中有以下定義和函數(shù)調(diào)用語(yǔ)句,且fun函數(shù)為void類(lèi)型;請(qǐng)寫(xiě)出fun函數(shù)的首部【】。要求形參名為b。

main()

{double[10][22];

intn;

......

fun(s);

}

29.在關(guān)系模型中,二維表的行稱(chēng)為_(kāi)_____。

30.以下程序的輸出是【】。

main()

{

charstr1[]=Howdoyoudo",*p=strl;

strcpy(str1+strlen(str1)\2"esshe");

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

}

31.設(shè)有以下定義和語(yǔ)句,則*(*(p+2)+1)的值為【】。

inta[3][2]={10,20,30,40,50,60},(*p)[2];

p=a;

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

main()

{

chara[]="Language",b[]="Programe";

char*p1,*p2;

intk;

p1=a;p2=b;

for(k=0;k<=7;k++)

if(*p1+k)==*{p2+k))

printf("%c",*(p1+k));

}

33.下面程序的功能是調(diào)用sub函數(shù)計(jì)算數(shù)組a中字符串的長(zhǎng)度,請(qǐng)?zhí)羁铡?/p>

sub(chars[])

{intn;

for(n=0;【】n++);

return【】;

}

main()

{char*a;intk;

gets(a);

【】

printf("%d",k);

34.與二維表中的“行”的概念最接近的概念是()。

35.面向?qū)ο蟮哪P椭?,最基本的概念是?duì)象和______。

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

main()

{inta=2,b=4,e=6;

int*p1=&a,*p2=&b,*p;

*(p=&c)=*p1*(*p2);

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

}

37.有以下程序:

intf(intn)

{if(n=1)return1;

elsereturnf(n-1)+1;}

main()

{inti,j=0;

for(i=1;i<3;i++)j+=f(i);

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

}

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

38.數(shù)據(jù)結(jié)構(gòu)分為線性結(jié)構(gòu)和非線性結(jié)構(gòu),線性表、棧和隊(duì)列都屬于【】。

39.棧和隊(duì)列通常采用的存儲(chǔ)結(jié)構(gòu)是【】。

40.有以下定義和語(yǔ)句,則sizeof(a)的值是【】,而sizeof(a.share)的值是【】。

structdate

{intday;

intmouth;

intyear;

union{intshare1;

floatshare2;

}share;

}a;

三、1.選擇題(20題)41.辦公自動(dòng)化(OA)是計(jì)算機(jī)的一項(xiàng)應(yīng)用,按計(jì)算機(jī)應(yīng)用的分類(lèi),它屬于()

A.數(shù)據(jù)處理B.科學(xué)計(jì)算C.實(shí)時(shí)控制D.輔助設(shè)計(jì)

42.有下列二叉樹(shù),對(duì)此二叉樹(shù)前序遍歷的結(jié)果為()。

A.ACFXDBEYZB.ABEFXYZCDC.ABCDEFXYZD.ABDYECFXZ

43.若有如下程序:main(){chara[3][5]={"name","age","sex"},n;for(n=0;n<3;n++)printf("%s\n",a[n]);}則程序執(zhí)行后的輸出結(jié)果是()。

A.nameagesexB.nameC.nameD.nameagexexgeagesexxsex

44.以下程序執(zhí)行后sum的值是()。

A.15

B.14

C.不確定

D.0main(){inti,sum;for(i=1;i<6;i++)sum+=i;printf("%d\n",sum);}

45.在位運(yùn)算中,操作數(shù)每右移兩位,其結(jié)果相當(dāng)于()。

A.操作數(shù)乘以2B.操作數(shù)除以2C.操作數(shù)除以4D.操作數(shù)乘以4

46.函數(shù)調(diào)用strcat(strcpy(str1,str2),str3)的功能是()。

A.將字符串str1復(fù)制到字符串str2中后再連接到字符串str3之后

B.將字符串str1連接到字符串str2之后再?gòu)?fù)制到字符串str3之后

C.將字符串str2復(fù)制到字符串str1中后再將字符串str3連接到字符串str1之后

D.將字符串str2連接到字符串str1之后再將字符串str1復(fù)制到字符串str3中

47.算法的時(shí)間復(fù)雜度是指()。

A.算法的長(zhǎng)度tB.執(zhí)行算法所需要的時(shí)間C.算法中的指令條數(shù)D.算法執(zhí)行過(guò)程中所需要的基本運(yùn)算次數(shù)

48.在一棵二叉樹(shù)上,第5層的結(jié)點(diǎn)數(shù)最多是()A.8B.9C.15D.16

49.以下函數(shù)值的類(lèi)型是_______。fun(floatx){floaty;y=3*x-4;returny;}

A.intB.不確定C.voidD.float

50.運(yùn)行以下程序后,如果從鍵盤(pán)上輸入6514<回車(chē)>,則輸出結(jié)果為_(kāi)_____。main(){intm,n;printf("Enterm,n:");scanf("%d%d",&m,&n);while(m!=n){while(m>n)m-=n;while(n>m)n-=m;}printf("m=%d\n",m);}

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

51.下列程序的輸出結(jié)果是#include"stdio.h"#defineM(x,y)x%ymain(){inta,m=12,n=100;a=M(n,m);printf("%d\n",a--);}

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

52.下列程序的輸出結(jié)果是()。#include<stdio.h>intf(inta,intb);main(){inti=2,p,j,k;j=i;k=++i;p=f(j,k);printf("%d",p);}intf(inta,intb){intc;if(a>b)c=1;elseif(a==b)c=0;elsec=-1;return(c);}

A.-1B.1C.2D.編譯出錯(cuò),無(wú)法運(yùn)行

53.有以下程序:#include<stdio.h>intfun(int*k){intb=0;b=*k+b:return(B);}main(){inta[10]={1,2,3,4,5,6,7,8},i;for(i=2;i<4;i++){printf("%d",fun(&a[i]));}printf("\n");}程序運(yùn)行后的輸出結(jié)果是()。

A.1012B.810C.34D.1028

54.設(shè)已執(zhí)行預(yù)編譯命令#include<string.h>,以下程序段的輸出結(jié)果是()。chars[]="anapple";printf("%d\n",strlen(s));

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

55.設(shè)有以下程序段intx=0,s=0;while(!x!=0)s+=++x;printf("%d",s);則

A.運(yùn)行程序段后輸出0B.運(yùn)行程序段后輸出1C.程序段中的控制表達(dá)式是非法的D.程序段執(zhí)行無(wú)限次

56.下列關(guān)于棧的敘述正確的是()。

A.在棧中只能插入數(shù)據(jù)B.在棧中只能刪除數(shù)據(jù)C.棧是先進(jìn)先出的線性表D.棧是先進(jìn)后出的線性表

57.下列選項(xiàng)中正確的語(yǔ)句是()。

A.chars[8];s={"Beijng"};

B.char*s;s={"Beijng"};

C.chars[8];s="Beijing";

D.char*s;s="Beijing';

58.若變量a,b已正確定義,且b已正確賦值,則合法的語(yǔ)句是()。

A.b=double(b);B.++b;C.a=a++=5;D.a=double(b);

59.請(qǐng)讀程序:#include<stdio.h>inta[]={2,4,6,8};main(){inti;int*p=a;for(i=0;i<4;i++)a[i]=*p++;printf("%d\n”,a[2]);}上面程序的輸出結(jié)果是()

A.6B.8C.4D.2

60.以下有四組用戶(hù)標(biāo)識(shí)符,其中合法的一組是()

A.For-subCase

B.4dDOSize

C.f2_G3IFabc

D.WORDvoiddefine

四、選擇題(20題)61.以下程序的輸出結(jié)果是()。

main

{char*s="12134211";

intv[4]=(0,0,0,0),k,i;

for(k=0;s[k];k++)

{switch(s[k])

{case'1':i=0;

case'2':i=1;

case'3':i=2;

case'4':i=3;}

}

v[i]++:

}

for(k=0;k<4;k++)printf("%d",v[k]);A.A.4211B.0008C.4678D.8888

62.有以下程序:

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

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

63.以下程序中調(diào)用scanf函數(shù)給變量a輸入數(shù)值的方法是錯(cuò)誤的,其錯(cuò)誤原因是main(){int*p,*q,a,b;p=&a;printf("inputa:");scanf("%d",*p);}

A.*p表示的是指針變量p的地址

B.*p表示的是變量a的值,而不是變量a的地址

C.*p表示的是指針變量p的值

D.*p只能用來(lái)說(shuō)明p是一個(gè)指針變量

64.有以下程序:

i

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

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

65.若有定義“intb[8],*p=b;”,則p+6表示()。

A.數(shù)組元素b[6]的值B.數(shù)組元素b[6]的地址C.數(shù)組元素b[7]的地址D.數(shù)組元素b[o]的值加上6

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

#include"string.h"

fun(char*w,intn)

{chart,*s1,*s2;

s1=w;s2=w+n-1;

while(s1<s2)

{t=*s1++;

*s1=*s2--;

*s2=t;

}

}

main()

{staticcharp[]="1234567";

fun(p,strlen(p));

printf("%s",p);

}

A.7654321B.1717171

C.7171717D.1711717

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

A.可以用關(guān)系運(yùn)算符比較字符串的大小

B.空字符串不占用內(nèi)存,其內(nèi)存空間大小是0

C.兩個(gè)連續(xù)的單引號(hào)是合法的字符常量

D.兩個(gè)連續(xù)的雙引號(hào)是合法的字符串常量

68.在軟件開(kāi)發(fā)中,需求分析階段可以使用的工具是()。

A.N—s圖B.DFD圖C.PAD圖D.程序流程圖

69.

70.以下程序的輸出結(jié)果是()。main{inta=3:printf("%d\n",(a+a-=a*a));}A.-6B.12C.0D.-12

71.對(duì)線性表進(jìn)行二分法檢索,其前提條件是()。

A.線性表以順序方式存儲(chǔ),并按關(guān)鍵碼值排好序

B.線性表以順序方式存儲(chǔ),并按關(guān)鍵碼的檢索頻率排好序

C.線性表以鏈?zhǔn)椒绞酱鎯?chǔ),并按關(guān)鍵碼值排好序

D.線性表以鏈?zhǔn)椒绞酱鎯?chǔ),并按關(guān)鍵碼的檢索頻率排好序

72.

73.(53)已知二叉樹(shù)后序遍歷序列是dabec,中序遍歷序列是debac,它的前序遍歷序列是()

A.cedba

B.acbed

C.decab

D.deabc

74.有以下程序:

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

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

75.

76.若輸入“abcdef”“abdef”,下述程序的輸出結(jié)果為()。#include#includemain{intn;chars1[20],s2[20],*p1,*p2;scanf("%s",s1);scanf("%S",s2);p1=s1;p2=s2;n=strcmp(p1,p2);printf("Vood\n",n);}A.A.-1B.0C."abcdef"D."abdef"

77.若有定義語(yǔ)句:

則strlen(s)的值是()。

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

78.

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

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

80.有以下程序:

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

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

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)fun的功能是:求兩個(gè)非零正整數(shù)的最大公約數(shù),并作為函數(shù)值返回。例如,若nmnl和num2分別為49和21,則輸出的最大公約數(shù)為7;若num1和num2分別為27和81,則輸也的最大公約數(shù)為27。請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確結(jié)果。注意:不要改動(dòng)main函數(shù),不得增行或硼行,也不得更改程序的結(jié)構(gòu)!試題程序:

六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫(xiě)函數(shù)proc(),該函數(shù)的功能是:將M行N列的二維數(shù)組中的數(shù)據(jù),按行的順序依次放到一維數(shù)組中,一維數(shù)組中數(shù)據(jù)的個(gè)數(shù)存放在形參n所指的存儲(chǔ)單元中。例如,若二維數(shù)組中的數(shù)據(jù)為:132333431424344415253545則一維數(shù)組中的內(nèi)容應(yīng)該是132333431424344415253545。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。試題程序:

參考答案

1.C

2.B

3.D解析:測(cè)試不是為了證明程序是正確的,而是在設(shè)想程序有錯(cuò)誤的前提下進(jìn)行的,其目的是設(shè)法暴露程序中的錯(cuò)誤和缺陷,一般應(yīng)當(dāng)避免由開(kāi)發(fā)者測(cè)試自己的程序,因此,選項(xiàng)A錯(cuò)誤;測(cè)試是為了發(fā)現(xiàn)程序錯(cuò)誤,不能證明程序的正確性,調(diào)試主要是推斷錯(cuò)誤的原因,從而進(jìn)一步改正錯(cuò)誤,調(diào)試用例與測(cè)試用例可以一致,也可以不一致,選項(xiàng)B錯(cuò)誤;測(cè)試發(fā)現(xiàn)錯(cuò)誤后,可進(jìn)行調(diào)試并改正錯(cuò)誤:經(jīng)過(guò)調(diào)試后的程序還需進(jìn)行回歸測(cè)試,以檢查調(diào)試的效果,同時(shí)也可防止在調(diào)試過(guò)程中引進(jìn)新的錯(cuò)誤,選項(xiàng)C錯(cuò)誤。

4.A

5.A第一調(diào)用func函數(shù)時(shí)輸出4,第二次調(diào)用func函數(shù)時(shí)num的值并不會(huì)釋放,仍然是上次修改后的值4,第二次調(diào)用結(jié)果為8,所以輸出結(jié)果是48。

6.AA)【解析】關(guān)系的并運(yùn)算是指由結(jié)構(gòu)相同的兩個(gè)關(guān)系合并,形成一個(gè)新的關(guān)系,新關(guān)系中包含兩個(gè)關(guān)系中的所有元組。

7.A

8.D

9.B

10.AC語(yǔ)言中,逗號(hào)運(yùn)算符可以把兩個(gè)以上(包含兩個(gè))的表達(dá)式連接成一個(gè)表達(dá)式。逗號(hào)運(yùn)算符的優(yōu)先級(jí)是所有運(yùn)算符中級(jí)別最低的,逗號(hào)運(yùn)算符保證左邊的子表達(dá)式運(yùn)算結(jié)束后才進(jìn)行右邊的子表達(dá)式的運(yùn)算。也就是說(shuō),逗號(hào)運(yùn)算符是一個(gè)序列點(diǎn),其左邊所有子表達(dá)式運(yùn)算都結(jié)束后,才對(duì)其右邊的子表達(dá)式進(jìn)行運(yùn)算,并以最右邊表達(dá)式的值作為整個(gè)逗號(hào)表達(dá)式的值。因此c的值為“a%b”,即“11%3=2”。故本題答案為A選項(xiàng)。

11.C解析:C語(yǔ)言中,如果對(duì)定義的變量沒(méi)有賦初值,那么在后面使用時(shí),變量的值是不確定的。所以,本程序中,沒(méi)有對(duì)sum賦初值,它的值不確定。在執(zhí)行了for循環(huán)語(yǔ)句后,sum的值也不確定的,所以,4個(gè)選項(xiàng)中選項(xiàng)C符合題意。

12.CN-S圖(也被稱(chēng)為盒圖或CHAPIN圖)、PAD(問(wèn)題分析圖)及PFD(程序流程圖)是詳細(xì)設(shè)計(jì)階段的常用工具。E—R圖即實(shí)體一聯(lián)系圖,是數(shù)據(jù)庫(kù)設(shè)計(jì)的常用工具。從題中圖可以看出該圖屬于程序流程圖。

13.A

14.B解析:先計(jì)算關(guān)系表達(dá)式a<b=2<3為真(表達(dá)式為真時(shí),如果變量為int型變量則真用1表示,假用0表示),即a=1。

15.C在C語(yǔ)言中,字母區(qū)分大小,所以break、char、return、switch都是C語(yǔ)言中的關(guān)鍵字,而Swithch不是。

16.D解析:標(biāo)識(shí)符是C語(yǔ)言中用來(lái)表示變量名、數(shù)組名、函數(shù)名、指針名、結(jié)構(gòu)名、聯(lián)合名、枚舉常數(shù)名、用戶(hù)定義的數(shù)據(jù)類(lèi)型名、語(yǔ)句標(biāo)號(hào)等用途的字符序列。標(biāo)識(shí)符由1~32個(gè)字符組成,第一個(gè)字符必須是字母或下劃線,后面的字符可以是字母、數(shù)字或下劃線。標(biāo)識(shí)符不能與C關(guān)鍵字相同,并區(qū)分大小寫(xiě)。選項(xiàng)D)錯(cuò)誤,因?yàn)閕nt是C語(yǔ)言中的關(guān)鍵字。

17.C

18.B

19.C解析:在C語(yǔ)言中,除字符數(shù)組外,一個(gè)數(shù)組不能通過(guò)數(shù)組名對(duì)數(shù)姐進(jìn)行整體引用,因此選項(xiàng)A是對(duì)的。數(shù)組名中存放的是一個(gè)地址常量,它代表整個(gè)數(shù)組的首地址,因此選項(xiàng)B是對(duì)的。C語(yǔ)言程序在運(yùn)行過(guò)程中,系統(tǒng)不自動(dòng)檢驗(yàn)數(shù)組元素的下標(biāo)是否越界,因此選項(xiàng)C是錯(cuò)誤的。C語(yǔ)官規(guī)定可以通過(guò)賦初值來(lái)定義數(shù)組的大小,這時(shí)數(shù)組說(shuō)明符的一對(duì)方括號(hào)中可以不指定數(shù)組的大小,因此選項(xiàng)D也是正確的。所以,4個(gè)選項(xiàng)中選項(xiàng)C符合題意。

20.B

21.概念概念

22.實(shí)例將屬性、操作相似的對(duì)象歸為類(lèi),也就是說(shuō),類(lèi)是具有共同屬性、共同方法的對(duì)象的集合。所以,類(lèi)是對(duì)象的抽象,對(duì)象則是其對(duì)應(yīng)類(lèi)的一個(gè)實(shí)例。

23.24

24.2002shangxian2002shangxian解析:\'B\'的ASCII值是66。本題中指針變量p指向d,執(zhí)行第一個(gè)if語(yǔ)句時(shí),條件成立,d=b;執(zhí)行第二個(gè)if語(yǔ)句時(shí),條件不成立,故d=b,所以d.sno=2002,p->name'Shangxian'。

解析:本題,已知結(jié)果z=16.00,即16.0=a/2+b*x/y+1/2,分別把a(bǔ)、b,代入,得到16.0=9/2+2*x/1.1+1/2。因?yàn)閍=9,a是整型,所以9/2的值在沒(méi)有進(jìn)行類(lèi)型轉(zhuǎn)換時(shí),等于4,1/2同理,等于0。代入求一元一次方程,很容易就可以得出x=6.6。

26.252H252H解析:要解答本題,首先要明白在對(duì)指針進(jìn)行加,減運(yùn)算時(shí),數(shù)字“1”不是十進(jìn)制數(shù)的“1”,而是指“1”個(gè)存儲(chǔ)單元長(zhǎng)度。1個(gè)存儲(chǔ)單元長(zhǎng)度占存儲(chǔ)空間的多少,應(yīng)該視具體情況而定,如果存儲(chǔ)單元的基類(lèi)型是血型,則移動(dòng)1個(gè)存儲(chǔ)單元的長(zhǎng)度就是位移2個(gè)字節(jié);如果存儲(chǔ)單元基類(lèi)型是float型,則移動(dòng)1個(gè)存儲(chǔ)單元的長(zhǎng)度就是位移4個(gè)字節(jié)。所以p+13所指向的數(shù)組元素的地址為:200H+(13*4)H=252H。

27.k=5k=5解析:本題主要考查了函數(shù)的遞歸調(diào)用方法。g=0或g=1或g=2是遞歸的終止條件,然后用回代的方法從一個(gè)已知值推出下一個(gè)值,直到計(jì)算出最終結(jié)果。

28.voidfun(doubleb[10][22])voidfun(doubleb[10][22])解析:本題答案:voidfun(doubleb[10][22])。

29.元組元組解析:在關(guān)系型數(shù)據(jù)庫(kù)中,用二維表來(lái)表示關(guān)系,二維表的表名即關(guān)系名,二維表的行稱(chēng)為關(guān)系的元組,二維表的列,稱(chēng)為關(guān)系的屬性。

30.HowdoessheHowdoesshe解析:strcpy(strl,sl):字符串拷貝函數(shù),作用是將字符串sl拷貝到字符數(shù)組strl中去。strlen(str):測(cè)試字符串str的長(zhǎng)度,函數(shù)的值為字符串中實(shí)際長(zhǎng)度,不包括‘\\0’在內(nèi)。本題中strlen(strl)的值為13,則strcpy(strl+strlen(strl)/2'esshe')相當(dāng)于strcpy(strl+6'esshe');,因此可得答案為Howdoesshe。

31.6060解析:程序中定義a是一個(gè)3行2列的二維數(shù)組,p是指向兩個(gè)元素的一維數(shù)組指針,并讓p指向二維數(shù)組a的首行。則代碼*(*(p+2)+1)中的p+2指向二維數(shù)組a的第三行a[2],*(p+2)指向a[2[]0],*(p+2)+1指向a[2][1],*(*(p+2)+1)是引用a[2][1],其值是60。

32.gaegae解析:主函數(shù)中定義了字符數(shù)組a和b,其初值分別為L(zhǎng)anguage和Programe,然后定義了兩個(gè)指針變量p1和p2,并讓它們指向a和b。通過(guò)分析可知下面的for循環(huán)中,每循環(huán)一次就將pl+k和p2+k所指向的字符進(jìn)行比較,如果相等,輸出該字符,循環(huán)共執(zhí)行8次,顯然Language和Programe中只有字符gae相等,所以最后輸出為gae。

33.s[n]!='\0';或s[n];nk=sub(a);s[n]!='\\0';或s[n];\r\nn\r\nk=sub(a);解析:函數(shù)sub()通過(guò)for循環(huán)計(jì)算字符串的長(zhǎng)度,當(dāng)字符串沒(méi)有結(jié)束時(shí)循環(huán),因此判斷循環(huán)與否的條件是看字符串是否結(jié)束。故第1空應(yīng)該填寫(xiě)s[n];或其他等價(jià)表達(dá)式。循環(huán)結(jié)束返回字符串長(zhǎng)度值,循環(huán)變量n中累計(jì)了循環(huán)的次數(shù)即字符串的長(zhǎng)度,故第2空應(yīng)該填n。主函數(shù)中的空白處應(yīng)該是一條調(diào)用函數(shù)sub()的語(yǔ)句,將字符串的首地址作為實(shí)參傳遞給形參,并將返回值賦值給變量k。故第3空應(yīng)該填k=sub(a);。

34.元組元組解析:在關(guān)系模型中,數(shù)據(jù)結(jié)構(gòu)用單一的二維表結(jié)構(gòu)來(lái)表示實(shí)體及實(shí)體間的聯(lián)系。一個(gè)關(guān)系對(duì)應(yīng)一個(gè)二維表。二維表中的列稱(chēng)為屬性,屬性值的取值范圍稱(chēng)為值域。二維表中的一行稱(chēng)為一個(gè)元組。

35.類(lèi)類(lèi)

36.88解析:本程序定義了3個(gè)指針變量p1、p2、p,并且將a、b的地址分別賦給p1、p2,則*p1=a=2,*p2=b=4,所以表達(dá)式*p1*(*p2)的值是8。在賦值語(yǔ)句的左邊是*(p=&c),即使指針p指向了變量c,因而*(P)代表了c的存儲(chǔ)單元,賦值語(yǔ)句“*(p=&c)=*p1*(*p2);”是把整數(shù)8賦給了變量c。

37.33解析:i=1時(shí),f(1)=1,j=j+f(1)=0+1=1;i=2時(shí),f(2)=f(1)+1=1+1=2,j=j+f(2)=1+3=3;此時(shí)循環(huán)結(jié)束,程序運(yùn)行后的輸出結(jié)果是3。

38.線性結(jié)構(gòu)線性結(jié)構(gòu)解析:本題考查了數(shù)據(jù)結(jié)構(gòu)的基本概念。與棧類(lèi)似,隊(duì)列也是線性表,可以采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),所以帶鏈的隊(duì)列屬于線性結(jié)構(gòu)。

39.鏈?zhǔn)酱鎯?chǔ)和順序存儲(chǔ)鏈?zhǔn)酱鎯?chǔ)和順序存儲(chǔ)

40.10410\r\n4解析:結(jié)構(gòu)體變量所占內(nèi)存長(zhǎng)度是各成員占的內(nèi)存長(zhǎng)度之和。每個(gè)成員分別占有其自己的內(nèi)存單元。int占2個(gè)字節(jié),float占4個(gè)字節(jié),共用體變量所占的內(nèi)存長(zhǎng)度等于最長(zhǎng)的成員的長(zhǎng)度。所以,sizeof(a.share)的值是4,sizeof(a)的值是2+2+2+4=10。

41.A

42.D解析:對(duì)二叉樹(shù)的前序遍歷是指:先訪問(wèn)根結(jié)點(diǎn),然后訪問(wèn)左子樹(shù),最后訪問(wèn)右于樹(shù),并且,在訪問(wèn)左、右子樹(shù)時(shí),先訪問(wèn)根結(jié)點(diǎn),再依次訪問(wèn)其左、右子樹(shù)。記住3種遍歷的順序:①前序,訪問(wèn)根一按前序遍歷左子樹(shù)一按前序遍歷右子樹(shù):②中序,按中序遍歷左子樹(shù)一訪問(wèn)根一按中序遍歷右子樹(shù);③后序,按后序遍歷左子樹(shù)呻按后序遍歷右子樹(shù)一訪問(wèn)根。

43.C解析:a[3][5]是一個(gè)二維數(shù)組,它也可以看成是一個(gè)有3個(gè)元素的一維數(shù)組a[0]、a[1]、a[2],同時(shí)這3個(gè)元素也是一維數(shù)組,分別保存字符串“name”、“age”、“sex”。for循環(huán)循環(huán)3次,輸出3個(gè)字筘串“name”、“age”、“sex”。所以,C選項(xiàng)為所選。

44.C解析:C語(yǔ)言中,如果對(duì)定義的變量沒(méi)有賦初值,那么在后面使用時(shí),變量的值是不確定的。所以,本程序中,沒(méi)有對(duì)sum賦初值,它的值不確定。在執(zhí)行了for循環(huán)語(yǔ)句后,sum的值也不確定的,所以,4個(gè)選項(xiàng)中選項(xiàng)C符合題意。

45.C解析:在位運(yùn)算中,操作數(shù)每右移兩位,相當(dāng)于在操作數(shù)的左側(cè)添0,最右面的兩位被移出,即操作數(shù)除以4。

46.C解析:strcat(s1,s2)是把s2字符串連接到s1字符串末尾,strcpy(s1,s2)是把s2字符串復(fù)制給s1字符串,要保證s1能容納下連接或復(fù)制后的字符串。

47.D解析:算法的時(shí)間復(fù)雜度,是指執(zhí)行算法所需要的工作量,可以用算法在執(zhí)行過(guò)程中所需基本運(yùn)算的執(zhí)行次數(shù)來(lái)度量算法的工作量。

48.DD)根據(jù)二叉樹(shù)的性質(zhì):二叉樹(shù)第i(i≥1)層上至多多有2i-1個(gè)結(jié)點(diǎn)。得到第5層的結(jié)點(diǎn)數(shù)最多是16個(gè)。

49.A解析:函數(shù)定義時(shí)如果數(shù)據(jù)類(lèi)型默認(rèn),則默認(rèn)為int。函數(shù)中如果有“retum(表達(dá)式):”語(yǔ)句,表達(dá)式的類(lèi)型可能與函數(shù)的類(lèi)型不一致,但它并不能改變函數(shù)的類(lèi)型,實(shí)際情況是把表達(dá)式轉(zhuǎn)換為函數(shù)值的類(lèi)型作為返回值,因此本題的函數(shù)值類(lèi)型是int。

50.C解析:分析程序可知,該程序?qū)崿F(xiàn)的功能是對(duì)數(shù)m,n求其最大公約數(shù)。在本題中m與n的值分別為65與14,其最大公約數(shù)為1,故其輸出結(jié)果為m=1。

51.C解析:帶參數(shù)的宏定義命令行形式如下:

#define宏名(形參表)替換文本

在編譯的時(shí)候編譯預(yù)處理程序用“替換文本”來(lái)替換宏,即M(n,m)被替換為n%m,之后計(jì)算,將計(jì)算的結(jié)果賦給a。注意,宏替換是在編譯時(shí)由預(yù)處理程序完成的,宏替換不占用運(yùn)行的時(shí)間,而函數(shù)調(diào)用是在程序運(yùn)行時(shí)進(jìn)行的,在函數(shù)的調(diào)用過(guò)程中需要占用一系列的處理時(shí)間。

52.A解析:函數(shù)調(diào)用相當(dāng)于f(2,3),程序運(yùn)算結(jié)果為-1。

53.C

54.B解析:如果一個(gè)字符數(shù)組中存放一個(gè)字符串,則函數(shù)strlen的值為“\\0”之前的全部字符個(gè)數(shù),也包括空格在內(nèi)。注意:字符串處理函數(shù)的使用。

55.B解析:本題考查while語(yǔ)句的使用。本題考查邏輯非運(yùn)算符和不等于運(yùn)算符的區(qū)別,邏輯非運(yùn)算符'!'的優(yōu)先級(jí)大于不等于運(yùn)算符'!='的優(yōu)先級(jí)。

56.D解析:棧是一種特殊的線性表,其插入與刪除運(yùn)算都只性表的一端進(jìn)行。在這種線性表的結(jié)構(gòu)中,一端封閉,不允許插入與刪除元素;另一端開(kāi)口,允許插入與刪除元素。在棧中不僅能插入數(shù)據(jù),也能刪除數(shù)據(jù),選項(xiàng)A與選項(xiàng)B都錯(cuò)。棧是后進(jìn)先出的線性表,而不是先進(jìn)先出的線性表,選項(xiàng)C的說(shuō)法錯(cuò)誤,選項(xiàng)D正確。

57.D解析:用字符串常量給數(shù)組賦值的形式有“chars[8]={'Beijng'};”或“chars[8]='Beijing'”,而沒(méi)有選項(xiàng)A中的形式。選項(xiàng)C中的s是數(shù)組名為地址常量,不能被賦新值。選項(xiàng)D中s被定義為指針變量,s='Beijng'并不是把字符串的內(nèi)容放入s中,而是把字符串在內(nèi)存中的首地址賦值給s,故選項(xiàng)D正確,而選項(xiàng)B中的形式不存在。

58.B解析:要解答此題只要知道兩個(gè)知識(shí)點(diǎn):①在C語(yǔ)言中規(guī)定進(jìn)行強(qiáng)制類(lèi)型轉(zhuǎn)換的格式是:(double)變量名;②在C語(yǔ)言中不允許給表達(dá)式賦值。

59.A

60.C

61.B本題考查switch,case語(yǔ)句,當(dāng)k=0時(shí),循環(huán)體成立,執(zhí)行switch后表達(dá)式的值為'1',執(zhí)行case'1',i的值為0,因?yàn)闆](méi)有break語(yǔ)句,繼續(xù)執(zhí)行其后的語(yǔ)句,到最后一個(gè)語(yǔ)句時(shí)i的值為3,此時(shí)v[i]++,v[3]=1,接著執(zhí)行k++后,k的值為1,當(dāng)k=1時(shí),循環(huán)成立。執(zhí)行switch后的表達(dá)式的值為'2',執(zhí)行case'2',i的值為1,因?yàn)闆](méi)有break語(yǔ)句,繼續(xù)執(zhí)行其后的語(yǔ)句,到最后一小語(yǔ)句時(shí),i的值為3,此時(shí)v[i]++,v[3]=2,接著執(zhí)行k++后,k的值為2,依次下去,case'4'也會(huì)執(zhí)行,最后i的值一定為3,到v[3]=8時(shí)循環(huán)結(jié)束,而v[0]~v[2]的值一直沒(méi)有變化,故選擇B選項(xiàng)。

62.B第一次執(zhí)行外循環(huán)i的值為1,滿(mǎn)足條件,判斷第一次內(nèi)循環(huán),j的值為3,不滿(mǎn)足條件,跳出內(nèi)循環(huán)。第二次執(zhí)行外循環(huán)i的值為2,同理也不滿(mǎn)足內(nèi)循環(huán)條件,跳出內(nèi)循環(huán)。第三次執(zhí)行外循環(huán)i的值為3,此時(shí)進(jìn)入內(nèi)循環(huán)判斷條件時(shí),條件成立,執(zhí)行m=m%j,m的值為1,跳出內(nèi)循環(huán),跳出外循環(huán)打印m的值。

63.B在本題中,題目告訴我們程序中調(diào)用scanf函數(shù)給變量a輸入數(shù)值的方法是錯(cuò)誤的,要求我們找出其錯(cuò)誤的原因,這是一類(lèi)錯(cuò)誤原因分析題。

在本題程序中,首先

溫馨提示

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