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頁,還剩100頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

2021年黑龍江省綏化市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.下列程序的輸出結(jié)果是()。#include<stdio.h>main{inta=0,i;for(i=1;i<5;i++){switch(i){case0:case3:a+=1;case1;case2:a+=2;default:a+=3;}}printf("%d",a);}A.19B.1C.6D.8

2.

3.樹最適合用來表示()。

A.有序數(shù)據(jù)元素B.無序數(shù)據(jù)元素C.元素之間具有分支層次關(guān)系的數(shù)據(jù)D.元素之間無聯(lián)系的數(shù)據(jù)

4.給出以下定義:charx[]="abcdefg";chary[]={'a','b','c','d','e','f','g'};則正確的敘述為()。

A.數(shù)組x和數(shù)組y等價(jià)B.數(shù)組x和數(shù)組y的長度相同C.數(shù)組x的長度大于數(shù)組y的長度D.數(shù)組x的長度小于數(shù)組y的長度

5.線性表是具有n個(gè)()的有限序列。

A.表元素B.字符C.數(shù)據(jù)元素D.數(shù)據(jù)項(xiàng)

6.

7.有以下程序段charch;intk;ch='a';k=12;printf("%c,%d,",ch,ch,k);printf("k=%d\n",k);已知字符a的ASCII十進(jìn)制代碼為97,則執(zhí)行上述程序段后輸出結(jié)果是()。A.因變量類型與格式描述符的類型不匹配輸出無定值

B.輸出項(xiàng)與格式描述符個(gè)數(shù)不符,輸出為零值或不定值

C.a,97,12k=12

D.a,97,k=12

8.一個(gè)遞歸的定義可以用遞歸過程求解,也可以用非遞歸過程求解,但單從運(yùn)行時(shí)間來看,通常遞歸過程比非遞歸過程()。

A.較快B.較慢C.相同D.無法確定

9.設(shè)S為一個(gè)長度為n的字符串,其中的字符各不相同,則S中的互異的非平凡子串(非空且不同于S本身)的個(gè)數(shù)為()。

A.2n-1B.n2C.(n2/2)+(n/2)D.(n2/2)+(n/2)-1

10.對(duì)于移動(dòng)平均算法,是計(jì)算某變量之前n個(gè)數(shù)值的算術(shù)平均,正確的說法是()

A.空間復(fù)雜度是O(1)B.空間復(fù)雜度是O(n)C.空間復(fù)雜度是O(logn)D.空間復(fù)雜度是O(nlogn)

11.若有以下程序:inta=1,b=2;a=a^b;b=b^a;則執(zhí)行以上語句后a和b的值分別是()。A.a=1,b=2B.a=3,b=lC.a=3,b=2D.a=2,b=l

12.C語言提供的合法關(guān)鍵字是()

A.switchB.cherC.caseD.default

13.有以下函數(shù):charfun(char*p){returnP;}該函數(shù)的返回值是()。A.無確切的值B.形參p中存放的地址值C.一個(gè)臨時(shí)存儲(chǔ)單元的地址D.形參p自身的地址值

14.定義結(jié)構(gòu)體數(shù)組:structstu{intnum;charnameE20];}X[5]={1,"LI",2,"ZHAO",3,"WANG",4,"ZHANG",5,"LIU");for(i=1;i<5;i++)printf("%d%c",x[i].num,x[i].name[2]);以上程序段的輸出結(jié)果為()。A.2A3N4A5UB.112A3H4IC.1A2N3A4UD.2H3A4H5I

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

A.54321

B.12345

C.12345

D.543210main(){intw=5;fun(w);printf("\n");}fun(intk){if(k>0)fun(k-1);printf("%d"",k);}

16.下列關(guān)于邏輯運(yùn)算符兩側(cè)運(yùn)算對(duì)象的敘述中正確的是()。

A.只能是整數(shù)0或1B.只能是整數(shù)0或非0整數(shù)C.可以是結(jié)構(gòu)體類型的數(shù)據(jù)D.可以是任意合法的表達(dá)式

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

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

B.可以通過typedef增加新的類型

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

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

18.

19.下列不屬于C語言關(guān)鍵字的是()。A.A.default

B.register

C.enum

D.external

20.已知函數(shù)test定義為()。A.執(zhí)行函數(shù)test后,函數(shù)沒有返回值

B.執(zhí)行函數(shù)test后,函數(shù)不再返回

C.執(zhí)行函數(shù)test后,函數(shù)返回任意類型值

D.以上三個(gè)答案都是錯(cuò)誤的

二、2.填空題(20題)21.若有以下程序:

intf(intx,inty)

{return(y-x)*x;}

main()

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

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

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

}

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

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

#include<stdio.h>

main()

{charb[]="Helloyou";

b[5]=0;

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

}

23.以下函數(shù)fun的功能是返回str所指字符中中以形參c中字符開頭的后續(xù)字符串的首地址,例如:str所指字符串為“Hello!”,c中的字符為'e',則函數(shù)返回字符串"ello!"的首地址。若str所指字符串為空中或不包含c中的字符,則函數(shù)返回NULL。請(qǐng)?zhí)羁铡?/p>

char*fun(char*str,charc)

{intn=0;char*p=str;

if(p!=NULL)

while(P[n]!=c&&p[n]!='\0')n++;

if(p[n]=='\0')retumNULL;

return(【】);

}

24.若已經(jīng)定義inta=25,b=14,c=19;,以下三目運(yùn)算符(?:)所構(gòu)成的語句的執(zhí)行結(jié)果是【】。

a++<=2&&b--<=2&&c++?printf("***

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

25.若由以下定義,則不移動(dòng)指針p,且通過指針p引用值為98的數(shù)組元素的表達(dá)式是【】。

intw[10]={23,54,10,33,47,98,72,80,61},*p=w;

26.常用的軟件結(jié)構(gòu)設(shè)計(jì)工具是結(jié)構(gòu)圖(SC),也稱程序結(jié)構(gòu)圖。其中,用矩形表示______,用帶空心圓的箭頭表示傳遞的是數(shù)據(jù)。

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

}

28.對(duì)于一棵具有n個(gè)結(jié)點(diǎn)的樹,則該樹中所有結(jié)點(diǎn)的度之和為【】。

29.軟件的可移植性是用來衡量軟件【】的重要尺度之一。

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

main()

{inta=1,b=10;

do

{b-=a;a++;}while(b--<0);

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

}

31.若輸入tc,則程序的運(yùn)行結(jié)果為【】。

#include<stdio.h>

main()

{charstr[40];

fscanf(stdin,"%s",str);

fprintf(stdout,"%s\n",str);

}

32.閱讀下面程序段,則執(zhí)行后輸出的結(jié)果是【】。

#include"stdio.h"

main()

{charfun(char,int);

chara=′A′;

intb=13;

a=fun(a,b);

putchar(a);}

charfun(chara,intb)

{chark;

k=a+b;

returnk;}

33.語句"int(*ptr)();"的含義是______是指向函數(shù)的指針,該函數(shù)返回一個(gè)int型數(shù)據(jù)。

34.在深度為7的滿二叉樹中,度為2的結(jié)點(diǎn)個(gè)數(shù)為【】。

35.設(shè)有以下定義變量的語句,并且已賦確定的值,則表達(dá)式“W*X+Z-y”所求得的數(shù)據(jù)類型為【】。

charw;intx;floaty;double2;

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

fun(intx,inty,intz)

{z=x*x+y*y;}

main()

{inta=31;

fun(6,3,a)

printf("%d,a)

}

37.有以下語句段:

intn1=10,n2=20;

printf("【】",n1,n2);

要求按以下格式輸出n1和n2的值:

n1=10

n2=20

每個(gè)輸出行從第一列開始,請(qǐng)?zhí)羁铡?/p>

38.下列程序段的輸出結(jié)果是【】。

main()

{charb[]="Hello,you";

b[5]=0;

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

}

39.算法的基本特征主要包括叫個(gè)方面,它們分別是可行性、確定性、()和擁有足夠的情報(bào)。

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

intfun(int*x,int*y)

{staticintm=4;

m=*X+*y;*x-=m;*y+=m;

returnm;

}

main()

{inta=2,b=6,n;

n=fun(&a,&B);printf("%d,",n);

n=fun(&a,&B);printf("%d\n",n);

}

三、1.選擇題(20題)41.表示關(guān)系a≤b≤c的C語言表達(dá)式為()。

A.(a<=B)&&(b<=C)

B.(a<=B)and(b<=C)

C.(a<=b<=C)

D.(a<=B)&(b<=C)

42.為了提高測(cè)試的效率,應(yīng)該()。

A.隨機(jī)選取測(cè)試數(shù)據(jù)

B.取一切可能的輸入數(shù)據(jù)作為測(cè)試數(shù)據(jù)

C.在完成編碼以后制定軟件的測(cè)試計(jì)劃

D.集中對(duì)付那些錯(cuò)誤群集的程序

43.有下列程序:main(){inti;for(i=1;i<=40;i++){if(i++%5==0)if(++i%8==0)printf("%d",i);}printf("\n");}執(zhí)行后的輸出結(jié)果是()。

A.5B.24C.32D.40

44.下列敘述中,錯(cuò)誤的是()

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

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

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

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

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

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

46.C語言結(jié)構(gòu)體類型變量在程序運(yùn)行期間

A.TC環(huán)境在內(nèi)存中僅僅開辟一個(gè)存放結(jié)構(gòu)體變量地址的單元

B.所有的成員一直駐留在內(nèi)存中

C.只有最開始的成員駐留在內(nèi)存中

D.部分成員駐留在內(nèi)存中

47.以下對(duì)枚舉類型名的定義中正確的是()

A.enuma={one,two,three};

B.enuma{one=9,two=-1,three=200};

C.enuma={"one","two","four"};

D.enuma{"nine","two","three"};

48.以下敘述不正確的是

A.一個(gè)C源程序可由一個(gè)或多個(gè)函數(shù)組成

B.一個(gè)C源程序必須包含一個(gè)main函數(shù)

C.C程序的基本組成單位是函數(shù)

D.在C程序中,注釋說明只能位于一條語句的后面

49.數(shù)據(jù)的獨(dú)立性是指______。

A.數(shù)據(jù)庫的數(shù)據(jù)相互獨(dú)立

B.DBMS和DB相互獨(dú)立

C.用戶應(yīng)用程序與數(shù)據(jù)庫的數(shù)據(jù)相互獨(dú)立

D.用戶應(yīng)用程序與DBMS相互獨(dú)立

50.具有3個(gè)結(jié)點(diǎn)的二叉樹有

A.2種形態(tài)B.4種形態(tài)C.7種形態(tài)D.5種形態(tài)

51.以下不屬于對(duì)象的基本特點(diǎn)的是()

A.分類性B.多態(tài)性C.繼承性D.封裝性

52.若以下選項(xiàng)中的變量已正確定義,則正確的賦值語句是()。

A.x1=26.8%3B.1+2=x2C.x3=0x12D.x4=1+2=3

53.在調(diào)用函數(shù)時(shí),如果實(shí)參是簡單變量,它與對(duì)應(yīng)形參之間的數(shù)據(jù)傳遞方式是______。

A.地址傳遞B.單向值傳遞C.由實(shí)參傳遞給形參,再由形參傳遞給實(shí)參D.傳遞方式由用戶指定

54.若有以下程序段(n所賦的是八進(jìn)制數(shù))intm=32767,n=032767;printf("%d,%O\n",m,n);執(zhí)行后輸出結(jié)果是

A.32767,32767B.32767,032767C.32767,77777D.32767,077777

55.有下列程序,其中%u表示按無符號(hào)整數(shù)輸出。main(){unsignedintx=0xFFFF;/*x的初值為十六進(jìn)制數(shù)*/printf("%u\n",x);}程序運(yùn)行后的輸出結(jié)果是()。

A.-1B.65535C.32767D.0xFFFF

56.當(dāng)變量c的值不為2、4、6時(shí),值也為“真”的表達(dá)式是

A.(c==2)||(c==4)||(c==6)

B.(c>=2&&c<=6)||(c!=3)||(c!=5)

C.(c>=2&&c<=6)&&!(c%2)

D.(c>=2&&c<=6)&&(c%2!=1)

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

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)};

58.以下程序的輸出結(jié)果是()。#include<stdio.h>main(){inta=8,b=6,m=1;switch(a%4){case0:m++;break;case1:m++;switch(b%3){default:m++;case0:m++;break;}}printf("%d\n",m);}

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

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

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

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

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

60.若有定義:char*s=“Programming”;,以下敘述中有錯(cuò)誤的是______。A.變量s中存放了字符P的地址B.s[0]中存放了字符PC.*s中存放了字符PD.s中存放了一個(gè)字符串

四、選擇題(20題)61.

62.

63.設(shè)有定義:“inta;floatb;”,執(zhí)行“scanf("%2d%f",&a,&b);”語句時(shí),若從鍵盤輸入876543.0<回車>,a和b的值分別是()。A.A.876和543.000000B.87和6.000000

C.87和6543.000000

D.76和543.000000

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

main

{intx=0.5;charz='a';

printf("%d\n",(x&1)&&(z<'2'));}A.A.0B.1C.2D.3

65.在數(shù)據(jù)庫設(shè)計(jì)中,將E—R圖轉(zhuǎn)換為關(guān)系模式的過程屬于()。

A.需求分析階段B.邏輯設(shè)計(jì)階段C.概念設(shè)計(jì)階段D.物理設(shè)計(jì)階段

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

A.60B.50C.45D.55

67.設(shè)“intx=2,y=1;”,則表達(dá)式(!x||Y--)的值是()。

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

68.下列描述中正確的是()。

A.程序就是軟件

B.軟件開發(fā)不受計(jì)算機(jī)系統(tǒng)的限制

C.軟件既是邏輯實(shí)體,又是物理實(shí)體

D.軟件是程序、數(shù)據(jù)和相關(guān)文檔的集合

69.

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

A.3B.0C.7D.8

71.若有下面說明和定義:

structtest

{intm1;charm2;floatm3;

unionuu(charu1[5];intu2[2];)ua;

}myaa;

則sizeof(structtest)的值是()。

A)20B)16

C)14D)9

72.

73.

74.若有定義語句:“charsE10]="1234567\0\0";”,則strlen(s)的值是()。A.A.7B.8C.9D.10

75.有以下程序段:

當(dāng)執(zhí)行上述程序段,從鍵盤上輸入555667777abc后,y的值為()。A.55566.0B.566.0C.7777.0D.566777.0

76.

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

#include<stdio.h>

main

{inti;

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

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

break;

}

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

}

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

77.

78.

79.下列函數(shù)的類型是()。fun(doublex){floaty;y=3*x-4;returny;}

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

80.有以下程序:

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

A.Qian,f,95,92

B.Qian,m,85,90

C.Zhao,f,95,92

D.Zhao,m,85,90

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:根據(jù)整型形參n的值,計(jì)算如下公式的值。t=1-1/(2*2)-1/(3*3)-…-l/(n*n)例如,當(dāng)n=7時(shí),t=0.488203。請(qǐng)修改函數(shù)proc()中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:

六、程序設(shè)計(jì)題(1題)82.使用VC++2010打開考生文件夾下prog1中的解決方案。此解決方案的項(xiàng)目中包含一個(gè)源程序文件prog1.c。在此程序中,請(qǐng)編寫一個(gè)函數(shù)fun(),用來求出數(shù)組中值最大的元素在數(shù)組中的下標(biāo)并將其存放在k所指向的存儲(chǔ)單元中。例如,輸入如下整數(shù):876675896101301401980431451777則輸出結(jié)果為6,980。注意:部分源程序在文件prog1.c中。請(qǐng)勿改動(dòng)主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入你編寫的若干語句。試題程序:

參考答案

1.A本題考查switch語句。當(dāng)i一1時(shí),執(zhí)行case1,因?yàn)闆]有遇到break語句,所以依次往下運(yùn)行,“a=a+2=2,a=a+3=5”;當(dāng)i=2時(shí),執(zhí)行case2,因?yàn)闆]有遇到break語句,所以依次往下執(zhí)行,“a=a+2=7,a=a+3=10”;當(dāng)i=3時(shí),執(zhí)行case3,a=a+1=11,因?yàn)闆]有遇到break語句,所以依次往下運(yùn)行,a—a+2—13,a—a+3一l6:當(dāng)i=4時(shí),執(zhí)行default,a=a+3=19,結(jié)束循環(huán)。

2.D

3.C樹最適合用來表示元素之間具有分支層次關(guān)系的數(shù)據(jù),故本題選C。

4.C解析:在C語言中,字符串以'\\0'作為結(jié)束符,因此數(shù)組x的長度為7+1=8,而數(shù)組y的長度等于7。

5.A

6.A

7.D解析:在用基本輸出函數(shù)printf時(shí),格式說明與輸出項(xiàng)的個(gè)數(shù)應(yīng)該相同。如果格式說明的個(gè)數(shù)少于輸出項(xiàng)的個(gè)數(shù),多余的輸出項(xiàng)不予輸出;如果格式說明個(gè)數(shù)多于輸出項(xiàng)個(gè)數(shù),則對(duì)于多余的格式項(xiàng)輸出不定值或0。

8.B

9.D

10.A

11.B本題考查按位異或的用法。按位異或運(yùn)算的規(guī)則是:兩個(gè)運(yùn)算數(shù)的相應(yīng)二進(jìn)制位相同,則結(jié)果為0,相異則結(jié)果為1。b=2的二進(jìn)制為00000010,a=1的二進(jìn)制為00000001,a=a^b一00000011,轉(zhuǎn)化為十進(jìn)制后為3,b=b^a=00000010^00000011=00000001,即1。

12.C

13.B

14.A本題主要考查結(jié)構(gòu)體數(shù)組的使用。x[i].num為結(jié)構(gòu)體x[i]中的hum成員,x[i].num[2]是結(jié)構(gòu)體x[i]中name成員的第3個(gè)元素。程序執(zhí)行循環(huán)過程時(shí):第1次循環(huán),i=1,輸出x[i].num,x[1].name[2]的值;第2次循環(huán),i=2,輸出x[2].num,x[2].name[2]的值,即3N;第3次循環(huán),i=3,輸出X[3].hum,x[3].name[2]的值,即4A;第4次循環(huán),i=4,輸出x[4].num,x[4].name[2]的值,即5U。

15.B

16.D解析:邏輯運(yùn)算符兩側(cè)的運(yùn)算對(duì)象可以是任意合法的表達(dá)式。邏輯表達(dá)式的運(yùn)算結(jié)果或者為1(“真”),或者為0(“假”)。

17.Btypedef并不是增加一種新的類型,而是對(duì)已存在的類型用一個(gè)新的名字來代表,所以B選項(xiàng)錯(cuò)誤。故本題答案為B選項(xiàng)。

18.B

19.Dregister聲明寄存器變量enum聲明枚舉類型default開關(guān)語句中的“其他”分支

20.A

21.99解析:在主函數(shù)中函數(shù)f(f(3,4),f(3,5))的返回值賦給d。函數(shù)的第一個(gè)參數(shù)為f(3,4)的返回值,函數(shù)f(3,4)返回值為(4-3)×3=3,f(3,5)返回值為(5-3)×3=6,那么函數(shù)f(f(3,4),f(3,5))等價(jià)于函數(shù)f(3,6)其返回值為(6-3)×3=9。因此d被賦值為9;所以輸出9。

22.HelloHello解析:語句b[5]=0;相當(dāng)于語句b[5]='\\0';且'\\0'為字符串結(jié)束標(biāo)志,輸出時(shí)遇到'\\0'就停止輸出。

23.str+n或p+nstr+n或p+n解析:此題主要是將形參c中的字符與str中的字符相比較,返回以形參c中字符開頭的后續(xù)字符串,函數(shù)fun中的變量n用于記錄形參c中字符在str字符串中的位置,故返回的結(jié)果用str+n或p+n表示。

24.a=26b=14c=19a=26,b=14,c=19解析:這種條件表達(dá)式的—般形式為:表達(dá)式1?表達(dá)式2:表達(dá)式3,三目運(yùn)算符的執(zhí)行順序,先求解表達(dá)式1,若非0則求解表達(dá)式2,此時(shí)表達(dá)式2的值就作為整個(gè)表達(dá)式的值,若表達(dá)式1的值為0,則求解表達(dá)式3,此時(shí)表達(dá)式3的值就作為整個(gè)表達(dá)式的值。C語言在做一系列表達(dá)式相與時(shí),從左到右分別計(jì)算各表達(dá)式的值,一旦遇到一個(gè)表達(dá)式為false,則剩余的表達(dá)式都不再進(jìn)行運(yùn)算。該題中,a++<=2的值為false,則b-<=2和c++就都不再運(yùn)算再運(yùn)算。

25.*(p+5)或p[5]*(p+5)或p[5]解析:本題的考查點(diǎn)是通過指針引用數(shù)組元素。98是數(shù)組w的第5個(gè)元素(最開始的為第0個(gè)),而通過*p=w已經(jīng)將p指向了數(shù)組w,要想不移動(dòng)指針p而引用98,可以有以下兩種方法:p[5]、*(p+5)。

26.模塊模塊解析:矩形表示的是模塊,箭頭表示的是模塊間的調(diào)用關(guān)系。用帶實(shí)心圓的箭頭表示傳遞的是控制信息,用帶空心圓的箭頭表示傳遞的是數(shù)據(jù)。

27.gae

28.n-1

29.質(zhì)量質(zhì)量

30.282,8解析:do…while語句的功能是:首先執(zhí)行循環(huán)體語句,然后檢測(cè)循環(huán)控制條件表達(dá)式的值,若為真,則重復(fù)執(zhí)行循環(huán)體語句,否則退出循環(huán)。這里程序初始時(shí)a=1,b=10,經(jīng)過操作b-=a;a++后b=9,a=2,判斷條件b--<O不成立,退出循環(huán),但b的值被減1,因此結(jié)果為:a=2,b=8。

31.tc

32.NN解析:函數(shù)說明語句中的類型名必須與函數(shù)返回值的類型一致。本題實(shí)現(xiàn)的是在字符'A'的ASCII碼值上加上一個(gè)常數(shù),使之變成另一個(gè)ASCII碼值,從而輸出字符。

33.ptrptr解析:本題考查函數(shù)指針的概念。函數(shù)指針的定義格式是:類型標(biāo)識(shí)符(*旨針變量名)()。注:“類型標(biāo)識(shí)符”為函數(shù)返回值的類型。

34.63或26-163或26-1解析:在滿二叉樹中,每層結(jié)點(diǎn)都是滿的,即每層結(jié)點(diǎn)都具有最大結(jié)點(diǎn)數(shù)。深度為k的滿二叉樹,一共有2k-1個(gè)結(jié)點(diǎn),其中包括度為2的結(jié)點(diǎn)和葉子結(jié)點(diǎn)。因此,深度為7的滿二叉樹,一共有27-1個(gè)結(jié)點(diǎn),即127個(gè)結(jié)點(diǎn)。根據(jù)二叉樹的另一條性質(zhì),對(duì)任意一棵二叉樹,若終端結(jié)點(diǎn)(即葉子結(jié)點(diǎn))數(shù)為n0,而其度數(shù)為2的結(jié)點(diǎn)數(shù)為n2,則n0=n2+1。設(shè)深度為7的滿二叉樹中,度為2的結(jié)點(diǎn)個(gè)數(shù)為x,則改樹中葉子結(jié)點(diǎn)的個(gè)數(shù)為x+1。則應(yīng)滿足x+(x+1)=127,解該方程得到,x的值為63。結(jié)果上述分析可知,在深度為7的滿二叉樹中,度為2的結(jié)點(diǎn)個(gè)數(shù)為63。

35.double或雙精度型double或雙精度型

36.3131解析:在函數(shù)調(diào)用時(shí),形參值和改變,不會(huì)改變實(shí)參的值。

37.n1=%d\nn2=%dn1=%d\\nn2=%d解析:根據(jù)輸出結(jié)果,可以確定“格式控制”為n1=%d\\nn2=%d,其中,“n1=”和“n2=”是按原樣輸出的字符,“%d”是按十進(jìn)制整數(shù)輸出,“\\n”是轉(zhuǎn)義字符,用于輸出回車換行。

38.HelloHello解析:字符串中,數(shù)值0或符號(hào)'/0'表示字符串的結(jié)束。本題中,b[5]被賦了0值,表明字符串b的第六個(gè)字符就是結(jié)束標(biāo)志。因此,只輸出前五個(gè)字符,即Hello。

39.有窮性有窮性

40.88。8,8。解析:本題考查靜態(tài)局部變量值的特點(diǎn),請(qǐng)參考第10章有關(guān)習(xí)題的解析。

41.A解析:本題考查邏輯與運(yùn)算符&&。在C語言中使用運(yùn)算符“&&”連接兩個(gè)表達(dá)式,也可以表示邏輯與運(yùn)算符。在C語言中不允許出現(xiàn)a<=b<=c這種格式。

42.D本題主要考查軟件的測(cè)試。軟件測(cè)試的主要目的體現(xiàn)在下面幾個(gè)方面。

(1)軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程。

(2)一個(gè)好的測(cè)試用例能夠發(fā)現(xiàn)至今尚未發(fā)現(xiàn)的錯(cuò)誤。

(3)一個(gè)成功的測(cè)試是發(fā)現(xiàn)了至今尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試。

軟件測(cè)試的效率是指利用更少的成本創(chuàng)造更多的價(jià)值,提供軟件測(cè)試效率的方法有很多,如制定一個(gè)合理的詳細(xì)的測(cè)試計(jì)劃,了解測(cè)試項(xiàng)目的業(yè)務(wù)需求,集中對(duì)付那些錯(cuò)誤群集的程序等。而選項(xiàng)A所描述的隨機(jī)選取測(cè)試數(shù)據(jù)是不能保證提高測(cè)試效率的,選項(xiàng)B描述的取一切可能的輸入數(shù)據(jù)作為測(cè)試數(shù)據(jù)顯然不能提高測(cè)試效率,反而使工作量加大,降低測(cè)試效率。

43.C解析:在for循環(huán)體中,首先判斷自變量i能否被5整除,然后再自加兩次,最后判斷i能否被8整除。當(dāng)for循環(huán)執(zhí)行到第30次時(shí),i的值為30能被5整除,然后i經(jīng)過兩次自加1運(yùn)算,值變?yōu)?2,能被8整除,故執(zhí)行“printf('%d',i);”語句,即輸出32。本題的答案為選項(xiàng)C)。

44.B解析:數(shù)據(jù)處理是計(jì)算機(jī)應(yīng)用的重要領(lǐng)域,在實(shí)際數(shù)據(jù)處理時(shí),被處理的各數(shù)據(jù)元素總是被存放在計(jì)算機(jī)的存儲(chǔ)空間中,并且各數(shù)據(jù)元素在計(jì)算機(jī)存儲(chǔ)空間中的位置關(guān)系與它們的邏輯關(guān)系不一定是相同的,一般也不可能相同。數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)空間中的存放形式稱為數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)(也稱數(shù)據(jù)的物理結(jié)構(gòu))。一般來說,數(shù)據(jù)的邏輯結(jié)構(gòu)根據(jù)需要可以表示成多種存儲(chǔ)結(jié)構(gòu),常用的存儲(chǔ)結(jié)構(gòu)有順序、鏈接、索引等存儲(chǔ)結(jié)構(gòu)。而采用不同的存儲(chǔ)結(jié)構(gòu),其數(shù)據(jù)處理的效率也是不同的。

45.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)。

46.B解析:結(jié)構(gòu)體類型的變量在程序運(yùn)行期間要作為一個(gè)整體占用連續(xù)的內(nèi)存單元。

47.B解析:枚舉類型的定義類似于結(jié)構(gòu)體和共用體,所以選項(xiàng)A和C不正確。大括號(hào)中的枚舉元素應(yīng)該使用合法標(biāo)識(shí)符來定義,而不是字符串常量,所以選項(xiàng)D不正確。故應(yīng)該選擇B。

48.D解析:本題考查C語言的基本基礎(chǔ)知識(shí)。在C程序中,注釋用符號(hào)“/*”開始,而以符號(hào)“*/”結(jié)束。程序的注釋可以放在程序的任何位置。通常將注釋放在程序的開始,以說明本程序的功能;或者放在程序的某個(gè)語句后面,以對(duì)此語句的功能進(jìn)行描述。無論將注釋放有何處,在程序進(jìn)行編譯時(shí),編譯程序不會(huì)處理注釋的內(nèi)容;且注釋內(nèi)容也不會(huì)出現(xiàn)在目標(biāo)程序中。

49.C解析:修改數(shù)據(jù)庫的物理結(jié)構(gòu)或邏輯結(jié)構(gòu)時(shí),通過兩級(jí)映像,可以使得應(yīng)用程序不必修改,保證數(shù)據(jù)的獨(dú)立性。數(shù)據(jù)的獨(dú)立性包括物理獨(dú)立性和邏輯獨(dú)立性。

50.D解析:因?yàn)槎鏄溆凶?、右子樹之分,所以?個(gè)結(jié)點(diǎn)的二叉樹具有5種不同的形態(tài)。

51.C解析:對(duì)象的基本特點(diǎn)包括;標(biāo)識(shí)惟一性、分類性、多態(tài)性、封裝性和獨(dú)立性等。繼承性不屬于對(duì)象的基本特點(diǎn)。

52.C解析:賦值的一般形式為:變量名:表達(dá)式;,賦值的方向?yàn)橛捎蚁蜃螅磳ⅲ河覀?cè)表達(dá)式的值賦給:左側(cè)的變量,執(zhí)行步驟是先計(jì)算再賦值。選項(xiàng)A中運(yùn)算符%的運(yùn)算對(duì)象必須為整數(shù),而選項(xiàng)A中26.8不為整數(shù),故選項(xiàng)A不正確;選項(xiàng)B將一個(gè)變量賦值給一個(gè)常量,這在C語言中是不允許的,故選項(xiàng)B不正確;選項(xiàng)D中也是將一個(gè)常量3賦值給一個(gè)常量,故選項(xiàng)D不正確;所以,4個(gè)選項(xiàng)中選項(xiàng)C符合題意。

53.B解析:C語言以定,實(shí)參變量對(duì)形參變量的數(shù)據(jù)傳遞是“單向值傳遞”,只由實(shí)參傳紿形參。在內(nèi)存中,實(shí)參單元與形參單元是不同的單元。調(diào)用結(jié)束后,實(shí)參單元仍保留并維持原值。

54.A解析:本題考核的知識(shí)點(diǎn)是scanf()函數(shù)及printf()函數(shù)的輸出格式。程序在定義時(shí),以十進(jìn)制形式為m賦初值,以八進(jìn)制的形式為n賦初值.輸出的時(shí)候m以十進(jìn)制形式輸出,n以八進(jìn)制形式輸出,因此輸出的結(jié)果為32767和32767。所以,A選項(xiàng)為所選。

55.B解析:“%u”格式符表示以十進(jìn)制形式輸出無符號(hào)整形變最。本題中無符號(hào)整形變量x=0xFFFF表示的是十六進(jìn)制無符號(hào)整型變量的最大值65535,所以最后輸出的結(jié)果為65535。

56.B解析:滿足表達(dá)式(c>=2&&c<=6)的整型變量c的值是2,3,4,5,6。當(dāng)變量c的值不為2,4,6時(shí),其值只能為3或5,所以表達(dá)式c!=3和c!=5中至少有一個(gè)為真,即不論c為何值,選項(xiàng)B中的表達(dá)式都為“真”。

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

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

58.B解析:本題考查switch語句。因?yàn)閍=8,a%4=0,所以執(zhí)行case0后面的語句,將m加1,遇到break語句跳出switch。

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

60.D將一個(gè)字符型指針s指向一個(gè)字符串,s中存放的是該字符串的首地址。

61.B

62.D

63.B本題考查scanf函數(shù),輸入格式符%2d%f表示只接收了字符,其中a輸入的值為2位的十進(jìn)制整數(shù),即87,然后將緊接著的6賦給b,因?yàn)閎的值為單精度數(shù)在,即6.000000,故選擇B選項(xiàng)。

64.B(x&1)&&(z<'2')=(0.5&1)&&('a'<'z')=1&&1=1,故選擇B選項(xiàng)。

65.BB.【解析】數(shù)據(jù)庫設(shè)計(jì)階段主要包括需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)和物理設(shè)計(jì)。其中邏輯設(shè)計(jì)的主要工作是將E-R圖轉(zhuǎn)換為關(guān)系模式。

66.A函數(shù)fun的功能是求數(shù)組的n個(gè)元素之和。fun(a,5)=15。由于s岫是靜態(tài)局部變量,所以保持l5不變,fun(b,4)=45,所以s=fun(a,5)+fun(b,4)=60。

67.B因X為2,所以!X時(shí)表達(dá)式值為0,因Y為1,y--表達(dá)式的值為1然后自減1,y為0,所以!x||y--時(shí)表達(dá)式的值為1。

68.D解析:軟件是運(yùn)行在計(jì)算機(jī)硬件之上的邏輯實(shí)體,包括程序、數(shù)據(jù)和相關(guān)的文檔,軟件的開發(fā)、運(yùn)行對(duì)計(jì)算機(jī)系統(tǒng)具有依賴性,受計(jì)算機(jī)系統(tǒng)的限制。

69.D

70.A本題中遇到‘\\’字符循環(huán)結(jié)束,因此只統(tǒng)計(jì)‘\\’之前的數(shù)字字符,結(jié)果為3。

71.Asizeof求在存儲(chǔ)單元中所占字節(jié)數(shù)。

72.C

73.B

74.A"\0"表示空字符,strlen函數(shù)求得的是不包括字符串結(jié)束符'\0'的長度。故選A。

75.B本題考查通過scanf函數(shù)輸入數(shù)據(jù)時(shí)的格式控制問題。變量J的格式控制為”%2d”,即只接收輸人數(shù)據(jù)的前兩位,從第三位開始直到空格之間的輸入都會(huì)被保存到變量Y中,因?yàn)閅為浮點(diǎn)型數(shù)據(jù),所以輸出結(jié)果為選項(xiàng)B。

76.C

\n當(dāng)if執(zhí)行到第一個(gè)滿足(i*i>一20)&&(i*i<=100)這個(gè)條件的i出現(xiàn)時(shí),通過break語句跳出循環(huán),執(zhí)行下面的printf語句。

\n

77.D

78.D

79.A本題考查函數(shù)值的類型。在函數(shù)調(diào)用時(shí),盡管Y的類型是float.x的類型是double,但是因?yàn)楹瘮?shù)定義時(shí)沒有指定類型說明,系統(tǒng)默認(rèn)函數(shù)值的類型為int型,所以計(jì)算后Y的類型是int型。

80.A本題考查的是函數(shù)調(diào)用時(shí)的參數(shù)傳遞以及結(jié)構(gòu)體變量的引用的問題。程序在調(diào)用函數(shù)f時(shí),傳給函數(shù)f的參數(shù)只是結(jié)構(gòu)變量c在棧中的一個(gè)拷貝,函數(shù)f的所有操作只是針對(duì)這個(gè)數(shù)據(jù)拷貝進(jìn)行的修改,這些都不會(huì)影響變量c的值。

81.(1)錯(cuò)誤:for(i=2;i%n;i++)

正確:for(i=2;i<=n;i++)

(2)錯(cuò)誤:y-=l/(i*i);

正確:y-=1.0/(i*i);

【解析】根據(jù)題目中所給公式t=1-1/(2×2)-1/(3×3)=…-1/(n×n),可知需要循環(huán)至i=n,因此,“for(i=2;i<n;i++)”應(yīng)改為“for(i-2;i<=n;i++)”;根據(jù)C語言中的語法規(guī)則,整數(shù)與整數(shù)相除結(jié)果仍為整數(shù),要得到浮點(diǎn)數(shù)在分?jǐn)?shù)中,分子或分母最少有一個(gè)是浮點(diǎn)數(shù),因此,“y-=1/(i*i);”應(yīng)改為“y-=1.0/(i*i);”。

82.1intfun(int*s,intt,int*k)2{3Inti;4*k=0;/*k所指的數(shù)是數(shù)組的下5標(biāo)*/6for(i=0;i<t;i++)hif(s[*k]<s[i])*k=i;/*找到數(shù)組中值最大的元素,把該元素的下標(biāo)賦給k所指的數(shù)*/7returns[*k];/*返回?cái)?shù)組的最大元素*/8}<t;i++)<>本題中使用指針變量k作為值最大的元素的下標(biāo)。使用時(shí)要注意對(duì)k進(jìn)行指針運(yùn)算。程序一開始讓k指向數(shù)組中的第1個(gè)元素,即*k=0。通過for循環(huán)與數(shù)組各個(gè)元素比較,找到最大值。<></t;i++)2021年黑龍江省綏化市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.下列程序的輸出結(jié)果是()。#include<stdio.h>main{inta=0,i;for(i=1;i<5;i++){switch(i){case0:case3:a+=1;case1;case2:a+=2;default:a+=3;}}printf("%d",a);}A.19B.1C.6D.8

2.

3.樹最適合用來表示()。

A.有序數(shù)據(jù)元素B.無序數(shù)據(jù)元素C.元素之間具有分支層次關(guān)系的數(shù)據(jù)D.元素之間無聯(lián)系的數(shù)據(jù)

4.給出以下定義:charx[]="abcdefg";chary[]={'a','b','c','d','e','f','g'};則正確的敘述為()。

A.數(shù)組x和數(shù)組y等價(jià)B.數(shù)組x和數(shù)組y的長度相同C.數(shù)組x的長度大于數(shù)組y的長度D.數(shù)組x的長度小于數(shù)組y的長度

5.線性表是具有n個(gè)()的有限序列。

A.表元素B.字符C.數(shù)據(jù)元素D.數(shù)據(jù)項(xiàng)

6.

7.有以下程序段charch;intk;ch='a';k=12;printf("%c,%d,",ch,ch,k);printf("k=%d\n",k);已知字符a的ASCII十進(jìn)制代碼為97,則執(zhí)行上述程序段后輸出結(jié)果是()。A.因變量類型與格式描述符的類型不匹配輸出無定值

B.輸出項(xiàng)與格式描述符個(gè)數(shù)不符,輸出為零值或不定值

C.a,97,12k=12

D.a,97,k=12

8.一個(gè)遞歸的定義可以用遞歸過程求解,也可以用非遞歸過程求解,但單從運(yùn)行時(shí)間來看,通常遞歸過程比非遞歸過程()。

A.較快B.較慢C.相同D.無法確定

9.設(shè)S為一個(gè)長度為n的字符串,其中的字符各不相同,則S中的互異的非平凡子串(非空且不同于S本身)的個(gè)數(shù)為()。

A.2n-1B.n2C.(n2/2)+(n/2)D.(n2/2)+(n/2)-1

10.對(duì)于移動(dòng)平均算法,是計(jì)算某變量之前n個(gè)數(shù)值的算術(shù)平均,正確的說法是()

A.空間復(fù)雜度是O(1)B.空間復(fù)雜度是O(n)C.空間復(fù)雜度是O(logn)D.空間復(fù)雜度是O(nlogn)

11.若有以下程序:inta=1,b=2;a=a^b;b=b^a;則執(zhí)行以上語句后a和b的值分別是()。A.a=1,b=2B.a=3,b=lC.a=3,b=2D.a=2,b=l

12.C語言提供的合法關(guān)鍵字是()

A.switchB.cherC.caseD.default

13.有以下函數(shù):charfun(char*p){returnP;}該函數(shù)的返回值是()。A.無確切的值B.形參p中存放的地址值C.一個(gè)臨時(shí)存儲(chǔ)單元的地址D.形參p自身的地址值

14.定義結(jié)構(gòu)體數(shù)組:structstu{intnum;charnameE20];}X[5]={1,"LI",2,"ZHAO",3,"WANG",4,"ZHANG",5,"LIU");for(i=1;i<5;i++)printf("%d%c",x[i].num,x[i].name[2]);以上程序段的輸出結(jié)果為()。A.2A3N4A5UB.112A3H4IC.1A2N3A4UD.2H3A4H5I

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

A.54321

B.12345

C.12345

D.543210main(){intw=5;fun(w);printf("\n");}fun(intk){if(k>0)fun(k-1);printf("%d"",k);}

16.下列關(guān)于邏輯運(yùn)算符兩側(cè)運(yùn)算對(duì)象的敘述中正確的是()。

A.只能是整數(shù)0或1B.只能是整數(shù)0或非0整數(shù)C.可以是結(jié)構(gòu)體類型的數(shù)據(jù)D.可以是任意合法的表達(dá)式

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

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

B.可以通過typedef增加新的類型

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

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

18.

19.下列不屬于C語言關(guān)鍵字的是()。A.A.default

B.register

C.enum

D.external

20.已知函數(shù)test定義為()。A.執(zhí)行函數(shù)test后,函數(shù)沒有返回值

B.執(zhí)行函數(shù)test后,函數(shù)不再返回

C.執(zhí)行函數(shù)test后,函數(shù)返回任意類型值

D.以上三個(gè)答案都是錯(cuò)誤的

二、2.填空題(20題)21.若有以下程序:

intf(intx,inty)

{return(y-x)*x;}

main()

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

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

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

}

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

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

#include<stdio.h>

main()

{charb[]="Helloyou";

b[5]=0;

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

}

23.以下函數(shù)fun的功能是返回str所指字符中中以形參c中字符開頭的后續(xù)字符串的首地址,例如:str所指字符串為“Hello!”,c中的字符為'e',則函數(shù)返回字符串"ello!"的首地址。若str所指字符串為空中或不包含c中的字符,則函數(shù)返回NULL。請(qǐng)?zhí)羁铡?/p>

char*fun(char*str,charc)

{intn=0;char*p=str;

if(p!=NULL)

while(P[n]!=c&&p[n]!='\0')n++;

if(p[n]=='\0')retumNULL;

return(【】);

}

24.若已經(jīng)定義inta=25,b=14,c=19;,以下三目運(yùn)算符(?:)所構(gòu)成的語句的執(zhí)行結(jié)果是【】。

a++<=2&&b--<=2&&c++?printf("***

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

25.若由以下定義,則不移動(dòng)指針p,且通過指針p引用值為98的數(shù)組元素的表達(dá)式是【】。

intw[10]={23,54,10,33,47,98,72,80,61},*p=w;

26.常用的軟件結(jié)構(gòu)設(shè)計(jì)工具是結(jié)構(gòu)圖(SC),也稱程序結(jié)構(gòu)圖。其中,用矩形表示______,用帶空心圓的箭頭表示傳遞的是數(shù)據(jù)。

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

}

28.對(duì)于一棵具有n個(gè)結(jié)點(diǎn)的樹,則該樹中所有結(jié)點(diǎn)的度之和為【】。

29.軟件的可移植性是用來衡量軟件【】的重要尺度之一。

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

main()

{inta=1,b=10;

do

{b-=a;a++;}while(b--<0);

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

}

31.若輸入tc,則程序的運(yùn)行結(jié)果為【】。

#include<stdio.h>

main()

{charstr[40];

fscanf(stdin,"%s",str);

fprintf(stdout,"%s\n",str);

}

32.閱讀下面程序段,則執(zhí)行后輸出的結(jié)果是【】。

#include"stdio.h"

main()

{charfun(char,int);

chara=′A′;

intb=13;

a=fun(a,b);

putchar(a);}

charfun(chara,intb)

{chark;

k=a+b;

returnk;}

33.語句"int(*ptr)();"的含義是______是指向函數(shù)的指針,該函數(shù)返回一個(gè)int型數(shù)據(jù)。

34.在深度為7的滿二叉樹中,度為2的結(jié)點(diǎn)個(gè)數(shù)為【】。

35.設(shè)有以下定義變量的語句,并且已賦確定的值,則表達(dá)式“W*X+Z-y”所求得的數(shù)據(jù)類型為【】。

charw;intx;floaty;double2;

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

fun(intx,inty,intz)

{z=x*x+y*y;}

main()

{inta=31;

fun(6,3,a)

printf("%d,a)

}

37.有以下語句段:

intn1=10,n2=20;

printf("【】",n1,n2);

要求按以下格式輸出n1和n2的值:

n1=10

n2=20

每個(gè)輸出行從第一列開始,請(qǐng)?zhí)羁铡?/p>

38.下列程序段的輸出結(jié)果是【】。

main()

{charb[]="Hello,you";

b[5]=0;

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

}

39.算法的基本特征主要包括叫個(gè)方面,它們分別是可行性、確定性、()和擁有足夠的情報(bào)。

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

intfun(int*x,int*y)

{staticintm=4;

m=*X+*y;*x-=m;*y+=m;

returnm;

}

main()

{inta=2,b=6,n;

n=fun(&a,&B);printf("%d,",n);

n=fun(&a,&B);printf("%d\n",n);

}

三、1.選擇題(20題)41.表示關(guān)系a≤b≤c的C語言表達(dá)式為()。

A.(a<=B)&&(b<=C)

B.(a<=B)and(b<=C)

C.(a<=b<=C)

D.(a<=B)&(b<=C)

42.為了提高測(cè)試的效率,應(yīng)該()。

A.隨機(jī)選取測(cè)試數(shù)據(jù)

B.取一切可能的輸入數(shù)據(jù)作為測(cè)試數(shù)據(jù)

C.在完成編碼以后制定軟件的測(cè)試計(jì)劃

D.集中對(duì)付那些錯(cuò)誤群集的程序

43.有下列程序:main(){inti;for(i=1;i<=40;i++){if(i++%5==0)if(++i%8==0)printf("%d",i);}printf("\n");}執(zhí)行后的輸出結(jié)果是()。

A.5B.24C.32D.40

44.下列敘述中,錯(cuò)誤的是()

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

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

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

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

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

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

46.C語言結(jié)構(gòu)體類型變量在程序運(yùn)行期間

A.TC環(huán)境在內(nèi)存中僅僅開辟一個(gè)存放結(jié)構(gòu)體變量地址的單元

B.所有的成員一直駐留在內(nèi)存中

C.只有最開始的成員駐留在內(nèi)存中

D.部分成員駐留在內(nèi)存中

47.以下對(duì)枚舉類型名的定義中正確的是()

A.enuma={one,two,three};

B.enuma{one=9,two=-1,three=200};

C.enuma={"one","two","four"};

D.enuma{"nine","two","three"};

48.以下敘述不正確的是

A.一個(gè)C源程序可由一個(gè)或多個(gè)函數(shù)組成

B.一個(gè)C源程序必須包含一個(gè)main函數(shù)

C.C程序的基本組成單位是函數(shù)

D.在C程序中,注釋說明只能位于一條語句的后面

49.數(shù)據(jù)的獨(dú)立性是指______。

A.數(shù)據(jù)庫的數(shù)據(jù)相互獨(dú)立

B.DBMS和DB相互獨(dú)立

C.用戶應(yīng)用程序與數(shù)據(jù)庫的數(shù)據(jù)相互獨(dú)立

D.用戶應(yīng)用程序與DBMS相互獨(dú)立

50.具有3個(gè)結(jié)點(diǎn)的二叉樹有

A.2種形態(tài)B.4種形態(tài)C.7種形態(tài)D.5種形態(tài)

51.以下不屬于對(duì)象的基本特點(diǎn)的是()

A.分類性B.多態(tài)性C.繼承性D.封裝性

52.若以下選項(xiàng)中的變量已正確定義,則正確的賦值語句是()。

A.x1=26.8%3B.1+2=x2C.x3=0x12D.x4=1+2=3

53.在調(diào)用函數(shù)時(shí),如果實(shí)參是簡單變量,它與對(duì)應(yīng)形參之間的數(shù)據(jù)傳遞方式是______。

A.地址傳遞B.單向值傳遞C.由實(shí)參傳遞給形參,再由形參傳遞給實(shí)參D.傳遞方式由用戶指定

54.若有以下程序段(n所賦的是八進(jìn)制數(shù))intm=32767,n=032767;printf("%d,%O\n",m,n);執(zhí)行后輸出結(jié)果是

A.32767,32767B.32767,032767C.32767,77777D.32767,077777

55.有下列程序,其中%u表示按無符號(hào)整數(shù)輸出。main(){unsignedintx=0xFFFF;/*x的初值為十六進(jìn)制數(shù)*/printf("%u\n",x);}程序運(yùn)行后的輸出結(jié)果是()。

A.-1B.65535C.32767D.0xFFFF

56.當(dāng)變量c的值不為2、4、6時(shí),值也為“真”的表達(dá)式是

A.(c==2)||(c==4)||(c==6)

B.(c>=2&&c<=6)||(c!=3)||(c!=5)

C.(c>=2&&c<=6)&&!(c%2)

D.(c>=2&&c<=6)&&(c%2!=1)

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

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)};

58.以下程序的輸出結(jié)果是()。#include<stdio.h>main(){inta=8,b=6,m=1;switch(a%4){case0:m++;break;case1:m++;switch(b%3){default:m++;case0:m++;break;}}printf("%d\n",m);}

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

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

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

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

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

60.若有定義:char*s=“Programming”;,以下敘述中有錯(cuò)誤的是______。A.變量s中存放了字符P的地址B.s[0]中存放了字符PC.*s中存放了字符PD.s中存放了一個(gè)字符串

四、選擇題(20題)61.

62.

63.設(shè)有定義:“inta;floatb;”,執(zhí)行“scanf("%2d%f",&a,&b);”語句時(shí),若從鍵盤輸入876543.0<回車>,a和b的值分別是()。A.A.876和543.000000B.87和6.000000

C.87和6543.000000

D.76和543.000000

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

main

{intx=0.5;charz='a';

printf("%d\n",(x&1)&&(z<'2'));}A.A.0B.1C.2D.3

65.在數(shù)據(jù)庫設(shè)計(jì)中,將E—R圖轉(zhuǎn)換為關(guān)系模式的過程屬于()。

A.需求分析階段B.邏輯設(shè)計(jì)階段C.概念設(shè)計(jì)階段D.物理設(shè)計(jì)階段

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

A.60B.50C.45D.55

67.設(shè)“intx=2,y=1;”,則表達(dá)式(!x||Y--)的值是()。

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

68.下列描述中正確的是()。

A.程序就是軟件

B.軟件開發(fā)不受計(jì)算機(jī)系統(tǒng)的限制

C.軟件既是邏輯實(shí)體,又是物理實(shí)體

D.軟件是程序、數(shù)據(jù)和相關(guān)文檔的集合

69.

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

A.3B.0C.7D.8

71.若有下面說明和定義:

structtest

{intm1;charm2;floatm3;

unionuu(charu1[5];intu2[2];)ua;

}myaa;

則sizeof(structtest)的值是()。

A)20B)16

C)14D)9

72.

73.

74.若有定義語句:“charsE10]="1234567\0\0";”,則strlen(s)的值是()。A.A.7B.8C.9D.10

75.有以下程序段:

當(dāng)執(zhí)行上述程序段,從鍵盤上輸入555667777abc后,y的值為()。A.55566.0B.566.0C.7777.0D.566777.0

76.

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

#include<stdio.h>

main

{inti;

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

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

break;

}

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

}

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

77.

78.

79.下列函數(shù)的類型是()。fun(doublex){floaty;y=3*x-4;returny;}

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

80.有以下程序:

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

A.Qian,f,95,92

B.Qian,m,85,90

C.Zhao,f,95,92

D.Zhao,m,85,90

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:根據(jù)整型形參n的值,計(jì)算如下公式的值。t=1-1/(2*2)-1/(3*3)-…-l/(n*n)例如,當(dāng)n=7時(shí),t=0.488203。請(qǐng)修改函數(shù)proc()中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:

六、程序設(shè)計(jì)題(1題)82.使用VC++2010打開考生文件夾下prog1中的解決方案。此解決方案的項(xiàng)目中包含一個(gè)源程序文件prog1.c。在此程序中,請(qǐng)編寫一個(gè)函數(shù)fun(),用來求出數(shù)組中值最大的元素在數(shù)組中的下標(biāo)并將其存放在k所指向的存儲(chǔ)單元中。例如,輸入如下整數(shù):876675896101301401980431451777則輸出結(jié)果為6,980。注意:部分源程序在文件prog1.c中。請(qǐng)勿改動(dòng)主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入你編寫的若干語句。試題程序:

參考答案

1.A本題考查switch語句。當(dāng)i一1時(shí),執(zhí)行case1,因?yàn)闆]有遇到break語句,所以依次往下運(yùn)行,“a=a+2=2,a=a+3=5”;當(dāng)i=2時(shí),執(zhí)行case2,因?yàn)闆]有遇到break語句,所以依次往下執(zhí)行,“a=a+2=7,a=a+3=10”;當(dāng)i=3時(shí),執(zhí)行case3,a=a+1=11,因?yàn)闆]有遇到break語句,所以依次往下運(yùn)行,a—a+2—13,a—a+3一l6:當(dāng)i=4時(shí),執(zhí)行default,a=a+3=19,結(jié)束循環(huán)。

2.D

3.C樹最適合用來表示元素之間具有分支層次關(guān)系的數(shù)據(jù),故本題選C。

4.C解析:在C語言中,字符串以'\\0'作為結(jié)束符,因此數(shù)組x的長度為7+1=8,而數(shù)組y的長度等于7。

5.A

6.A

7.D解析:在用基本輸出函數(shù)printf時(shí),格式說明與輸出項(xiàng)的個(gè)數(shù)應(yīng)該相同。如果格式說明的個(gè)數(shù)少于輸出項(xiàng)的個(gè)數(shù),多余的輸出項(xiàng)不予輸出;如果格式說明個(gè)數(shù)多于輸出項(xiàng)個(gè)數(shù),則對(duì)于多余的格式項(xiàng)輸出不定值或0。

8.B

9.D

10.A

11.B本題考查按位異或的用法。按位異或運(yùn)算的規(guī)則是:兩個(gè)運(yùn)算數(shù)的相應(yīng)二進(jìn)制位相同,則結(jié)果為0,相異則結(jié)果為1。b=2的二進(jìn)制為00000010,a=1的二進(jìn)制為00000001,a=a^b一00000011,轉(zhuǎn)化為十進(jìn)制后為3,b=b^a=00000010^00000011=00000001,即1。

12.C

13.B

14.A本題主要考查結(jié)構(gòu)體數(shù)組的使用。x[i].num為結(jié)構(gòu)體x[i]中的hum成員,x[i].num[2]是結(jié)構(gòu)體x[i]中name成員的第3個(gè)元素。程序執(zhí)行循環(huán)過程時(shí):第1次循環(huán),i=1,輸出x[i].num,x[1].name[2]的值;第2次循環(huán),i=2,輸出x[2].num,x[2].name[2]的值,即3N;第3次循環(huán),i=3,輸出X[3].hum,x[3].name[2]的值,即4A;第4次循環(huán),i=4,輸出x[4].num,x[4].name[2]的值,即5U。

15.B

16.D解析:邏輯運(yùn)算符兩側(cè)的運(yùn)算對(duì)象可以是任意合法的表達(dá)式。邏輯表達(dá)式的運(yùn)算結(jié)果或者為1(“真”),或者為0(“假”)。

17.Btypedef并不是增加一種新的類型,而是對(duì)已存在的類型用一個(gè)新的名字來代表,所以B選項(xiàng)錯(cuò)誤。故本題答案為B選項(xiàng)。

18.B

19.Dregister聲明寄存器變量enum聲明枚舉類型default開關(guān)語句中的“其他”分支

20.A

21.99解析:在主函數(shù)中函數(shù)f(f(3,4),f(3,5))的返回值賦給d。函數(shù)的第一個(gè)參數(shù)為f(3,4)的返回值,函數(shù)f(3,4)返回值為(4-3)×3=3,f(3,5)返回值為(5-3)×3=6,那么函數(shù)f(f(3,4),f(3,5))等價(jià)于函數(shù)f(3,6)其返回值為(6-3)×3=9。因此d被賦值為9;所以輸出9。

22.HelloHello解析:語句b[5]=0;相當(dāng)于語句b[5]='\\0';且'\\0'為字符串結(jié)束標(biāo)志,輸出時(shí)遇到'\\0'就停止輸出。

23.str+n或p+nstr+n或p+n解析:此題主要是將形參c中的字符與str中的字符相比較,返回以形參c中字符開頭的后續(xù)字符串,函數(shù)fun中的變量n用于記錄形參c中字符在str字符串中的位置,故返回的結(jié)果用str+n或p+n表示。

24.a=26b=14c=19a=26,b=14,c=19解析:這種條件表達(dá)式的—般形式為:表達(dá)式1?表達(dá)式2:表達(dá)式3,三目運(yùn)算符的執(zhí)行順序,先求解表達(dá)式1,若非0則求解表達(dá)式2,此時(shí)表達(dá)式2的值就作為整個(gè)表達(dá)式的值,若表達(dá)式1的值為0,則求解表達(dá)式3,此時(shí)表達(dá)式3的值就作為整個(gè)表達(dá)式的值。C語言在做一系列表達(dá)式相與時(shí),從左到右分別計(jì)算各表達(dá)式的值,一旦遇到一個(gè)表達(dá)式為false,則剩余的表達(dá)式都不再進(jìn)行運(yùn)算。該題中,a++<=2的值為false,則b-<=2和c++就都不再運(yùn)算再運(yùn)算。

25.*(p+5)或p[5]*(p+5)或p[5]解析:本題的考查點(diǎn)是通過指針引用數(shù)組元素。98是數(shù)組w的第5個(gè)元素(最開始的為第0個(gè)),而通過*p=w已經(jīng)將p指向了數(shù)組w,要想不移動(dòng)指針p而引用98,可以有以下兩種方法:p[5]、*(p+5)。

26.模塊模塊解析:矩形表示的是模塊,箭頭表示的是模塊間的調(diào)用關(guān)系。用帶實(shí)心圓的箭頭表示傳遞的是控制信息,用帶空心圓的箭頭表示傳遞的是數(shù)據(jù)。

27.gae

28.n-1

29.質(zhì)量質(zhì)量

30.282,8解析:do…while語句的功能是:首先執(zhí)行循環(huán)體語句,然后檢測(cè)循環(huán)控制條件表達(dá)式的值,若為真,則重復(fù)執(zhí)行循環(huán)體語句,否則退出循環(huán)。這里程序初始時(shí)a=1,b=10,經(jīng)過操作b-=a;a++后b=9,a=2,判斷條件b--<O不成立,退出循環(huán),但b的值被減1,因此結(jié)果為:a=2,b=8。

31.tc

32.NN解析:函數(shù)說明語句中的類型名必須與函數(shù)返回值的類型一致。本題實(shí)現(xiàn)的是在字符'A'的ASCII碼值上加上一個(gè)常數(shù),使之變成另一個(gè)ASCII碼值,從而輸出字符。

33.ptrptr解析:本題考查函數(shù)指針的概念。函數(shù)指針的定義格式是:類型標(biāo)識(shí)符(*旨針變量名)()。注:“類型標(biāo)識(shí)符”為函數(shù)返回值的類型。

34.63或26-163或26-1解析:在滿二叉樹中,每層結(jié)點(diǎn)都是滿的,即每層結(jié)點(diǎn)都具有最大結(jié)點(diǎn)數(shù)。深度為k的滿二叉樹,一共有2k-1個(gè)結(jié)點(diǎn),其中包括度為2的結(jié)點(diǎn)和葉子結(jié)點(diǎn)。因此,深度為7的滿二叉樹,一共有27-1個(gè)結(jié)點(diǎn),即127個(gè)結(jié)點(diǎn)。根據(jù)二叉樹的另一條性質(zhì),對(duì)任意一棵二叉樹,若終端結(jié)點(diǎn)(即葉子結(jié)點(diǎn))數(shù)為n0,而其度數(shù)為2的結(jié)點(diǎn)數(shù)為n2,則n0=n2+1。設(shè)深度為7的滿二叉樹中,度為2的結(jié)點(diǎn)個(gè)數(shù)為x,則改樹中葉子結(jié)點(diǎn)的個(gè)數(shù)為x+1。則應(yīng)滿足x+(x+1)=127,解該方程得到,x的值為63。結(jié)果上述分析可知,在深度為7的滿二叉樹中,度為2的結(jié)點(diǎn)個(gè)數(shù)為63。

35.double或雙精度型double或雙精度型

36.3131解析:在函數(shù)調(diào)用時(shí),形參值和改變,不會(huì)改變實(shí)參的值。

37.n1=%d\nn2=%dn1=%d\\nn2=%d解析:根據(jù)輸出結(jié)果,可以確定“格式控制”為n1=%d\\nn2=%d,其中,“n1=”和“n2=”是按原樣輸出的字符,“%d”是按十進(jìn)制整數(shù)輸出,“\\n”是轉(zhuǎn)義字符,用于輸出回車換行。

38.HelloHello解析:字符串中,數(shù)值0或符號(hào)'/0'表示字符串的結(jié)束。本題中,b[5]被賦了0值,表明字符串b的第六個(gè)字符就是結(jié)束標(biāo)志。因此,只輸出前五個(gè)字符,即Hello。

39.有窮性有窮性

40.88。8,8。解析:本題考查靜態(tài)局部變量值的特點(diǎn),請(qǐng)參考第10章有關(guān)習(xí)題的解析。

41.A解析:本題考查邏輯與運(yùn)算符&&。在C語言中使用運(yùn)算符“&&”連接兩個(gè)表達(dá)式,也可以表示邏輯與運(yùn)算符。在C語言中不允許出現(xiàn)a<=b<=c這種格式。

42.D本題主要考查軟件的測(cè)試。軟件測(cè)試的主要目的體現(xiàn)在下面幾個(gè)方面。

(1)軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程。

(2)一個(gè)好的測(cè)試用例能夠發(fā)現(xiàn)至今尚未發(fā)現(xiàn)的錯(cuò)誤。

(3)一個(gè)成功的測(cè)試是發(fā)現(xiàn)了至今尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試。

軟件測(cè)試的效率是指利用更少的成本創(chuàng)造更多的價(jià)值,提供軟件測(cè)試效率的方法有很多,如制定一個(gè)合理的詳細(xì)的測(cè)試計(jì)劃,了解測(cè)試項(xiàng)目的業(yè)務(wù)需求,集中對(duì)付那些錯(cuò)誤群集的程序等。而選項(xiàng)A所描述的隨機(jī)選取測(cè)試數(shù)據(jù)是不能保證提高測(cè)試效率的,選項(xiàng)B描述的取一切可能的輸入數(shù)據(jù)作為測(cè)試數(shù)據(jù)顯然不能提高測(cè)試效率,反而使工作量加大,降低測(cè)試效率。

43.C解析:在for循環(huán)體中,首先判斷自變量i能否被5整除,然后再自加兩次,最后判斷i能否被8整除。當(dāng)for循環(huán)執(zhí)行到第30次時(shí),i的值為30能被5整除,然后i經(jīng)過兩次自加1運(yùn)算,值變?yōu)?2,能被8整除,故執(zhí)行“printf('%d',i);”語句,即輸出32。本題的答案為選項(xiàng)C)。

44.B解析:數(shù)據(jù)處理是計(jì)算機(jī)應(yīng)用的重要領(lǐng)域,在實(shí)際數(shù)據(jù)處理時(shí),被處理的各數(shù)據(jù)元素總是被存放在計(jì)算機(jī)的存儲(chǔ)空間中,并且各數(shù)據(jù)元素在計(jì)算機(jī)存儲(chǔ)空間中的位置關(guān)系與它們的邏輯關(guān)系不一定是相同的,一般也不可能相同。數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)空間中的存放形式稱為數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)(也稱數(shù)據(jù)的物理結(jié)構(gòu))。一般來說,數(shù)據(jù)的邏輯結(jié)構(gòu)根據(jù)需要可以表示成多種存儲(chǔ)結(jié)構(gòu),常用的存儲(chǔ)結(jié)構(gòu)有順序、鏈接、索引等存儲(chǔ)結(jié)構(gòu)。而采用不同的存儲(chǔ)結(jié)構(gòu),其數(shù)據(jù)處理的效率也是不同的。

45.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)。

46.B解析:結(jié)構(gòu)體類型的變量在程序運(yùn)行期間要作為一個(gè)整體占用連續(xù)的內(nèi)存單元。

47.B解析:枚舉類型的定義類似于結(jié)構(gòu)體和共用體,所以選項(xiàng)A和C不正確。大括號(hào)中的枚舉元素應(yīng)該使用合法標(biāo)識(shí)符來定義,而不是字符串常量,所以選項(xiàng)D不正確。故應(yīng)該選擇B。

48.D解析:本題考查C語言的基本基礎(chǔ)知識(shí)。在C程序中,注釋用符號(hào)“/*”開始,而以符號(hào)“*/”結(jié)束。程序的注釋可以放在程序的任何位置。通常將注釋放在程序的開始,以說明本程序的功能;或者放在程序的某個(gè)語句后面,以對(duì)此語句的功能進(jìn)行描述。無論將注釋放有何處,在程序進(jìn)行編譯時(shí),編譯程序不會(huì)處理注釋的內(nèi)容;且注釋內(nèi)容也不會(huì)出現(xiàn)在目標(biāo)程序中。

49.C解析:修改數(shù)據(jù)庫的物理結(jié)構(gòu)或邏輯結(jié)構(gòu)時(shí),通過兩級(jí)映像,可以使得應(yīng)用程序不必修改,保證數(shù)據(jù)的獨(dú)立性。數(shù)據(jù)的獨(dú)立性包括物理獨(dú)立性和邏輯獨(dú)立性。

50.D解析:因?yàn)槎鏄溆凶?、右子樹之分,所以?個(gè)結(jié)點(diǎn)的二叉樹具有5種不同的形態(tài)。

51.C解析:對(duì)象的基本特點(diǎn)包括;標(biāo)識(shí)惟一性、分類性、多態(tài)性、封裝性和獨(dú)立性等。繼承性不屬于對(duì)象的基本特點(diǎn)。

52.C解析:賦值的一般形式為:變量名:表達(dá)式;,賦值的方向?yàn)橛捎蚁蜃?,即將:右?cè)表達(dá)式的值賦給:左側(cè)的變量,執(zhí)行步驟是先計(jì)算再賦值。選項(xiàng)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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)論