2021年山東省濱州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷(含答案)_第1頁(yè)
2021年山東省濱州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷(含答案)_第2頁(yè)
2021年山東省濱州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷(含答案)_第3頁(yè)
2021年山東省濱州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷(含答案)_第4頁(yè)
2021年山東省濱州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷(含答案)_第5頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

2021年山東省濱州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.下面程序運(yùn)行的結(jié)果是______。main(){intx,y,z;x=0;y=z=-1;x+=-z---y;printf("x=%d\n",x);}

A.x=4B.x=0C.x=2D.x=3

2.設(shè)有以下程序段:structbook{floatprice;charlanguage;chartitle[20];}rec,*ptr;ptr=&rec;要求輸入字符串給結(jié)構(gòu)體變量rec的title成員,錯(cuò)誤的輸入語(yǔ)句是()。

A.scanf(“%s”,ptr.title);

B.scanf(“%s”,rec.title);

C.scanf(“%s”,(*ptr).title);

D.scanf(“%s”,ptr->title);

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

#include<stdio.h>

main()

{inta[]={1,2,3,4,5,6,7,8,9,0},*p;

p=a;

printf("%d\n",*p+9);}

A.0B.1C.10D.9

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

A.圖的遍歷是從給定的源點(diǎn)出發(fā)每一個(gè)頂點(diǎn)僅被訪問(wèn)一次

B.圖的深度遍歷不適用于有向圖

C.遍歷的基本算法有兩種:深度遍歷和廣度遍歷

D.圖的深度遍歷是一個(gè)遞歸過(guò)程

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

A.xYB.x<=YC.x‖y+zy-zD.!((x

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

A.13579B.48579C.48549D.48999

7.函數(shù)fseek(pf,OL,SEEKEND)中的SEEKENE代表的起始點(diǎn)是()。

A.文件開(kāi)始B.文件末尾C.文件當(dāng)前位置D.以上都不對(duì)

8.若變量c為char類型,能正確判斷出c為小寫字母的表達(dá)式是A.A.′a′<=c<=′z′c="">=′a′)||(c<=′z′)

B.(′a′>=c)and(′z′>=c)

C.(′a′<=c)and(′z′>=c)

D.(c>=′a′)&&(c<=′z′)

9.有以下程序:#include<stdio.h>main(){inta,b,k,m,*pl,*p2;k=1,m=8;p1=&k,p2=&m;a=/*pl-m;b=*p1+*p2+6;printf("%d",a);printf("%d\n",b);}編譯時(shí)編譯器提示錯(cuò)誤信息,你認(rèn)為出錯(cuò)的語(yǔ)句是()。A.a=/*pl-m;B.b=*p1+*p2+6;C.k=1,m=8;D.pl=&k,p2-&m;

10.以下選項(xiàng)中,不能作為合法常量的是

A.1.234e04B.1.234e0.4C.1.23E+4D.1.234e0

11.

12.以下選項(xiàng)中,能用作數(shù)據(jù)常量的是______。A.o115B.0118C.1.5e1.5D.115L

13.下面關(guān)于求關(guān)鍵路徑的說(shuō)法不正確的是()。

A.求關(guān)鍵路徑是以拓?fù)渑判驗(yàn)榛A(chǔ)的

B.一個(gè)事件的最早開(kāi)始時(shí)間同以該事件為尾的弧的活動(dòng)最早開(kāi)始時(shí)間相同

C.一個(gè)事件的最遲開(kāi)始時(shí)間為以該事件為尾的弧的活動(dòng)最遲開(kāi)始時(shí)間與該活動(dòng)的持續(xù)時(shí)間的差

D.關(guān)鍵活動(dòng)一定位于關(guān)鍵路徑上

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

A.C語(yǔ)言中的每條可執(zhí)行語(yǔ)句和非執(zhí)行語(yǔ)句最終都將被轉(zhuǎn)換成二進(jìn)制的機(jī)器指令

B.C程序經(jīng)過(guò)編譯、連接步驟之后才能形成一個(gè)真正可執(zhí)行的二進(jìn)制機(jī)器指令文件

C.用C語(yǔ)言編寫的程序稱為源程序,它以ASCII形式存放在一個(gè)文本文件中

D.C語(yǔ)言源程序經(jīng)編譯后生成擴(kuò)展名為.obj的目標(biāo)文件

15.

16.需要分配較大空間,插入和刪除不需要移動(dòng)元素的線性表,其存儲(chǔ)結(jié)構(gòu)是()。A.單鏈表B.靜態(tài)鏈表C.線性鏈表D.順序存儲(chǔ)結(jié)構(gòu)

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

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

18.有如下程序段:

inta=14,b=15,x;

charc='A';

x=(a&&b)&&(c<'B'):

執(zhí)行該程序后,x的值為()。A.A.trueB.falseC.0D.119.若x,y均定義為int型,z定義為double型,以下不合法的scanf函數(shù)調(diào)用語(yǔ)句是()。A.scanf(“%d%lx,%le”,&x,&y,&z);

B.scanf(“%2d*%d%lf”&x,&y,&z);

C.scanf(“%x%*d%o”,&x,&y);

D.scanf(“%x%o%6.2f”,&x,&y,&z)

20.已有定義int(*q)(),指針q可以()。

A.指向函數(shù)的入口地址B.代表函數(shù)的返回值C.表示函數(shù)的類型D.表示函數(shù)返回值的類型

二、2.填空題(20題)21.按照邏輯結(jié)構(gòu)分類,結(jié)構(gòu)可以分為線性結(jié)構(gòu)和非線性結(jié)構(gòu),棧屬于______。

22.若a的值為1,則表達(dá)式!a‖++a的值是______。

23.求任意一個(gè)數(shù)(用16位二進(jìn)制碼表示)的補(bǔ)碼。

main()

{

unsignedinta;

【】;

scanf("%o",&a);

printf("%o\n",getbits(a));

}

unsignedintgetbits(value)

unsignedintvalue;

{

unsignedintz;

z=【】;

if(z==0100000)

【】;

else

z=value;

return(z);

}

24.按數(shù)據(jù)流的類型,結(jié)構(gòu)化設(shè)計(jì)方法有兩種設(shè)計(jì)策略,它們是變換分析設(shè)計(jì)和______。

25.fun函數(shù)的功能是:首先對(duì)a所指的N行N列的矩陣,找出各行中的最大的數(shù),再求這N個(gè)最大值中的最小的那個(gè)數(shù)作為函數(shù)值返回。請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

#defineN100

intfun(int(*a)[N])

{

introw,col,max,min;

for(row=0;row<N;row++

{

for(max=a[row][0],col=1;col<N;col++)

if(【】)max=a[row][col];

if(row==0)min=max;

elseif(【】)min=max;

}

returnmin;

}

26.在關(guān)系模型中,把數(shù)據(jù)看成一個(gè)二維表,每一個(gè)二維表稱為一個(gè)______。

27.為了便于對(duì)照檢查,測(cè)試用例應(yīng)由輸入數(shù)據(jù)和預(yù)期的【】?jī)刹糠纸M成。

28.若有如下程序:

main()

{intx=5,y,*t;t=&x;

y=++(*t);

printf("%d,%d",x,y);}

則程序執(zhí)行后的x值為【】,y的值為【】。

29.性表的順序存儲(chǔ)中,元素之間的邏輯關(guān)系是通過(guò)【】決定的;性表的鏈接存儲(chǔ)中,元素之間的邏輯關(guān)系是通過(guò)【】決定的。

30.在面向?qū)ο蠓椒ㄖ?,類之間共享屬性和操作的機(jī)制稱為_(kāi)_____。

31.在面向?qū)ο蟮脑O(shè)計(jì)中,用來(lái)請(qǐng)求對(duì)象執(zhí)行某一處理或回答某些信息的要求稱為【】。

32.若有如下定義,則該數(shù)組的第一維大小為【】。

intb[][4]={1,2,3,4,5,6,7,8,9}

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

34.以下程序的功能是:刪去一維數(shù)組中所有相同的數(shù),使之只剩一個(gè)。數(shù)組中的數(shù)已按由小到大的順序排列,函數(shù)返回刪除后數(shù)組中數(shù)據(jù)的個(gè)數(shù)。

例如,若一維數(shù)組中的數(shù)據(jù)是:

2223445666677899101010

刪除后,數(shù)組中的內(nèi)容應(yīng)該是:

2345678910。

請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

#defineN80

intfun(inta[],intn)

{inti,j=1;

for(i=1;i<n;i++)

if(a[j-1][

35.執(zhí)行以下“for(i=1;i++<=4;i++);”語(yǔ)句后,變量i的值是()。

36.需求分析的最終結(jié)果是產(chǎn)生【】。

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

#include<stdio.h>

main()

{intx=1,y=0,a=0,b=0;

switch(x)

{case1:

switch(y)

{case0:a++;break;

case1:b++;break;

}

case2:a++;b++;break;

case3:a++;b++;

}

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

}

38.若x和n均是int型變量,且x=12,n=5,則執(zhí)行y=x%=(n%=2)表達(dá)式后y的值為()。

39.以下程序由終端鍵盤輸入一個(gè)文件名,然后把從終端鍵盤輸入的字符依次放到該文

件中,用井作為結(jié)束輸入的標(biāo)志。請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

main()

{FILE*fp;

charch,fname[10];

printf("Inputthenameoffile\n");

gets(fname);

if((fp=【】)==NULL)

{printf("Cannotope\n");exit(O);}

printf("Enterdata\n");

while((ch=getchar())!='#')

fputc(【】,fp);

fclose(fp);

}

40.以下程序的運(yùn)行結(jié)果是()。#defineA4#defineB(x)A*x/2main(){floatc,a=8.0;c=B(A;printf("%f\n",C);}

三、1.選擇題(20題)41.執(zhí)行下列程序的輸出結(jié)果是()。main(){union{intb;charc[2];}y;y.b=0x4142;printf("%c,%c",y.c[1],y.c[0]);}

A.65,66B.a,bC.B,AD.A,B

42.以下能正確表示x在-5到-1或5到1范圍(含5和1)內(nèi),值為“真”的表達(dá)式是()

A.(x>=-5)||(x<=-1)&&(x<=5)&&(x>=1)

B.!(x>=-5||x<=-1&&x<=5||x>=1)

C.x<-5&&x>-1||x<1&&x>5

D.(x<-5)||(x>-1&&x<1)||(x>5)

43.有以下程序,其中%u表示按無(wú)符號(hào)整數(shù)輸出:

main

{

unsignedintx=0xFFFF;/*x的初值為十六進(jìn)制數(shù)*/

printf("%u\n",x);

}

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

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

44.需求分析階段的任務(wù)是確定()

A.軟件開(kāi)發(fā)方法B.軟件開(kāi)發(fā)工具C.軟件開(kāi)發(fā)費(fèi)用D.軟件系統(tǒng)功能

45.有以下程序:fun(intx){intp;if(x=0||x==1)return(3);p=x-fun(x-2);returnp;}main(){printf("%d\n",fun(7));}執(zhí)行后的輸出結(jié)果是()。

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

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

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

47.下列常數(shù)中,不合法的C常量是()

A.-0x3b1B.123e+2.3C.'}'D.6e+7

48.字符(char)型數(shù)據(jù)在微機(jī)內(nèi)存中的存儲(chǔ)形式是______。

A.反碼B.補(bǔ)碼C.EBCDIC碼D.ASCII碼

49.簡(jiǎn)單的交換排序方法是()。

A.快速排序B.選擇排序C.堆排序D.冒泡排序

50.設(shè)intb=2;,表達(dá)式(b<<2)/(b>>1)的值是()

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

51.要求通過(guò)while循環(huán)不斷讀入字符,當(dāng)讀入字母N時(shí)結(jié)束循環(huán)。若變量已正確定義,以下正確的程序段是()。

A.while((ch=getchar())!='N')printf("%c",ch);

B.while(ch=getchar()!='N')printf("%c",ch);

C.while(ch=getchar()=='N')printf("%c",ch);

D.while((ch=getchar())=='N')printf("%c",ch):

52.以下程序的輸出結(jié)果是_______。main(){inti;for(i=1;i<6;i++){if(i%2)(printf("#");continue;}printf("*");}printf("\n");}

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

53.下列敘述中,不屬于軟件需求規(guī)格說(shuō)明書(shū)的作用的是()

A.便于用戶,開(kāi)發(fā)人員進(jìn)行理解和交流

B.反映出用戶問(wèn)題的結(jié)構(gòu),可以作為軟件開(kāi)發(fā)工作的基礎(chǔ)和依據(jù)

C.作為確認(rèn)測(cè)試和驗(yàn)收的依據(jù)

D.便于開(kāi)發(fā)人員進(jìn)行需求分析

54.在結(jié)構(gòu)化方法中,軟件功能分解屬于軟件開(kāi)發(fā)中的______階段。

A.詳細(xì)設(shè)計(jì)B.需求分析C.總體設(shè)計(jì)D.編程調(diào)試

55.下面能正確進(jìn)行字符串賦值操作的是

A.chars[5]={"ABCDE"};

B.chars[5]={′A′,′B′,′C′,′D′,′E′};

C.char*s;s="ABCDE";

D.char*s;scanf("%s",s);

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

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

57.以下選項(xiàng)中,能定義s為合法的結(jié)構(gòu)件變量的是_______。

A.typedefstructabc{doublea;charb[10];}s;

B.struct{doublea;charb[10];}s

C.structABC{doublea;charb[10];}ABCs;

D.typedefABC{doublea;charb[10];}ABCs;

58.若有下面的程序片段:int[12]={0},*p[3],**pp,i;for(i=0;i<3;i)p[i]=&a[i*4];pp=p則對(duì)數(shù)組元素的錯(cuò)誤引用是

A.pp[0][1]B.a[10]C.p[3][1]D.*(*(p+2)+2)

59.有以下程序floatfun(intx,inty){return(x+y);}main(){inta=2,b=5,c=8;printf(“%3.Of\n”,fun((int)fun(a+c,b),a-c));}程序運(yùn)行后的輸出結(jié)果是

A.編譯出錯(cuò)B.9C.21D.9

60.已知數(shù)據(jù)表A中每個(gè)元素距其最終位置不遠(yuǎn),為節(jié)省時(shí)間,應(yīng)采用的算法是A.A.堆排序B.直接插入排序C.快速排序D.B和C四、選擇題(20題)61.程序段:intx=12;doubley=3.141593;printf(”%d%8.6f”,x,y.;的輸出結(jié)果是()。

A.123.141593

B.123.141593

C.12,3.141593

D.123.1415930

62.有以下程序:

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

A.1002,ZhangDa,1202.0

B.1002,ChangRon9,1202.0

C.1001,ChangRon9,1098.0

D.1001,ZhangDa,1098.0

63.

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

A.列表框和組合框都有List屬性

B.列表框有Selected屬性,而組合框沒(méi)有

C.列表框和組合框都有Style屬性

D.組合框有Text屬性,而列表框沒(méi)有

65.

有下列程序段:

intn,t=1,S=0;

scanf("%d",&n);

do{s=s+t;t=t-2;while(t!=n);

為使此程序段不陷入循環(huán),從鍵盤輸入的數(shù)據(jù)應(yīng)該是()。

A.任意正奇數(shù)B.任意負(fù)偶數(shù)C.任意正偶數(shù)D.任意負(fù)奇數(shù)

66.(29)有以下程序

#include<stdio.h>

main()

{ints;

scanf("%d",&s);

while(s>0)

{switch(s)

{case1:printf("%d",s+5);

case2:printf("%d",s+4);break;

case3:printf("%d",s+3);

default:printf("%d",s+1);break;

}

scanf("%d",&s);

}

}

運(yùn)行時(shí),若輸入123450<回車>,則輸出結(jié)果是

A)6566456

B)66656

C)66666

D)6666656

67.在位運(yùn)算中,操作數(shù)左移一位,其結(jié)果相當(dāng)于A.A.操作數(shù)乘以2

B.操作數(shù)除以2

C.操作數(shù)除以4

D.操作數(shù)乘以4

68.有下列程序:intfunl(doublea){returna*=a;}intfun2(doublex,doubley){doublea=0,b=0;a=funl(x);b=funl(y);return(int)(a+h);}main{doublew;w=fun2(1.1,2.0),……}程序執(zhí)行后變量w中的值是()。A.5.21B.5C.5.0D.0.0

69.有以下程序:

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

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

70.在軟件開(kāi)發(fā)中,需求分析階段產(chǎn)生的主要文檔是()。

A.可行性分析報(bào)告B.軟件需求規(guī)格說(shuō)明書(shū)C.概要設(shè)計(jì)說(shuō)明書(shū)D.集成測(cè)試計(jì)劃

71.設(shè)有如下定義語(yǔ)句:intm[]={2,4,6,8,10},*k=m;以下選項(xiàng)中,表達(dá)式的值為6的是()。

A.*(k+2)B.k+2C.*k+2D.*k+=2

72.

73.設(shè)有以下說(shuō)明語(yǔ)句:

則下面的敘述中不正確的是()。

A.struct結(jié)構(gòu)體類型的關(guān)鍵字

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

C.x,y,z都是結(jié)構(gòu)體成員名

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

74.數(shù)據(jù)庫(kù)系統(tǒng)的核心是()。

A.數(shù)據(jù)模型B.數(shù)據(jù)庫(kù)管理系統(tǒng)C.數(shù)據(jù)庫(kù)D.數(shù)據(jù)庫(kù)管理員

75.

76.有以下程序:

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

A.10B.11C.20D.21

77.下列關(guān)于算法復(fù)雜度描述正確的是()。

A.算法的時(shí)間復(fù)雜度是指算法執(zhí)行的時(shí)間

B.算法的空間復(fù)雜度是指執(zhí)行這個(gè)算法所需的內(nèi)存空間

C.一個(gè)算法的空間復(fù)雜度大,則其時(shí)間復(fù)雜度必定大

D.一個(gè)算法的空間復(fù)雜度大,則其時(shí)間復(fù)雜度必定小

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

A.17B.16C.15D.14

79.有以下程序:

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

A.4B.10C.14D.6

80.下面不屬于需求分析階段任務(wù)的是()。

A.確定軟件系統(tǒng)的功能需求B.確定軟件系統(tǒng)的性能需求C.需求規(guī)格說(shuō)明書(shū)評(píng)審D.制定軟件集成測(cè)試計(jì)劃

五、程序改錯(cuò)題(1題)81.下列給定程序中函數(shù)fun()的功能是:用遞歸算法計(jì)算斐波拉契數(shù)列中第n項(xiàng)的值。從第l項(xiàng)起,斐波拉契數(shù)列為:1,1,2,3,5,8,13,21,…例如,若給n輸入7,則該項(xiàng)的斐波拉契數(shù)值為13。請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!試題程序:

六、程序設(shè)計(jì)題(1題)82.三個(gè)整數(shù)a、b、c,由鍵盤輸入,輸出其中最大的數(shù)。

參考答案

1.C解析:表達(dá)式“x+=-z---y”等價(jià)于“x=x+(-z-(-(-y)))=0+(1-(-1))=2”。

2.A運(yùn)算符“->”適用指針訪問(wèn)成員變量,運(yùn)算符“.”適用普通變量訪問(wèn)成員變量。ptr是指針,只能用“->”,因此選項(xiàng)A錯(cuò)誤。選項(xiàng)B中,rec.title代表數(shù)組title,選項(xiàng)B正確,同理選項(xiàng)C正確?!?ptr”是結(jié)構(gòu)體變量rec,可以使用運(yùn)算,因此選項(xiàng)D正確。故本題答案為A選項(xiàng)。

3.C解析:此題考查了指針引用一維數(shù)組元素的方法。*p+9因?yàn)檫\(yùn)算符'*'的優(yōu)先級(jí)高于'+',所以輸出結(jié)果為p指向的元素1,然后加9,值為10。

4.C

5.D本題考查邏輯運(yùn)算符的使用。當(dāng)“”的兩個(gè)運(yùn)算對(duì)象都是邏輯l時(shí),表達(dá)式返回值才是1;“‖”的兩個(gè)運(yùn)算對(duì)象至少有一個(gè)是邏輯1時(shí),表達(dá)式返回值也是l,x<y為1,!z為0,10為1,0‖為1,因此,!l為0。

6.C本題考查do-while循環(huán),在fun函數(shù)中,首先定義了靜態(tài)變量i=0,do-while循環(huán)要實(shí)現(xiàn)的功能是以b[0]=b[o]+b[1],b[1]=b[1]+b[2],其他元素不變的規(guī)則重新給b數(shù)組賦值。在主函數(shù)中,通過(guò)調(diào)用fun函數(shù),按上面的規(guī)則對(duì)數(shù)組a重新賦值,最后輸出數(shù)組a。

7.BSEEK_SET代表文件的開(kāi)始,SEEK_END代表文件末尾,SEEK_CUR代表文件當(dāng)前位置。

8.D

9.A本題考查指針,pl=&k表示P指向k的地址,則*p=k,依次類推,在對(duì)指針進(jìn)行賦值時(shí)沒(méi)有錯(cuò)誤。a=/*p+m賦值,在c語(yǔ)言中"/*"表示的注釋,所以答案選擇A。

10.B解析:C語(yǔ)言的語(yǔ)法規(guī)定,字母e(E)之前必須有數(shù)字,且e(E)后面的指數(shù)必須是整數(shù),而選項(xiàng)B)中,e(E)后面的指數(shù)是小數(shù),所以不合法。

11.A

12.D在C語(yǔ)言中,有整型常量、實(shí)型常量、字符常量和字符串常量等類型。整型常量和實(shí)型常量又稱數(shù)值型常量?;菊统A恐荒苡脭?shù)字表示,不帶小數(shù)點(diǎn),例如12、-1和0等,在VC6.0中可以在整型常量的后面加—個(gè)字母l(L的小寫)或L;實(shí)型常量必須用帶小數(shù)點(diǎn)的數(shù)表示,例如3.14159、-2.71828、0.0等;選項(xiàng)A中字母o不符合要求,選頂B中超出八進(jìn)制的范圍,選項(xiàng)C中e后面的不為整數(shù),因此選頂D是正確的。

13.C

14.AC語(yǔ)言中的非執(zhí)行語(yǔ)句不會(huì)被編譯,不會(huì)被轉(zhuǎn)換成二進(jìn)制的機(jī)器指令,所以A選項(xiàng)錯(cuò)誤。由C語(yǔ)言構(gòu)成的指令序列稱為C語(yǔ)言源程序,C語(yǔ)言源程序經(jīng)過(guò)C語(yǔ)言編譯程序編譯之后,生成一個(gè)擴(kuò)展名為.obj的二進(jìn)制文件(稱為目標(biāo)文件);最后要由“連接程序”把此目標(biāo)文件與C語(yǔ)言提供的各種庫(kù)函數(shù)連接起來(lái)生成一個(gè)擴(kuò)展名為.exe的可執(zhí)行文件。故本題答案為A選項(xiàng)。

15.D

16.B

17.B

18.D在C語(yǔ)言中,當(dāng)表達(dá)式成立時(shí)用l表示,不成立時(shí)用0表示,即x=(a&&b)&&(c<'B')=(14&&15)&&('A'<'B')=1&&1=1,故選擇D選項(xiàng)。

19.D

20.A解析:本題考查的是指向函數(shù)的指針。函數(shù)指針的定義方式是:類型標(biāo)識(shí)符(*指針變量名)()。其中,“類型標(biāo)識(shí)符”為函數(shù)返回值的類型;“指針”指向函數(shù)的入口地址。

21.線性結(jié)構(gòu)線性結(jié)構(gòu)解析:數(shù)據(jù)的邏輯結(jié)構(gòu)是指數(shù)據(jù)元素之間的邏輯關(guān)系,分為線性結(jié)構(gòu)和非線性結(jié)構(gòu)。常見(jiàn)的線性結(jié)構(gòu)有線性表、棧和隊(duì)列等,常見(jiàn)的非線性結(jié)構(gòu)有樹(shù)、二叉樹(shù)等。

22.11解析:邏輯運(yùn)算中,非1即0,非0即1,!a=0,++a為邏輯1,所以0和1相或結(jié)果為1。

23.unsignedintgetbits()value&0100000z=~value+1unsignedintgetbits()\r\nvalue&0100000\r\nz=~value+1

24.事務(wù)分析設(shè)計(jì)事務(wù)分析設(shè)計(jì)解析:典型的數(shù)據(jù)流圖有兩種,即變換型和事務(wù)型。按照這兩種類型把設(shè)計(jì)方法分為兩類,即變換分析設(shè)計(jì)和事務(wù)分析設(shè)計(jì)。

25.a[row][col]>max或a[row][col]>=max或max<=a[row][col]或max<a[row][col)max<min或min>max或max<=min或min>=maxa[row][col]>max或a[row][col]>=max或max<=a[row][col]或max<a[row][col)\r\nmax<min或min>max或max<=min或min>=max解析:本題有兩層for循環(huán),主函數(shù)中定義了整型變量row、col、max和min,其中row用來(lái)存放外循環(huán)中的循環(huán)次數(shù),col用來(lái)存放內(nèi)循環(huán)中的次數(shù),max記錄每行中的最大值,min記錄所有行中最大值中的最小值。在內(nèi)循環(huán)中,首先給max賦初值為每行的第0列元素值,然后從第一列開(kāi)始依次與max進(jìn)行比較。如果大于max則將其值賦給max,當(dāng)每一行循環(huán)結(jié)束,max記錄了每一行的最大值。所以第一個(gè)空應(yīng)該填a[row][col]>max或a[row][col]>=max。退出內(nèi)循環(huán),在第一次退出內(nèi)循環(huán)時(shí),將min賦初值為第0行的max,然后在每次退出內(nèi)循環(huán)時(shí),將min和每行的max比較,如果大于max,則將max值賦min,所以第二個(gè)空應(yīng)該填max>min或mm>max,當(dāng)退出外循環(huán)時(shí),min為所有行中的最大值的最小值。

26.關(guān)系關(guān)系解析:關(guān)系模型用;維表表示,則每個(gè);維表代表一種關(guān)系。

27.輸出結(jié)果輸出結(jié)果解析:注意:測(cè)試的基本方法和步驟。

28.66

29.相鄰位置鄰接指針相鄰位置\r\n鄰接指針

30.繼承繼承

31.消息消息解析:在面向?qū)ο蠹夹g(shù)中,主要用到對(duì)象(object)、類(class)、方法(method)、消息(message)、繼承(inheritance)、封裝(encapsulation)等基本概念。其中消息是用來(lái)請(qǐng)求對(duì)象執(zhí)行某一處理或回答某些信息的要求。

32.3

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

34.本題程序的流程是:讓i;j都從1開(kāi)始,其中j用于控制刪除后剩下的數(shù)中的下標(biāo),i用于搜索原數(shù)組中的元素。j始終是新數(shù)組已有元素中最后一個(gè)元素的下一個(gè)元素的下標(biāo),所以if()中的條件是a[j-1]!=a[i],其中a[j-1]就是新數(shù)組中的最后一個(gè)元素,若條件成立則表示出現(xiàn)了不同的值,所以s[i]要留到新數(shù)組中。注本題中i、j的初值都要從1開(kāi)始,該算法只能用于數(shù)組已排序的題目中。\r\n\r\n

35.6

36.需求規(guī)格說(shuō)明書(shū)需求規(guī)格說(shuō)明書(shū)解析:軟件需求規(guī)格說(shuō)明書(shū)是需求分析階段的最后成果,是軟件開(kāi)發(fā)中的重要文檔之一。需求規(guī)格說(shuō)明書(shū)包括正確性、無(wú)歧義性、完整性、可驗(yàn)證性、一致性、可理解性、可修改性和可追蹤性等。

37.a=2b=1a=2,b=1解析:本題考查了switch結(jié)構(gòu)的內(nèi)容。C語(yǔ)言中,程序執(zhí)行完一個(gè)case標(biāo)號(hào)的內(nèi)容后,如果沒(méi)有break語(yǔ)句,控制結(jié)構(gòu)會(huì)轉(zhuǎn)移到下一個(gè)case繼續(xù)執(zhí)行,因?yàn)閏ase常量表達(dá)式只是起語(yǔ)句標(biāo)號(hào)作用,并不是在該處進(jìn)行條件判斷。本題程序在執(zhí)行完內(nèi)部switch結(jié)構(gòu)后,繼續(xù)執(zhí)行了外部switch結(jié)構(gòu)的case2:分支,最后a和b的值分別為2和1。

38.00解析:n%=2等價(jià)于n=n%2,結(jié)果為1:x%=1等價(jià)于x=x%1,結(jié)果為0。

39.fopen(fname:"w")

40.16.0

41.D解析:共用體中的成員是共享同一內(nèi)存區(qū)域的,另外,整數(shù)在內(nèi)存中的表示是低字節(jié)在前高字節(jié)在后,所以給y.b賦值0x4142,等價(jià)于給y.c[0]賦值0x42(字符B),y.c[1]賦值Ox41(字符A)。所以本題輸出的結(jié)果是A,B。故應(yīng)該選擇D。

42.A

43.B解析:整型常量有十進(jìn)制、八進(jìn)制和十六進(jìn)制3種表示:十進(jìn)制整數(shù)以正號(hào)(+)或負(fù)號(hào)(-)開(kāi)頭,由首位非0的一串十進(jìn)制數(shù)字組成,正負(fù)號(hào)也可省略,表示正整數(shù);八進(jìn)制整數(shù)以數(shù)字0開(kāi)頭,后面接著干個(gè)八進(jìn)制數(shù)字(0~7):十六進(jìn)制整數(shù)以數(shù)字。和字母x(大、小寫均可)開(kāi)頭,后面接若干個(gè)十六進(jìn)制數(shù)字(數(shù)字0~9和字母A~F,大、小寫均可)。故本題是以無(wú)符號(hào)整數(shù)形式輸出一個(gè)十六進(jìn)制整數(shù)FFFF,將其轉(zhuǎn)換為十進(jìn)制就是65535,故本題應(yīng)該選擇B。

44.D解析:結(jié)構(gòu)化分析方法,數(shù)據(jù)流圖,數(shù)據(jù)字典,軟件需求規(guī)格說(shuō)明書(shū)

評(píng)析,需求分析是軟件定義時(shí)期的最后一個(gè)階段,它的基本任務(wù)就是詳細(xì)調(diào)查現(xiàn)實(shí)世界要處理的對(duì)象(組織,部門、企業(yè)等),充分了解原系統(tǒng)的工作概況,明確用戶的各種需求,然后在此基礎(chǔ)上確定新系統(tǒng)的功能.選項(xiàng)A)軟件開(kāi)發(fā)方法是在總體設(shè)計(jì)階段完成的任務(wù);選項(xiàng)B)軟件開(kāi)發(fā)工具是在實(shí)現(xiàn)階段需完成的任務(wù):選項(xiàng)C)軟件開(kāi)發(fā)費(fèi)用是在可行性研究階段需完成的任務(wù)。

45.C解析:x=7,通過(guò)遞歸調(diào)用fun函數(shù)后得到結(jié)果。

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

47.B

48.D解析:將—個(gè)字符常量放到一個(gè)字符變量中,實(shí)際上并不是把該字符本身放到內(nèi)存單元中去,而是將該字符的ASCII碼值放到存儲(chǔ)單元中。

49.D解析:所謂的交換類排序方法是指借助數(shù)據(jù)元素之間的互相交換進(jìn)行排序的一種方法,包括冒泡排序和快速排序,冒泡排序是一種最簡(jiǎn)單的交換排序方法,它通過(guò)相鄰元素的交換,逐步將線性表變成有序。

50.D

51.A解析:因?yàn)閣hile是以條件為假時(shí)結(jié)束循環(huán),因此選項(xiàng)C、D不正確?!?=”的優(yōu)先級(jí)比“=”高,因此“ch=getchar()!='N'”相當(dāng)于“ch=(getchar!='N')”,ch并不能得到輸入的字符,只能得到true或者false值。

52.A解析:i從i到5循環(huán)5次,i為1時(shí),滿足條件,打印輸出“#”;i為2時(shí),條件為假,打印輸出“*”。也就是說(shuō),當(dāng)i為奇數(shù)時(shí),條件為真,程序打印輸出“#”,否則,輸出:“*”。

53.D解析:軟件需求規(guī)格說(shuō)明書(shū)SRS,SoftwareRequirementSpecification)是需求分析階段的最后成果,是軟件開(kāi)發(fā)中的重要文檔之一。它有以下幾個(gè)方面的作用,①便于用戶、開(kāi)發(fā)人員進(jìn)行理解和交流;②反映出用戶問(wèn)題的結(jié)構(gòu),可以作為軟件開(kāi)發(fā)工作的基礎(chǔ)和依據(jù);③作為確認(rèn)測(cè)試和驗(yàn)收的依據(jù)。

54.C解析:總體設(shè)計(jì)過(guò)程通常由兩個(gè)主要階段組成:系統(tǒng)設(shè)計(jì),確定系統(tǒng)的具體實(shí)現(xiàn)方案;結(jié)構(gòu)設(shè)計(jì),確定軟件,結(jié)構(gòu)。為確定軟件結(jié)構(gòu),首先需要從實(shí)現(xiàn)角度把復(fù)雜的功能進(jìn)一步分解。分析員結(jié)合算法描述仔細(xì)分析數(shù)據(jù)流圖中的每個(gè)處理,如果一個(gè)處理的功能過(guò)分復(fù)雜,必須把它的功能適當(dāng)?shù)胤纸獬梢幌盗斜容^簡(jiǎn)單的功能。

55.C解析:考查了一維字符數(shù)組的定義和初始化。選項(xiàng)A)和B)定義的數(shù)組空間太小,至少應(yīng)該為6個(gè)字符的長(zhǎng)度才可以。選項(xiàng)D)中的指針s未賦初值,所以指向一個(gè)不確定的地址,因而不能用scanf輸入數(shù)據(jù)到這一指針?biāo)赶虻牡刂分小?/p>

56.B解析:C語(yǔ)言函數(shù)中的參數(shù)傳遞方式有傳值與傳址兩種方式,傳值方式是指將實(shí)參的值復(fù)制一份傳遞給形參,而傳址方式是指將實(shí)參的變量地址傳遞給形參,也就是實(shí)參的引用。

57.B解析:定義一個(gè)結(jié)構(gòu)體類型的變量,可采用三種方法:①先定義結(jié)構(gòu)體類型,再定義變量名;②在定義類型的同時(shí)定義變量;③直接定義結(jié)構(gòu)類型變量,即不出現(xiàn)結(jié)構(gòu)體名;選項(xiàng)B符合第三種定義方法。

58.C解析:本題綜合考查一維數(shù)組和多維數(shù)組指針變量的表示方法。在C語(yǔ)言中,引用數(shù)組元素的方法有兩種,即:下標(biāo)法和指針?lè)?。下?biāo)法如a[i]形式;指針?lè)ㄈ?(a+i)或*(p+1)。其中a是數(shù)組名,p是指向數(shù)組的指針變量,其初值p=a。再如*(*(p+2)+2)是a[2][2]的值,注意語(yǔ)句中指針型數(shù)組的書(shū)寫格式,不能寫成“(*數(shù)組名)[長(zhǎng)度]”,因?yàn)檫@是定義指向含有“長(zhǎng)度”個(gè)元素的一維數(shù)組的指針變量。例如有定義語(yǔ)句“inta,b,c,c,*P[3]={&a,&b,&c};”,它定義了一個(gè)名為p的指針型數(shù)組,其3個(gè)元素p[0],p[1],p[2]分別指向B個(gè)整型變量a,b,c。注意:數(shù)組元素的引用方法。

59.B解析:fun()函數(shù)是將傳進(jìn)來(lái)的兩個(gè)整型參數(shù)相加,把和作為函數(shù)值返回,注意返回值為float型。在主函數(shù)調(diào)用了兩次fun()函數(shù),第一次調(diào)用時(shí)把表達(dá)式“a+c”和變量“b”的值求和,得到15轉(zhuǎn)換為15.0作為函數(shù)的返回值。第二次調(diào)用把第一次調(diào)用的返回值通過(guò)強(qiáng)制類型轉(zhuǎn)換成int型15,再和表達(dá)式“a-c”相加,得到結(jié)果9,轉(zhuǎn)換成float型作為函數(shù)值返回。由于輸出格式符為“%3.of輸出時(shí)沒(méi)有小數(shù)位,故輸出為9。

60.B解析:堆排序的比較次數(shù)為nlog2n;直接插入排序的比較次數(shù)為n(n-1)/2;快速排序的比較次數(shù)為nlog2n。當(dāng)數(shù)據(jù)表A中每個(gè)元素

61.A本題考查prinff函數(shù)的輸出格式控制符,%m.nf表示指定輸出的實(shí)型數(shù)據(jù)的寬度為m(包含小數(shù)點(diǎn)),并保留n位小數(shù)。當(dāng)輸出數(shù)據(jù)的小數(shù)位大于n時(shí),截去右邊多余的小數(shù),并對(duì)截去的部分的第一位做四舍五入的處理;當(dāng)輸出數(shù)據(jù)小數(shù)位小于n時(shí),在小數(shù)的最右邊補(bǔ)0,輸出數(shù)據(jù)的小數(shù)部分寬度為n。若給出的總寬度m小于ll加上整數(shù)位數(shù)和小數(shù)點(diǎn),則自動(dòng)突破m的限制;反之,數(shù)字右對(duì)齊,左邊補(bǔ)空格。本題中3.141593數(shù)值長(zhǎng)度為8,小數(shù)位數(shù)是6,因此左端沒(méi)有空格,故正確答案為A。

62.D本題考查結(jié)構(gòu)體的相關(guān)操作以及傳值、傳址的區(qū)別,該題中調(diào)用f函數(shù)后,會(huì)生成參數(shù)a的一個(gè)副本,而不會(huì)改變a的值,所以a值維持原值,選項(xiàng)D正確。

63.C

64.BB?!窘馕觥拷M合框和列表框都沒(méi)有selected屬性。

65.D

\n本題主要考查do—while循環(huán),因?yàn)樽兞縯的初始值等于1,經(jīng)過(guò)第一次do-while循環(huán)后,執(zhí)行t=t-1這條語(yǔ)句一次,所以變量t的值為-1,判斷關(guān)系表達(dá)式t!=n是否成立,如果關(guān)系表達(dá)式成立,則執(zhí)行第二次循環(huán),如果關(guān)系表達(dá)式不成立,退出循環(huán)。由此可見(jiàn),只要輸入變量n的值為負(fù)奇數(shù),則一定會(huì)使t==n成立,故退出do-while循環(huán)。

\n

66.A

67.A左移運(yùn)算符“<<”是雙目運(yùn)算符,其功能是把“<<”左邊的運(yùn)算數(shù)的各二進(jìn)位全部左移若干位,由“<<”右邊的數(shù)指定移動(dòng)的位數(shù),高位丟棄,低位補(bǔ)0。例如,a<<4是把a(bǔ)的各二進(jìn)位向左移動(dòng)4位。如a=00000011(十進(jìn)制3),左移4位后為00110000(十進(jìn)制48)。

68.C子函數(shù)fun1(doublea)的功能是返回a的平方值的整數(shù)部分。子函數(shù)f

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論