2021-2022年甘肅省武威市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)_第1頁(yè)
2021-2022年甘肅省武威市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)_第2頁(yè)
2021-2022年甘肅省武威市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)_第3頁(yè)
2021-2022年甘肅省武威市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)_第4頁(yè)
2021-2022年甘肅省武威市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)_第5頁(yè)
已閱讀5頁(yè),還剩34頁(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年甘肅省武威市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.設(shè)某無(wú)向圖中有n個(gè)頂點(diǎn)e條邊,則建立該圖鄰接表的時(shí)間復(fù)雜度為()。

A.O(n+e)B.O(n^2)C.O(ne)D.O(n^3)

2.以下程序運(yùn)行后,輸出結(jié)果是______。fut(int**s,intp[2][3]){**s=p[1][1];}main(){inta[2][3]={1,3,5,7,9,11},*p;p=(int*)malloc(sizeof(int));fut(&p,a);printf("%d\n",*p);}

A.1B.7C.9D.11

3.下列4項(xiàng)說(shuō)法中,不正確的是______。

A.數(shù)據(jù)庫(kù)減少了數(shù)據(jù)冗余B.數(shù)據(jù)庫(kù)中的數(shù)據(jù)可以共享C.數(shù)據(jù)庫(kù)避免了一切數(shù)據(jù)的重復(fù)D.數(shù)據(jù)庫(kù)具有較高的數(shù)據(jù)獨(dú)立性

4.以下程序是用來(lái)計(jì)算兩個(gè)非負(fù)數(shù)之間的最大公約數(shù):我們假設(shè)x,y中最大的那個(gè)數(shù)的長(zhǎng)度為n,基本運(yùn)算時(shí)間復(fù)雜度為O(1),那么該程序的時(shí)間復(fù)雜度為()A.O(1)B.O(logn)C.O(n)D.O(n^2)

5.設(shè)有以下定義uniondata{intd1;floatd2;)demo;則下面敘述中錯(cuò)誤的是()。A.變量demo與成員d2所占的內(nèi)存字節(jié)數(shù)相同

B.變量demo中各成員的地址相同

C.變量demo和各成員的地址相同

D.若給demo.d1賦99后,demo.d2中的值是99.0

6.

7.有以下程序

A.741B.963C.852D.87542l

8.有以下程序:#include<stdio.h>#include<math.h>main(){ints;floatn,t,pai;t=1,pai=0,n=1.0,s=1;while(fabs(t)>1.0e-6){pai+=t;n+=2;s=-s;t=s/n;}printf(“total=%f\n”,pai);}程序運(yùn)行所計(jì)算的是()。

A.1-1/2!+1/3!-1/5!+1/7!-…

B.1+1/3+1/5+1/7+1/9-…

C.1+1/2+1/3+1/4+1/5-…

D.1-1/3+1/5-1/7+1/9-…

9.設(shè)R是一個(gè)2元關(guān)系,有3個(gè)元組,S是一個(gè)3元關(guān)系,有3個(gè)元組。如T=R×S,則T的元組的個(gè)數(shù)為()。A.6B.8C.9D.12

10.有以下程序:#include<stdio.h>#include<string.h>main(){chara[]=“THIS\0”,*b=“OK\0\0”;printf(“%d,%d,%d,%d”,strlen(a),sizeof(a),strlen(b),sizeof(b));}程序運(yùn)行后的輸出結(jié)果是()。

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

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

12.程序段:intx=12;doub1ey=3.141593;printf("%d%8.6f"x,y);的輸出結(jié)果是______。A.123.141593B.123.141593C.12,3.141593D.123,1415930

13.對(duì)序線性表23,29,34,55,60,70,78用二分法查找值為60的元素時(shí),需要比較次數(shù)為()

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

14.一個(gè)遞歸算法必須包括()。

A.遞歸部分B.終止條件和遞歸部分C.迭代部分D.終止條件和迭代部分

15.有以下程序:#include<stdio.h>voidmain(){char*s=“\ta\018bc”;for(;*s!=‘\0’;s++)printf(“*”);printf(“\n”);}程序運(yùn)行后的輸出結(jié)果是()。

A.******B.*********C.*****D.*******

16.設(shè)有下列二叉樹(shù):

對(duì)此二叉樹(shù)先序遍歷的結(jié)果為

A.ABCDEFB.DBEAFCC.ABDECPD.DEBFCA

17.有以下程序

include<stdio.h>

main()

{chara[30],b[30];

scanf(“%s”,a);

gets(b);

printf(“%s\n%s\n”,a,b);

}

程序運(yùn)行時(shí)若輸入:

howareyou?Iamfine<回車(chē)>

則輸出結(jié)果是A.howareyou?Iamfine

B.howareyou?1amfine

C.howareyou?Iamfine

D.howareyou?

18.有以下程序:main{inti,j;for(j=10;j<11;j++){for(i=9;i<j;i++)if(!(j%i))break;if(i==j-1)printf("%d",j);}}輸出結(jié)果是()。A.11B.10C.9D.1011

19.若有說(shuō)明chars1[30]="abc",s2[]="defghi";,則在使用函數(shù)strcat(s1,s2)后,結(jié)果是()。

A.s1的內(nèi)容更新為abcdefghi

B.s1的內(nèi)容更新為defghi\0

C.s1的內(nèi)容更新為defghiabc\0

D.s1的內(nèi)容更新為abcdefghi\0

20.若有定義;intw[3][5];,則以下不能正確表示該數(shù)組元素的表達(dá)式是()。A.*(*w+3)B.*(w+1)[4]C.*(*(w+1))D.*(&w[0][0]+1)

二、2.填空題(20題)21.對(duì)數(shù)組中的元素值進(jìn)行排序。請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

main()

{inta[]={2,4,15,3,17,5,8,23,9,7,11,13,}i,j,k;

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

for(i=k;i<12;i++)

if(a[i]>【】)

{j=a[i];

a[i]=【】;

【】=j(luò);}

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

printf("%4d",a[i]);

printf("\n");

}

22.注釋說(shuō)明了程序的功能,它分為【】注釋和功能性注釋。

23.常用的黑箱測(cè)試有等價(jià)分類(lèi)法、【】、因果圖法和錯(cuò)誤推測(cè)法4種。

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

intt(intx,inty,intcp,intdp)

{cp=x%y+y*y;

dp=x+x-y*y;

}

main()

{ima=4,b=3,c=9,d=8;

t(a,b,c,D);

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

}

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

main()

{intX=10,y=20,t=0;

if(X==y)t=x;x=y;y=t;

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

}

26.在面向?qū)ο蠓椒ㄖ校瑢傩耘c操作相似的一組對(duì)象稱(chēng)為【】。

27.以下程序輸出的最后個(gè)值是【】

intff(intn)

{staticintf=1;

f=f*n

returnf;

}

main()

{inti;

for(i=1;i<=5:i++)printf("%d、n",ff(i));}

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

29.在鏈表的運(yùn)算過(guò)程中,能夠使空表與非空表的運(yùn)算統(tǒng)一的結(jié)構(gòu)是______。

30.設(shè)inta=5,b=6,表達(dá)式(++a==b--)?++a:--b的值是【】。

31.設(shè)有下列程序:

#include<stdio.h>

#include<string.h>

main()

{inti;

chars[10],t[10];

gets(t);

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

{gets(s);

if(strcmp(t,s)<0)strcpy(t,s);

}

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

}

程序運(yùn)行后,從鍵盤(pán)上輸入(<CR>代表回車(chē)符):DEF<CR>BADEF<CR>QTHRG<CR>,則程

序的輸出結(jié)果是______。

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

#include<strlng.h>

main()

{

charch[]="abc",x[3][4];inti;

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

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

printf("\n");

33.已知字符'A'的ASCII碼值為65,以下語(yǔ)句的輸出結(jié)果是【】。

charch='B';

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

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

main()

{

inta,b,c;

a=25;

b=025;

c=0x25;

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

}

35.面向?qū)ο蟮某绦蛟O(shè)計(jì)方法中涉及的對(duì)象是系統(tǒng)中用來(lái)描述客觀事物的一個(gè)______。

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

#include<stdio.h>

main()

{chars[20];

scanf("%s",s);

printf("%s",s);

}

運(yùn)行程序,輸入HOWAREYOU。

37.對(duì)于圖書(shū)管理數(shù)據(jù)庫(kù),將圖書(shū)表中"人民郵電出版社"的圖書(shū)的單價(jià)漲價(jià)5%。請(qǐng)對(duì)下面的SQL語(yǔ)句填空:UPDATE圖書(shū)【】WHERE出版單位="人民郵電出版社"

38.軟件工程研究的內(nèi)容主要包括:軟件開(kāi)發(fā)技術(shù)和【】。

39.在關(guān)系數(shù)據(jù)庫(kù)中把數(shù)據(jù)表示成二維表,每一個(gè)二維表稱(chēng)為【】。

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

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

三、1.選擇題(20題)41.有以下程序main(){inta[3][2]={0},(*ptr)[2],i,i;for(i=0;i<2;i++){ptr=a+i;scanf("%d",ptr);ptr+++;}for(i=0;i<3;i++){foil(j=0;j<2;j++)printf("%2d",a[i][j]);printf("\n");}若運(yùn)行時(shí)輸入:123<回車(chē)>,則輸出結(jié)果為

A.產(chǎn)生錯(cuò)誤信息B.102000C.123000D.102030

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

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

B.char*s:s={Beijing");

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

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

43.若i、j已定義為int型,則以下程序段中內(nèi)循環(huán)的總的執(zhí)行次數(shù)是()for(i=5;i>0;i--)for(j=0;j<4;j++){…}

A.20B.24C.25D.30

44.請(qǐng)選出可用作C語(yǔ)言用戶(hù)標(biāo)識(shí)符的一組()。

A.voiddefineWORD

B.a3_b3_123IF

C.For_abccase

D.2aDOsizeof

45.下列說(shuō)法正確的是()。

A.auto和register將聲明的對(duì)象說(shuō)明為自動(dòng)存儲(chǔ)類(lèi)對(duì)象,這些對(duì)象可用在函數(shù)中或函數(shù)外

B.將變量其定義為static類(lèi)型,則其初值默認(rèn)為隨機(jī)值

C.typedef說(shuō)明符并不會(huì)為對(duì)象預(yù)留存留空間

D.如果一個(gè)對(duì)象被聲明為register,則塒它應(yīng)用一元運(yùn)算符&,意征取得其存儲(chǔ)的地址

46.以下程序的輸出結(jié)果是()structst{intx;int*y;}*p;intdt[4]={10,20,30,40};structstaa[4]={50,&dt[0],60,&dt[0],60&dt[0],60,&dt[0]};main(){p=aa;printf("%d\n",++(p->x));}

A.10B.11C.51D.60

47.下列敘述中正確的是A.線性表是線性結(jié)構(gòu)B.棧與隊(duì)列是非線性結(jié)構(gòu)C.線性鏈表是非線性結(jié)構(gòu)D.二叉樹(shù)是線性結(jié)構(gòu)

48.以下能正確定義一維數(shù)組的選項(xiàng)是

A.inta[5]={0,1,2,3,4,5}

B.chara[]={'0','1','2','3','4','5','\0'};

C.chara={'A','B','C'};

D.inta[5]="0123";

49.當(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)

50.結(jié)構(gòu)化程序設(shè)計(jì)的3種基本結(jié)構(gòu)是()。

A.過(guò)程、子程序和分程序B.順序、選擇和重復(fù)C.遞歸、堆棧和隊(duì)列D.調(diào)用、返回和轉(zhuǎn)移

51.設(shè)有如下關(guān)系表:

則下列操作中,正確的是()。

A.T=R∩SB.T=R∪SC.T=R×SD.T=R/S

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

A.二進(jìn)制文件打開(kāi)后可以先讀文件的末尾,而順序文件不可以

B.在程序結(jié)束時(shí),應(yīng)當(dāng)用fclose函數(shù)關(guān)閉已打開(kāi)的文件

C.在利用fread函數(shù)從二進(jìn)制文件中讀數(shù)據(jù)時(shí),可以用數(shù)組名給數(shù)組中所有元素讀入數(shù)據(jù)

D.不可以用FILE定義指向二進(jìn)制文件的文件指針

53.假定所有變量均已正確說(shuō)明,下列程序段運(yùn)行后x的值是()。

a=b+c=0;x=12;

if(!A)x--;

elsex=5;

if(C)x=3;

elsex=4;

A.11B.4C.12D.3

54.能將高級(jí)語(yǔ)言程序轉(zhuǎn)換成目標(biāo)語(yǔ)言程序的是______。

A.調(diào)試程序B.解釋程序C.編譯程序D.編輯程序

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

A.ABCDEFB.BDAECFC.ABDCEFD.ABCDFE

56.下面程序的運(yùn)行結(jié)果是()。#include<stdio.h>#include<string.h>main(){char*s1="abDuj";char*s2="ABdUG";intt;t=strcmp(s1,s2);printf("%d",t);}

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

57.設(shè)有程序段:intk=12;while(k=1)k=k-1;則下列描述中正確的是()。

A.0B.1C.TRUED.FALSE

58.有以下等程序#include<string.h>voidf(char*s,char*t){chark;k=*s;*s=*t;*t=k;s++;t--;if(*s)f(s,t);}main(){charstt[10]="abcdefg",*p;p=str+strlen(str)/2+1;f(p,p-2);printf("%s\n",str);}

A.abcdefgB.gfedcbaC.gbcdefaD.abedcfg

59.設(shè)整型數(shù)i=5,則printf("%d",i+++++i);的輸出為_(kāi)_____。

A.10B.11C.12D.語(yǔ)法錯(cuò)誤

60.索引屬于()。

A.模式B.內(nèi)模式C.外模式D.概念模式

四、選擇題(20題)61.以下敘述中錯(cuò)誤的是(

)。A.函數(shù)形參的值也可以傳回給對(duì)應(yīng)的實(shí)參

B.函數(shù)調(diào)用可以作為一個(gè)獨(dú)立的語(yǔ)句存在

C.若函數(shù)有返回值,必須通過(guò)r;mm語(yǔ)句返回

D.C程序必須由一個(gè)或一個(gè)以上的函數(shù)組成

62.設(shè)有棧S和隊(duì)列Q,其狀態(tài)為空,元素a1,a2,a3,a4,a5,a6依次入棧,出棧的元素則進(jìn)入隊(duì)列Q,若6個(gè)元素出隊(duì)列的順序是a2,a3,a4,a6,a5,a1,則棧的容量至少是

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

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

A.線性表是由n個(gè)元素組成的一個(gè)有限序列

B.線性表是一種線性結(jié)構(gòu)

C.線性表的所有結(jié)點(diǎn)有且僅有一個(gè)前件和后件

D.線性表可以是空表

64.有以下程序main(){union{charch[2];intd;}s;s.d=0x4321;printf("%x,%x\n",s.ch[0],s.ch[1]);}在16位編譯系統(tǒng)上,程序執(zhí)行后的輸出結(jié)果是______。A.21,43B.43,21C.43,00D.21,00

65.

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

A.程序就是軟件

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

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

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

67.有以下程序

#include<stdi0.h>

main()

{inta[]={2,3,5,4),i;

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

switch(i%2)

{case0:switch(a[i]%2)

{case0:a[i]++;break;

casel:a[i]--;

}break;

case1:a[i]=0;

}

for(i=0;i<4;i++)printf("%d",a[i]);printf("\n");

}

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

A.3344B.2050C.3040D.0304

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

69.在下列模式中,能夠給出數(shù)據(jù)庫(kù)物理存儲(chǔ)結(jié)構(gòu)與物理存取方法的是()。

A.外模式B.內(nèi)模式C.概念模式D.邏輯模式

70.若有定義語(yǔ)句:inta[21[3],*P[3];則以下語(yǔ)句中正確的是()。

A.p:a;B.p[0]=a;C.p[O]=&a[1][2];D.1a[1]=&a;

71.

72.有以下程序:

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

A.aegiB.dfhkC.abedD.abedefghijk

73.

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

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

74.設(shè)有如下程序段:

則執(zhí)行P=s;語(yǔ)句后,以下敘述中正確的是()。

A.可以用*P表示s[O]

B.S數(shù)組中元素的個(gè)數(shù)和P所指字符串長(zhǎng)度相等

C.s和P都是指針變量

D.數(shù)組s中的內(nèi)容和指針變量P中的內(nèi)容相等

75.

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

77.

78.下列有關(guān)數(shù)據(jù)庫(kù)的描述,正確的是A.數(shù)據(jù)處理是將信息轉(zhuǎn)化為數(shù)據(jù)的過(guò)程

B.數(shù)據(jù)的物理獨(dú)立性是指當(dāng)數(shù)據(jù)的邏輯結(jié)構(gòu)改變時(shí),數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)不變

C.關(guān)系中的每一列稱(chēng)為元組,一個(gè)元組就是一個(gè)字段

D.如果一個(gè)關(guān)系中的屬性或?qū)傩越M并非該關(guān)系的關(guān)鍵字,但它是另一個(gè)關(guān)系的關(guān)鍵字,則稱(chēng)其為本關(guān)系的外關(guān)鍵字

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

A.printfB.charC._8abcD.Void

80.

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc的功能是:先將字符串s中的字符按順序存放到t中,然后把S中的字符按正序連接到t的后面。例如,當(dāng)s中的字符串為WXYZ時(shí),則t中的字符串應(yīng)為WXYZWXYZ。

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

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

試題程序:

#include<stdlib.h>

#include<conio.h>

#include<stdio.h>

#include<string.h>

voidproc(char*s,char*t)

{

inti,s1;

s1=strlen(s);

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

//****found****

t[i]=s[s1];

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

t[s1+i]一s[i];

t[2*s1]=\O0;

}

voidmain

{

chars[100],t[100];

system("CLS");

print{("\nPleaseenterstrings:");

scanf("%s",s);

proc(s,t);

printf("Theresultis:%s\n",t);

}六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫(xiě)一個(gè)函數(shù)voidproc(char*str),其功能是:將字符串str中所有下標(biāo)為偶數(shù)位置上的字母轉(zhuǎn)化為大寫(xiě)(若該位置上不是字母,則不轉(zhuǎn)換)。例如,若輸入字符串:“thankyou6verymuch”,則應(yīng)輸出:“TbAnKYoU6vErYMuCh”。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。試題程序:

參考答案

1.A

2.C

3.C解析:數(shù)據(jù)庫(kù)系統(tǒng)具有以下4個(gè)特點(diǎn):數(shù)據(jù)的集成性、數(shù)據(jù)的高共享性與低冗余性、數(shù)據(jù)的獨(dú)立性、數(shù)據(jù)統(tǒng)一管理與控制。

4.B

5.D共用體變量中的所有成員共享一段公共存儲(chǔ)區(qū),所有成員的首地址相同。在每一個(gè)時(shí)刻所有的成員中只有一個(gè)有效,即只有最后一個(gè)被賦值的成員有效,其余的成員無(wú)效。

6.D

7.C在for循環(huán)中,當(dāng)y的值為9、6或3時(shí),執(zhí)行輸出語(yǔ)句,輸出表達(dá)式“——y”的值。y先自減1,然后再輸出y的值。

8.Dmain函數(shù)首先定義整型變量S,初值為1;定義float類(lèi)型的n、t、Pai,其中n初值為1.0,t初值為1,pai初值為0。while循環(huán)判斷t的絕對(duì)值(fabs為求float類(lèi)型值的絕對(duì)值的函數(shù))是否大于1.0×10-6,若t的絕對(duì)值大于1.0×10-6,那么,執(zhí)行語(yǔ)句“pai+=t;n+=2;s=-s;t=s/n;”,所以每輪循環(huán)pai累加“s/n”(其中s是上一輪s的相反數(shù),n是上一輪n累加2的值)。第1輪循環(huán)時(shí),pai被賦值為1,s是正數(shù),所以最終pai的計(jì)算結(jié)果是:1-1/3+1/5-1/7+1/9-…。故本題答案為D選項(xiàng)。

9.CC。R為n元關(guān)系,有P個(gè)元組S為m元關(guān)系,有q個(gè)元組。兩個(gè)關(guān)系笛卡兒積是一個(gè)n+m元的關(guān)系,元組個(gè)數(shù)是q×p。所以T的元組的個(gè)數(shù)為9個(gè)。

10.Astrlen函數(shù)求得參數(shù)中字符串的長(zhǎng)度(不包括字符串結(jié)束標(biāo)識(shí)“\\0”)sizeof函數(shù)求得特定類(lèi)型參數(shù)所占存儲(chǔ)空間的長(zhǎng)度。題干中a是數(shù)組名,由于定義時(shí)省略維數(shù)大小,因此數(shù)組大小是初始化的字符個(gè)數(shù),即a的數(shù)組大小為6。綜上,strlen(a)只計(jì)算字符“T”“H”“I”“S”,結(jié)果為4;sizeof(a)求得數(shù)組a的大小,結(jié)果為6;指針b指向一個(gè)字符串“OK\\0\\0”,所以strlen(b)只計(jì)算字符“O”“K”,結(jié)果為2;sizeof(b)求得指針占用存儲(chǔ)空間的大小,結(jié)果為4。故本題答案為A選項(xiàng)。

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

12.A解析:在printf函數(shù)常用的格式說(shuō)明中,每個(gè)格式說(shuō)明都必須用“%”開(kāi)頭,以—個(gè)格式字符作為結(jié)束,在此之間可以根據(jù)需要插入“寬度說(shuō)明”、左對(duì)齊符號(hào)“-”、前導(dǎo)零符號(hào)“0”等。本題中用到了d和f,d代表輸出符號(hào)的十進(jìn)制整型數(shù),f代表以帶小數(shù)點(diǎn)的數(shù)學(xué)形式輸出浮點(diǎn)數(shù)(單精度和雙精度數(shù))。對(duì)于float和double類(lèi)型的實(shí)數(shù),可以用“n1.n2”的形式來(lái)指定輸出寬度(n1和n2分別代表—個(gè)整常數(shù)),其中n1指定輸出數(shù)據(jù)的寬度(包括小數(shù)點(diǎn)),n2指定小數(shù)點(diǎn)后小數(shù)位的位數(shù),由于輸出格式是以緊湊格式輸出,因此選項(xiàng)A是正確的。

13.Cc)【解析】根據(jù)二分法查找法需要兩次:①首先將60與表中間的元素55進(jìn)行比較,由于60大于55,所以性表的后半部分查找。②第二次比較的元素是后半部分的中間元素,將60與表中間的元素70進(jìn)行比較,由于60小于70,所以性表的前半部分查找。③第三次比較的元素是前半部分的中間元素,即60,這時(shí)兩者相等,即查找成功。

14.B

15.Amain函數(shù)中定義一個(gè)字符指針s,指向字符串“\\ta\\018bc”。for循環(huán)遍歷s指向的字符串中的字符,然后輸出根據(jù)題意可以理解為:s指向的字符串中有多少個(gè)字符,就輸出多少個(gè)s指向的字符串中字符分別是\\t(轉(zhuǎn)義字符)、a、\\01(轉(zhuǎn)義字符)、8、b、c,總共6個(gè)。其中因?yàn)?不屬于八進(jìn)制中的數(shù)字,所以“\\018”不是一個(gè)轉(zhuǎn)義字符,而“\\01”是轉(zhuǎn)義字符。故本題答案為A選項(xiàng)。

16.C解析:二叉樹(shù)的遍歷分為先序,中序、后序三種不同方式.本題要求先序遍歷,其遍歷順序應(yīng)該為:訪問(wèn)根結(jié)點(diǎn)->,先序遍歷左子樹(shù)->先序遍歷右子樹(shù)。按照定義,先序遍歷序列是ABDECF,故答案為C。

17.B

18.B本題考多循環(huán)的使用,當(dāng)j=10,i=9時(shí),循環(huán)成立,第一個(gè)if條件為假,第二個(gè)if條件i==j-1成立,則輸出j的值為10,接者執(zhí)行i++后,i為10;當(dāng)i為10,for循環(huán)不成立,退出內(nèi)層循環(huán),此時(shí)執(zhí)行j++后,j為11,循環(huán)不成立,退出循環(huán)。

19.D解析:strcat(s1,s2)是把s2字符串連接到s1字符串的末尾,要保證s1能容納下連接后的字符串。

20.B通過(guò)—維數(shù)組名或指向維數(shù)組元素的指針來(lái)引用數(shù)組元素有兩種寫(xiě)法:a[i]和*(a+i),它們是等價(jià)的。這是一種運(yùn)算符之間的等價(jià)轉(zhuǎn)換,就好像a-(b-C)等價(jià)于a-b+c一樣。知道了這種轉(zhuǎn)換,我們可以將之?dāng)U展到二維數(shù)組甚至任意維數(shù)組上來(lái)。因?yàn)閇]運(yùn)算符的結(jié)合性是從左至右的,所以w[i][j]等價(jià)于(w[i][j],此時(shí)可以先將任意一個(gè)[]運(yùn)算符轉(zhuǎn)換為指針形式為:(*(w+i)[j]或*(w[i]+j),或者同時(shí)轉(zhuǎn)換:*(*(w+i)+j)。上述幾種形式都完全等價(jià)于w[i][j]。選項(xiàng)A中,*(*w+3)可以看成*(*(w+0)+3),即w[0][3],是正確的。選項(xiàng)B小,因?yàn)閇]運(yùn)算符的優(yōu)先級(jí)高于*運(yùn)算符,所以*(w+1)[4]等價(jià)于*((w+1)[4]等價(jià)于*(*((w+1)+4)),即*(*(w+5)+0),它等價(jià)于w[5][0],很明顯它超過(guò)數(shù)組的范圍了,故不正確。選項(xiàng)C等價(jià)于w[1][0],是下確的。選項(xiàng)D中,&w[0][0]是數(shù)組w第1個(gè)元素的地址,它等價(jià)于&*(*(w+0)+0),外面的&和*可以抵消,就好像先乘以個(gè)數(shù),然后再除以這個(gè)數(shù)一樣。所以,&w[0][0]等價(jià)于*(w+0)+0。即*w。所以原式就變?yōu)?(*w+1)等價(jià)于w[0][1],這個(gè)也是合法的。綜上所述,本題應(yīng)該選擇B。

21.a[k]a[k]a[k]

22.序言性序言性解析:注釋一般分為序言性注釋和功能性注釋。

23.邊值分析法邊值分析法解析:本題考查了黑箱測(cè)試的方法。黑箱測(cè)試方法完全不考慮程序的內(nèi)部結(jié)構(gòu)和內(nèi)部特征,而只是根據(jù)程序功能導(dǎo)出測(cè)試用例。常用的黑箱測(cè)試有等價(jià)分類(lèi)法、邊值分析法、因果圖法和錯(cuò)誤推測(cè)法。

24.9898解析:本題的考查點(diǎn)是函數(shù)的調(diào)用。本題中a,b,c,d是實(shí)參,x,y,cp,dp是形參。C語(yǔ)言規(guī)定,實(shí)參變量對(duì)形參變量的數(shù)據(jù)傳遞是“值傳遞”,即單向傳遞,只由實(shí)參傳給形參,而不能由形參傳回來(lái)給實(shí)參。在內(nèi)存中,實(shí)參單元與形參單元是不同的單元。在調(diào)用函數(shù)時(shí),給形參分配存儲(chǔ)單元,并將實(shí)參對(duì)應(yīng)的值傳遞給形參,調(diào)用結(jié)束后,形參單元被釋放,實(shí)參單元仍保留并維持原值。因此,程序的輸出結(jié)果是98。

25.20020,0解析:在主函數(shù)中首先定義了3個(gè)整型變量x、y、t,并分別給它們賦初值為10、20、0,接著執(zhí)行汀語(yǔ)句,在if后面括號(hào)內(nèi)的條件表達(dá)式中,條件x==y即10==20不成立,則不執(zhí)行其后的語(yǔ)句t=x,然后退出if語(yǔ)句,順序執(zhí)行語(yǔ)句x=y;y=t;。執(zhí)行完這兩條語(yǔ)句后x的值變?yōu)?0,y的值變?yōu)?,所以最后輸出x、y的值為20和0。

26.類(lèi)類(lèi)解析:在面向?qū)ο蠓椒ㄖ?,?lèi)描述的是具有相似性質(zhì)的一組對(duì)象。所以,屬性與操作相似的一組對(duì)象稱(chēng)為類(lèi)。

27.120120解析:靜態(tài)變量的類(lèi)型說(shuō)明符是static,靜態(tài)局部變量屬于靜態(tài)存儲(chǔ)方式,它具有以下特點(diǎn):

靜態(tài)變量的類(lèi)型說(shuō)明符是static,靜態(tài)局部變量屬于靜態(tài)存儲(chǔ)方式,它具有以下特點(diǎn):

①靜態(tài)局部變量屬于靜態(tài)存儲(chǔ)類(lèi)別,在靜態(tài)存儲(chǔ)區(qū)內(nèi)分配存儲(chǔ)單元。在程序整個(gè)運(yùn)行期間都不釋放。

②對(duì)靜態(tài)局部變量是在編譯時(shí)賦初值的,即只賦初值—次,在程序運(yùn)行時(shí)它已有初值。以后每次調(diào)用函數(shù)時(shí)不再重新賦初值而只是保留上次函數(shù)調(diào)用結(jié)束時(shí)的值。

③如在定義局部變量時(shí)不賦初值的話,則對(duì)靜態(tài)局部變量來(lái)說(shuō),編譯時(shí)自動(dòng)賦初值0(對(duì)數(shù)值型變量)或空字符(對(duì)字符變量)。(注意:C語(yǔ)言中非靜態(tài)變量在定義時(shí),系統(tǒng)并不會(huì)自動(dòng)給它賦初值)

④雖然靜態(tài)局部變量在函數(shù)調(diào)用結(jié)束后仍然存在,但其他函數(shù)是不能引用它的。本題中函數(shù)的功能是:與for語(yǔ)句一起求一個(gè)整數(shù)的階乘。

28.概念概念

29.循環(huán)鏈表循環(huán)鏈表解析:在循環(huán)鏈表中,由于設(shè)置了一個(gè)頭結(jié)點(diǎn),因此在任何情況下,循環(huán)鏈表中至少有一個(gè)結(jié)點(diǎn)存在,從而使空表與非空表的運(yùn)算統(tǒng)一。

30.77解析:此表達(dá)式為三目運(yùn)算符,++a的值為6,b--的值為6,則整個(gè)表達(dá)式的值為++a的值,++a的值為7。請(qǐng)注意前綴++,--和后綴++,--的區(qū)別。

31.QTHRGQTHRG解析:函數(shù)strcmp(t,s)用來(lái)比較t和s所指字符串的大小,若t>s,則函數(shù)值大于0;若t=s,則函數(shù)值等于0:若t<s,則函數(shù)值小于0。函數(shù)strcpy(t,s)的功能是,把字符數(shù)組s所指字符串的內(nèi)容復(fù)制到字符數(shù)組t所指存儲(chǔ)空間中。本題中,t[10]='CDEF'。第一次循環(huán),s[10]='BADEF',if語(yǔ)句的控制條件strcmp(t,s)<0不成立,接著執(zhí)行第二次循環(huán),s='QTHRG',if語(yǔ)句的控制條件strcmp(t,s)<0成立,執(zhí)行下列的語(yǔ)句,將字符數(shù)組s所指字符串的內(nèi)容復(fù)制到字符數(shù)組t所指存儲(chǔ)空間中,然后輸出字符數(shù)組t。

32.abcbccabcbcc解析:strcpy()函數(shù)有兩個(gè)字符指針參數(shù),功能是將第2個(gè)參數(shù)所指的字符串(包括字符串結(jié)束標(biāo)志\'\\0\')復(fù)制到第1個(gè)參數(shù)所指的內(nèi)存地址中.題目程序中使用?兩個(gè)for循環(huán),都是讓i從0遞增到2循環(huán)3次。第1個(gè)循環(huán)將字符數(shù)組ch中的字符串'abe'復(fù)制到;維數(shù)組x[3][4]的每1行,笫2個(gè)for循環(huán)每次輸出x[i][j]中的字符串,即三次分別輸出從x[0][0]、x[1][1]、x[2][2]開(kāi)始的字符串的內(nèi)容。故三次分別輸出abc、bc、c,結(jié)果為abcbcc。

33.B66B66解析:字符B的ASCII碼值為66,因此,按%c形式輸出B,按%d形式輸出66,輸出結(jié)果為:B66。

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

35.實(shí)體實(shí)體

36.HOWHOW解析:在scanf()函數(shù)中,使用空格作為分隔符,如果輸入含有空格的字符串,則不能使用scanf()函數(shù),所以本題中輸入空格就返回了'\\0',s數(shù)組也就確定了,后面的輸入就不再讀入數(shù)組s中。

37.SET單價(jià)=單價(jià)*1.05SET單價(jià)=單價(jià)*1.05解析:更新表中元組的值,使用UPDATE命令,一次可以更新表中的一個(gè)或多個(gè)屬性值。UPDATE短語(yǔ)之后指定更新數(shù)據(jù)所屬的表,將新的屬性值或表達(dá)式賦值給對(duì)應(yīng)的屬性名(SET單價(jià)=單價(jià)*1.05),并置于SET短語(yǔ)之后。要求對(duì)人民郵電出版社的圖書(shū)漲5%,需要用WHERE短語(yǔ)對(duì)元組進(jìn)行限制,即對(duì)符合條件的元組進(jìn)行更新。

38.軟件工程管理軟件工程管理解析:軟件工程足指,采用工程的概念、原理、技術(shù)和方法指導(dǎo)軟件的開(kāi)發(fā)與維護(hù):軟件工程學(xué)的主要研究對(duì)象包括軟件開(kāi)發(fā)與維護(hù)的技術(shù)、方法、工具和管理等方面。即軟件工程研究的內(nèi)容主要包括:軟件開(kāi)發(fā)技術(shù)和軟件工程管理。

39.關(guān)系或一個(gè)關(guān)系關(guān)系或一個(gè)關(guān)系解析:在關(guān)系數(shù)據(jù)庫(kù)中,把數(shù)據(jù)表示成二維表,而一個(gè)二維表就是一個(gè)關(guān)系。

40.k<=nk++k<=n,k++解析:本題要求將一個(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++;'\ue009。

41.D解析:本題主要考查的是scanf()函數(shù)的輸入原理。scanf()函數(shù)執(zhí)行時(shí),先從鍵盤(pán)緩沖區(qū)中讀取用戶(hù)輸入的數(shù)據(jù),若緩沖區(qū)為空或輸入數(shù)據(jù)少于所需數(shù)據(jù),則暫停程序等待用戶(hù)的輸入,直到用戶(hù)敲入回車(chē),scanf()將繼續(xù)到鍵盤(pán)緩沖區(qū)中讀取輸入,如此反復(fù)直到滿(mǎn)足scanf()函數(shù)所需數(shù)據(jù),程序才繼續(xù)執(zhí)行下面的語(yǔ)句,而scanf()沒(méi)有取完的數(shù)據(jù)仍然會(huì)保存在鍵盤(pán)緩沖區(qū)內(nèi),到程序結(jié)束時(shí)還沒(méi)取完就會(huì)被釋放掉,不會(huì)影響其他的程序運(yùn)行。另外,scanf()函數(shù)將取到的數(shù)據(jù)匹配給第2個(gè)及其后面的指針參數(shù)所指的內(nèi)存地址中去,而不檢查該參數(shù)的類(lèi)型是否匹配。所以在本題中考生不要被指針ptr的定義所迷惑,它所做的只不過(guò)是臨時(shí)保存一下a+i的值,然后送到scanf()函數(shù)中去。題目首先定義了一個(gè)二維數(shù)組a[3][2]并用{0}初始化之,因?yàn)楫?dāng)所賦初值少于所定義數(shù)組的元素個(gè)數(shù)時(shí),將自動(dòng)給后面的元素樸以初值0,所以數(shù)組a[3][2]中所有的元素都被初始化為0了。在主程序的第一個(gè)for循環(huán)體中有三條語(yǔ)句,該循環(huán)體會(huì)被執(zhí)行兩次,每次執(zhí)行時(shí)i的值分別為0和1。第1條語(yǔ)句讓ptr的值分別為a+0(即元素a[0])[0])的地址)和a+1(即元素a[1][0]的地址);第2條語(yǔ)句是一條輸入語(yǔ)句,它每次接受一個(gè)十進(jìn)制整數(shù)存入到ptr所指的內(nèi)存地址中,題目要求輸入的數(shù)據(jù)為“123<回車(chē)>”,所以?xún)纱蝧canf()函數(shù)的調(diào)用使a[0][0]和a[1][0]分別被賦為1和2。笫3條語(yǔ)句讓ptr自增1在這里沒(méi)有起到任何作用,因?yàn)槊看芜M(jìn)入循環(huán)體ptr都會(huì)被重新賦值。最后,程序用一個(gè)兩重循環(huán)按行列輸出二維數(shù)組a中的所有元素。所以,選項(xiàng)B符合題意。

42.D解析:寧符數(shù)組初始化可以有兩種方式:方式一,按單個(gè)字符的方式賦初值。方式二,把一個(gè)字符串作為初值賦給字符數(shù)組。比如:charch[5]={'abc'),選項(xiàng)A屬于這種情況,但是選項(xiàng)A定義的字符數(shù)組長(zhǎng)度為8,由于最后還要加一個(gè)“\\0”做結(jié)束標(biāo)志,所以賦給他的字符串長(zhǎng)度應(yīng)小于等于7,所以選項(xiàng)A不正確;在給字符數(shù)組賦初值的時(shí)候,應(yīng)該用花括號(hào)“{”和“}”將字符串括起來(lái),故選項(xiàng)C不正確。將字符型指針變量指向字符串也有兩種方法,一是在定義指針變量時(shí)就給其賦初值,比如:char*p='student'二是給指針變量賦值,比如:p='student';(p已經(jīng)被定義為字符型指針變量:),故選項(xiàng)D正確,而選項(xiàng)C中的花括號(hào)是多余的,應(yīng)該去掉,所以,4個(gè)選項(xiàng)中選項(xiàng)D符合題意。

43.A

44.B解析:C語(yǔ)言規(guī)定,標(biāo)識(shí)符只能由字母、數(shù)字和下劃線三種符號(hào)組成,而且第一個(gè)字符必須是字母或下劃線。A)中的void與C語(yǔ)言的關(guān)鍵字重名,不合法;C)中的case和C語(yǔ)言的關(guān)鍵字重名,不合法;D)中的2a是數(shù)字開(kāi)頭,而且sizeof與C語(yǔ)言的關(guān)鍵字重名,不合法。

45.C解析:①這種聲明也具有定義的作用,并將預(yù)留存儲(chǔ)空間。register說(shuō)明的聲明等價(jià)于auto說(shuō)明的聲明,所不同的是,register暗示了聲明的對(duì)象將被頻繁地訪問(wèn),將盡可能存儲(chǔ)在寄存器中。如果一個(gè)對(duì)象被聲明為register,則將不能對(duì)它應(yīng)用一元運(yùn)算符&,聲明為register但實(shí)際按照auto類(lèi)型處理的對(duì)象的地址進(jìn)行計(jì)算是非法的。②static將聲明的對(duì)象說(shuō)明為靜態(tài)存儲(chǔ)類(lèi)。這種對(duì)象可以用在函數(shù)內(nèi)部或者函數(shù)外部。在函數(shù)內(nèi)部,該說(shuō)明符將引起存儲(chǔ)空間的分配,具有定義的作用。在函數(shù)外部,該說(shuō)明符將引起聲明對(duì)象為

46.C

47.A根據(jù)數(shù)據(jù)結(jié)構(gòu)中各數(shù)據(jù)元素之間前后件關(guān)系的復(fù)雜程度,一般將數(shù)據(jù)結(jié)構(gòu)分為兩大類(lèi)型:線性結(jié)構(gòu)與非線性結(jié)構(gòu)。如果一個(gè)非空的數(shù)據(jù)結(jié)構(gòu)滿(mǎn)足下列兩個(gè)條件:1,有且只有一根節(jié)結(jié)點(diǎn),2,每一個(gè)結(jié)點(diǎn)最多有一個(gè)前件,也最多有一個(gè)后件,則稱(chēng)該數(shù)據(jù)結(jié)構(gòu)為線性結(jié)構(gòu),又稱(chēng)線性表。所以線性表、棧與隊(duì)列、線性鏈表都是線性結(jié)構(gòu),而二叉樹(shù)是非線性結(jié)構(gòu)。

48.B解析:選項(xiàng)A)中,定義的初值個(gè)數(shù)大于數(shù)組的長(zhǎng)度;選項(xiàng)C)中,數(shù)組名后少了中括號(hào);選項(xiàng)D)中,整型數(shù)組不能賦予字符串。

49.B解析:滿(mǎn)足表達(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á)式都為“真”。

50.BB?!窘馕觥砍绦虻娜N基本控制結(jié)構(gòu)包括:順序、選擇和重復(fù)(循環(huán)),這三種結(jié)構(gòu)就足以表達(dá)出各種其他形式的結(jié)構(gòu)。

51.B解析:T是R∪S的結(jié)果,關(guān)系T由屬于關(guān)系R的或者屬于關(guān)系S的元組組成。

52.D解析:順序文件只能從頭讀寫(xiě),二進(jìn)制文件可以隨機(jī)讀寫(xiě),選項(xiàng)A正確:文件在使用后應(yīng)關(guān)閉,當(dāng)程序結(jié)束時(shí),應(yīng)當(dāng)把打開(kāi)的文件關(guān)閉,選項(xiàng)B正確:用fread()函數(shù)可以一次性地讀取同類(lèi)型的很多數(shù)據(jù),選項(xiàng)C正確;在C語(yǔ)言中指向各種文件的文件指針都是通過(guò)FILE來(lái)定義的,故選項(xiàng)D是錯(cuò)誤的。所以4個(gè)選項(xiàng)中選D

53.B解析:本題考查ifelse語(yǔ)句。第一個(gè)if語(yǔ)句,先判斷條件,發(fā)現(xiàn)a=O,則!a成立,執(zhí)行下列的語(yǔ)句,x--,得x=11;第二個(gè)if語(yǔ)句,判斷條件,發(fā)現(xiàn)c=0,則條件不成立,執(zhí)行下列的else語(yǔ)句,得x=4。

54.C解析:用高級(jí)語(yǔ)言編寫(xiě)的程序稱(chēng)為“源程序”,而計(jì)算機(jī)只能識(shí)別和執(zhí)行由O和1組成的二進(jìn)指令,所以高級(jí)語(yǔ)言必須先用—種稱(chēng)為“編譯程序”的軟件,把源程序翻譯成二進(jìn)制形式的“目標(biāo)程序”。

55.B解析:對(duì)二又樹(shù)的中序遍歷是指:首先遍歷左子樹(shù),然后訪問(wèn)根結(jié)點(diǎn),最后遍歷右子樹(shù)。在遍歷左,右子樹(shù)時(shí),注意依舊按照“左子樹(shù)—根結(jié)點(diǎn)—右于樹(shù)”的順序。

56.A

57.B解析:本題考查C語(yǔ)言3個(gè)知識(shí)點(diǎn):①將一個(gè)字符賦給一個(gè)字符變量時(shí),并不是將該字符本身存儲(chǔ)到內(nèi)存中,而是將該字符對(duì)應(yīng)的ASCII碼存儲(chǔ)到內(nèi)存單元中;②大寫(xiě)字母的ASCII碼值小于其對(duì)應(yīng)小寫(xiě)字母的ASCII碼值;③只要邏輯與運(yùn)算符&&的兩個(gè)運(yùn)算對(duì)象都為非零,返回值就是1。

58.B解析:本題考查的是遞歸函數(shù)。在一個(gè)函數(shù)中直接或間接地調(diào)用了自身,則稱(chēng)此函數(shù)為遞歸函數(shù)。本題定義的函數(shù)f()就是一個(gè)遞歸函數(shù)。它先交換兩個(gè)字符指針?biāo)傅膬?nèi)容,然后將第1個(gè)指針往后移動(dòng)一位,第2個(gè)指針往前移動(dòng)一位,如果第1個(gè)指針?biāo)竷?nèi)容不是字符串結(jié)束標(biāo)志,則遞歸調(diào)用自身。主函數(shù)中首先定義了一個(gè)字符數(shù)組sTR[10]='abcdefg',然后定義了一個(gè)字符指針p=str+strlen(str)/2+1,即讓p指向str+4(或&str[4])的位置.然后調(diào)用f(p,p-2);,這使得p所指的str[4]及其以后的2個(gè)位置str[5]、str[6]中的內(nèi)容同p-2所指的3tr[2]及其以前的2個(gè)位置str[1]、str[0]中的內(nèi)容互相交換。即讓整個(gè)字符串逆序。所以本題應(yīng)該選擇B。

59.D解析:C語(yǔ)言中有基本的算術(shù)運(yùn)算符(+、-、*、/)還包括自增自減運(yùn)算符(++、-),在C語(yǔ)言解析表達(dá)式時(shí),它總是進(jìn)行貪婪咀嚼,這佯,該表達(dá)式就被解析為i+++++i,顯然該表達(dá)式不合C語(yǔ)言語(yǔ)法。

60.B解析:內(nèi)模式(InternalSchemA)又稱(chēng)物理模式(PhysicalSchemA),它給出了數(shù)據(jù)庫(kù)物理存儲(chǔ)結(jié)構(gòu)與物理存取方法,如數(shù)據(jù)存儲(chǔ)的文件結(jié)構(gòu)、索引、集簇及hash等存取方式與存取路徑。數(shù)據(jù)庫(kù)系統(tǒng)的數(shù)據(jù)具有高共享性和低冗余性,但不能完全避免數(shù)據(jù)冗余;數(shù)據(jù)的一致性是指在系統(tǒng)中同一數(shù)據(jù)的不同出現(xiàn)應(yīng)保持相同的值。

61.A函數(shù)參數(shù)傳遞是個(gè)不可逆的過(guò)程,形參不會(huì)把值傳回實(shí)參,所以A)選項(xiàng)(24)[答案]A)[解析]c的值為a乘以b的值,為3。所以答案選擇A)。

62.C本題主要考查棧和隊(duì)列的基本特性。棧是限定僅在表尾進(jìn)行插入和刪除操作的線性表,而隊(duì)列則只允許在隊(duì)尾進(jìn)行插入操作,在隊(duì)頭進(jìn)行刪除操作。棧對(duì)數(shù)據(jù)元素的操作具有先進(jìn)后出的特點(diǎn),而隊(duì)列對(duì)數(shù)據(jù)元素的操作具有先進(jìn)先出的特點(diǎn)。

本題要求對(duì)棧和隊(duì)列一起操作,將出棧S的元素進(jìn)入隊(duì)列Q,元素出隊(duì)的順序是a2,a3,a4,a6,a5,a1,根據(jù)隊(duì)列的特性,那么元素入隊(duì)的順序也應(yīng)該為a2,a3,a4,a6,a5,a1,這也就說(shuō)明元素出棧的順序?yàn)閍2,a3

溫馨提示

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