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è),還剩102頁(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年江西省鷹潭市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.有以下程序:

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

A.1,3

B.2,3

C.1,4

D.1,2

2.

3.現(xiàn)有如下程序段#include"stdio.h"main(){inta[5][6]={23,3,65,21,6,78,28;5,67,25,435,76,8,22,45,7,8,34,6,78,32,4,5,67,4,21,1};inti=0,j=5;printf("%d\n",*(&a[0][0]+2*i+j-2));}則程序的輸出結(jié)果為

A.21B.78C.23D.28

4.在Windows環(huán)境下,單擊當(dāng)前應(yīng)用程序窗口中的“關(guān)閉”按鈕,其功能是A.將當(dāng)前應(yīng)用程序轉(zhuǎn)為后臺(tái)運(yùn)行

B.退出Windows后再關(guān)機(jī)

C.退出Windows后重新啟動(dòng)計(jì)算機(jī)

D.終止當(dāng)前應(yīng)用程序的運(yùn)行

5.有以下程序:#include<stdio.h>main(){chars[]=“abcde”;s+=2;printf(“%d\n”,s[0]);}程序的運(yùn)行結(jié)果是()。

A.輸出字符c的ASCII值B.程序出錯(cuò)C.輸出字符cD.輸出字符a的ASCII值

6.

7.有以下程序:#include<stdio.h>main(){inta=0,b=0,c=0;c=(a=a=5);(a=b,b+=4);printf("%d,%d,%d\n",a,bc);}程序運(yùn)行后的輸出結(jié)果是()。A.0,4,5B.4,4,5C.4,4,4D.0,0,0

8.若i、j已定義成mt型,則下列程序段中內(nèi)循環(huán)體的總執(zhí)行次數(shù)是()。for(i=6;i>0;i--)for(j=0;j<4;j++){…}A.20B.24C.25D.30

9.若有下列說(shuō)明語(yǔ)句int(*p)();則標(biāo)識(shí)符p代表的是()

A.一個(gè)用于指向函數(shù)的指針變量,函數(shù)返回值的類(lèi)型為int型

B.一個(gè)帶回值類(lèi)型為整型的函數(shù)名

C.一個(gè)用于指向整型數(shù)據(jù)的指針變量

D.一個(gè)帶回值類(lèi)型為指針類(lèi)型的函數(shù)名

10.下列程序的輸出結(jié)果是______。#include<stdio.h>main(){doubled=3.2;intx,y;x=1.2;y=(x+3.8)/5.0;printf("%d\n",d*y);}

A.3B.3.2C.0D.3.07

11.如果最常用的操作是取第i個(gè)結(jié)點(diǎn)及其前驅(qū),最節(jié)省時(shí)間的存儲(chǔ)方式是()。

A.單鏈表B.雙向鏈表C.單循環(huán)鏈表D.順序表

12.有以下程序:程序運(yùn)行后的輸出結(jié)果是()。A.1.000000B.0.000000C.0.250000D.0.500000

13.若有定義語(yǔ)句:“charS[3][10],(*k)[3],*p;”,則以下賦值語(yǔ)句正確的是()。

A.p=S;B.p=k;C.p=s[0];D.k=s;

14.有下列程序段:intk=0,a=1,b=2,c=3;k=a<b?b:a;k=k>c?c=k;執(zhí)行該程序段后,k的值是()。

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

15.設(shè)C語(yǔ)言中,一個(gè)int型數(shù)據(jù)在內(nèi)存中占2個(gè)字節(jié),則unsignedint型數(shù)據(jù)的取值范圍為()。

A.0~255B.0~32767C.0~65535D.0~2147483647

16.判斷有向圖是否存在回路,利用()方法最佳。

A.求關(guān)鍵路徑B.求最短路徑C.拓?fù)渑判駾.廣度優(yōu)先遍歷

17.

18.有以下程序

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

19.在一個(gè)順序隊(duì)列中,隊(duì)首指針指向隊(duì)首元素的____位置。

A.前一個(gè)B.后一個(gè)C.當(dāng)前D.最后一個(gè)

20.以下關(guān)于C語(yǔ)言數(shù)據(jù)類(lèi)型使用的敘述中錯(cuò)誤的是A.若要準(zhǔn)確無(wú)誤差的表示自然數(shù),應(yīng)使用整數(shù)類(lèi)型

B.若要保存帶有多位小數(shù)的數(shù)據(jù),應(yīng)使用雙精度類(lèi)型

C.若要處理如“人員信息”等含有不同類(lèi)型的相關(guān)數(shù)據(jù),應(yīng)自定義結(jié)構(gòu)體類(lèi)型

D.若只處理“真”和“假”兩種邏輯值,應(yīng)使用邏輯類(lèi)型

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

22.在關(guān)系運(yùn)算中,【】運(yùn)算是在給定關(guān)系的某些域上進(jìn)行的運(yùn)算。

23.設(shè)y為血型變量,請(qǐng)寫(xiě)出描述“y是偶數(shù)”的表達(dá)式______。

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

25.以卜函數(shù)sstrcat()的功能是實(shí)現(xiàn)寧符串的連接,即將t所指字符串復(fù)制到s所指字符串的尾部。例如:s所指字符串為abcd,t所指字符申為efgh,函數(shù)調(diào)用后s所指字符串為abcdefgh。請(qǐng)?zhí)羁铡?/p>

#include<string.h>

voidsstrcat(char*s,char*t)

{intn;

n=strlen(s);

while(*(s+n)=){s++;t++;}

}

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

main()

{

intp=30;

printf("%d\n",(p/3>0?p/10:p%3));

}

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

main()

{inti=0,a=0;

while(i<20)

{for(;;)

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

elsei--;}

i+=11;

a+=i;

}

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

}

28.有以下程序:

main()

{intt=1,i=5;

for(;i>=0;i--)t*=i;

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

}

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

29.有以下程序段,且變量已正確定義和賦值

for(s=1.0,k=1;k<=n;k++)s=s+1.0/(k*(k+1));

printf("s=%f\n\n",s);

請(qǐng)?zhí)羁眨瓜旅娉绦蚨蔚墓δ芘c之完全相同

s=1.0;k=1;

while(【】){s=s+1.0/(k*(k+1));【】;}

printf("s=%f\n\n",s);

30.以下程序的運(yùn)行結(jié)果是#defineMAX(A,B)(A)>(B)?(A):(B)#definePRINT(Y)printf(:Y=%d\t",Y)main(){inta=1,b=2,c=3,d=4,t;t:MAX(a+b,c+d);PRINT(t);}

31.數(shù)據(jù)結(jié)構(gòu)分為邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu),線(xiàn)性鏈表屬于【】。

32.在面向?qū)ο蠓椒ㄖ?,【】描述的是具有相似屬性與操作的一組對(duì)象。

33.若想通過(guò)以下輸入語(yǔ)句給a賦值1,給b賦值2.則輸入數(shù)據(jù)的形式應(yīng)該是【】。

inta,b;

scanf("a=%d,b=%d",&a,&b);

34.下面程序的運(yùn)行結(jié)果是()。#defineP(A)printf("%d",A)main(){intj,a[]={1,2,3,4,5,6,7},i=5;for(j=3;j>1;j--){switch(j){case1:case2:P(a[i++]);break;case3:P(a[--i]);}}}

35.下面程序的功能是將字符串a(chǎn)下標(biāo)值為偶數(shù)的元素由小到大排序,其他元素不變,請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

main()

{

chara[]="labchmfye",t:

int1,j;

for(i=0;i<7;i+=2)

for(j=i+2;j<9;【】)

if(【】)

{t=a[i];a[i]=a[j];a[j]=t;j++;}

puts(a);printf("\n");

}

36.己定義charch='$';inti=l,j;,執(zhí)行j=!ch&&ii++以后,i的值為【】。

37.已知字母A的ASCII碼為65。以下程序運(yùn)行后的輸出結(jié)果是______。

main()

{chara,b;

a='A'+'5'-'3';b=a+'6'-'2';

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

}

38.在樹(shù)型結(jié)構(gòu)中,根結(jié)點(diǎn)沒(méi)有【】結(jié)點(diǎn),其余每個(gè)結(jié)點(diǎn)有且僅有【】個(gè)前驅(qū)結(jié)點(diǎn);葉結(jié)點(diǎn)沒(méi)有后繼結(jié)點(diǎn),其余每個(gè)結(jié)點(diǎn)的【】結(jié)點(diǎn)數(shù)不受限制。

39.與結(jié)構(gòu)化需求分析方法相對(duì)應(yīng)的是【】方法。

40.在面向?qū)ο蠓椒ㄖ校试S作用于某個(gè)對(duì)象上的操作稱(chēng)為【】。

三、1.選擇題(20題)41.有以下結(jié)構(gòu)體說(shuō)明和變量定義,如圖所示,指針p、q、r,分別指向此鏈表中的3個(gè)連續(xù)結(jié)點(diǎn)。Structnode{intdata;Structnode*hext;}*p,*q,

*r;

現(xiàn)要將Q所指結(jié)點(diǎn)從鏈表中刪除,同時(shí)要保持鏈表的連續(xù),以下不能完成指定操作的語(yǔ)句是

A.p->next=q->next;

B.p->next=p->next->next;

C.p->next=r;

D.p=q->next;

42.一些重要的程序語(yǔ)言(如Pascal語(yǔ)言)允許過(guò)程的遞歸調(diào)用,而實(shí)現(xiàn)遞歸調(diào)用中的存儲(chǔ)分配通常用()。

A.棧B.堆C.數(shù)組D.鏈表

43.已有定義:inti,a[10],*p;則合法的賦值語(yǔ)句是()。

A.p=100;B.p=a[5];C.p=a[2]+2;D.p=a+2;

44.有以下程序段intn=0,p;do{scanf(“%d”,&p);n++;}while(p!=12345&&n<3);此處do-while循環(huán)的結(jié)束條件是

A.P的值不等于12345并且n的值小于3

B.P的值等于12345并且n的值大于等于3

C.P的值不等于12345或者n的值小于3

D.P的值等于12345或者n的值大于等于3

45.有如下程序:main(){intn=9;while(n>6){n--;printf("%d",n);}}該程序的輸出結(jié)果是

A.987B.876C.8765D.9876

46.下列對(duì)于軟件測(cè)試的描述中正確的是()。

A.軟件測(cè)試的目的是證明程序是否正確

B.軟件測(cè)試的目的是使程序運(yùn)行結(jié)果正確

C.軟件測(cè)試的目的是盡可能多地發(fā)現(xiàn)程序中的錯(cuò)誤

D.軟件測(cè)試的目的是使程序符合結(jié)構(gòu)化原則

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

A.接口復(fù)雜的模塊,其耦合程度一定低

B.耦合程度弱的模塊,其內(nèi)聚程度一定低

C.耦合程度弱的模塊,其內(nèi)聚程度一定高

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

48.有以下結(jié)構(gòu)體說(shuō)明和變量定義,如圖所示:struetnode{intdata;structnode*next;}*p,*q,*r;

現(xiàn)要將q所指結(jié)點(diǎn)從鏈表中刪除,同時(shí)要保持鏈表的連續(xù),以下不能完成指定操作的語(yǔ)句是

A.p->next=q->next;

B.p->next=p->next->next;

C.p->next=r;

D.p=q->next;

49.若在以下定義和賦值語(yǔ)句,則才s數(shù)組的第i行第j列(假設(shè)i,j已正確說(shuō)明并賦值)元素地址的合法引用為ints[2][3]={0},(*p)[3];p=s;

A.*(*(p+i)+j)B.*(p[i]+j)C.(p+i)+jD.(*(p+i))[j]

50.以下對(duì)結(jié)構(gòu)體類(lèi)型變量td的定義中,錯(cuò)誤的是

A.typedefstructaa{intn;floatm;}AA;AAtd;

B.structaa{intn;floatm;}td;structaatd;

C.struct{intn;floatm;}aa;structaatd;

D.struct{intn;floatm;}td;

51.下列說(shuō)法中不正確的是()

A.調(diào)制解調(diào)器(Modem)是局域網(wǎng)絡(luò)設(shè)備

B.集線(xiàn)器(Hub)是局域網(wǎng)絡(luò)設(shè)備

C.網(wǎng)卡(NIC)是局域網(wǎng)絡(luò)設(shè)備

D.中繼器(Repeater)是局域網(wǎng)絡(luò)設(shè)備

52.若程序中已包含頭文件stdio.h,以下選項(xiàng)能正確運(yùn)用指針變量的程序段是()。

A.int*i=NULL;scanf("%d",i);

B.float*f=NULL;*f=10.5;

C.chart='m',*c;*c=&t;

D.long*L;L='\0';

53.以下非法的賦值語(yǔ)句是

A.n=(i=2,++i);B.j++;C.++(i+1);D.x=j>0;

54.下列關(guān)于E-R圖的描述中正確的是()。

A.E-R圖只能表示實(shí)體之間的聯(lián)系

B.E-R圖只能表示實(shí)體和屬性之間的聯(lián)系

C.E-R圖只能表示實(shí)體和屬性

D.E-R圖能表示實(shí)體、屬性和實(shí)體之間的聯(lián)系

55.以下程序段給數(shù)組所有的元素輸入數(shù)據(jù),請(qǐng)選擇正確答案填入。#include<stdio.h>main(){inta[10],i=0;while(i<10)scanf("%d",______);}

A.a+(i++)B.&a[i+1]C.a+iD.&a[++i]

56.下列語(yǔ)句中符合C語(yǔ)言語(yǔ)法的賦值語(yǔ)句是()

A.a=7+b+c=a+7;

B.9=7+b+9++a+7;

C.a=7+b,b++,a+7;

D.a=7+b,c=a+7;

57.有以下程序#include<stdio.h>#definePT5.5#defineS(x)PT*x*xmain(){inta=1,b=2;printf("%4.1f\n",S(a+b));}程序運(yùn)行后的輸出結(jié)果是()

A.49.5B.9.5C.22D.45

58.下列程序的輸出結(jié)果是()。#include<stdio.h>structabc{inta,b,c,s;};main(){structabcs[2]={{1,2,3},{4,5,6}};intt;t=s[0].a+s[1].b;printf("%d\n",t);}

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

59.設(shè)a=1,b=2,c=3,d=4,則表達(dá)式a<b?a:c<d?a:d的結(jié)果為_(kāi)_____。

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

60.下面程序的運(yùn)行結(jié)果是#include<stdio.h>#include<string.h>main(){char*s1="AbDeG";char*s2="AbdEg";s1+=2;s2+=2;printf("%d\n",strcmp(s1,s2));}

A.正數(shù)B.負(fù)數(shù)C.零D.不確定的值

四、選擇題(20題)61.以下選項(xiàng)中不能作為C語(yǔ)言合法常量的是

A.’Fab’B.0.7e+9C."\b"D.’\01211’

62.

63.設(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}};

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

A.可以給指針變量賦一個(gè)整數(shù)作為地址值

B.函數(shù)可以返回地址值

C.改變函數(shù)形參的值,不會(huì)改變對(duì)應(yīng)實(shí)參的值

D.當(dāng)在程序的開(kāi)頭包含頭文件stdi0.h時(shí),可以給指針變量賦NULL、、、

65.下列對(duì)于線(xiàn)性鏈表的描述中正確的是()。

A.存儲(chǔ)空間不一定連續(xù),且各元素的存儲(chǔ)順序是任意的

B.存儲(chǔ)空間不一定連續(xù),且前件元素一定存儲(chǔ)在后件元素的前面

C.存儲(chǔ)空間必須連續(xù),且前件元素一定存儲(chǔ)在后件元素的前面

D.存儲(chǔ)空間必須連續(xù),且各元素的存儲(chǔ)順序是任意的

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

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

A.自然連接B.交C.除D.并

67.下列選項(xiàng)中,能正確定義數(shù)組的語(yǔ)句是()。

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

A.全局變量的作用域一定比局部變量的作用域范圍大

B.靜態(tài)(static)類(lèi)別變量的生存期貫穿于整個(gè)程序的運(yùn)行期間

C.全局變量的生存期是整個(gè)程序的運(yùn)行期間

D.靜態(tài)局部變量的初值是在編譯時(shí)賦予的,在程序執(zhí)行期間不再賦予初值

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

#include<stdio.h>

voidmain()

{inta,b,d=241;

a=d/100%9;

b=(-1)&&(-1);

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

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

70.在一個(gè)C程序中

A.main函數(shù)必須出現(xiàn)在所有的函數(shù)之前B.main函數(shù)可以在任何地方出現(xiàn)

C.main函數(shù)必須出現(xiàn)在所有的函數(shù)之后D.main函數(shù)必須出現(xiàn)在固定位置

71.下列關(guān)于結(jié)構(gòu)型、共用型、枚舉型的定義語(yǔ)句中,正確的是()。

A.structss{intx}

B.unionuu{intx;}xx=5;

C.enumee{intx};

D.struct{intx;};

72.

73.數(shù)據(jù)庫(kù)管理系統(tǒng)是()。

A.操作系統(tǒng)的一部分B.在操作系統(tǒng)支持下的系統(tǒng)軟件C.一種編譯系統(tǒng)D.一種操作系統(tǒng)

74.

75.在JavaScript語(yǔ)言中,擁有onsubmit事件的對(duì)象是()。

A.documentB.eventC.windowD.form.

76.下列關(guān)于指針變量賦空值的說(shuō)法錯(cuò)誤的是

A.當(dāng)賦空值的時(shí)候,變量指向地址為0的存儲(chǔ)單元B.賦值語(yǔ)句可以表達(dá)為變量名=’\0’;

C.賦值語(yǔ)句可以表達(dá)為變量名=0;D.一個(gè)指針變量可以被賦空值

77.

78.

79.有以下程序:

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

A.7

B.3

C.20)O

80.有以下程序#include<stdio.h>voidfun(int*a,intn)/*fun函數(shù)的功能是將a所指數(shù)組元素從大到小排序*/{intt,i,j;for(i=0;i<n-1;j++)for(j=i+l;j<n;j++)if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;}}main{intc[10]={1,2,3,4,5,6,7,8,9,0),i;fun(c+4,6);for(i=0;i<10;i++)printf("%d,",c[i]);printf("\n");}程序運(yùn)行的結(jié)果是()。A.1,2,3,4,5,6,7,8,9,0,

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

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

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

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:從字符串str中,刪除所有小寫(xiě)字母c。請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:

六、程序設(shè)計(jì)題(1題)82.使用VC++2010打開(kāi)考生文件夾下prog1中的解決方案。此解決方案的項(xiàng)目中包含一個(gè)源程序文件prog1.c。在此程序中,編寫(xiě)函數(shù)fun(),其功能是根據(jù)以下公式計(jì)算S,并將計(jì)算結(jié)果作為函數(shù)值返回,通過(guò)形參傳入。例如,若n的值為11時(shí),函數(shù)的值為1.833333。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入你編寫(xiě)的若干語(yǔ)句。試題程序:#include<stdlib.h>#include<conio.h>#include<stdio.h>#include<string.h>floatfun(intn){}voidmain(){ intn; floats; system(“CLS”); printf(“\nPleaseenterN:”); scanf(“%d”,&n); s=fun(n); printf(“Theresultis:%f\n”,s);}

參考答案

1.Af函數(shù)功能使第二個(gè)指針指向的元素增1,第一個(gè)指針指向的元素不變,所以答案選擇A)。

2.B

3.A解析:通過(guò)地址來(lái)引用二維數(shù)組,若有以下定義:inta[3][4],i,j;且當(dāng)0≤i≤3,0≤j<4則可以有以下幾種方式來(lái)引用數(shù)組中的第i行,第j列的元素:\ue008a[i][j]\ue009,\ue008*(a[i]+j),\ue009*(*(a+i)+j),(*(a+i))[j],*(&a[0][0]+4*i+j)。表達(dá)式&a[0][0]+2*i+j-2相當(dāng)于是地址&a[0][0]加上多少偏移量。

4.D

5.B在C語(yǔ)言中,數(shù)組名類(lèi)似于一個(gè)指向數(shù)組首地址的指針常量,一旦定義就不能修改其內(nèi)容。所以本題中的“s+=2;”語(yǔ)句讓數(shù)組名S的內(nèi)容加2是錯(cuò)誤的,編譯無(wú)法通過(guò)。故本題答案為B選項(xiàng)。

6.B

7.A本題考查簡(jiǎn)單的賦值運(yùn)算,在程序中c=(a-=am5),先算括號(hào)中的a-=a-5=5,所以c=5,再計(jì)算(a=b,b+=4);,a=b=0,b+=4=0+4=4,所以b=4,所以a=0,b=4,c=5,答案選擇A。

8.B本題考查for循環(huán)的使用。對(duì)于第1個(gè)for循環(huán),任何一個(gè)i,內(nèi)層j的循環(huán)都要使j~0到3,j=4時(shí)不符合,所以退出j循環(huán);然后i減1,J仍然要從0~3,j=4時(shí)退出J循環(huán)直到i變成0,退出i循環(huán)。第一條for語(yǔ)句執(zhí)行6次,第二條for語(yǔ)句執(zhí)行4次,所以?xún)?nèi)循環(huán)體執(zhí)行6*4=24次。

9.A

10.C

11.D

12.D程序定義double變量x、y,給x賦初值2.0。if語(yǔ)句判斷,當(dāng)x小于0.0時(shí),給y賦值0.0。否則當(dāng)x小于10.0時(shí),y的值為1.0/x;當(dāng)x大于等于10.0時(shí),y的值為1.0。題干中x的值為2.0,所以y的值為1.0/x,即0.500000。本題答案為D選項(xiàng)。

13.C答案C的意思是*P指向數(shù)組的第一個(gè)值。

14.B解析:因?yàn)閍<b成立,所以條件表達(dá)式a<b?b:a的值等于b的值等于2,因此變量k的值等于2。又因?yàn)閗=2>c=3不成立,所以條件表達(dá)式k>c?c:k的值等于k的值等于2。把條件表達(dá)式k>c?c:k的值賦給變量k,因而變量k的值等于2。因此,選項(xiàng)B)為正確答案。

15.C

16.C

17.A

18.C解析:當(dāng)for循環(huán)執(zhí)行到第30次時(shí),i的值為30能被5整除,然后繼續(xù)執(zhí)行兩次if語(yǔ)句,i經(jīng)過(guò)兩次自加1運(yùn)算,值變?yōu)?2,能被8整除,故此時(shí)第一次執(zhí)行'printf('%d',i);'語(yǔ)句,即輸出32。

19.A

20.D解析:C語(yǔ)言中沒(méi)有邏輯類(lèi)型,若只處理"真"或"假"兩種邏輯值,可以使用整型數(shù)"1"或"0"表示,故選D。

21.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è)。

22.投影投影解析:在關(guān)系運(yùn)算中,投影運(yùn)算是在給定關(guān)系的某些域上進(jìn)行的運(yùn)算。

23.(y%2)==0(y%2)==0解析:因符合偶數(shù)的條件是對(duì)2取余為0,所以要描述y是偶數(shù)的表達(dá)式是(y%2)==0。

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

25.*t*t解析:函數(shù)中首先讓n=stxlen(s)所以while循環(huán)的循環(huán)條件表達(dá)式中*(s+n)指向字符串s的結(jié)束標(biāo)志'0',處,而該處應(yīng)該等于字符串t的第1個(gè)字符,另外循環(huán)體中讓s和t指向下一個(gè)字符,即s+n和t同時(shí)被移動(dòng)到下一個(gè)位置,所以該處應(yīng)該填*t,即t所指內(nèi)容.當(dāng)t指向字符串結(jié)束標(biāo)志'\\0'的時(shí)候,整個(gè)循環(huán)條件表達(dá)式的值也為0(“假”)了,循環(huán)結(jié)束.正好滿(mǎn)足將t所指字符串復(fù)制到s所指的字符串的尾部。

26.33解析:條件表達(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,表達(dá)式3的值就是整個(gè)條件表達(dá)式的值。30/3=10>0,所以執(zhí)行p/10,結(jié)果為3。

27.3232解析:while(表達(dá)式)的功能是:首先計(jì)算表達(dá)式的值,若為真,則執(zhí)行循環(huán)體語(yǔ)句,執(zhí)行完畢,再計(jì)算表達(dá)式的值,若仍為真,則重復(fù)執(zhí)行循環(huán)體語(yǔ)句,直到表達(dá)式的值為假時(shí),結(jié)束while語(yǔ)句的執(zhí)行,繼續(xù)執(zhí)行while語(yǔ)句后面的語(yǔ)句:i=0時(shí)滿(mǎn)足循環(huán)條件,也滿(mǎn)足if的條件,執(zhí)行語(yǔ)句得i=11,a=11,第2次循環(huán)不滿(mǎn)足if的條件,執(zhí)行i--,i=10,執(zhí)行i+=11;a+=i后,得i=21,a=32,不滿(mǎn)足i<20,循環(huán)結(jié)束。

28.00解析:for循環(huán)執(zhí)行完成后t=5×4×3×2×1×0=0。

29.k<=nk++k<=n\r\nk++解析:本題要求將一個(gè)for循環(huán)改成while循環(huán)。首先要保證循環(huán)條件相同,在for循環(huán)中,每次執(zhí)行循環(huán)之后,循環(huán)控制變量k都會(huì)加1,而while循環(huán)則沒(méi)有,故需在循環(huán)體中增加改變k數(shù)值的語(yǔ)句“k++;”。

30.C

31.存儲(chǔ)結(jié)構(gòu)

32.類(lèi)類(lèi)解析:在面向?qū)ο蠓椒ㄖ校?lèi)描述的是具有相似屬性與操作的一組對(duì)象。

33.a=1b=2

34.5555解析:分析程序執(zhí)行過(guò)程,第一次循環(huán)時(shí),j=3,i=5,因?yàn)閟witch(3),所以執(zhí)行case3,調(diào)用P(a[--i])=P(a[4])=P(5),輸出5;第二次循環(huán)時(shí),j=2,i=4,因?yàn)閟witch(2),所以執(zhí)行case2,調(diào)用P(a[i++])=P(a[4])=P(5),輸出5,之后i自加1等于5。

35.j++a[j]>a[j]

36.11解析:本題中的ch是一個(gè)字符變量,其初始值為'$'(非0值即為真),所以!ch的結(jié)果為假,此時(shí)&&右邊的i++被“短路”,即不會(huì)被計(jì)算。由此可見(jiàn),i的值不會(huì)改變,故本題應(yīng)該填1。

37.67G67G解析:字符型變量中保存的是某個(gè)字符的ASCII碼值,是一個(gè)整數(shù),因此字符型變量的算術(shù)運(yùn)算和整型變量并無(wú)區(qū)別。所以。a='A'+'5'-'3'='A'+('5'='3')='A'+2=65+2=67:b=a+'6'='2'='C'+('6'-'2')='C'+4='G'。最后分別按十進(jìn)制整數(shù)和字符形式輸出a和b的值為:67G。

38.前驅(qū)一后繼前驅(qū)\r\n一\r\n后繼

39.結(jié)構(gòu)化設(shè)計(jì)結(jié)構(gòu)化設(shè)計(jì)解析:與結(jié)構(gòu)化需求分析方法相對(duì)應(yīng)的是結(jié)構(gòu)化設(shè)計(jì)方法。結(jié)構(gòu)化設(shè)計(jì)就是采用最佳的可能方法設(shè)計(jì)系統(tǒng)的各個(gè)組成部分以及各個(gè)成分之間的內(nèi)部聯(lián)系的技術(shù)。

40.方法方法解析:在面向?qū)ο蠓椒ㄖ?,方法是指允許作用于某個(gè)對(duì)象上的各種操作。

41.D解析:要?jiǎng)h除鏈表中間的某個(gè)結(jié)點(diǎn),只需要使它的前一個(gè)結(jié)點(diǎn)的next指針指向它的后一個(gè)結(jié)點(diǎn)-不過(guò),嚴(yán)格來(lái)講還需要使用free()函數(shù)釋放掉該結(jié)點(diǎn)在內(nèi)存中所占的空間。本題要?jiǎng)h除的是q所指結(jié)點(diǎn)(以下簡(jiǎn)稱(chēng)q結(jié)點(diǎn)),只需使p結(jié)點(diǎn)的next指針指向r結(jié)點(diǎn)即可。選項(xiàng)A中,因?yàn)镼結(jié)點(diǎn)的next指向r結(jié)點(diǎn),所以執(zhí)行p->next=q->next;語(yǔ)句后p結(jié)點(diǎn)的next就指向了r結(jié)點(diǎn),故選項(xiàng)A能完成刪除。選項(xiàng)B中,p->next->next等價(jià)于q->next,因此也能完成刪除。選項(xiàng)C直接讓p->next指向r結(jié)點(diǎn),當(dāng)然可以刪除。選項(xiàng)D使指針p指向q->next(即r結(jié)點(diǎn)),這樣做不會(huì)影響到內(nèi)存中的鏈表,所以應(yīng)該選擇D。

42.A解析:一些較流行的程序語(yǔ)言允許過(guò)程的遞歸調(diào)用。遞歸調(diào)用就是過(guò)程調(diào)用本身。遞歸實(shí)現(xiàn)的是:當(dāng)過(guò)程每一次執(zhí)行后,都能返回到最近一次調(diào)用它的過(guò)程中。這樣各調(diào)用點(diǎn)之間形成一種后進(jìn)先出關(guān)系,而棧結(jié)構(gòu)正適合來(lái)存儲(chǔ)這些調(diào)用點(diǎn)。

43.D解析:本題考核的知識(shí)點(diǎn)是指針變量的賦值。本題中定義了一個(gè)整型數(shù)組a和一個(gè)整型指針變量P。選項(xiàng)A中將一個(gè)整型數(shù)賦值給一個(gè)指針變量,C語(yǔ)言規(guī)定,只能特地址賦給指針指針變量,故選項(xiàng)A不正確:選項(xiàng)B中a[5]為一數(shù)組元素,同樣不是一個(gè)地址,故選項(xiàng)B不正確;選項(xiàng)c中a[2]為一數(shù)組元素,同樣是一個(gè)整型數(shù)據(jù),不是個(gè)地址,故選項(xiàng)C不正確:選項(xiàng)D中數(shù)蛆名a代表數(shù)組首地址加2,代表第三個(gè)元素的地址,故選項(xiàng)D正確,所以,4個(gè)選項(xiàng)中選項(xiàng)D符合題意。

44.D解析:本題考查的知識(shí)點(diǎn)是do-while循環(huán)結(jié)構(gòu)循環(huán)執(zhí)行條件的判斷.使用do-while語(yǔ)句必須注意以下幾點(diǎn):

先執(zhí)行語(yǔ)句,后判斷表達(dá)式。所以,無(wú)論一開(kāi)始表達(dá)式的值為“真”還是“假”,循環(huán)體中的語(yǔ)句至少執(zhí)行一次,這一點(diǎn)與while不同,

如果do-while語(yǔ)句循環(huán)體部分是由多個(gè)語(yǔ)句組成,則必須用花括號(hào)括起來(lái),使其形成復(fù)合語(yǔ)句。

C語(yǔ)言中的do—while語(yǔ)句是在表達(dá)式“真”時(shí)重復(fù)執(zhí)行循環(huán)體。

在本題中,循環(huán)執(zhí)行判斷條件為while后面括號(hào)里的表達(dá)式即p!=12345&&n<3(意思為p不等于12345且n小于3)是否為“真”,由此可得循環(huán)結(jié)束的條件為:p大于12345或者p小于12345又或者n大于等于3。選項(xiàng)A的意思是:p的值不等于12345并且n的小于3和while后面括號(hào)里的表達(dá)式等價(jià)是循環(huán)執(zhí)行的條件而不是循環(huán)結(jié)束的條件,所以選項(xiàng)A不正確;選項(xiàng)B的意思是:p的值等于12345并且n的值大于3,不是循環(huán)結(jié)束的條件一個(gè)子集,所以選項(xiàng)B不正確;選項(xiàng)C的意思是:p的值不等于12345或者n的值小于3前一半是結(jié)束條件的子集,后一部分不是結(jié)束條件,所以選項(xiàng)C不正確;選項(xiàng)D描述的意思是:p的值等于12345或者你的大于等于3是結(jié)束條件的子集,所以選項(xiàng)D滿(mǎn)足題意。所以4個(gè)選項(xiàng)中D正確。

45.B解析:該題目應(yīng)該根據(jù)循環(huán)體第一次和最后一次執(zhí)行時(shí)的輸出結(jié)果來(lái)決定哪一項(xiàng)是正確的。第一次進(jìn)入循環(huán)時(shí),n的值是9,循環(huán)體內(nèi),先經(jīng)過(guò)n--運(yùn)算,n的值變?yōu)?,所以第一次的輸出值是8,由此可以排除選項(xiàng)A)和D)。由循環(huán)條件n>6可以知道,最后一次循環(huán)開(kāi)始時(shí),n的值應(yīng)該為7,所以最后一次執(zhí)行循環(huán)時(shí),輸出為6,由此可以排除選項(xiàng)C)。

46.C解析:關(guān)于軟件測(cè)試的目的,GrenfordJ.Myers在《TheArtofSoftwareTesting》一書(shū)中給出了深刻的闡述:軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程;一個(gè)好的測(cè)試用例是指很可能找到迄今為止尚未發(fā)現(xiàn)的錯(cuò)誤的用例;一個(gè)成功的測(cè)試是發(fā)現(xiàn)了至今尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試。整體來(lái)說(shuō),軟件測(cè)試的目的就是盡可能多地發(fā)現(xiàn)程序中的錯(cuò)誤。本題答案為C。

47.C解析:影響模塊之間耦合的主要因素有兩個(gè):模塊之間的連接形式,模塊接口的復(fù)雜性。一般來(lái)說(shuō),接口復(fù)雜的模塊,其耦合程度要比接口簡(jiǎn)單的的模塊強(qiáng),所以選項(xiàng)A的說(shuō)法錯(cuò)誤;耦合程度弱的模塊,其內(nèi)聚程度一定高,選項(xiàng)B錯(cuò)誤;選項(xiàng)C正確。

48.D解析:本題考查鏈表結(jié)點(diǎn)的刪除。q->next中存放的是r所指結(jié)點(diǎn)的首地址,將r所指結(jié)點(diǎn)的首地址存于p->next中,則實(shí)現(xiàn)刪除q所指結(jié)點(diǎn)的功能,并保持鏈表連續(xù),p所指結(jié)點(diǎn)與r所指結(jié)點(diǎn)相連。

49.A解析:p+i是數(shù)組s的第i+1行的首地址,而*(p+i)則是數(shù)組第i+1行第1列的元素的地址,*(p+i)+j則是第i+1行的第j+1列的地址,*(*(p+i)+j)引用的是數(shù)組元素s[i][j]的值。注意:通過(guò)建立一個(gè)指針數(shù)組來(lái)引用二維數(shù)組元素。

50.C解析:選項(xiàng)t中,aa為結(jié)構(gòu)體變量,而不是結(jié)構(gòu)體名稱(chēng),不能再用來(lái)定義td。

51.D解析:為了讓計(jì)算機(jī)接入局域網(wǎng)必須要網(wǎng)卡,Hub用于把局域網(wǎng)中的所有計(jì)算機(jī)連接起來(lái),調(diào)制解調(diào)器用于把局域網(wǎng)和互聯(lián)網(wǎng)連接起來(lái),中繼器是廣域網(wǎng)設(shè)備,用于網(wǎng)絡(luò)中信息的傳遞。

52.D解析:本題考查指針變量的運(yùn)用。選項(xiàng)A)、B)的指針定義錯(cuò)誤,空指針NULL是對(duì)指針變量賦。值而得到的。例如:

#defineNULL0

int*p=NULL;

對(duì)指針變量賦。值和不賦值的時(shí)候意義是不同的:指針變量未賦值時(shí),它是指向任意不確定的存儲(chǔ)單元,不能使用,否則將造成意外錯(cuò)誤;而指針變量賦0值后,則可以使用,只是它不指向具體的變量而已。選項(xiàng)C)中的*c=&t;錯(cuò)誤,因?yàn)?t是地址,而*c是值。選項(xiàng)D)是讓指針L指向字符串的末尾,即字符串的結(jié)束符。

53.C解析:本題考查的知識(shí)點(diǎn)是賦值語(yǔ)句的基本知識(shí)。在表達(dá)式的運(yùn)算中,雙目賦值運(yùn)算符的格式為“變量二表達(dá)式”,單目運(yùn)算符一般形式為“運(yùn)算符表達(dá)式”或“表達(dá)式運(yùn)算符”。常量和表達(dá)式是不能被賦值的。選項(xiàng)A為復(fù)合表達(dá)式,首先計(jì)算(i=2,++i)的值,然后賦值給n,故選項(xiàng)A正確;選項(xiàng)B為簡(jiǎn)單自加運(yùn)算,故選項(xiàng)B正確;選項(xiàng)C在表達(dá)式++(i+1);中,(i+1)不是變量,該表達(dá)式的值為常量,而在++運(yùn)算中,其運(yùn)算對(duì)象必須為變量,故選項(xiàng)C錯(cuò)誤;選項(xiàng)D中為復(fù)合賦值表達(dá)式,正確.所以應(yīng)當(dāng)選擇C。

54.D解析:E-R圖不僅可以描述實(shí)體及其相互之間的聯(lián)系,還可以描述多個(gè)實(shí)體集之間的聯(lián)系和一個(gè)實(shí)體集內(nèi)部實(shí)體之間的聯(lián)系。

55.A解析:a就是數(shù)組a的首地址,而a+x是數(shù)組中第x個(gè)元素的地址,所以在四個(gè)選項(xiàng)中,選項(xiàng)B和C只能輸入一個(gè)數(shù)據(jù),選項(xiàng)D不能給a[0]輸入數(shù)據(jù),只有A可以完成給數(shù)組所有的元素輸入數(shù)據(jù)的任務(wù)。

56.D

57.B

58.B解析:在本題中,s[0].a=1,s[1].b=5,所以輸出結(jié)果為6。

59.D

60.B解析:本題考查了用指針處理字符串的方法。用指針處理字符串,首先要使指針指向該字符串。例如本題中的s1='AbDeG'就是使字符指針指向了字符串'AbDeG',而指針s1+=2則是指針向后移動(dòng)了兩個(gè)字符的位置,指向了字符‘D’。strcmp則是字符串比較函數(shù)。

61.A本題考查C語(yǔ)言中常量的定義。常量是指程序在運(yùn)行過(guò)程中,其值不能被改變的量。C語(yǔ)言中常見(jiàn)的常量主要有整型常量、實(shí)型常量、字符型常量。整型常量包括十進(jìn)制整數(shù),如456;八進(jìn)制整數(shù),以0開(kāi)頭,如0456;十六進(jìn)制整數(shù),以0x開(kāi)頭,如0x456。實(shí)型變量包括十進(jìn)制小數(shù)形式,如.456;指數(shù)形式,如456e0,字母e前面必須有數(shù)字,e后面的數(shù)字必須為整數(shù),如456e-4。字符型常量是用單撇號(hào)括起來(lái)的一個(gè)字符。如,’a’,’A’等?!痑’不等于’A’。字符型常量還包括一種轉(zhuǎn)義字符,以’\\’開(kāi)頭,表示將’\\’后面的字符轉(zhuǎn)換成另外的意義。字符串也可以作為常量,用雙撇號(hào)括起來(lái),如'abc'。本題A選項(xiàng)中單撇號(hào)括起來(lái)的不是一個(gè)字符,而是三個(gè)字符,故不是合法常量。B選項(xiàng)是實(shí)型變量的指數(shù)表示形式。C選項(xiàng)是字符串常量,用雙撇號(hào)引起來(lái)。D選項(xiàng)是字符’\\0’,因?yàn)樵谂龅健痋\0’后,字符串結(jié)束,因此只讀取到’\\0’,所以D選項(xiàng)是合法常量。

62.A

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

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

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

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

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

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

在選項(xiàng)C中,雖然缺少一個(gè)元素,但系統(tǒng)提供了一個(gè)默認(rèn)的值0。因此,這個(gè)賦值語(yǔ)句是正確的。

64.A不能將一個(gè)整數(shù)直接賦給指針變量作為地址,因此A)是錯(cuò)誤的。函數(shù)的返回值可以是地址,即指針。函數(shù)調(diào)用中形參值的變化不會(huì)傳遞給實(shí)參。故本題答案為A)。

65.A解析:在鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中,存儲(chǔ)數(shù)據(jù)的存儲(chǔ)空間可以不連續(xù),各數(shù)據(jù)結(jié)點(diǎn)的存儲(chǔ)順序與數(shù)據(jù)元素之間的邏輯關(guān)系可以不一致,數(shù)據(jù)元素之間的邏輯關(guān)系,是由指針域來(lái)確定的。由此可見(jiàn),選項(xiàng)A的描述正確。因此,本題的正確答案為A。

66.C

67.A數(shù)組定義的長(zhǎng)度必須為常量,所以A)選項(xiàng)正確。

68.A靜態(tài)類(lèi)別變量的生存期貫穿于整個(gè)程序的運(yùn)行,直到程序運(yùn)行結(jié)束為止,全局變量也是一樣,靜態(tài)局部變量的初值在編譯時(shí)賦予,程序執(zhí)行期間不再賦予其他值,即重復(fù)當(dāng)調(diào)用函數(shù)時(shí),函數(shù)內(nèi)部的再次賦初值無(wú)效。

69.B241/100=2,2%9=2,所以a=2,b為兩個(gè)非零的值的邏輯與,結(jié)果為1,。

70.B在C語(yǔ)言中,函數(shù)是C程序的基本組成部分,用來(lái)完成子程序的功能。一個(gè)完整的C程序至少應(yīng)該包括一個(gè)main()函數(shù),其他函數(shù)可以沒(méi)有,可以有一個(gè),也可以有多個(gè)。C程序的執(zhí)行過(guò)程是:從main()函數(shù)開(kāi)始執(zhí)行,然后在main()函數(shù)中調(diào)用其他函數(shù),當(dāng)main()函數(shù)執(zhí)行完畢時(shí),整個(gè)程序就結(jié)束了。main()函數(shù)出現(xiàn)的位置不一定是程序的最前面,也不一定是程序的最后面,它沒(méi)有一個(gè)固定的位置,換句話(huà)說(shuō),就是main()函數(shù)可以出現(xiàn)在任何位置。

71.D定義語(yǔ)句后必須要分號(hào)‘;’,所賦初值放在大括號(hào)里。枚舉類(lèi)型的基礎(chǔ)類(lèi)型定義在枚舉名的后面,如果沒(méi)有顯式聲明,則其類(lèi)型為int型,無(wú)需再次聲明:intx;

72.D

73.B數(shù)據(jù)庫(kù)管理系統(tǒng)是數(shù)據(jù)庫(kù)的機(jī)構(gòu),它是一種系統(tǒng)軟件,負(fù)責(zé)數(shù)據(jù)庫(kù)中的數(shù)據(jù)組織、數(shù)據(jù)操縱、數(shù)據(jù)維護(hù)、控制及保護(hù)和數(shù)據(jù)服務(wù)等,是一種在操作系統(tǒng)支持下的系統(tǒng)軟件,因此本題答案為B)。

74.C

75.D

76.A本題考查的是對(duì)指針變量賦空值。在C語(yǔ)言中用NULL給指針賦空值,如p=NULL。當(dāng)指針值為NULL時(shí),指針不指向任何有效數(shù)據(jù)。由于NULL與整數(shù)0相對(duì)應(yīng),所以有下面三條語(yǔ)句等價(jià):

p=NULL;p=0;p=’\\0’。

77.C

78.D

79.C

80.Dfun函數(shù)的功能是對(duì)數(shù)組a[]的元素從大到小進(jìn)行排序。

81.82.floatfun(intn){ inti,s1=0; floats=0.0; for(i=1;i<=n;i++) { s1=s1+i; /*求每一項(xiàng)的分母*/ s=s+1.0/s1; /*求多項(xiàng)式的值*/ } returns;}首先需要根據(jù)題意分析表達(dá)式的規(guī)律,得出通項(xiàng),然后再完成程序語(yǔ)句。本題中公式的規(guī)律類(lèi)似于求1+2+…+n的倒數(shù)之和??梢酝ㄟ^(guò)for循環(huán)語(yǔ)句來(lái)實(shí)現(xiàn)第1項(xiàng)到第n項(xiàng)的變化。先根據(jù)題目要求定義變量,注意該變量的數(shù)據(jù)類(lèi)型。然后對(duì)其進(jìn)行初始化操作,因?yàn)樵撟兞肯喈?dāng)于累加器,所以初值應(yīng)為0(或0.0,根據(jù)變量數(shù)據(jù)類(lèi)型來(lái)確定),再通過(guò)for循環(huán)語(yǔ)句來(lái)完成累加過(guò)程。本題中s1用來(lái)表示每一項(xiàng)的分母,每一項(xiàng)的分母都是由前一項(xiàng)分母加項(xiàng)數(shù)得到的。注意,由于s1定義成一個(gè)整型,因此在s=s+1.0/s1語(yǔ)句中不能把1.0寫(xiě)成1。2021年江西省鷹潭市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.有以下程序:

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

A.1,3

B.2,3

C.1,4

D.1,2

2.

3.現(xiàn)有如下程序段#include"stdio.h"main(){inta[5][6]={23,3,65,21,6,78,28;5,67,25,435,76,8,22,45,7,8,34,6,78,32,4,5,67,4,21,1};inti=0,j=5;printf("%d\n",*(&a[0][0]+2*i+j-2));}則程序的輸出結(jié)果為

A.21B.78C.23D.28

4.在Windows環(huán)境下,單擊當(dāng)前應(yīng)用程序窗口中的“關(guān)閉”按鈕,其功能是A.將當(dāng)前應(yīng)用程序轉(zhuǎn)為后臺(tái)運(yùn)行

B.退出Windows后再關(guān)機(jī)

C.退出Windows后重新啟動(dòng)計(jì)算機(jī)

D.終止當(dāng)前應(yīng)用程序的運(yùn)行

5.有以下程序:#include<stdio.h>main(){chars[]=“abcde”;s+=2;printf(“%d\n”,s[0]);}程序的運(yùn)行結(jié)果是()。

A.輸出字符c的ASCII值B.程序出錯(cuò)C.輸出字符cD.輸出字符a的ASCII值

6.

7.有以下程序:#include<stdio.h>main(){inta=0,b=0,c=0;c=(a=a=5);(a=b,b+=4);printf("%d,%d,%d\n",a,bc);}程序運(yùn)行后的輸出結(jié)果是()。A.0,4,5B.4,4,5C.4,4,4D.0,0,0

8.若i、j已定義成mt型,則下列程序段中內(nèi)循環(huán)體的總執(zhí)行次數(shù)是()。for(i=6;i>0;i--)for(j=0;j<4;j++){…}A.20B.24C.25D.30

9.若有下列說(shuō)明語(yǔ)句int(*p)();則標(biāo)識(shí)符p代表的是()

A.一個(gè)用于指向函數(shù)的指針變量,函數(shù)返回值的類(lèi)型為int型

B.一個(gè)帶回值類(lèi)型為整型的函數(shù)名

C.一個(gè)用于指向整型數(shù)據(jù)的指針變量

D.一個(gè)帶回值類(lèi)型為指針類(lèi)型的函數(shù)名

10.下列程序的輸出結(jié)果是______。#include<stdio.h>main(){doubled=3.2;intx,y;x=1.2;y=(x+3.8)/5.0;printf("%d\n",d*y);}

A.3B.3.2C.0D.3.07

11.如果最常用的操作是取第i個(gè)結(jié)點(diǎn)及其前驅(qū),最節(jié)省時(shí)間的存儲(chǔ)方式是()。

A.單鏈表B.雙向鏈表C.單循環(huán)鏈表D.順序表

12.有以下程序:程序運(yùn)行后的輸出結(jié)果是()。A.1.000000B.0.000000C.0.250000D.0.500000

13.若有定義語(yǔ)句:“charS[3][10],(*k)[3],*p;”,則以下賦值語(yǔ)句正確的是()。

A.p=S;B.p=k;C.p=s[0];D.k=s;

14.有下列程序段:intk=0,a=1,b=2,c=3;k=a<b?b:a;k=k>c?c=k;執(zhí)行該程序段后,k的值是()。

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

15.設(shè)C語(yǔ)言中,一個(gè)int型數(shù)據(jù)在內(nèi)存中占2個(gè)字節(jié),則unsignedint型數(shù)據(jù)的取值范圍為()。

A.0~255B.0~32767C.0~65535D.0~2147483647

16.判斷有向圖是否存在回路,利用()方法最佳。

A.求關(guān)鍵路徑B.求最短路徑C.拓?fù)渑判駾.廣度優(yōu)先遍歷

17.

18.有以下程序

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

19.在一個(gè)順序隊(duì)列中,隊(duì)首指針指向隊(duì)首元素的____位置。

A.前一個(gè)B.后一個(gè)C.當(dāng)前D.最后一個(gè)

20.以下關(guān)于C語(yǔ)言數(shù)據(jù)類(lèi)型使用的敘述中錯(cuò)誤的是A.若要準(zhǔn)確無(wú)誤差的表示自然數(shù),應(yīng)使用整數(shù)類(lèi)型

B.若要保存帶有多位小數(shù)的數(shù)據(jù),應(yīng)使用雙精度類(lèi)型

C.若要處理如“人員信息”等含有不同類(lèi)型的相關(guān)數(shù)據(jù),應(yīng)自定義結(jié)構(gòu)體類(lèi)型

D.若只處理“真”和“假”兩種邏輯值,應(yīng)使用邏輯類(lèi)型

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

22.在關(guān)系運(yùn)算中,【】運(yùn)算是在給定關(guān)系的某些域上進(jìn)行的運(yùn)算。

23.設(shè)y為血型變量,請(qǐng)寫(xiě)出描述“y是偶數(shù)”的表達(dá)式______。

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

25.以卜函數(shù)sstrcat()的功能是實(shí)現(xiàn)寧符串的連接,即將t所指字符串復(fù)制到s所指字符串的尾部。例如:s所指字符串為abcd,t所指字符申為efgh,函數(shù)調(diào)用后s所指字符串為abcdefgh。請(qǐng)?zhí)羁铡?/p>

#include<string.h>

voidsstrcat(char*s,char*t)

{intn;

n=strlen(s);

while(*(s+n)=){s++;t++;}

}

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

main()

{

intp=30;

printf("%d\n",(p/3>0?p/10:p%3));

}

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

main()

{inti=0,a=0;

while(i<20)

{for(;;)

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

elsei--;}

i+=11;

a+=i;

}

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

}

28.有以下程序:

main()

{intt=1,i=5;

for(;i>=0;i--)t*=i;

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

}

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

29.有以下程序段,且變量已正確定義和賦值

for(s=1.0,k=1;k<=n;k++)s=s+1.0/(k*(k+1));

printf("s=%f\n\n",s);

請(qǐng)?zhí)羁?,使下面程序段的功能與之完全相同

s=1.0;k=1;

while(【】){s=s+1.0/(k*(k+1));【】;}

printf("s=%f\n\n",s);

30.以下程序的運(yùn)行結(jié)果是#defineMAX(A,B)(A)>(B)?(A):(B)#definePRINT(Y)printf(:Y=%d\t",Y)main(){inta=1,b=2,c=3,d=4,t;t:MAX(a+b,c+d);PRINT(t);}

31.數(shù)據(jù)結(jié)構(gòu)分為邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu),線(xiàn)性鏈表屬于【】。

32.在面向?qū)ο蠓椒ㄖ?,【】描述的是具有相似屬性與操作的一組對(duì)象。

33.若想通過(guò)以下輸入語(yǔ)句給a賦值1,給b賦值2.則輸入數(shù)據(jù)的形式應(yīng)該是【】。

inta,b;

scanf("a=%d,b=%d",&a,&b);

34.下面程序的運(yùn)行結(jié)果是()。#defineP(A)printf("%d",A)main(){intj,a[]={1,2,3,4,5,6,7},i=5;for(j=3;j>1;j--){switch(j){case1:case2:P(a[i++]);break;case3:P(a[--i]);}}}

35.下面程序的功能是將字符串a(chǎn)下標(biāo)值為偶數(shù)的元素由小到大排序,其他元素不變,請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

main()

{

chara[]="labchmfye",t:

int1,j;

for(i=0;i<7;i+=2)

for(j=i+2;j<9;【】)

if(【】)

{t=a[i];a[i]=a[j];a[j]=t;j++;}

puts(a);printf("\n");

}

36.己定義charch='$';inti=l,j;,執(zhí)行j=!ch&&ii++以后,i的值為【】。

37.已知字母A的ASCII碼為65。以下程序運(yùn)行后的輸出結(jié)果是______。

main()

{chara,b;

a='A'+'5'-'3';b=a+'6'-'2';

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

}

38.在樹(shù)型結(jié)構(gòu)中,根結(jié)點(diǎn)沒(méi)有【】結(jié)點(diǎn),其余每個(gè)結(jié)點(diǎn)有且僅有【】個(gè)前驅(qū)結(jié)點(diǎn);葉結(jié)點(diǎn)沒(méi)有后繼結(jié)點(diǎn),其余每個(gè)結(jié)點(diǎn)的【】結(jié)點(diǎn)數(shù)不受限制。

39.與結(jié)構(gòu)化需求分析方法相對(duì)應(yīng)的是【】方法。

40.在面向?qū)ο蠓椒ㄖ?,允許作用于某個(gè)對(duì)象上的操作稱(chēng)為【】。

三、1.選擇題(20題)41.有以下結(jié)構(gòu)體說(shuō)明和變量定義,如圖所示,指針p、q、r,分別指向此鏈表中的3個(gè)連續(xù)結(jié)點(diǎn)。Structnode{intdata;Structnode*hext;}*p,*q,

*r;

現(xiàn)要將Q所指結(jié)點(diǎn)從鏈表中刪除,同時(shí)要保持鏈表的連續(xù),以下不能完成指定操作的語(yǔ)句是

A.p->next=q->next;

B.p->next=p->next->next;

C.p->next=r;

D.p=q->next;

42.一些重要的程序語(yǔ)言(如Pascal語(yǔ)言)允許過(guò)程的遞歸調(diào)用,而實(shí)現(xiàn)遞歸調(diào)用中的存儲(chǔ)分配通常用()。

A.棧B.堆C.數(shù)組D.鏈表

43.已有定義:inti,a[10],*p;則合法的賦值語(yǔ)句是()。

A.p=100;B.p=a[5];C.p=a[2]+2;D.p=a+2;

44.有以下程序段intn=0,p;do{scanf(“%d”,&p);n++;}while(p!=12345&&n<3);此處do-while循環(huán)的結(jié)束條件是

A.P的值不等于12345并且n的值小于3

B.P的值等于12345并且n的值大于等于3

C.P的值不等于12345或者n的值小于3

D.P的值等于12345或者n的值大于等于3

45.有如下程序:main(){intn=9;while(n>6){n--;printf("%d",n);}}該程序的輸出結(jié)果是

A.987B.876C.8765D.9876

46.下列對(duì)于軟件測(cè)試的描述中正確的是()。

A.軟件測(cè)試的目的是證明程序是否正確

B.軟件測(cè)試的目的是使程序運(yùn)行結(jié)果正確

C.軟件測(cè)試的目的是盡可能多地發(fā)現(xiàn)程序中的錯(cuò)誤

D.軟件測(cè)試的目的是使程序符合結(jié)構(gòu)化原則

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

A.接口復(fù)雜的模塊,其耦合程度一定低

B.耦合程度弱的模塊,其內(nèi)聚程度一定低

C.耦合程度弱的模塊,其內(nèi)聚程度一定高

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

48.有以下結(jié)構(gòu)體說(shuō)明和變量定義,如圖所示:struetnode{intdata;structnode*next;}*p,*q,*r;

現(xiàn)要將q所指結(jié)點(diǎn)從鏈表中刪除,同時(shí)要保持鏈表的連續(xù),以下不能完成指定操作的語(yǔ)句是

A.p->next=q->next;

B.p->next=p->next->next;

C.p->next=r;

D.p=q->next;

49.若在以下定義和賦值語(yǔ)句,則才s數(shù)組的第i行第j列(假設(shè)i,j已正確說(shuō)明并賦值)元素地址的合法引用為ints[2][3]={0},(*p)[3];p=s;

A.*(*(p+i)+j)B.*(p[i]+j)C.(p+i)+jD.(*(p+i))[j]

50.以下對(duì)結(jié)構(gòu)體類(lèi)型變量td的定義中,錯(cuò)誤的是

A.typedefstructaa{intn;floatm;}AA;AAtd;

B.structaa{intn;floatm;}td;structaatd;

C.struct{intn;floatm;}aa;structaatd;

D.struct{intn;floatm;}td;

51.下列說(shuō)法中不正確的是()

A.調(diào)制解調(diào)器(Modem)是局域網(wǎng)絡(luò)設(shè)備

B.集線(xiàn)器(Hub)是局域網(wǎng)絡(luò)設(shè)備

C.網(wǎng)卡(NIC)是局域網(wǎng)絡(luò)設(shè)備

D.中繼器(Repeater)是局域網(wǎng)絡(luò)設(shè)備

52.若程序中已包含頭文件stdio.h,以下選項(xiàng)能正確運(yùn)用指針變量的程序段是()。

A.int*i=NULL;scanf("%d",i);

B.float*f=NULL;*f=10.5;

C.chart='m',*c;*c=&t;

D.long*L;L='\0';

53.以下非法的賦值語(yǔ)句是

A.n=(i=2,++i);B.j++;C.++(i+1);D.x=j>0;

54.下列關(guān)于E-R圖的描述中正確的是()。

A.E-R圖只能表示實(shí)體之間的聯(lián)系

B.E-R圖只能表示實(shí)體和屬性之間的聯(lián)系

C.E-R圖只能表示實(shí)體和屬性

D.E-R圖能表示實(shí)體、屬性和實(shí)體之間的聯(lián)系

55.以下程序段給數(shù)組所有的元素輸入數(shù)據(jù),請(qǐng)選擇正確答案填入。#include<stdio.h>main(){inta[10],i=0;while(i<10)scanf("%d",______);}

A.a+(i++)B.&a[i+1]C.a+iD.&a[++i]

56.下列語(yǔ)句中符合C語(yǔ)言語(yǔ)法的賦值語(yǔ)句是()

A.a=7+b+c=a+7;

B.9=7+b+9++a+7;

C.a=7+b,b++,a+7;

D.a=7+b,c=a+7;

57.有以下程序#include<stdio.h>#definePT5.5#defineS(x)PT*x*xmain(){inta=1,b=2;printf("%4.1f\n",S(a+b));}程序運(yùn)行后的輸出結(jié)果是()

A.49.5B.9.5C.22D.45

58.下列程序的輸出結(jié)果是()。#include<stdio.h>structabc{inta,b,c,s;};main(){structabcs[2]={{1,2,3},{4,5,6}};intt;t=s[0].a+s[1].b;printf("%d\n",t);}

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

59.設(shè)a=1,b=2,c=3,d=4,則表達(dá)式a<b?a:c<d?a:d的結(jié)果為_(kāi)_____。

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

60.下面程序的運(yùn)行結(jié)果是#include<stdio.h>#include<string.h>main(){char*s1="AbDeG";char*s2="AbdEg";s1+=2;s2+=2;printf("%d\n",strcmp(s1,s2));}

A.正數(shù)B.負(fù)數(shù)C.零D.不確定的值

四、選擇題(20題)61.以下選項(xiàng)中不能作為C語(yǔ)言合法常量的是

A.’Fab’B.0.7e+9C."\b"D.’\01211’

62.

63.設(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}};

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

A.可以給指針變量賦一個(gè)整數(shù)作為地址值

B.函數(shù)可以返回地址值

C.改變函數(shù)形參的值,不會(huì)改變對(duì)應(yīng)實(shí)參的值

D.當(dāng)在程序的開(kāi)頭包含頭文件stdi0.h時(shí),可以給指針變量賦NULL、、、

65.下列對(duì)于線(xiàn)性鏈表的描述中正確的是()。

A.存儲(chǔ)空間不一定連續(xù),且各元素的存儲(chǔ)順序是任意的

B.存儲(chǔ)空間不一定連續(xù),且前件元素一定存儲(chǔ)在后件元素的前面

C.存儲(chǔ)空間必須連續(xù),且前件元素一定存儲(chǔ)在后件元素的前面

D.存儲(chǔ)空間必須連續(xù),且各元素的存儲(chǔ)順序是任意的

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

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

A.自然連接B.交C.除D.并

67.下列選項(xiàng)中,能正確定義數(shù)組的語(yǔ)句是()。

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

A.全局變量的作用域一定比局部變量的作用域范圍大

B.靜態(tài)(static)類(lèi)別變量的生存期貫穿于整個(gè)程序的運(yùn)行期間

C.全局變量的生存期是整個(gè)程序的運(yùn)行期間

D.靜態(tài)局部變量的初值是在編譯時(shí)賦予的,在程序執(zhí)行期間不再賦予初值

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

#include<stdio.h>

voidmain()

{inta,b,d=241;

a=d/100%9;

b=(-1)&&(-1);

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

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

70.在一個(gè)C程序中

A.main函數(shù)必須出現(xiàn)在所有的函數(shù)之前B.main函數(shù)可以在任何地方出現(xiàn)

C.main函數(shù)必須出現(xiàn)在所有的函數(shù)之后D.main函數(shù)必須出現(xiàn)在固定位置

71.下列關(guān)于結(jié)構(gòu)型、共用型、枚舉型的定義語(yǔ)句中,正確的是()。

A.structss{intx}

B.unionuu{intx;}xx=5;

C.enumee{intx};

D.struct{intx;};

72.

73.數(shù)據(jù)庫(kù)管理系統(tǒng)是()。

A.操作系統(tǒng)的一部分B.在操作系統(tǒng)支持下的系統(tǒng)軟件C.一種編譯系統(tǒng)D.一種操作系統(tǒng)

74.

75.在JavaScript語(yǔ)言中,擁有onsubmit事件的對(duì)象是()。

A.documentB.eventC.windowD.form.

76.下列關(guān)于指針變量賦空值的說(shuō)法錯(cuò)誤的是

A.當(dāng)賦空值的時(shí)候,變量指向地址為0的存儲(chǔ)單元B.賦值語(yǔ)句可以表達(dá)為變量名=’\0’;

C.賦值語(yǔ)句可以表達(dá)為變量名=0;D.一個(gè)指針變量可以被賦空值

77.

78.

79.有以下程序:

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

A.7

B.3

C.20)O

80.有以下程序#include<stdio.h>voidfun(int*a,intn)/*fun函數(shù)的功能是將a所指數(shù)組元素從大到小排序*/{intt,i,j;for(i=0;i<n-1;j++)for(j=i+l;j<n;j++)if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;}}main{intc[10]={1,2,3,4,5,6,7,8,9,0),i;fun(c+4,6);for(i=0;i<10;i++)printf("%d,",c[i]);printf("\n");}程序運(yùn)行的結(jié)果是()。A.1,2,3,4,5,6,7,8,9,0,

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

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

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

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:從字符串str中,刪除所有小寫(xiě)字母c。請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:

六、程序設(shè)計(jì)題(1題)82.使用VC++2010打開(kāi)考生文件夾下prog1中的解決方案。此解決方案的項(xiàng)目中包含一個(gè)源程序文件prog1.c。在此程序中,編寫(xiě)函數(shù)fun(),其功能是根據(jù)以下公式計(jì)算S,并將計(jì)算結(jié)果作為函數(shù)值返回,通過(guò)形參傳入。例如,若n的值為11時(shí),函數(shù)的值為1.833333。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入你編寫(xiě)的若干語(yǔ)句。試題程序:#include<stdlib.h>#include<conio.h>#include<stdio.h>#include<string.h>floatfun(intn){}voidmain(){ intn; floats; system(“CLS”); printf(“\nPleaseenterN:”); scanf(“%d”,&n); s=fun(n); printf(“Theresultis:%f\n”,s);}

參考答案

1.Af函數(shù)功能使第二個(gè)指針指向的元素增1,第一個(gè)指針指向的元素不變,所以答案選擇A)。

2.B

3.A解析:通過(guò)地址來(lái)引用二維數(shù)組,若有以下定義:inta[3][4],i,j;且當(dāng)0≤i≤3,0≤j<4則可以有以下幾種方式來(lái)引用數(shù)組中的第i行,第j列的元素:\ue008a[i][j]\ue009,\ue008*(a[i]+j),\ue009*(*(a+i)+j),(*(a+i))[j],*(&a[0][0]+4*i+j)。表達(dá)式&a[0][0]+2*i+j-2相當(dāng)于是地址&a[0][0]加上多少偏移量。

4.D

5.B在C語(yǔ)言中,數(shù)組名類(lèi)似于一個(gè)指向數(shù)組首地址的指針常量,一旦定義就不能修改其內(nèi)容。所以本題中的“s+=2;”語(yǔ)句讓數(shù)組名S的內(nèi)容加2是錯(cuò)誤的,編譯無(wú)法通過(guò)。故本題答案為B選項(xiàng)。

6.B

7.A本題考查簡(jiǎn)單的賦值運(yùn)算,在程序中c=(a-=am5),先算括號(hào)中的a-=a-5=5,所以c=5,再計(jì)算(a=b,b+=4);,a=b=0,b+=4=0+4=4,所以b=4,所以a=0,b=4,c=5,答案選擇A。

8.B本題考查for循環(huán)的使用。對(duì)于第1個(gè)for循環(huán),任何一個(gè)i,內(nèi)層j的循環(huán)都要使j~0到3,j=4時(shí)不符合,所以退出j循環(huán);然后i減1,J仍然要從0~3,j=4時(shí)退出J循環(huán)直到i變成0,退出i循環(huán)。第一條for語(yǔ)句執(zhí)行6次,第二條for語(yǔ)句執(zhí)行4次,所以?xún)?nèi)循環(huán)體執(zhí)行6*4=24次。

9.A

10.C

11.D

12.D程序定義double變量x、y,給x賦初值2.0。if語(yǔ)句判斷,當(dāng)x小于0.0時(shí),給y賦值0.0。否則當(dāng)x小于10.0時(shí),y的值為1.0/x;當(dāng)x大于等于10.0時(shí),y的值為1.0。題干中x的值為2.0,所以y的值為1.0/x,即0.500000。本題答案為D選項(xiàng)。

13.C答案C的意思是*P指向數(shù)組的第一個(gè)值。

14.B解析:因?yàn)閍<b成立,所以條件表達(dá)式a<b?b:a的值等于b的值等于2,因此變量k的值等于2。又因?yàn)閗=2>c=3不成立,所以條件表達(dá)式k>c?c:k的值等于k的值等于2。把條件表達(dá)式k>c?c:k的值賦給變量k,因而變量k的值等于2。因此,選項(xiàng)B)為正確答案。

15.C

16.C

17.A

18.C解析:當(dāng)for循環(huán)執(zhí)行到第30次時(shí),i的值為30能被5整除,然后繼續(xù)執(zhí)行兩次if語(yǔ)句,i經(jīng)過(guò)兩次自加1運(yùn)算,值變?yōu)?2,能被8整除,故此時(shí)第一次執(zhí)行'printf('%d',i);'語(yǔ)句,即輸出32。

19.A

20.D解析:C語(yǔ)言中沒(méi)有邏輯類(lèi)型,若只處理"真"或"假"兩種邏輯值,可以使用整型數(shù)"1"或"0"表示,故選D。

21.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è)。

22.投影投影解析:在關(guān)系運(yùn)算中,投影運(yùn)算是在給定關(guān)系的某些域上進(jìn)行的運(yùn)算。

23.(y%2)==0(y%2)==0解析:因符合偶數(shù)的條件是對(duì)2取余為0,所以要描述y是偶數(shù)的表達(dá)式是(y%2)==0。

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

25.*t*

溫馨提示

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