2022-2023年甘肅省酒泉市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷一(含答案)_第1頁(yè)
2022-2023年甘肅省酒泉市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷一(含答案)_第2頁(yè)
2022-2023年甘肅省酒泉市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷一(含答案)_第3頁(yè)
2022-2023年甘肅省酒泉市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷一(含答案)_第4頁(yè)
2022-2023年甘肅省酒泉市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷一(含答案)_第5頁(yè)
已閱讀5頁(yè),還剩29頁(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)介

2022-2023年甘肅省酒泉市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷一(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.軟件生命周期中,能準(zhǔn)確地確定軟件系統(tǒng)必須做什么和必須具備哪些功能的階段是()。

A.概要設(shè)計(jì)B.軟件設(shè)計(jì)C.可行性研究和計(jì)劃制定D.需求分析

2.若在線性表中采用折半查找法查找元素,該線性表應(yīng)該()A.元素按值有序B.構(gòu)采用順序存儲(chǔ)結(jié)C.元素按值有序且采用順序存儲(chǔ)結(jié)構(gòu)D.元素按值有序且采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)

3.軟盤(pán)上第()磁道最重要,一旦損壞,該盤(pán)就不能使用了。

A.0B.40C.1D.80

4.對(duì)于棧操作數(shù)據(jù)的原則是()。

A.先進(jìn)先出B.后進(jìn)先出C.后進(jìn)后出D.不分順序

5.第

4

棧底至棧頂依次存放元素A、B、C、D,在第五個(gè)元素E入棧前,棧中元素可以出棧,則出棧序列可能是

A.ABCEDB.DCBEAC.DBCEAD.CDABE

6.以下敘述中正確的是()。

A.程序設(shè)計(jì)的任務(wù)就是編寫(xiě)程序代碼并上機(jī)調(diào)試

B.程序設(shè)計(jì)的任務(wù)就是確定所用數(shù)據(jù)結(jié)構(gòu)

C.程序設(shè)計(jì)的任務(wù)就是確定所用算法

D.以上三種說(shuō)法都不完整

7.在執(zhí)行()操作時(shí),需要使用隊(duì)列做輔助存儲(chǔ)空間。

A.查找哈希(Hash)表B.深度優(yōu)先搜索網(wǎng)C.前序(根)遍歷二叉樹(shù)D.廣度優(yōu)先搜索網(wǎng)

8.設(shè)棧S的初始狀態(tài)為空,6個(gè)元素入棧的順序?yàn)閑1,e2,e3,e4,e5和e6。若出棧的順序是e2,e4,e3,e6,e5,el,則棧s的容量至少應(yīng)該是()。

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

9.軟件測(cè)試的目的是()。

A.評(píng)估軟件可靠性B.發(fā)現(xiàn)并改正程序中的錯(cuò)誤C.改正程序中的錯(cuò)誤D.發(fā)現(xiàn)程序中的錯(cuò)誤

10.若有定義:inta,b;,通過(guò)語(yǔ)句scanf("%d;%d",&a,&b);,能把整數(shù)3賦給變量a,5賦給變量b的輸入數(shù)據(jù)是A.A.35B.3,5C.3;5D.35

11.設(shè)x,y,t均為int型變量,執(zhí)行語(yǔ)句:

x=y=3;

t=++x||++y;

完成后,y的值為A.A.不確定B.4C.3D.1

12.有下列程序:程序執(zhí)行后的輸出結(jié)果是()。A.Zhao,m,85,Zhao,m,85

B.Sun,f,90,Zhao,m,85

C.Zhao,m,85,Sun,f,90

D.Sun,f,90,Sun,f,90

13.C語(yǔ)言中的基本數(shù)據(jù)類型所占存儲(chǔ)空間長(zhǎng)度的順序是()

A.char<=int<=float<=double<=long

B.int<=char<=float<=long<=double

C.int<=long<=float<=double<=char

D.char<=int<=float<=long<=double

14.有以下程序:intf(intn){if(n==1)return1;elsereturnf(n-1)+1;}main(){inti,j=0;for(i=i;i<3;i++)j+=f(i);printf("%d\n",j);}程序運(yùn)行后的輸出結(jié)果是()。

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

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

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

16.

17.以下不合法的數(shù)值常量是()。

A.8.0E0.5B.1e1C.011D.0xabcd

18.若以“a+”方式打開(kāi)一個(gè)已存在的文件,以下敘述正確的是()。

A.文件打開(kāi)時(shí),原有文件內(nèi)容不被刪除,可以進(jìn)行添加和讀操作

B.文件打開(kāi)時(shí),原有文件內(nèi)容不被刪除,位置指針移到文件開(kāi)頭,可以進(jìn)行重寫(xiě)和讀操作

C.文件打開(kāi)時(shí),原有文件內(nèi)容不被刪除,位置指針移到文件中間,可以進(jìn)行重寫(xiě)和讀操作

D.文件打開(kāi)時(shí),原有文件內(nèi)容被刪除,只可進(jìn)行寫(xiě)操作

19.體育課的鈴聲響了,同學(xué)們都陸續(xù)地奔向操場(chǎng),按老師的要求從高到矮站成一排。每個(gè)同學(xué)按順序來(lái)到操場(chǎng)時(shí),都從排尾走向排頭,找到第一個(gè)比自己高的同學(xué),并站在他的后面。這種站隊(duì)的方法類似于()算法。

A.快速排序B.插入排序C.冒泡排序D.歸并排序

20.折半查找的時(shí)間復(fù)雜性為()

A.O(n2)B.O(n)C.O(nlogn)D.O(logn)

二、2.填空題(20題)21.以下程序的輸出結(jié)果是【】。

main()

{char*p=“abodefgh”,*r;

long*q;

q=(long*)p;

q++;

r=(char*)q;

printf(“%s\n”,r);

}

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

23.下面程序的輸出是【】。

main()

{intarr[10],i,k=0;

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

arr[i]=i;

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

k+=arr[i]+i;

printf("%d\n"k);}

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

main()

{inti,a[10];

a[0]=a[1]=1;

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

a[i]=a[i-2]+a[i-1];

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

{if(i%2==0)printf("\n");

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

}

}

25.以下程序通過(guò)函數(shù)指針p調(diào)用函數(shù)fun,請(qǐng)?jiān)谔羁諜趦?nèi)寫(xiě)出定義變量p的語(yǔ)句。

voidfun(intx,int*y)

{……}

main()

{inta=10,b=20;

【】;/*定義變量p*/

p=fun;p(&a,&b);

}

26.數(shù)據(jù)結(jié)構(gòu)分為邏輯結(jié)構(gòu)和存儲(chǔ)結(jié)構(gòu),循環(huán)隊(duì)列屬于______結(jié)構(gòu)。

27.按"先進(jìn)后出"原則組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是【】。

28.若fp已正確定義為一個(gè)文件指針,d1.dat為二進(jìn)制文件,請(qǐng)?zhí)羁眨员銥椤白x”而打開(kāi)此文件:

fp=fopen(【】);。

29.以下程序的功能是進(jìn)行位運(yùn)算main(){unsignedchara,b;a=7^3;b=~4&3;pfintf("%d%d\n",a,b);}程序運(yùn)行后的輸出結(jié)果是

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

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

main()

{unsignedshorta=65536;intb;

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

}

32.若有程序

main()

{inti,j;

scanf("i=%d,j=%d",&i,&j);

pfintf("i=%d,j=%d\n",i,j);

}

要求給i賦10,給j賦20,則應(yīng)該從鍵盤(pán)輸入【】。

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

#defineN10

#defines(x)x*x

#definef(x)(x*x)

main()

{inti1,i2;

i1=1000/s(N);i2=1000/f(N);

printf(“%d%d\n”,i1,i2);

}

34.樹(shù)中度為零的結(jié)點(diǎn)稱為_(kāi)_____。

35.若有定義inta=10,b=9,c=8;,接著順序執(zhí)行下列語(yǔ)句,變量b中的值是【】。

c=(a-=(b-5));

c=(a%11)+(b=3);

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

main()

{intn=0;

while(n++<=1);

printf("%d,",n);

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

}

37.以下程序運(yùn)行后,若輸入:3,abcde<回車>,則輸出結(jié)果是【】。

#include<stdio.h>

#include<string.h>

move(char*str,intn)

{chartemp;inti;

temp=str[n-1];

for(i=n-1;i>0;i--)str[i]=str[i-1];

str[0]=temp;

}

main()

{chars[50];intn,i,z;

scanf("%d,%s",&n,s);

z=strlen(s);

for(i=1;i<=n;i++)move(s,z);

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

}

38.若定義#definePI3.14159,則執(zhí)行完下列程序后輸出結(jié)果是______。

#definePI3.14159;printf("PI=%f",PI);

39.下列語(yǔ)句的輸出結(jié)果是______。

chars[20]="aaaa",*sp=s;

puts(strcat(sp,"AAAAA"));

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

intn='c';

switch(n++)

{default:printf("error");break;

case'a':printf("good");break;

case'c':printf("morning");

case'd':printf("class");

}

三、1.選擇題(20題)41.一個(gè)關(guān)系中屬性個(gè)數(shù)為1時(shí),稱此關(guān)系為()。

A.對(duì)應(yīng)關(guān)系B.單一關(guān)系C.一元關(guān)系D.二元關(guān)系

42.以下各選項(xiàng)企圖說(shuō)明一種新的類型名,其中正確的是______。

A.typedefv1int;

B.typedefv2=int;

C.typedefintv3;

D.typedefv4:int

43.以下程序的輸出結(jié)果是______。main(){inta=3;printf("%d\n",(a+=a-+a*a))}

A.-6B.1C.2D.-12

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

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

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

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

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

45.程序的測(cè)試方法中,使用測(cè)試用例在計(jì)算機(jī)上運(yùn)行程序,使程序在運(yùn)行過(guò)程中暴露錯(cuò)誤,這種方法稱為()。

A.靜態(tài)分析B.動(dòng)態(tài)分析C.代碼檢查D.代碼質(zhì)量度量

46.以下程序的結(jié)果是______。inta,b;voidfun(){a=100;b=200;}main(){inta=5;b=7fun();printf("%d%d\n",a,b);}

A.100200B.57C.200100D.75

47.在計(jì)算機(jī)中,算法是指()

A.加工方法B.解題方案的準(zhǔn)確而完整的描述C.排序方法D.查詢方法

48.有以下程序:voidf(intv,intw){intt;t=v;v=w;w=t;}main(){intx=l,y=3,z=2;if(x>y}f(x,y);elseif(y>z)f(y,z);elsef(x,z);printf("%d,%d,%d\n",x,y,z);}執(zhí)行后輸出結(jié)果是

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

49.在C語(yǔ)言中,以下說(shuō)法不正確的是()。

A.在C程序中,整數(shù)和實(shí)數(shù)都能被準(zhǔn)確無(wú)誤地表示出來(lái)

B.在C程序中,任何一個(gè)變量名都代表存儲(chǔ)器中的一個(gè)位置

C.靜態(tài)變量的生存期與整個(gè)程序的運(yùn)行期相同

D.C語(yǔ)言中,任何變量都必須先聲明才能進(jìn)行引用

50.微型計(jì)算機(jī)的性能主要取決于______。

A.內(nèi)存B.硬盤(pán)C.中央處理器D.顯示卡

51.若進(jìn)棧序列為1,2,3,4,進(jìn)棧過(guò)程中可以出棧,則下列不可能的一個(gè)出棧序列是______。

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

52.下列程序的運(yùn)行結(jié)果是______。main(){intx,*p,**q;x=10;p=&x;q=&p;printf("%d\n",**q);}

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

53.以下4個(gè)選項(xiàng)中,不能看成一條語(yǔ)句的是

A.;B.a=5,b=2.5,c=3.6;C.if(a<5);D.if(b!=5)x=2;y=6;

54.設(shè)有表示學(xué)生選課的三張表,學(xué)生s(學(xué)號(hào),姓名,性別,年齡,身份證號(hào)),課程c(課號(hào),課名),選課SC(學(xué)號(hào),課號(hào),成績(jī)),則表sc的關(guān)鍵字(鍵或碼)為()。

A.課號(hào),成績(jī)B.學(xué)號(hào),成績(jī)C.學(xué)號(hào),課號(hào)D.學(xué)號(hào),姓名,成績(jī)

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

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

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

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

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

56.當(dāng)a=1,b=3,c=5,d=4時(shí),執(zhí)行下面一段程序后,x的值為_(kāi)_____。if(a<b)if(c<d)x=1;elseif(a<c)if(b<d)x=2;elsex=3;elsex=6;elsex=7;

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

57.有以下結(jié)構(gòu)體說(shuō)明和變量定義,如圖所示,指針p、q、r分別指向一個(gè)鏈表中的三個(gè)連續(xù)結(jié)點(diǎn)。structnode{intdata;tractnode*next;}*p,*q,*r;

現(xiàn)要將q和r所指結(jié)點(diǎn)的先后位置交換,同時(shí)要保持鏈表的連續(xù),以下錯(cuò)誤的程序段是

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

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

C.p->next=r;q->next=r->next;r->next=q;

D.q->next=r->next;r->next=q;P->next=r;

58.有以下結(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;

59.有以下程序:voidswapl(intc0[],intc1[]){intt;t=co[o];co[o]=o1[o];c1[o]=t;}voidswap2(int*c0,int*c1){intt;t=*c0;*c0=*c1;*c1=t;}main(){inta[2]={3,5},b[2]=A{3,5);swapl(a,a+1);swap2(&b[0],&b[1]);printf("%d%d%d%d\n",a[0],a[1],b[0],b[1]);}程序運(yùn)行后的輸出結(jié)果是______。

A.3553B.5335C.3535D.5353

60.下列關(guān)鍵字中,不屬于C語(yǔ)言變量存儲(chǔ)類別的是______。

A.registerB.autoC.externD.public

四、選擇題(20題)61.4個(gè)元素A、B、C、D依次入棧,入棧過(guò)程中允許棧頂元素出棧,假設(shè)某一時(shí)刻棧的狀態(tài)是C(棧頂)、B、A(棧底),則不可能的出棧順序是()。

A.D、C、B、A

B.C、B、D、A

C.C、A、D、B

D.C、D、B、A

62.設(shè)有二元關(guān)系R和三元關(guān)系s,下列運(yùn)算合法的是()。

A.R∩SB.R∪SC.R-SD.R×S

63.以下選項(xiàng)中,能用作用戶標(biāo)識(shí)符的是()。

A.-0-B.8-;8C.voidD.unsigned

64.

65.有以下程序:

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

A.4,5,6,4,5,6,

B.1,2,3,4,5,6,

C.4,5,6,1,2,3,

D.6,5,4,3,2,1,

66.

定義下列結(jié)構(gòu)體(聯(lián)合)數(shù)組:

structst

{charname[15];

intage;

}a[10]={"ZHA0",14,"WANG",15,"LIU",16,"ZHANG",17);

執(zhí)行語(yǔ)句printf("%d,%C",a[2].a(chǎn)ge,*(a[3].name+2))的輸出結(jié)果為()。

A.15,AB.16,HC.16,AD.17,H

67.

68.

69.若有以下的定義:‘intt[3][2];”,能正確表示t數(shù)組元素地址的表達(dá)式是()。

A.&t[3][2]B.t[3]C.t[l]D.t[2][2]

70.if語(yǔ)句基本形式是:if(表達(dá)式)語(yǔ)句,以下關(guān)于“表達(dá)式”值的敘述中正確的是()。

A.必須是邏輯值B.必須是整數(shù)值C.必須是正數(shù)D.可以是任意合法的數(shù)值

71.用數(shù)組名作為函數(shù)調(diào)用的實(shí)參,則傳遞給形參的是()。

A.數(shù)組中所有元素的值B.數(shù)組的第一個(gè)數(shù)據(jù)C.數(shù)組的首地址D.數(shù)組元素的個(gè)數(shù)

72.

73.

74.有以下程序:

main()

{intk=5,n=0;

do

{switch(k)

{case1:

case3:n+=l;k--;break;

defalut:n=0;k--;

case2:

case4:n+=2;k--;break:

}

printf("%d",n);

}while(k>0&&n<5);

}

程序運(yùn)行后的輸出結(jié)果是()。A.A.235B.0235C.02356D.2356

75.軟件生命周期是指()。A.軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過(guò)程

B.軟件從需求分析、設(shè)計(jì)、實(shí)現(xiàn)到測(cè)試完成的過(guò)程

C.軟件的開(kāi)發(fā)過(guò)程

D.軟件的運(yùn)行維護(hù)過(guò)程

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

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

77.

78.算法的空間復(fù)雜度是指()。

A.算法在執(zhí)行過(guò)程中所需要的計(jì)算機(jī)存儲(chǔ)空間

B.算法所處理的數(shù)據(jù)量

C.算法程序中的語(yǔ)句或指令條數(shù)

D.算法在執(zhí)行過(guò)程中所需要的臨時(shí)工作單元數(shù)

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

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

80.

五、程序改錯(cuò)題(1題)81.下列給定程序中函數(shù)proc()的功能是:將長(zhǎng)整型數(shù)中為偶數(shù)的數(shù)依次逆向取出,構(gòu)成一個(gè)新數(shù)放在t中。高位在低位,低位在高位。例如,當(dāng)s中的數(shù)為12345678時(shí),則t中的數(shù)為8642。

請(qǐng)修改函數(shù)proc()中的錯(cuò)誤,使它能得出正確的結(jié)果。

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

試題程序:

六、程序設(shè)計(jì)題(1題)82.有一個(gè)一維數(shù)組,內(nèi)放10個(gè)學(xué)生成績(jī),寫(xiě)一個(gè)函數(shù),求出平均分。

參考答案

1.D\n通常,將軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用、退役的過(guò)程稱為軟件生命周期。也就是說(shuō),軟件產(chǎn)品從考慮其概念開(kāi)始,到該軟件產(chǎn)品不能使用為止的整個(gè)時(shí)期都屬于軟件生命周期。軟件生命周期的主要活動(dòng)階段為:可行性研究和計(jì)劃制定。確定待開(kāi)發(fā)軟件系統(tǒng)的開(kāi)發(fā)目標(biāo)和總的要求,給出它的功能、性能、可靠性以及接口等方面的可能方案,制定完成開(kāi)發(fā)任務(wù)的實(shí)施計(jì)劃。

\n需求分析。對(duì)待開(kāi)發(fā)軟件提出的需求進(jìn)行分析并給出詳細(xì)定義,即準(zhǔn)確地確定軟件系統(tǒng)的功能。編寫(xiě)軟件規(guī)格說(shuō)明書(shū)及初步的用戶手冊(cè),提交評(píng)審。

\n軟件設(shè)計(jì)。系統(tǒng)設(shè)計(jì)人員和程序設(shè)計(jì)人員應(yīng)該在反復(fù)理解軟件需求的基礎(chǔ)上,給出軟件的結(jié)構(gòu)、模塊的劃分、功能的分配以及處理流程。

\n軟件實(shí)現(xiàn)。把軟件設(shè)計(jì)轉(zhuǎn)換成計(jì)算機(jī)可以接受的程序代碼。即完成源程序的編碼,編寫(xiě)用戶手冊(cè)、操作手冊(cè)等面向用戶的文檔,編寫(xiě)單元測(cè)試計(jì)劃。

\n軟件測(cè)試。在設(shè)計(jì)測(cè)試用例的基礎(chǔ)上,檢驗(yàn)軟件的各個(gè)組成部分。編寫(xiě)測(cè)試分析報(bào)告。

\n運(yùn)行和維護(hù)。將已交付的軟件投入運(yùn)行,并在運(yùn)行使用中不斷地維護(hù),根據(jù)新提出的需求進(jìn)行必要而且可能的擴(kuò)充和刪改。

\n本題答案是D)。

\n

2.C

3.A

4.B

5.B解析:棧操作原則上“后進(jìn)先出”,棧底至棧頂依次存放元素A、B、C、D,則表明這4個(gè)元素中D是最后進(jìn)棧,B、C處于中間,A最早進(jìn)棧。所以出棧時(shí)一定是先出D,再出C,最后出A。

6.D\n程序設(shè)計(jì)是指設(shè)計(jì)、編制、調(diào)試程序的方法和過(guò)程。內(nèi)容涉及有關(guān)的基本概念、工具、方法以及方法學(xué)等。程序設(shè)計(jì)通常分為問(wèn)題建摸、算法設(shè)計(jì)、編寫(xiě)代碼和編譯調(diào)試4個(gè)階段。

\n

7.D

8.C

9.D軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程,測(cè)試要以查找錯(cuò)誤為中心,而不是為了演示軟件的正確功能,也不是為了評(píng)估軟件或改正錯(cuò)誤,因此本題答案為D)。

10.C解析:在C語(yǔ)言中scanf函數(shù)中輸入數(shù)據(jù)時(shí)要嚴(yán)格按照所規(guī)定的樣式輸入。

11.Ct=++x或++y,當(dāng)++x不為0的時(shí)候,即++x為真,則不需要再繼續(xù)判斷++y,那么y就不再執(zhí)行自加,因此y=3.

12.D程序定義結(jié)構(gòu)體類型STU,main函數(shù)定義結(jié)構(gòu)體STU變量b,并將b的地址賦給指針變量a。調(diào)用函數(shù)f,傳入a。在函數(shù)f中,定義了STU變量c,并將c的地址賦給d,再用d指向的值賦給a指向的地址,接著輸出a指向的值,也就是c的值:Sun,f,90。由于函數(shù)f的調(diào)用通過(guò)指針參數(shù)a修改了變量b的值,因此a指向的值也就是b的值等價(jià)于c:Sun,f,90。本題答案為D選項(xiàng)。

13.A

14.B解析:通過(guò)分析不難寫(xiě)出,f()函數(shù)的數(shù)學(xué)表達(dá)式為:

f(n)=1n=l;

f(n)=f(-1)+1n≠1;

在主函數(shù)中for循環(huán)執(zhí)行了兩次函數(shù)調(diào)用f(i)。第一次:i為1,調(diào)用f(1)得到返回值1,并把它加到j(luò)中,j的值為1。第二次i為2,調(diào)用f(n),根據(jù)遞歸公式可知f(2)=f(1)+1,得到返回值2并把它加到j(luò)中,j的值為3。所以最后輸出,i的值為3。

15.D解析:本題主要考查左移、右移對(duì)數(shù)據(jù)值的影響,左移n位相當(dāng)于乘以2的n次冪,右移n位相當(dāng)于除以2的n次冪。

16.B

17.AA選項(xiàng)中E后面的指數(shù)必須為整數(shù),所以不合法。C選項(xiàng)中的011表示的是八進(jìn)制常量,D選項(xiàng)中的0xabcd表示的是十六進(jìn)制常量。故本題答案為A選項(xiàng)。

18.AC語(yǔ)言中,文件打開(kāi)方式“a+”表示打開(kāi)一個(gè)文本文件,從文件開(kāi)始位置讀,在文件尾部添加數(shù)據(jù),如果指定的文件不存在,系統(tǒng)將使用調(diào)用fopen時(shí)指定的文件名創(chuàng)建一個(gè)新的文件;如果指定的文件存在,那么文件原有內(nèi)容將被保存,新的數(shù)據(jù)追加到原有文件之后。故本題答案為A選項(xiàng)。

19.B

20.D

21.efghefgh解析:本題定義了一個(gè)字符型指針變量p并通過(guò)賦初值讓它指向了一個(gè)字符串,定義了另一個(gè)字符型指針變量r和一個(gè)長(zhǎng)整型指針變量q。首先通過(guò)語(yǔ)句“q=(long*)p;”把P的地址值強(qiáng)制轉(zhuǎn)換為長(zhǎng)整型地址值并賦值給q,然后執(zhí)行“q++;”,地址值增加了4,執(zhí)行語(yǔ)句“r=(char*)q;”,把長(zhǎng)整型指針變量q的值再?gòu)?qiáng)制轉(zhuǎn)換成字符型地址值并賦給r,r的值應(yīng)為字符串中字符“e”的地址,最后輸出,指向的字符中,是“efgh”。

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

23.1212解析:本題通過(guò)第一個(gè)for循坪將數(shù)組arr[0]-arr[9]分別賦值為0-9,通過(guò)第二個(gè)for循環(huán)的三次循環(huán)累加,求出結(jié)果為12,具體分析如下:

i=1:k=0+arr[1]+1即k=2;

i=2:k=2+arr[2]+2即k=6;

i=3:k=6+arr[3]+3即k=12;

24.11<CR>23<CR>5(<CR代表?yè)Q行)11<CR>23<CR>5(<CR,代表?yè)Q行)解析:本題通過(guò)語(yǔ)句“for(i=2;i<5;i++)a[i]=a[i-2]+a[i-];”將數(shù)組中前面兩項(xiàng)的和賦值給數(shù)組當(dāng)前元素,得到a的值應(yīng)為(1,1,2,3,5)。語(yǔ)句if(i%2==0)pfintf('\\n')是要將數(shù)組中的元素以每行2個(gè)的形式輸出。

25.void(*p)()或void(*p)(int*int*)void(*p)()或void(*p)(int*,int*)

26.存儲(chǔ)或物理或存儲(chǔ)結(jié)構(gòu)或物理結(jié)構(gòu)存儲(chǔ)或物理或存儲(chǔ)結(jié)構(gòu)或物理結(jié)構(gòu)解析:數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)空間中的存放形式稱為數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)(也稱數(shù)據(jù)的物理結(jié)構(gòu))。所謂循環(huán)隊(duì)列,就是將隊(duì)列存儲(chǔ)空間的最后一個(gè)位置繞到第一個(gè)位置,形成邏輯上的環(huán)狀空間。供隊(duì)列循環(huán)使用。可知,循環(huán)隊(duì)列應(yīng)當(dāng)是物理結(jié)構(gòu)。

27.棧棧解析:考查考生對(duì)棧和隊(duì)列概念的掌握。按'先進(jìn)后出'原則組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是棧;按'先進(jìn)先出'原則組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是隊(duì)列。

28.d1.dat"rb"d1.dat,'rb'解析:打開(kāi)文件的函數(shù)為fopen('文件名','mode'),其中'mode'表示文件的打開(kāi)方式。如果打開(kāi)的是二進(jìn)制文件,其mode字符串可以是:'rb'、'wb'、'ab'、'rb+'、'wb+'、'ab+'。'r'表示以只讀方式打開(kāi)。'w'表示以寫(xiě)方式打開(kāi),如果已存在該文件名的文件,文件中的內(nèi)容將被清空。若文件名不存在,則將創(chuàng)建該文件。'a'為追加方式打開(kāi)。若文件存在時(shí),將打開(kāi)這個(gè)文件并且在文件的末尾進(jìn)行追加。當(dāng)文件不存在,將創(chuàng)建新文件。'r+'打開(kāi)一個(gè)已存在文件用于更新(可讀可寫(xiě))。\'w+'創(chuàng)建一個(gè)新文件用于更新,如果文件存在,文件被重寫(xiě)(可讀可寫(xiě))。'a+'打開(kāi)用于追加,當(dāng)文件不存在時(shí),創(chuàng)建新文件,并在文件末尾進(jìn)行追加(可讀可寫(xiě))。根據(jù)題意,應(yīng)該填'd1.dat','rb'。

29.A

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

31.00解析:對(duì)于一個(gè)unsignedshort來(lái)說(shuō),它能取的最大值是65535。這里給a賦值65536,已經(jīng)超出了它的取值范圍,這樣它的高位將被截掉,只把低位賦給它(全零)。所以a的值實(shí)際為0。

32.i=0j=20i=0,j=20解析:scanf()函數(shù)的使用,該函數(shù)的第一個(gè)參數(shù)是格式字符串,主要由兩類字符組成,一類是非格式符要求原樣輸入,一類是格式符對(duì)應(yīng)要輸入的變量,所以說(shuō)本題中應(yīng)該原樣輸入i=,j=,后面分別給變量0和20,所以說(shuō)空格處應(yīng)該填入i=0,j=20。

33.100010100010解析:首先將程序中的宏替換掉,兩處的宏替換后分別為i1=1000/10*10和i2=1000/(10*10),即i1=1000,i2=10,所以最后輸出的i1和i2的值分別為1000和10。

34.葉子結(jié)點(diǎn)葉子結(jié)點(diǎn)解析:樹(shù)中度為零的結(jié)點(diǎn),也就是沒(méi)有后件的結(jié)點(diǎn),稱為葉子結(jié)點(diǎn)。

35.33解析:這里:b-5=4,a-=4之后a的值為6,并把它賦給c。此時(shí)b的值并未被改變。在第2個(gè)表達(dá)式中,也只有賦值表達(dá)式b=3改變了b的值。所以兩行語(yǔ)句執(zhí)行完畢,b的值應(yīng)該為3。

36.333,3解析:本題在while(n++<=1)語(yǔ)句后,直接加了分號(hào),說(shuō)明如果while()的條件為真時(shí),該循環(huán)什么都不做:n++是先取n的當(dāng)前值和1做比較,然后再將n加1。第一次循環(huán),n=0時(shí),循環(huán)條件n++=<1成立,執(zhí)行循環(huán),然后得到n=1。第二次循環(huán),n=1時(shí),循環(huán)條件n++=1<=1成立,執(zhí)行循環(huán),然后得到n=2。第三次循環(huán),n=2時(shí),循環(huán)條件n++=2<=1不成立,不執(zhí)行循環(huán),但在判斷循環(huán)條件時(shí)仍將n加1,得到n=3.退出循環(huán)后執(zhí)行printf語(yǔ)句,第二個(gè)printf語(yǔ)句輸出n++,是先輸出n的當(dāng)前值3,然后再將n加l,即程序結(jié)束后得到n=4,但輸出的是3。

37.cdeabcdeab解析:程序中的move函數(shù)的作用是保存輸入數(shù)組中的最后一個(gè)元素,然后從最后一個(gè)數(shù)組元素開(kāi)始,依次向后移動(dòng)一個(gè)位置,再把保存的最后一個(gè)元素置于首位,循環(huán)次數(shù)由n控制。輸入3,abcde<回車>后主函數(shù)開(kāi)始執(zhí)行,其中n=3,s[50]={'abcde'},z=5。第一次循環(huán),i=1時(shí),調(diào)用move(s,5)函數(shù),temp=str[4]語(yǔ)句把數(shù)組中最后一個(gè)元素\'e\'保存在temp中,然后i從4開(kāi)始循環(huán),將str[3](字符\'d\')賦給str[4],str[2](字符\'c\')賦給str[3],……,循環(huán)結(jié)束時(shí)str所指字符串為'aabcd',再將保存在temp中的\'e\'置于首位,字符串變?yōu)?eabcd';i=2時(shí),調(diào)用move函數(shù),字符串為'deabc';i=3時(shí),調(diào)用move函數(shù),字符串為'cdeab'。最后輸出結(jié)果為'cdeab'。

38.PI=3.14159PI=3.14159解析:本題先定義了一個(gè)宏名PI,以后在程序中出現(xiàn)PI都用3.14159替代,但是C語(yǔ)言規(guī)定:雙引號(hào)中的宏名是不進(jìn)行替換的。

39.aaaaAAAAAaaaaAAAAA解析:函數(shù)strcat(sp,'AAAAA')的作用是將字符中“AAAAA”連接到字符串sp的末尾,并自動(dòng)覆蓋字符數(shù)組sp末尾的\'\\0\'。

40.morningclassmorningclass解析:本題考查了兩個(gè)知識(shí)點(diǎn):①“++,--”運(yùn)算后綴形式是先使用變量原來(lái)的值,使用完后再使其增1或減1;②在switch語(yǔ)句中,當(dāng)n='c'時(shí),執(zhí)行“case'c'”,輸出morning;因?yàn)榇司渲袥](méi)有break語(yǔ)句,因此接著執(zhí)行“case'd':”,輸出class,最終輸出結(jié)果為morningclass。

41.C解析:在關(guān)系模型數(shù)據(jù)庫(kù)中,基本結(jié)構(gòu)是二維表,這種二維表稱為關(guān)系。關(guān)系的列稱為屬性,一個(gè)具有N個(gè)屬性的關(guān)系稱為N元關(guān)系。注意:各種關(guān)系查詢語(yǔ)言與過(guò)程性語(yǔ)言和非過(guò)程性語(yǔ)言的關(guān)系,過(guò)程性語(yǔ)言的特點(diǎn)。

42.C解析:C語(yǔ)言中可以使用typedef來(lái)重新定義已有的數(shù)據(jù)類型,相當(dāng)于為數(shù)據(jù)類型取個(gè)別名。

43.D解析:賦值運(yùn)算符的結(jié)合方向是自右至左,所以表達(dá)式a+=a=a*a先運(yùn)算最右邊的a*a得9,再運(yùn)算a=a-9,即a=3-9,所以此時(shí)a的值由3變成了-6,最后運(yùn)算a=a+(-6)=-12。

44.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正確。

45.B解析:從是否需要執(zhí)行被測(cè)軟件的角度,測(cè)試方法可以分為靜態(tài)測(cè)試和動(dòng)態(tài)測(cè)試方法。靜態(tài)測(cè)試包括代碼檢查、靜態(tài)結(jié)構(gòu)分析、代碼質(zhì)量度量等,動(dòng)態(tài)測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程,是根據(jù)軟件開(kāi)發(fā)各階段的規(guī)格說(shuō)明和程序的內(nèi)部結(jié)構(gòu)而精心設(shè)計(jì)一批測(cè)試用例,并利用這些測(cè)試用例去運(yùn)行程序,以發(fā)現(xiàn)程序錯(cuò)誤的過(guò)程。如果將程序的測(cè)試方法分為靜態(tài)分析和動(dòng)態(tài)分析,則使用測(cè)試用例在計(jì)算機(jī)上運(yùn)行程序,使程序在運(yùn)行過(guò)程中暴露錯(cuò)誤,這是動(dòng)態(tài)分析。

46.B解析:全程變量是可以在子函數(shù)中對(duì)其值作改變,且它也可作為函數(shù)間的值傳遞。但當(dāng)函數(shù)或子函數(shù)中定義了與全程變量名稱相同的局部變量,則全程變量將被屏蔽。

47.B在計(jì)算機(jī)中,算法被定義為對(duì)一個(gè)問(wèn)題求解步驟的一種描述,是求解問(wèn)題的方法,它是指令的有限序列,其中每條指令表示一個(gè)或者多個(gè)操作。算法具有有窮性、確定性、可行性、輸入和輸出五大特點(diǎn)。

在本題中,選項(xiàng)A、C、D的說(shuō)法明顯偏離了算法的定義,因此正確答案選B。

48.C解析:本題考核的知識(shí)點(diǎn)是函數(shù)的調(diào)用和if-else語(yǔ)句的應(yīng)用。C語(yǔ)言規(guī)定else總是和離它最近的if語(yǔ)句配對(duì)。分析可以知道,函數(shù)f()作用是讓形參v和形參w的值交換。在i函數(shù)中首先定義了三個(gè)變量x。y和z。然后再執(zhí)行下面的if-else語(yǔ)句.由程序可以看出第—個(gè)else和第一個(gè)訂搭配,第二個(gè)else和第二個(gè)if搭配。由于調(diào)用函數(shù)時(shí)是進(jìn)行值傳遞的。即將實(shí)參x,y,z傳給形參v和w,以后行參和實(shí)參再無(wú)聯(lián)系,故通過(guò)if語(yǔ)句調(diào)用f()函數(shù)后,x、y和z的值并沒(méi)有改變。故最后輸出的x、v和z的值為1、3和2,所以,4個(gè)選項(xiàng)中選項(xiàng)C符合題意。

49.A解析:此題考查C語(yǔ)言的基本概念。變量的實(shí)質(zhì)就是在內(nèi)存中占據(jù)一定的存儲(chǔ)單元,存儲(chǔ)單元里存放的是該變量的值,變量的值可以根據(jù)需要進(jìn)行修改;整數(shù)在允許的范圍內(nèi)可以準(zhǔn)確的表示出來(lái),但不可能表示無(wú)限度的實(shí)數(shù)。

50.C解析:中央處理器是計(jì)算機(jī)的核心部件,控制著計(jì)算機(jī)的一切活動(dòng)。

51.C解析:棧是一種后進(jìn)先出表,選項(xiàng)C中,先出棧的是3,說(shuō)明此時(shí)棧內(nèi)必然有1,2,由于1先于2進(jìn)淺,所以1不可能在2之前出棧,故選項(xiàng)C這種出棧序列是不可能的。

52.A

53.D解析:選項(xiàng)D)為兩條語(yǔ)句。

54.C學(xué)號(hào)是學(xué)生表S的主鍵,課號(hào)是課程表C的主鍵,所以選課表SC的關(guān)鍵字就應(yīng)該是與前兩個(gè)表能夠直接聯(lián)系且能唯一定義的學(xué)號(hào)和課號(hào),所以選擇C項(xiàng)。

55.A

56.B解析:此題主要考查if語(yǔ)句的嵌套,注意if與else的對(duì)應(yīng)關(guān)系。a<b成立繼續(xù)執(zhí)行;c<d不成立,執(zhí)行else語(yǔ)句;a<c成立繼續(xù)執(zhí)行;b<d成立,x=2,然后退出嵌套的4層if語(yǔ)句。

57.A解析:題目中要求將q和r所指結(jié)點(diǎn)的先后位置交換,即要求p所指結(jié)點(diǎn)的指針域指向r所指向的結(jié)點(diǎn),r所指向的結(jié)點(diǎn)的指針域指向q所指向的結(jié)點(diǎn),q所指向的結(jié)點(diǎn)的指針域指向r所指向的結(jié)點(diǎn)。選項(xiàng)A首先讓r所指向的指針的指針域指向q所指向的結(jié)點(diǎn),這樣就將r所指向的結(jié)點(diǎn)的指針域指向的結(jié)點(diǎn)丟失了。選項(xiàng)B首先q所指向的結(jié)點(diǎn)的指針域指向r所指向的結(jié)點(diǎn)的指針域所指向的結(jié)點(diǎn),然后,讓p所指向結(jié)點(diǎn)的指針域指向r所指向的結(jié)點(diǎn),最后讓r所指向的結(jié)點(diǎn)的指針域指向q所指向的結(jié)點(diǎn),滿足要求。選項(xiàng)C首先讓p所指向結(jié)點(diǎn)的指針域指向r所指向的結(jié)點(diǎn),然后讓q所指向的結(jié)點(diǎn)的指針域指向r所指向的結(jié)點(diǎn)的指針域所指向的結(jié)點(diǎn),最后讓r所指向的結(jié)點(diǎn)的指針域指向q所指向的結(jié)點(diǎn),滿足要求。選項(xiàng)D首先讓q所指向的結(jié)點(diǎn)的指針域指向r所指向的結(jié)點(diǎn)的指針域所指向的結(jié)點(diǎn),然后,讓r所指向的結(jié)點(diǎn)的指針域指向q所指向的結(jié)點(diǎn),最后讓P所指向結(jié)點(diǎn)的指針域指向r所指向的結(jié)點(diǎn),滿足要求。

58.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)相連。

59.A解析:swapl(a,a+1)是將a,a+1的地址進(jìn)行傳遞,運(yùn)行swapl以后,a[0],a[1]的值不發(fā)生改變,而swap2(&b[0],&b[1])是將兩個(gè)指針?biāo)傅脑剡M(jìn)行傳遞,運(yùn)行swap2后,b[0]與b[1]的值互換。

60.D解析:變量的存儲(chǔ)類別具體包含四種:自動(dòng)的(auto),靜態(tài)的(static),寄存器的(register),外部的(extern)。

61.C棧的特點(diǎn)是先進(jìn)后出,所以后入棧的最先出棧。在棧的狀態(tài)是c(棧頂)、B、A(棧底)時(shí),D未入棧,棧頂元素可以出棧,但A不可能比B先出棧,所以c選項(xiàng)錯(cuò)誤。

62.D本題給出的兩個(gè)關(guān)系R與S的表結(jié)構(gòu)是不同的(R是二元關(guān)系,S是三元關(guān)系),它們不能進(jìn)行∩、∪、一運(yùn)算。而兩個(gè)不同結(jié)構(gòu)的關(guān)系是可以進(jìn)行笛卡兒積(×)運(yùn)算的。

63.AC語(yǔ)言中標(biāo)識(shí)符由字母、下劃線、數(shù)字組成,且開(kāi)頭必須是字母或下劃線。另外,關(guān)鍵字不能作為標(biāo)識(shí)符。8中以數(shù)字8開(kāi)頭,所以錯(cuò)誤。c與D中用的是關(guān)鍵字void與unsigned,所

溫馨提示

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