2022年寧夏回族自治區(qū)吳忠市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷一(含答案)_第1頁(yè)
2022年寧夏回族自治區(qū)吳忠市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷一(含答案)_第2頁(yè)
2022年寧夏回族自治區(qū)吳忠市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷一(含答案)_第3頁(yè)
2022年寧夏回族自治區(qū)吳忠市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷一(含答案)_第4頁(yè)
2022年寧夏回族自治區(qū)吳忠市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷一(含答案)_第5頁(yè)
已閱讀5頁(yè),還剩19頁(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年寧夏回族自治區(qū)吳忠市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷一(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.廣義表(a,b,c,d)的表尾是()。

A.aB.(a)C.(b,c,d)D.((b,c,c))

2.以下程序中函數(shù)sort的功能是對(duì)數(shù)組a中的數(shù)據(jù)進(jìn)行由大到小的排序:#include<stdio.h>voidsort(inta[],intn){inti,j,t;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;}}main(){intaa[]={1,2,3,4,5,6,7,8,9,10},i;son(&aa[3],5);for(i=0;i<10;i++)printf("%d,",aa[i]);printf("\n");}程序運(yùn)行后的輸出結(jié)果是()。

A.1,2,3,4,5,6,7,8,9,10,

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

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

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

3.棧的特點(diǎn)是B,隊(duì)列的特點(diǎn)是()。

A.先進(jìn)先出B.先進(jìn)后出

4.在JavaScript語(yǔ)言中,要定義局部變量則可以()。

A.由關(guān)鍵字private在函數(shù)內(nèi)定義

B.由關(guān)鍵字private在函數(shù)外定義

C.由var在函數(shù)內(nèi)定義

D.由關(guān)鍵字var在函數(shù)外定義

5.有以下程序

#include<stdio.h>

main()

{inta=1,b=0;

if(--a)b++;

elseif(a==0)b+=2;

elseb+=3:

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

}

程序運(yùn)行后的輸出結(jié)果是A.A.0B.1C.2D.3

6.若一棵二叉樹具有10個(gè)度為2的結(jié)點(diǎn),5個(gè)度為1的結(jié)點(diǎn),則度為0的結(jié)點(diǎn)的個(gè)數(shù)是()。

A.9B.11C.15D.不能確定

7.有下列程序:程序執(zhí)行后的輸出結(jié)果是()。A.0,1,0B.0,1,1C.0,0,1D.0,0,0

8.下列函數(shù)的功能是

set(s,t)

{char*s,*t;

while((*s)&&(*t)&&(*t++==*s++));

return(*s-*t);

}A.A.求字符串的長(zhǎng)度

B.比較兩字符串的大小

C.將字符串s復(fù)制到字符串t中

D.將字符串s連接到字符串t后

9.執(zhí)行下面的程序后,a的值為()。main{inta,b;for(a=1,b=1;a<=10;a++){if(b%3==l){b+=3;continue;}b-=5;}}A.7B.8C.9D.10

10.以下選項(xiàng)中不屬于c語(yǔ)言的類型的是()。

A.unsignedlongint

B.longshort

C.unsignedint

D.signedshortint

11.若有定義:“inta,b,c,*p=&c;”,接著執(zhí)行以下選項(xiàng)中的語(yǔ)句,則能正確執(zhí)行的語(yǔ)句是()。

A.scanf(“%d”,a,b,c);

B.scanf(“%d%d%d”,a,b,c);

C.scanf(“%d”,p);

D.scanf(“%d”,&p);

12.設(shè)有序順序表中有n個(gè)數(shù)據(jù)元素,則利用二分查找法查找數(shù)據(jù)元素X的最多比較次數(shù)不超過(guò)()。A.log2+1

B.log2(n-1)

C.log2n

D.log2(n+1)

13.

14.若已知一個(gè)棧的進(jìn)棧序列是1,2,3…n,其輸出序列是P1,P2,P3,…PN,若P1=n,則Pi(1<i<p)為()。

A.IB.n-iC.n-i+1D.不確定

15.有如下程序段:

inta=14,b=15,x;

charc='A';

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

執(zhí)行該程序后,x的值為()。A.A.trueB.falseC.0D.1

16.遞歸式的先序遍歷一個(gè)n節(jié)點(diǎn),深度為d的二叉樹,則需要棧空間的大小為()

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

17.若長(zhǎng)度為n的線性表采用順序存儲(chǔ)結(jié)構(gòu),在其第i個(gè)位置插入一個(gè)新元素的算法的時(shí)間復(fù)雜度為()。

A.O(0)B.O(1)C.O(n)D.O(n2)

18.若主調(diào)用函數(shù)類型為double,被調(diào)用函數(shù)定義中沒有進(jìn)行函數(shù)類型說(shuō)明,而return語(yǔ)句中的表達(dá)式類型為float型,則被調(diào)函數(shù)返回值的類型是()。

A.int型B.float型C.double型D.由系統(tǒng)當(dāng)時(shí)的情況而定

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

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

20.設(shè)有如下定義:structsk{inta;floatb;}data;int*p;若要使p指向data中的a域,正確的賦值語(yǔ)句是()

A.p=&a;B.p=data.a;C.p=&data.a,D.*p=data.a;

二、2.填空題(20題)21.以下程序段用于構(gòu)成一個(gè)簡(jiǎn)單的單向鏈表。請(qǐng)?zhí)羁铡?/p>

struetSTRU

{intx,y;

floatrate;

【】p;

}a,b;

a.x=0;a.y=0;a.rate=0;a.p=&b;

b.x=0;b.y=0;b.rate=0;b.p=NULL;

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

23.下面程序的功能:輸出100以內(nèi)能被3整除且個(gè)位數(shù)為6的所有整數(shù),請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

main()

{inti,j;

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

{j=i*10+6;

if(【】)continue;

printf("%d",j);

}

}

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

intx;

main()

{inta=5,b=8;

swap(a,b);

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

}

swap(inta,intb)

{inttemp;

temp=a;a=b;

b=temp;x=a/b;

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

}

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

#include"stdio.h"

main()

{charfun(char,int);

chara=′A′;

intb=13;

a=fun(a,b);

putchar(a);}

charfun(chara,intb)

{chark;

k=a+b;

returnk;}

26.x、y、x均為int型變量,描述"x、y和z中至少有兩個(gè)為正數(shù)"的表達(dá)式是______。

27.語(yǔ)句:x++;、++x;、x=x+1;、x=1+x;,執(zhí)行后都使變量x中的值增1,請(qǐng)寫出一條同一功能的賦值語(yǔ)句(不得與列舉的相同)【】。

28.在面向?qū)ο蠓椒ㄖ?,類之間共享屬性和方法的機(jī)制稱為______。

29.執(zhí)行以下程序后sum的值是【】。

main()

{

inti,sum;

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

sum+=i;

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

}

30.以下sstrcpy()函數(shù)實(shí)現(xiàn)字符串復(fù)制,即將t所指字符串復(fù)制到s所指向內(nèi)存空間中,形成一個(gè)新的字符串s。清填空。

voidsstrcpy(char*s,char*t)

{while(*s++=【】);}

main()

{charstr1[100],str2[]="abcdefgh";

strcpy(str1,str2);

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

}

31.用以下語(yǔ)句調(diào)用庫(kù)函數(shù)malloc,使字符指針st指向具有11個(gè)字節(jié)的動(dòng)態(tài)存儲(chǔ)空間,請(qǐng)?zhí)羁铡t=(char*)【】;

32.以下定義的結(jié)構(gòu)體類型擬包含兩個(gè)成員,其中成員變量info用來(lái)存入整形數(shù)據(jù);成員變量link是指向自身結(jié)構(gòu)體的指針,請(qǐng)將定義補(bǔ)充完整。

structnode

{intinfo;

【】link;};

33.下列程序執(zhí)行后輸出的結(jié)果是【】。

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

}

34.以下程序的輸出是【】。

main()

{

charstrl[]]="Howdoyoudo",*p1=strl;

strcpy(strl+strlen(strl)/2,"esshe");

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

}

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

#include<string.h>

char*ss(char*s)

{char*p;t;

p=s+1;t=*s;

while(*p){*(p-1)=*p;p++;}

*(p-1)=t;

returns;

}

main()

{char*p,str[10]="abcdergh";

p=ss(str);

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

}

36.面向?qū)ο蟮哪P椭校罨镜母拍钍菍?duì)象和______。

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

main()

{inta=1,b=10;

do

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

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

}

38.在Windows環(huán)境下,可以將窗口最小化為【】。

39.按“先進(jìn)后出”原則組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是[]。

40.軟件工程研究的內(nèi)容主要包括:【】技術(shù)和軟件工程管理。

三、1.選擇題(20題)41.下面的程序執(zhí)行后,文件test.t中內(nèi)容是______。#include<stdio.h>voidfun(char*fname,char*st){FILE*myf;inti;myf=fopen(fname,"W");for(i=0;i<strlen(st);i++)foutc(st[i]myf;fclose(myf);}main(){fun("test.t","newworld");fun("test.t","hello,");}

A.hello,B.newworldhelloC.newworldD.hello,rid

42.fgetc函數(shù)的作用是從指定文件讀入一個(gè)字符,該文件的打開方式必須是______。

A.只讀B.追加C.讀或讀寫D.以上均正確

43.有以下程序______。#defineP3voidF(intx){return(P*x*x);}main(){printf("%d\n",F(xiàn)(3+5));}程序運(yùn)行后的輸出結(jié)果是______。

A.192B.29C.25D.編譯出錯(cuò)

44.以下結(jié)構(gòu)體類型說(shuō)明和變量定義中正確的是()。

A.typedefstruct

B.structREC;{intn;charc;}REC;{intn;charc;};RECt1,t2;RECt1,t2;

C.typedefstructREC;

D.struct{intn=0;charc='A';}t1,t2;{intn;charc;}REC;RECt1,t2;

45.有定義語(yǔ)句:chars[10];,若要從終端給s輸入5個(gè)字符,錯(cuò)誤的輸入語(yǔ)句是

A.sets(&s[0]);

B.scarf("%s",s+1);

C.gets(s);

D.scanf("%s",s[1]);

46.為了使模塊盡可能獨(dú)立,要求()。

A.模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量強(qiáng)

B.模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量弱

C.模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量弱

D.模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量強(qiáng)

47.相對(duì)于數(shù)據(jù)庫(kù)系統(tǒng),文件系統(tǒng)的主要缺陷有數(shù)據(jù)關(guān)聯(lián)差、數(shù)據(jù)不一致性和()。

A.可重用性差B.安全性差C.非持久性D.冗余性

48.有以下程序main(){ihtm=3,n=r,x;x=-m++;X=x+8/++n;printf("%d\n",x);}程序運(yùn)行后的輸出結(jié)果是

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

49.以下關(guān)于long、int和short類型數(shù)據(jù)占用內(nèi)存大小的敘述中正確的是(),

A.均占4個(gè)字節(jié)B.根據(jù)數(shù)據(jù)的大小來(lái)決定所占內(nèi)存的字節(jié)數(shù)C.由用戶自己定義D.由C語(yǔ)言編譯系統(tǒng)決定

50.已知二叉樹BT的后序遍歷序列是dabec,中序遍歷序列是debac,它的前序遍歷序列是______.

A.cedbaB.acbedC.decabD.deabc

51.若x是整型變量,pb是基本類型為整型的指針變量,則正確的賦值語(yǔ)句是()

A.pb=&x;B.pb=x;C.*pb=&x;D.*pb=*x;

52.以下定義語(yǔ)句中正確的是

A.inta=b=0;

B.charA=65+1,b=′b′;

C.floata=1,*b=&a,*c=&b;

D.doublea=00;b=1.1;

53.C語(yǔ)言庫(kù)函數(shù)fgets(str,n,fp)的功能是______。

A.從fp指向的文件中讀取長(zhǎng)度n的字符串存入str旨向的內(nèi)存

B.從fp指向的文件中讀取長(zhǎng)度不超過(guò)n-1的字符串存入str指向的內(nèi)存

C.從fb指向的文件中讀取n個(gè)字符串存入str指向的內(nèi)存

D.從str讀取至多n個(gè)字符到文fp

54.有以下程序:int*f(int*x,int*y){if(*x<*y)returnx;elsereturny;}main(){inta=7,b=8,*p,*q,*r;p=&a;q=&b;r=f(p,q);printf("%d,%d,%d\n",*p,*q,*r);}執(zhí)行后輸出結(jié)果是()。

A.7,8,8B.7,8,7C.8,7,7D.8,7,8

55.在結(jié)構(gòu)化程序設(shè)計(jì)思想提出之前,在程序設(shè)計(jì)中曾強(qiáng)調(diào)程序的效率。與程序的效率相比,人們更重視程序的

A.安全性B.一致性C.可理解性D.合理性

56.下列不屬于軟件工程3個(gè)要素的是()

A.工具B.過(guò)程C.方法D.環(huán)境

57.有以下程序main(){inti=1,j=l,k=2;if((j++||k++)&&i++)printf("%d,%d,%d\n",i,j,k);執(zhí)行后輸出的結(jié)果是

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

58.對(duì)以下程序段的描述,正確的是()。x=-1;do{x=x*x;}while(!x);

A.是死循環(huán)B.循環(huán)執(zhí)行兩次C.循環(huán)執(zhí)行一次D.有語(yǔ)法錯(cuò)誤

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

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

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

main

{

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

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

}

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

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

四、選擇題(20題)61.有以下程序:

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

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

62.當(dāng)把以下四個(gè)表達(dá)式用作if語(yǔ)句的控制表達(dá)式時(shí),有一個(gè)選項(xiàng)與表達(dá)式(k%2)!=0含義相同,這個(gè)選項(xiàng)是()。

A.k%2==0B.k%2==1C.!k%2==1D.都不同

63.設(shè)有如下說(shuō)明

typedefstruct

{intnumber;charclass;doublescore;}student;

則以下選項(xiàng)中,能正確定義結(jié)構(gòu)體數(shù)組并賦初值的語(yǔ)句是()。

A.studenttt[2]={{189,’A’,62},{190,’B’,75}};

B.studenttt[2]={189,’"A",62,190,"B",75};

C.structtt[2]={{189,’A’},{190,’B’}};

D.structtt[2]={{189,"A",62.5},{190,"B",75.0}};

64.

65.若fp是指向某文件的指針,且尚未讀到文件末尾,則函數(shù)feof(fp)的返回值是()。

A.EOFB.-lC.非零值D.0

66.設(shè)變量a是int型,f是float型,i是double型,則表達(dá)式10+′a′+i*f值的數(shù)據(jù)類型為

A.intB.floatC.doubleD.不確定

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

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

68.以下選項(xiàng)中正確的定義語(yǔ)句是()。

A.double,a,b;B.doublea=b=7;C.doublea;b;D.doublea=7,b=7;

69.如果inta=1,b=2,c=3,d=4;則條件表達(dá)式“a<b?a:c<d?c:d”的值是()。

A)1B)2

C)3D)4

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

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

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

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

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

71.

72.有以下程序:

#include<stdio.h>

#defineS(x)4*(x)*x+1

main()

{intk=5,j=2;

printf("%d\n",S(k+j));

}

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

A.197B.143C.33D.28

73.

74.

75.以下不能將a所指字符串正確復(fù)制到所指存儲(chǔ)空間的是()。

76.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

77.若有“doublea;”,則正確的輸入語(yǔ)句是()。A.A.scanf("%1f",a);

B.scanf("%f",&a);

C.scanf("%1f",&a);

D.scanf("1e",&a);

78.下列函數(shù)的功能是

set(s,t)

{char*s,*t;

while((*s)&&(*t)&&(*t++==*s++));

return(*s-*t);

}A.A.求字符串的長(zhǎng)度

B.比較兩字符串的大小

C.將字符串s復(fù)制到字符串t中

D.將字符串s連接到字符串t后

79.若有以下程序

#include<stdio.h>

inta[]={2,4,6,8};

main()

{inti;

int*p=a;

for(i=0;i<4;i++)a[i]=*p;

printf("%d\n",a[2]);

}

上面程序的輸出結(jié)果是

A.6B.8

C.4D.2

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

A.算法是指對(duì)解題方案的準(zhǔn)確而完整的描述

B.算法的有窮性是指算法程序的長(zhǎng)度是有限的

C.算法是否有效與擁有的情報(bào)無(wú)關(guān)

D.算法的基本特征有可行性、確定性和有窮性

五、程序改錯(cuò)題(1題)81.已知一個(gè)數(shù)列從0項(xiàng)開始的前3項(xiàng)為0,0,1,以后的各項(xiàng)都是其相鄰的前3項(xiàng)之和。下列給定的程序中,函數(shù)proc()的功能是:計(jì)算并輸出該數(shù)列前n項(xiàng)的和sum。n的值通過(guò)形參傳人。例如,當(dāng)n-20時(shí),程序的輸出結(jié)果應(yīng)為42762.000000。請(qǐng)修改程序中的錯(cuò)誤,使它能得到正確結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:

六、程序設(shè)計(jì)題(1題)82.使用VC++2010打開考生文件夾下prog1中的解決方案。此解決方案的項(xiàng)目中包含一個(gè)源程序文件prog1.c。在此程序中,規(guī)定輸入的字符串中只包含字母和*號(hào)。請(qǐng)編寫函數(shù)fun(),其功能是使字符串中尾部的*號(hào)不多于n個(gè),若多于n個(gè),則刪除多余的*號(hào);若少于或等于n個(gè),則不做任何操作,字符串中間和前面的*號(hào)不刪除。例如,字符串中的內(nèi)容為“****A*BC*DEF*G*******”,若n的值為4,刪除后,字符串中的內(nèi)容應(yīng)為“****A*BC*DEF*G****”;若n的值為7,則字符串中的內(nèi)容仍為“****A*BC*DEF*G*******”。n的值在主函數(shù)中輸入。編寫函數(shù)時(shí),不得使用C語(yǔ)言提供的字符串函數(shù)。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入你編寫的若干語(yǔ)句。試題程序:#include<stdio.h>voidfun(char*a,intn){}main(){ chars[81];intn; printf("Enterastring:\n”); gets(s); printf(“Entern:”); scanf(“%d”,&n); fun(s,n); printf(“Thestringafterdeleted:\n”); puts(s);}

參考答案

1.C

2.C解析:在main函數(shù)中調(diào)用sort函數(shù)時(shí),實(shí)參&aa[3]把數(shù)組元素aa[3]的首地址傳給形參數(shù)組a,使aa[3]與a[0]相對(duì)應(yīng)。sort函數(shù)將從aa[3]開始的連續(xù)5個(gè)數(shù)進(jìn)行了從大到小的排序,其他數(shù)組元素不變。

3.A

4.C

5.C解析:本題考察運(yùn)算符和選擇語(yǔ)句,執(zhí)行到if語(yǔ)句時(shí),--a為0,所以不會(huì)執(zhí)行后面的語(yǔ)句,但是會(huì)執(zhí)行elseif后面的語(yǔ)句,所以執(zhí)行后,b=2,選項(xiàng)C)正確。

6.B

7.Bif條件表達(dá)式“a--‖b--&&--c”使用了邏輯或運(yùn)算符和邏輯與運(yùn)算符。因?yàn)檫壿嬇c運(yùn)算符優(yōu)先級(jí)比邏輯或運(yùn)算符優(yōu)先級(jí)高,所以條件表達(dá)式等價(jià)于“(a--)‖(b--&&--c)”,自左向右運(yùn)算,執(zhí)行“a”,因?yàn)閍初值為1,所以a--的值為1,執(zhí)行完后a的值為0;又因?yàn)檫壿嫽蜻\(yùn)算符的短路原則,當(dāng)a--的值為1時(shí),條件為真,后面的表達(dá)式b--&&--c不執(zhí)行。程序執(zhí)行if語(yǔ)句塊,輸出a、b、c的值為:0,1,1。本題答案為B選項(xiàng)。

8.B在本題中,從題目給出的四個(gè)選項(xiàng)我們就可以知道,程序是對(duì)兩個(gè)字符串進(jìn)行操作。下面將具體分析程序。

程序首先定義兩個(gè)字符型的指針變量s和t,從后面的程序中不難看出這兩個(gè)指針變量應(yīng)該用來(lái)對(duì)兩個(gè)字符串進(jìn)行操作處理。用循環(huán)來(lái)對(duì)字符串進(jìn)行處理時(shí),循環(huán)繼續(xù)的條件是指針變量s和指針變量t所指向的結(jié)果值不為0,且兩結(jié)果值相等。很顯然,指針變量s和指針變量t所指向的結(jié)果值不為0,說(shuō)明兩字符串沒有結(jié)束,只有結(jié)束時(shí)才為0,而結(jié)果值相等說(shuō)明兩字符相等,如果不等,循環(huán)則結(jié)束,此時(shí)程序?qū)⒁蠓祷夭坏仍刂g的差值,從差值的正負(fù)關(guān)系我們可以判斷出哪個(gè)元素更大。綜上所述,程序段的作用是用來(lái)比較兩字符串的大小。因此,本題正確的答案選B。

9.D本題考查continue的用法,continue語(yǔ)句的作用是結(jié)束本次循環(huán),直接進(jìn)行下次循環(huán)。所以在程序中,只有當(dāng)a=10時(shí),才退出循環(huán),故選擇D選項(xiàng)。

10.Bc語(yǔ)言中整型變量分為4種,基本型int,短整型shortint,長(zhǎng)整型longint和無(wú)符號(hào)型(unsignedint、un-signedshort、unsignedlong)。因此B)選項(xiàng)不屬于c語(yǔ)言的類型。

11.Cscanf函數(shù)要求為:輸入的變量為地址形式。4個(gè)選項(xiàng)中,C選項(xiàng)符合要求。故本題答案為C選項(xiàng)。

12.A

13.D

14.C

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

16.D

17.C

18.A

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

20.C解析:data是—結(jié)構(gòu)體變量,a是它的成員,因此引用a域的正確方法是:data.a,取它的地址賦值給指針變量p的語(yǔ)句應(yīng)該是:p=&data.a。選項(xiàng)A,將a的地址直接賦給了p,而忽略了a為結(jié)構(gòu)體內(nèi)部的一個(gè)成員,而不是一單獨(dú)的變量,故選項(xiàng)A不正確;選項(xiàng)B在p=data.a表達(dá)式中右邊為一個(gè)結(jié)構(gòu)體變量的成員不是地址,而左邊為一指針應(yīng)該將一地址賦給它,故選項(xiàng)B不正確;選項(xiàng)D表達(dá)式*p=data.a是將結(jié)構(gòu)體變量中的成員a的值賦給指針p所指向的變量值,而不是使指針p指向data中的a域,故選項(xiàng)D不正確:4個(gè)選項(xiàng)中只有C正確。

21.structSTRU*

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

23.j%3!=0或j%3j%3!=0或j%3解析:題目要求輸出100以內(nèi)能被3整除且個(gè)位數(shù)為6的所有整數(shù),且通過(guò)for循環(huán)實(shí)現(xiàn),循環(huán)體內(nèi)j=i*10+6;這也就滿足了個(gè)位數(shù)為6的條件,所以第1個(gè)空格填入i<10或i<=9;if語(yǔ)句中的continue說(shuō)明如果條件不成立則不輸出j,所以第2空填j%3!=0或j%3。

24.a=5b=8x=1。a=5,b=8,x=1。解析:本題考查形參變量值的改變并不能傳回給實(shí)參。因此主函數(shù)中最后輸出的a和b仍為原來(lái)的初值5和8。

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

26.((x>0)&&(y>0))||((x>0)&&(z>0)||((y>0)&&(z>0))((x>0)&&(y>0))||((x>0)&&(z>0)||((y>0)&&(z>0))解析:題目要求“x、y和z中至少有兩個(gè)為正數(shù)”,即x、y和z這3個(gè)數(shù)中必須有兩個(gè)是正數(shù),且這3個(gè)數(shù)中的哪兩個(gè)數(shù)都有可能是正數(shù),所以它們之間是或的關(guān)系。

27.x+=1;

28.繼承繼承解析:在面向?qū)ο蟮某绦蛟O(shè)計(jì)方法中,某些屬性和方法是可以共享的,由于類從父類中繼承而來(lái),這樣提高了軟件的可重用性。

29.1515解析:程序的功能是求1、2、3、4、5的和即15。

30.*t++或*(t++)*t++或*(t++)解析:主函數(shù)中定義了兩個(gè)字符型數(shù)組str1和str2,并且給str2賦初值“abcdefgh”,接著調(diào)用函數(shù)strcpy(str1,str2),將字符串str2的值賦給str1。在函數(shù)sstrcpy(*s,*t)中,用了一個(gè)while循環(huán),每循環(huán)一次將形參指針t所指的字符賦給形參指針s所指向的存儲(chǔ)空間,然后將指針s和t都移到下一個(gè)元素。所以空白處應(yīng)該填*t++或*(t++)。

31.malloc(11)malloc函數(shù)的格式是void*(或char*)malloc(size),size表示應(yīng)分配的存儲(chǔ)區(qū),此題要分配11字節(jié)的單元,把11代入即可。

32.structnode*structnode*解析:本題中的結(jié)構(gòu)類型名為structnode,所以空白處應(yīng)填:structnode*。即定義一個(gè)指向自身的結(jié)構(gòu)體指針。

33.1212解析:本題的第—個(gè)for循環(huán)用于紿數(shù)組arr賦初值,第二個(gè)for循環(huán)用于求和運(yùn)算。由于第二個(gè)for循環(huán)初始值為1,而循環(huán)條件為i<4,所以求的是arr[1]到arr[3]及i的和,所以輸出結(jié)果為12。

34.HowdoessheHowdoesshe解析:strcpy(strl,s1):字符串拷貝函數(shù),作用是將字符串s1拷貝到字符數(shù)組strl中去。strlen(str):測(cè)試字符串str的長(zhǎng)度,函數(shù)的值為字符串中實(shí)際長(zhǎng)度,不包括\'\\0\'在內(nèi)。本題中strlen(strl)的值為13,則strcpy(strl+strlen(strl)/2,'esshe');相當(dāng)于strcpy(strl+6,'esshe');,因此可得答案為Howdoesshe。

35.bcdefghabcdefgha解析:在本題定義的ss()函數(shù)中首先定義了一個(gè)指針p和一個(gè)字符變量t,然后讓p指向參數(shù)指針s的下一個(gè)位置s+1,并讓t保存s位置的字符。然后使用一個(gè)while循環(huán)將p指向的內(nèi)容賦給它前面一個(gè)位置,即將參數(shù)s所指的字符串從第2個(gè)字符開始整體往前移動(dòng)一位。循環(huán)結(jié)束時(shí),p指向原s串的結(jié)束標(biāo)志處,所以讓*(p-1)=t;即是將原s串的第1個(gè)字符復(fù)制到s串的最后一個(gè)位置。整個(gè)函數(shù)實(shí)現(xiàn)的是讓一個(gè)字符串循環(huán)左移一位。故主函數(shù)中最后輸出的字符串是'bcdefgha'。

36.類類

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

38.圖標(biāo)或按鈕圖標(biāo)或按鈕

39.棧棧解析:棧和隊(duì)列都是—種特殊的操作受限的線性表,只允許在端點(diǎn)處進(jìn)行插入和刪除。二者的區(qū)別是:棧只允許在表的—端進(jìn)行插入或刪除操作,是—種“先進(jìn)后出”的線性表;而隊(duì)列只允許在表的—端進(jìn)行插入操作,在另—端進(jìn)行刪除操作,是—種“先進(jìn)先出”的線性表。

40.軟件開發(fā)

41.A解析:C語(yǔ)言中文件有文本文件與二進(jìn)制文件,對(duì)文件的使用前必須先打開,打開方式有只讀、寫入、讀寫等方式。

42.D解析:fgetc函數(shù)是指從指定的文件讀入一個(gè)字符,該文件必須是以讀或讀寫方式打開的。fgetc函數(shù)的調(diào)用形式為:ch=fgetc(fp);。

43.D解析:定義函數(shù)F(x)為void型,即沒有返回值,而函數(shù)體中又有return語(yǔ)句,編譯時(shí)會(huì)出錯(cuò)。

44.A解析:選項(xiàng)A中用typedef定義結(jié)構(gòu)體類型名REC后,REC能夠唯一地標(biāo)識(shí)這種結(jié)構(gòu)體類型,可以用REC定義變量,這是正確的結(jié)構(gòu)體類型變量的定義,選項(xiàng)C是錯(cuò)誤的。選項(xiàng)B中“structREC;”后面不應(yīng)該加分號(hào)。選項(xiàng)D中的結(jié)構(gòu)體是一個(gè)無(wú)名結(jié)構(gòu)體類型,REC是結(jié)構(gòu)體變量,不是結(jié)構(gòu)體類型,因此不能用來(lái)定義結(jié)構(gòu)體變量。

45.D解析:在格式輸入中,要求給出的是變量的地址,而D)答案中給出的s[1]是一個(gè)值的表達(dá)式。

46.B解析:模塊獨(dú)立性是指每個(gè)模塊只完成系統(tǒng)要求的獨(dú)立的子功能,并且與其他模塊的聯(lián)系最少且接口簡(jiǎn)單。耦合性與內(nèi)聚性是模塊獨(dú)立性的兩個(gè)定性標(biāo)準(zhǔn),耦合與內(nèi)聚是相互關(guān)聯(lián)的。在程序結(jié)構(gòu)中,各模塊的內(nèi)聚性越強(qiáng),則耦合性越弱。一般較優(yōu)秀的軟件設(shè)計(jì),應(yīng)盡量做到高內(nèi)聚,低耦合,即減弱模塊之間的耦合性和提高模塊內(nèi)的內(nèi)聚性,有利于提高模塊的獨(dú)立性。本題答案為B。

47.D解析:文件系統(tǒng)所管理的數(shù)據(jù)文件基本上是分散的、相互獨(dú)立的,因此相對(duì)于數(shù)據(jù)庫(kù)系統(tǒng),以此為基礎(chǔ)的數(shù)據(jù)處理存在3個(gè)缺點(diǎn),數(shù)據(jù)冗余大、數(shù)據(jù)的不一致性、程序與數(shù)據(jù)的相互依賴(簡(jiǎn)稱為數(shù)據(jù)依賴)。注意:文件系統(tǒng)和數(shù)據(jù)庫(kù)系統(tǒng)各自的特點(diǎn),人工管理階段及數(shù)據(jù)庫(kù)系統(tǒng)三代的特點(diǎn)。

48.D解析:主函數(shù)中首先定義了整型變量m、n和x,并給m和n賦初值為3和4,接著執(zhí)行兩條賦值語(yǔ)句,第一條x=-m++等價(jià)于x=-(m++),其值即為-3,第二條x=x+8/++n等價(jià)于x=x+8/(++n),即為x=-3+8/5=-2,因此最后輸出x的值為-2。

49.D解析:在C語(yǔ)言的標(biāo)準(zhǔn)中,short占2個(gè)字節(jié)、long占4個(gè)字節(jié),但int的大小和編譯系統(tǒng)相關(guān)。例如在Turbo\u3000C\u30002.0中,int占2個(gè)字節(jié),但在VisualC++6.0(VC6可以用做C語(yǔ)言編譯器)中占4個(gè)字節(jié)。故本題應(yīng)該選擇D。

50.A解析:由二叉樹后序遍歷序列和中序遍歷序列可以唯一確定一棵二叉樹。二叉樹BT的后序遍歷序列為dabec,故BT的根結(jié)點(diǎn)為c(后序遍歷序列的最后一個(gè)結(jié)點(diǎn)為樹的根結(jié)點(diǎn)):而BT的中序遍歷序列是debac,即遍歷序列中最后一個(gè)結(jié)點(diǎn)為根結(jié)點(diǎn),說(shuō)明BT的右子樹為空。由BT的后序遍歷序列和中序遍歷序列可知BT左子樹的后序遍歷序列和中序遍歷序列分別為dabe和deba,因此BT左子樹的根結(jié)點(diǎn)是e。再由中序遍歷序列可知其左子樹為d,右子樹為ba。因此BT的前序遍歷序列為cedba。

51.A

52.B解析:本題考查變量的定義方法。如果要一次進(jìn)行多個(gè)變量的定義,則在它們之間要用逗號(hào)隔開,因此選項(xiàng)A)和D)錯(cuò)誤。在選項(xiàng)C)中,變量c是一個(gè)浮點(diǎn)型指針,它只能指向一個(gè)浮點(diǎn)型數(shù)據(jù),不能指向指針變量b,故選項(xiàng)C)錯(cuò)誤。

53.B解析:fgets函數(shù)的作用是從指定的文件讀入—個(gè)字符串。fgets(str,n,fp);中的n為要求得到的字符的個(gè)數(shù),但只從中指向的文件輸入n-1個(gè)字符,然后在最后加—個(gè)'\\0'字符,因此得到的字符串共有n個(gè)字符。

54.B解析:本題定義了一個(gè)返回值為指針的函數(shù)f(),此函數(shù)有兩個(gè)指針型的形參x和y,該函數(shù)的功能,是返回x和y指向的變量中值較小的那個(gè)指針變量。主函數(shù)中定義了兩個(gè)指針變量p和q,并讓它們指向變量a和b,調(diào)用函數(shù)f(),返回指向的變量值較小的指針變量,r的值為指針變量p的值(變量a的地址),因此最后輸出的*p、*q和*r的值是7,8和7。所以,B選項(xiàng)為所選。

55.C解析:結(jié)構(gòu)化程序設(shè)計(jì)方法設(shè)計(jì)出的程序具有明顯的優(yōu)點(diǎn)。其一,程序易于理解、使用和維護(hù);其二,提交了編程工作的效率,降低了軟件開發(fā)成本。其中,人們更重視前者。

56.DD)【解析】軟件工程包括3個(gè)要素,即方法、工具和過(guò)程。方法是完成軟件工程項(xiàng)目的技術(shù)手段;工具支持軟件的開發(fā)、管理、文檔生成;過(guò)程支持軟件開發(fā)的各個(gè)環(huán)節(jié)的控制、管理。

57.C解析:本題考核的知識(shí)點(diǎn)是if語(yǔ)句的應(yīng)用。首先計(jì)算if語(yǔ)句后面的表達(dá)式值,先計(jì)算運(yùn)算符&&前面括號(hào)里的“‖”運(yùn)算.在“‖”運(yùn)算中先計(jì)算j++,值為1(j的值為2),為真,后面的k++將不再計(jì)算,k的值依舊為2。計(jì)算&&后面的表達(dá)式i++,值為1(i的值變?yōu)?)。整個(gè)表達(dá)式的值為真,所以執(zhí)行后面的輸出語(yǔ)句,最后輸出的i,j和k的值為2,2和2.所以,C選項(xiàng)為所選。

58.C解析:do-while語(yǔ)句的執(zhí)行過(guò)程是:首先執(zhí)行循環(huán)體語(yǔ)句,再判斷表達(dá)式值的真假。在本題中,表達(dá)式的值為假,因此循環(huán)體只執(zhí)行一次。

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

60.B解析:整型常量有十進(jìn)制、八進(jìn)制和十六進(jìn)制3種表示:十進(jìn)制整數(shù)以正號(hào)(+)或負(fù)號(hào)(-)開頭,由首位非0的一串十進(jìn)制數(shù)字組成,正負(fù)號(hào)也可省略,表示正整數(shù);八進(jìn)制整數(shù)以數(shù)字0開頭,后面接著干個(gè)八進(jìn)制數(shù)字(0~7):十六進(jìn)制整數(shù)以數(shù)字。和字母x(大、小寫均可)開頭,后面接若干個(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。

61.A本題中由fun函數(shù)可知,b[0]=a[0][0]-a[0][3]=1-4=-3,b[1]=a[1][1]-[1][2]=6-7=-1,b[2]=a[2][2]-[2][1]=11-10=1,b[3]=8[3][3]-[3][1]=16-13=3。所以主函數(shù)中打印Y數(shù)組元素的值為A選項(xiàng)。

62.BA選項(xiàng)說(shuō)的是偶數(shù),B選項(xiàng)求的是奇數(shù),C選項(xiàng)求的是偶數(shù),而題目求的是奇數(shù)。

63.AB項(xiàng)定義格式不對(duì),tt[2]只有兩個(gè)元素,C項(xiàng)缺少了結(jié)構(gòu)體名,而結(jié)構(gòu)體名不可少,D項(xiàng)一樣缺少了結(jié)構(gòu)體名。

64.C

65.D本題考查leon(tp)函數(shù),其功能是:測(cè)試所指的文件的位置指針是否已達(dá)到文件尾,如果已達(dá)到文件尾,則函數(shù)返回非0值;否則返回0,表示文件未結(jié)束。

66.C解析:根據(jù)混合運(yùn)算規(guī)則,如果有一個(gè)數(shù)據(jù)是float型或double型,則其他數(shù)據(jù)類型先轉(zhuǎn)化為double型,運(yùn)算的結(jié)果最終也是double型。

67.Aa左移2位后值為8,所以答案選擇A)。

68.DA選項(xiàng)中變量類型符double后面不能有逗號(hào)。B選項(xiàng)中變量b不能先使用再定義,應(yīng)該寫成選項(xiàng)D中的格式。C選項(xiàng)中變量a后面應(yīng)該是逗號(hào)而不是分號(hào)。

69.A先進(jìn)行a<b的判斷,因?yàn)閍=1,b=2,所以條件成立取a的值為表達(dá)式的值,即1.

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

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

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

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

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

71.C

72.B\n此程

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論