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è),還剩97頁(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ì)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.下面合法的C語(yǔ)言字符常量是()。

A.'\t'B."A"C.65D.A

2.設(shè)有定義“inta;floatb;”,執(zhí)行“scanf(“%2d%f”,&a,&b);”語(yǔ)句時(shí),若從鍵盤輸入876543.0并按<Enter>鍵,則a和b的值分別是()。

A.87和6.0B.876和543.0C.87和543.0D.76和543.0

3.設(shè)有定義:intn=0,*p=&n,**q=&p;則以下選項(xiàng)中,正確的賦值語(yǔ)句是()A.p=1;B.*q=2;C.q=p;D.*p=5;

4.下列條件語(yǔ)句中,輸出結(jié)果與其他語(yǔ)句不同的是()。

A.if(a!=0)printf(“%d\n”,x);elseprintf(“%d\n”,y);

B.if(a==0)printf(“%d\n”,y);elseprintf(“%d\n”,x);

C.if(a==0)printf(“%d\n”,x);elseprintf(“%d\n”,y);

D.if(a)printf(“%d\n”,x);elseprintf(“%d\n”,y);

5.下列關(guān)于棧的敘述中,正確的是()。

A.棧底元素一定是最后入棧的元素B.棧操作遵循先進(jìn)后出的原則C.棧頂元素一定是最先入棧的元素D.以上三種說(shuō)法都不對(duì)

6.設(shè)有二維數(shù)組A7×8,每個(gè)數(shù)據(jù)元素占8個(gè)字節(jié)存儲(chǔ)單元,順序存放,A第一個(gè)元素A0,0的存儲(chǔ)地址為1000,數(shù)組A的最后一個(gè)元素A6,7的存儲(chǔ)地址為()。

A.1024B.1440C.1448D.1432

7.已知字母A的ASCII代碼值為65,若變量kk為char型,以下不能正確判斷出kk中的值為大寫字母的表達(dá)式是

A.kk>=′A′&&kk<=′Z′

B.!(kk>=′A′||kk<=′Z′)

C.(kk+32)>=′a′&&(kk+32)<=′Z′

D.isalpha(kk)&&(kk<91)

8.

9.下列關(guān)于數(shù)據(jù)庫(kù)設(shè)計(jì)的敘述中,正確的是()。

A.在需求分析階段建立數(shù)據(jù)字典

B.在概念設(shè)計(jì)階段建立數(shù)據(jù)字典

C.在邏輯設(shè)計(jì)階段建立數(shù)據(jù)字典

D.在物理設(shè)計(jì)階段建立數(shù)據(jù)字典

10.下面判斷正確的是

A.char*a="china";等價(jià)于char*a;*a="china";

B.charstr[5]={"china"};等價(jià)于charstr[]={"china"};

C.char*s="china";等價(jià)于char*s;s="china";

D.charc[4]="abc",d[4]="abc";等價(jià)于charc[4]=d[4]="abc";

11.下面程序的時(shí)間復(fù)雜為()A.O(n)B.O(n^2)C.O(n^3)D.O(n^4)

12.

13.棧和隊(duì)列的共同點(diǎn)是()。

A.都是先進(jìn)先出B.都是先進(jìn)后出C.只允許在端點(diǎn)處插入和刪除元素D.沒有共同特點(diǎn)

14.數(shù)據(jù)結(jié)構(gòu)通常研究數(shù)據(jù)的()及運(yùn)算。

A.物理結(jié)構(gòu)和邏輯結(jié)構(gòu)B.存儲(chǔ)和抽象C.理想和抽象D.理想與邏輯

15.設(shè)變量a是整型,f是實(shí)型,i是雙精度型,則表達(dá)式10+'a'+i*f值的數(shù)據(jù)類型為()。

A.intB.floatC.doubleD.不確定

16.以下選項(xiàng)中不屬于字符常量的是

A.′C′B.′′C′′C.′\xCC′D.′\072′

17.以下語(yǔ)句中存在語(yǔ)法錯(cuò)誤的是()。A.charss[6][20];s[1]="right?";

B.charss0[20]={"right?"};.

C.char*ss[6];s[1]="right?";

D.char*ss[={"rignt?"};

18.設(shè)有定義:intx[2][3];,則以下關(guān)于二維數(shù)組X的敘述錯(cuò)誤的是()。

A.x[0]可看做是由3個(gè)整型元素組成的一維數(shù)組

B.x[0]和x[l]是數(shù)組名,分別代表不同的地址常量

C.數(shù)組X包含6個(gè)元素

D.可以用語(yǔ)句x[o]=0;為數(shù)組所有元素賦初值0

19.將E-R圖轉(zhuǎn)換到關(guān)系模式時(shí),實(shí)體與聯(lián)系都可以表示成________。

A.屬性B.關(guān)系C.鍵D.域

20.在黑盒測(cè)試方法中,設(shè)計(jì)測(cè)試用例的主要根據(jù)是A.程序外部功能B.程序內(nèi)部邏輯C.程序數(shù)據(jù)結(jié)構(gòu)D.程序流程圖

二、2.填空題(20題)21.若有下列定義和語(yǔ)句:

char*s1="12345",*s2="1234";

printf("%d\n",strlen(strcpy(s1,s2)));

則輸出結(jié)果為______。

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

voidfun(int*n)

{while((*n))

printf("%d",(*n)--);

}

main()

{inta=10;

fun(&a);

}

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

#include<string.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");

}

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

main()

{

charstr1[]="Howdoyoudo",*p1=str1;

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

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

}

25.測(cè)試的目的是暴露錯(cuò)誤,評(píng)價(jià)程序的可靠性;而______的目的是發(fā)現(xiàn)錯(cuò)誤的位置并改正錯(cuò)誤。

26.______是數(shù)據(jù)庫(kù)應(yīng)用的核心。

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

#include<stdio.h>

#defineSIZE12

main()

{chars[SIZE];inti;for(i=0;i<SIZE;i++)s[i]='A'+i+321;

sub(s,7,SIZE-1);

for(i=0;i<SIZE;i++)printf("%c",s[i]);

printf("\n");}

sub(char*a,intt1,intt2)

{charch;

while(t1<t1)

{ch=*(a+t1);

*(a+t1)=*(a+t2);

*(a+t2)=ch;

t1++;t2--;}}

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

intf(inta[],intn)

{

if(n>=1)

returnf(a,n-1)+a[n-1];

else

return0;

}

main()

{

intaa[5]={1,2,3,4,5},s;

s=f(aa,5);

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

}

29.下列程序的功能是對(duì)輸入的一行字符中的數(shù)字字符的字面值累加,輸出此累加和,請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

#include<ctype.h>

main()

{charc;

inta,s=0;

while(______)

if(isdigit(C))

{a=c-'0';s+=a;}

printf("s=%d",s);

}

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

#include<stdio.h>

func(a,b)

{staticintm=0,i=2;

i+=m+1;

m=i+a+b;

return(m);

}

main()

{intk=5,m=3,p;

p=func(k,m);

printf("%d",p);

p=func(k,m);

printf("%d、n",p);

}

31.關(guān)系可以有3種類型,即基本關(guān)系(又稱基本表或基表)、查詢表和【】。

32.算法的基本特征是可行性、確定性、【】和擁有足夠的情報(bào)。

33.在數(shù)據(jù)庫(kù)中用數(shù)據(jù)模型這個(gè)工具來(lái)抽象、表示和處理現(xiàn)實(shí)世界中的數(shù)據(jù)和信息。常見的數(shù)據(jù)模型有3種,它們分別是層次模型、網(wǎng)狀模型和()。

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

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

mah()

{inti=6,j=8;

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

}

35.對(duì)存儲(chǔ)器按字節(jié)進(jìn)行編址,若某存儲(chǔ)器芯片共有8根地址線,則該存儲(chǔ)器芯片的存儲(chǔ)容量為【】字節(jié)。

36.診斷和改正程序中錯(cuò)誤的工作通常稱為【】。

37.以下說(shuō)明語(yǔ)句中,【】是結(jié)構(gòu)體類型名。

typedefstruct

{intn;

charch[8];

}PER;

38.設(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)行后,從鍵盤上輸入(<CR>代表回車符):DEF<CR>BADEF<CR>QTHRG<CR>,則程

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

39.在數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)中,不僅需要存儲(chǔ)各數(shù)據(jù)元素的信息,還要存放各元素之間______的信息。

40.數(shù)據(jù)獨(dú)立性分為邏輯獨(dú)立性與物理獨(dú)立性。當(dāng)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)改變時(shí),其邏輯結(jié)構(gòu)可以不變,因此,基于邏輯結(jié)構(gòu)的應(yīng)用程序不必修改,稱為【】。

三、1.選擇題(20題)41.下列選項(xiàng)中屬于C語(yǔ)言構(gòu)造類型的是()

A.指針類型B.空類型C.枚舉類型D.數(shù)組類型

42.下列是用戶自定義標(biāo)識(shí)符的是

A._w1B.3_xyC.intD.LINE-3

43.以下能正確定義字符串的語(yǔ)句是()。

A.charstr[]={'\064'};

B.charstr="kx43";

C.charstr=";

D.charstr[]="\0";

44.下面程序的輸出結(jié)果是main(){inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;printf("%d\n",*(p+2));}

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

45.下列敘述中,不屬于結(jié)構(gòu)化分析方法的是()。A.A.面向數(shù)據(jù)流的結(jié)構(gòu)化分析方法

B.面向數(shù)據(jù)結(jié)構(gòu)的Jackson方法

C.面向數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)化數(shù)據(jù)系統(tǒng)開發(fā)方法

D.面向?qū)ο蟮姆治龇椒?/p>

46.請(qǐng)選出以下程序的輸出結(jié)果

#include<stdio.h>

main()

{inta[]={1,2,3,4},i;

intx=0;

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

{sub(a,x);printf("%d",x);}

printf("\n");}

sub(s,y)

int*s,y;

{staticintt=3;

y=s[t];t--;}

A.1234B.4321C.0000D.4444

47.下列敘述中,不屬于設(shè)計(jì)準(zhǔn)則的是()。

A.提高模塊獨(dú)立性B.使模塊的作用域在該模塊的控制域中C.設(shè)計(jì)成多入口、多出口模塊D.設(shè)計(jì)功能可預(yù)測(cè)的模塊

48.若有以下程序:main(){intk=2,i=2,m;m=(k+=i*=k);printf(“%d,%d\n”,m,i);}執(zhí)行后的輸出結(jié)果是

A.8,6B.8,3C.6,4D.7,4

49.以下程序運(yùn)行后的輸出結(jié)果是______。main(){inty=18,i=0,j,a[8];do{a[i]=y%2;i++;y=y/2;}while(y>=1);for(j=i-1;j>=0;j--)printf("%d",a[j]);printf("\n");}

A.1000B.10010C.110D.10100

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

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

51.下列選項(xiàng)中,不屬于數(shù)據(jù)庫(kù)管理的是()

A.數(shù)據(jù)庫(kù)的建立B.數(shù)據(jù)庫(kù)的調(diào)整C.數(shù)據(jù)庫(kù)的監(jiān)控D.數(shù)據(jù)庫(kù)的校對(duì)

52.設(shè)x,y和z都是血型變量,且x=3,y=4,z=5,則下面表達(dá)式中,值為0的表達(dá)式是

A.x&&y

B.x<=y

C.x‖++y&&y-z

D.!(x<y&&!z‖1)

53.下列程序的輸出結(jié)果是()。#include<stdio.h>intfun(intx){intp;if(x==0‖x==1)return3;elsep=x-fun(x-2);returnp;}voidmain(){printf("\n%d",fun(5));}

A.5B.3C.7D.1

54.關(guān)于結(jié)構(gòu)化程序設(shè)計(jì)原則和方法描述錯(cuò)誤的是()。

A.選用的結(jié)構(gòu)只準(zhǔn)許有一個(gè)入口和一個(gè)出口

B.復(fù)雜結(jié)構(gòu)應(yīng)該用嵌套的基本控制結(jié)構(gòu)進(jìn)行組合嵌套來(lái)實(shí)現(xiàn)

C.不允許使用GOTO語(yǔ)句

D.語(yǔ)言中所沒有的控制結(jié)構(gòu),應(yīng)該采用前后一致的方法來(lái)模擬

55.有定義語(yǔ)句:intb;charc[10];則正確的輸入語(yǔ)句是()。

A.seanf("%d%s",&b,&c);

B.scanf("%d%s",&b,c);

C.seanf("%d%s",b,c);

D.scanf("%d%s",b,&c);

56.設(shè)x=011050,則x=x&01252的值是()。

A.1000101000

B.1111110100011000

C.1011100010

D.1100000000101000

57.軟件調(diào)試的目的是______。

A.發(fā)現(xiàn)錯(cuò)誤B.改正錯(cuò)誤C.改善軟件的性能D.挖掘軟件的潛能

58.以下敘述中正確的是______。

A.C語(yǔ)言比其他語(yǔ)言高級(jí)

B.C語(yǔ)言可以不用編譯就能被計(jì)算機(jī)識(shí)別執(zhí)行

C.C語(yǔ)言以接近英語(yǔ)國(guó)家的自然語(yǔ)言和數(shù)學(xué)語(yǔ)言作為語(yǔ)言的表達(dá)形式

D.C語(yǔ)言出現(xiàn)的最晚,具有其他語(yǔ)言的一切優(yōu)點(diǎn)

59.有如下程序段:inta=14,b=15,x;charc='A';x=(a&&b)&&(c<'B');執(zhí)行該程序段后,x的值為()。

A.tureB.假C.0D.1

60.以下程序的輸出結(jié)果是______。main(){charch[2][5]={"6937","8254"},*p[2];inti,j,s=0;for(i=0;i<2;i++)p[i]=ch[i];for(i=0;i<2;i++)for(j=0;p[i][j]>'\0';j+=2)s=10*s+p[i][j]-'\0';printf("%d\n",s);}

A.69825B.59713C.6385D.693825

四、選擇題(20題)61.下列函數(shù)的類型是()。fun(doublex){floaty;y=3*x-4;returny;}

A.intB.不確定C.voidD.float

62.

63.有以下程序:

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

A.32B.12C.21D.22

64.

下列程序的運(yùn)行結(jié)果為()。

#include<stdio.h>

main

{structdate

{intyear,month,day;

}today;

printf("%d\n",sizeof(structdate));

}

A.8B.6C.10D.12

65.設(shè)x=011050,則x=x&01252的值是()。A.0000001000101000

B.1111110100011001

C.0000001011100010

D.1100000000101000

66.下列條件語(yǔ)句中,輸出結(jié)果與其他語(yǔ)句不同的是()

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

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

68.

69.

70.第

11

若有定義:char*st="howareyou";下列程序段中正確的是

A.chara[11],*p;strcpy(p=a+1,&st[4]);

B.chara[11];strcpy(++a,st);

C.chara[11];strcpy(a,st);

D.chara[],*p;strcpy(p=&a[1],st+2);

71.下面描述中,不屬于軟件危機(jī)表現(xiàn)的是()。

A.軟件過程不規(guī)范B.軟件質(zhì)量難以控制C.軟件開發(fā)生產(chǎn)率低D.軟件成本不斷提高

72.軟件設(shè)計(jì)中劃分模塊的一個(gè)準(zhǔn)則是()。A.低內(nèi)聚低耦合B.高內(nèi)聚低耦合C.低內(nèi)聚高耦合D.高內(nèi)聚高耦合

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

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

74.有如下程序:

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

A.0.000000B.0.250000C.0.500000D.1.000000

75.

76.

77.若有語(yǔ)句:Char*line[5];,以下敘述中正確的是()。

A.定義line是一個(gè)數(shù)組,每個(gè)數(shù)組元素是一個(gè)基類型為Char的指針變量

B.定義line是一個(gè)指針變量,該變量可以指向一個(gè)長(zhǎng)度為5的字符型數(shù)組

C.定義line是一個(gè)指針數(shù)組,語(yǔ)句中的*號(hào)稱為間址運(yùn)算符

D.定義line是一個(gè)指向字符型函數(shù)的指針

78.下述程序的運(yùn)行結(jié)果是()。#includedstdio.h>#includedstrin9.h>main{char*s1="abDuj";char*s2="ABdUG";intt;t=strcmp(s1,s2);printf("%d",t);}A.正數(shù)B.負(fù)數(shù)C.零D.不確定的值

79.下面的變量說(shuō)明中__________是正確的。

A.char:a,b,c;

B.chara;b;c;

C.chara,b,c;

D.chara,b,c

80.

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:從3個(gè)紅球,5個(gè)白球,6個(gè)黑球中任意取出8個(gè)作為一組,進(jìn)行輸出。在每組中,可以沒有黑球,但必須要有紅球和白球。組合數(shù)作為函數(shù)值返回。正確的組合數(shù)應(yīng)該是l5。程序中i的值代表紅球數(shù),j的值代表白球數(shù),k的值代表黑球數(shù)。

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

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

試題程序:

六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫一個(gè)函數(shù),用來(lái)刪除字符串中的所有*。例如,輸入abc*de*f*gh,則輸出為abcdefgh。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫的若干語(yǔ)句。試題程序:

參考答案

1.A

2.Ascanf函數(shù)中,在格式字符前加入一個(gè)整數(shù)可以指定輸入數(shù)據(jù)所占的寬度,所以賦值時(shí)會(huì)將87賦給變量a,把6.0賦給float型變量b。故本題答案為A選項(xiàng)。

3.D解析:本題考核的知識(shí)點(diǎn)是指針變量定義和賦值語(yǔ)句的基本應(yīng)用。在使用一個(gè)指針變量之前,先要用聲明語(yǔ)句對(duì)其進(jìn)行定義,在定義了一個(gè)指針變量之后,系統(tǒng)就為這個(gè)指針變量分配了一個(gè)存儲(chǔ)單元,用它來(lái)存放地址。在C語(yǔ)言中有兩個(gè)有關(guān)指針的運(yùn)算符:&運(yùn)算符,為取地址運(yùn)算符,*運(yùn)算符是指針運(yùn)算符,*p代表p所指向的變量。本題中首先定義了整型變量n,其初值為0,接著定義一個(gè)指針變量p并讓它指向n,然后定義了一個(gè)指向指針的指針變量q并讓它指向p,選項(xiàng)A中將常量1賦給指針p不正確;選項(xiàng)B也是將常量2賦給*p,故選項(xiàng)B不正確;選項(xiàng)C中P不是指向指針的指針變量,而將他賦值給一個(gè)指向指針的指針變量小顯然不正確,所以,4個(gè)選項(xiàng)中選項(xiàng)D符合題意。

4.CA、B、D選項(xiàng)的含義均為:a的值如果為0,輸出y的值,否則輸出x的值。而C選項(xiàng)的含義是:a的值為0時(shí)輸出x的值,不為0時(shí)輸出y的值,與其他選項(xiàng)正好相反。故本題答案為C選項(xiàng)。

5.B棧是先進(jìn)后出,因此,棧底元素是先入棧的元素,棧頂元素是后入棧的元素。

6.B

7.B解析:C語(yǔ)言的字符以其ASCII碼的形式存在,所以要確定某個(gè)字符是大寫字母,只要確定它的ASCII碼在'A'和'Z'之間就可以了,選項(xiàng)A)和C)符合要求。函數(shù)isalpha用來(lái)確定一個(gè)字符是否為字母,大寫字母的ASCII碼值的范圍為65到90,所以如果一個(gè)字母的ASCII碼小于91,那么就能確定它是大寫字母。

8.A

9.A數(shù)據(jù)字典是在需求分析階段建立,在數(shù)據(jù)庫(kù)設(shè)計(jì)過程中不斷修改、充實(shí)和完善的。故答案為A選項(xiàng)。

10.C解析:選項(xiàng)A)char*a;*a=“china”應(yīng)改為a=china;,選項(xiàng)B)應(yīng)該是charstr[6];D)項(xiàng)表述方法有錯(cuò)誤。

11.B

12.D

13.C解析:棧和隊(duì)列都是操作受限制的線性表,只允許在端點(diǎn)插入和刪除。不同點(diǎn)是:棧只允許在表的一端進(jìn)行插入和刪除操作,而隊(duì)列允許在表的一端進(jìn)行插入操作,而在另一端進(jìn)行刪除操作。

14.A

15.C

16.B解析:在C語(yǔ)言程序中,用單引號(hào)把一個(gè)字符或反斜線后跟一個(gè)特定的字符括起來(lái)表示一個(gè)字符常量。選項(xiàng)A)、C)和D)為正確的字符常量,而選項(xiàng)B)是用雙引號(hào)括起來(lái)的字符,表示一個(gè)字符串常量。

17.A[解析]數(shù)組定義后,不可以對(duì)數(shù)組整體賦值,s是二維數(shù)組,因ss[1]是一維字符數(shù)組,即字符串,字符串賦值可以使用strcpy[1],"right);這樣的形式,而選項(xiàng)A)中對(duì)二維數(shù)組中的第“1維(相當(dāng)于一個(gè)一維數(shù)組)賦值,是不可以的。選項(xiàng)B)和D)是定義時(shí)對(duì)數(shù)組初始化,這是可以的。選項(xiàng)C)中,將字符串在內(nèi)存中的首地址賦給指針數(shù)組的一個(gè)元素,這是可以的。

18.Dx[0]是不能賦值的。

19.B解析:關(guān)系數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)的主要工作是將\ue008E-R\ue009圖轉(zhuǎn)換成指定RDBMS中的關(guān)系模式。首先,從E-R圖到關(guān)系模式的轉(zhuǎn)換是比較直接的,實(shí)體與聯(lián)系都可以表示成關(guān)系,E-R圖中屬性也可以轉(zhuǎn)換成關(guān)系的屬性,實(shí)體集也可以轉(zhuǎn)換成關(guān)系。

20.A【答案】:A

【知識(shí)點(diǎn)】:黑盒測(cè)試

【解析】:黑盒測(cè)試也稱功能測(cè)試或數(shù)據(jù)驅(qū)動(dòng)測(cè)試,它完全不考慮程序內(nèi)部的邏輯結(jié)構(gòu)和內(nèi)部特征,只著眼于程序的外部結(jié)構(gòu),主要用來(lái)檢查程序功能是否按照需求規(guī)格說(shuō)明書的規(guī)定正常使用。故選A。

21.44解析:strcpy(s1,s2)函數(shù)的作用是將字符串s2中的內(nèi)容拷貝到字符串s1中的內(nèi)容覆蓋。strlen()函數(shù)是求字符串的長(zhǎng)度。本題實(shí)際上是要求s2字符串的長(zhǎng)度,即是4。

22.1.09877e+010

23.abcbcc

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

25.調(diào)試調(diào)試

26.數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì)

27.abcdefglkjihabcdefglkjih解析:本題主要考查了字符變量可參與的運(yùn)算。因?yàn)樽址谟?jì)算機(jī)中是以ASCII碼的形式存放的,所以字符變量可看作整型變量來(lái)處理,如參與算術(shù)運(yùn)算等,某字符的大寫字母的ASCII碼值比它對(duì)應(yīng)的小寫字母ASCII碼值小32。

28.1515解析:在函數(shù)f()中只有一條if語(yǔ)句,如果n不小于1,則返回f(a,n-1)+a[n-1];否則返回0。所以f(aa,5)返回f(aa,4)+aa[4],而f(aa,4)返回f(aa,3)+aa[3],……直到f(aa,0)返回0。故f(aa,5)實(shí)際返回值是0+aa[1]+aa[2]+aa[3]+aa[4]+aa[5],所以本題最終輸出15。

29.(c=getchar())!='\n'(c=getchar())!='\\n'解析:分析題目可知,程序中運(yùn)用函數(shù)c=getchar()從標(biāo)準(zhǔn)輸入設(shè)備讀取下一個(gè)字符,而且是一行的字符(即沒有換行),所以條件為(c=getchar())!='\\n'。

30.11231123解析:在主函數(shù)中第一次調(diào)用func子函數(shù)時(shí),m=0,i=2,i=i+m+1=3,m=i+a+b=3+5+3=11。因?yàn)樵谧雍瘮?shù)中將m和i定義成了static類型,所以在子函數(shù)中對(duì)m和i進(jìn)行的改變?cè)谙乱淮握{(diào)用子函數(shù)時(shí)能進(jìn)行保存,所以第二次調(diào)用子函數(shù)時(shí),m=11,i=3,則i=i+m+1=15,m=i+a+b=15+5+3=23。

31.視圖表視圖表解析:關(guān)系數(shù)據(jù)庫(kù)中通常有3種關(guān)系,即基本關(guān)系(又稱基本表或基表)、查詢表和視圖表?;颈硎窃跈C(jī)器中實(shí)際存儲(chǔ)數(shù)據(jù)的表。查詢表是查詢的結(jié)果所對(duì)應(yīng)的臨時(shí)表。視圖表是由基本表或其他視圖表導(dǎo)出的表,是不實(shí)際存儲(chǔ)數(shù)據(jù)的表。視圖表是一個(gè)虛表。

32.有窮性有窮性解析:算法有四個(gè)基本特征:可行性、確定性、有窮性和擁有足夠的情報(bào)。

33.關(guān)系模型關(guān)系模型解析:在數(shù)據(jù)庫(kù)中用數(shù)據(jù)模型這個(gè)工具來(lái)抽象、表示和處理現(xiàn)實(shí)世界中的數(shù)據(jù)和信息。通俗地講,數(shù)據(jù)模型就是現(xiàn)實(shí)世界的反映,它分為兩個(gè)階段:把現(xiàn)實(shí)世界中的客觀對(duì)象抽象為概念模型;把概念模型轉(zhuǎn)換為某一DBMS支持的數(shù)據(jù)模型。常見的數(shù)據(jù)模型有3種,它們分別是層次模型、網(wǎng)狀模型和關(guān)系模型。

34.8181解析:本題的宏調(diào)用S(i+j)將被替換成表達(dá)式4*i+j*i+j+l等于4*6+8*6+8+1=24+48+8+1=81。所以本題輸出81。

35.256256解析:本題考查對(duì)存儲(chǔ)器按字節(jié)進(jìn)行編址的規(guī)則及其尋址范圍(2n),其中n為存儲(chǔ)器芯片中地址線的條數(shù)。

36.程序調(diào)試程序調(diào)試解析:程序調(diào)試的任務(wù)是診斷和改正程序中的錯(cuò)誤。程序調(diào)試與軟件測(cè)試不同,軟件測(cè)試是盡可能多地發(fā)現(xiàn)軟件中的錯(cuò)誤。先要發(fā)現(xiàn)軟件的錯(cuò)誤,然后借助于調(diào)試工具找出軟件錯(cuò)誤的具體位置。軟件測(cè)試貫穿整個(gè)軟件生命期,而調(diào)試主要在開發(fā)階段。

37.PERPER解析:本題中,typedef聲明新的類型名PER來(lái)代替已有的類型名,PER代表上面指定的一個(gè)結(jié)構(gòu)體類型,此時(shí),也可以用PER來(lái)定義變量。

38.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。

39.前后件關(guān)系前后件關(guān)系解析:在數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)中,除了要存儲(chǔ)數(shù)據(jù),還要存儲(chǔ)數(shù)據(jù)的前后件關(guān)系,對(duì)于順序存儲(chǔ)的數(shù)據(jù)結(jié)構(gòu),前后件之間的關(guān)系,是通過存儲(chǔ)空間的位置來(lái)實(shí)現(xiàn)的,而對(duì)于鏈?zhǔn)酱鎯?chǔ)來(lái)說(shuō),數(shù)據(jù)元素之間的前后件關(guān)系是通過指針來(lái)實(shí)現(xiàn)的。

40.物理獨(dú)立性物理獨(dú)立性解析:數(shù)據(jù)獨(dú)立性分為邏輯獨(dú)立性與物理獨(dú)立性。當(dāng)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)改變時(shí),其邏輯結(jié)構(gòu)可以不變,因此,基于邏輯結(jié)構(gòu)的應(yīng)用程序不必修改,稱為物理獨(dú)立性。

41.D解析:構(gòu)造類型數(shù)據(jù)是由基本類型數(shù)據(jù)按一定規(guī)則組成的。C語(yǔ)言中的構(gòu)造類型數(shù)據(jù)只有3種,它們是數(shù)組類型、結(jié)構(gòu)體類型和共用體類型。故應(yīng)該選擇D。

42.A本題主要考查標(biāo)識(shí)符的定義。對(duì)標(biāo)識(shí)符的定義是考試中??嫉膬?nèi)容之一。標(biāo)識(shí)符主要由數(shù)字、下畫線和字母組成,其中數(shù)字不能放在首位,另外,用戶自定義標(biāo)識(shí)符時(shí),不能將標(biāo)識(shí)符定義為C語(yǔ)言中已定義的關(guān)鍵字,如int、while等。

根據(jù)上面對(duì)標(biāo)識(shí)符的分析,我們不難看出本題的正確答案是A。在選項(xiàng)B中,3_xy以數(shù)字開頭,不符合標(biāo)識(shí)符定義的規(guī)定;在選項(xiàng)C中,int是C語(yǔ)言系統(tǒng)中已經(jīng)定義了的關(guān)鍵字;在選項(xiàng)D中,LINE-3使用的數(shù)字、下畫線和字母以外的字符,因此不正確。

43.D解析:字符串必須以‘\\0’為結(jié)束符。

44.A解析:在C語(yǔ)言中,數(shù)組元素是從0開始的。指針變量p指向數(shù)組的首地址,(p+2)就會(huì)指向數(shù)組中的第3個(gè)元素。題目中要求輸出的是元素的值。

45.D解析:常見的需求分析方法有結(jié)構(gòu)化分析方法和面向?qū)ο蟮姆治龇椒▋深?。其中結(jié)構(gòu)化分析方法又包括面向數(shù)據(jù)流的結(jié)構(gòu)化分析方法(SA-Structuredanalysis),面向數(shù)據(jù)結(jié)構(gòu)的Jackson方法(JSD-Jacksonsystemdevelopmentmethod)和面向數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)化數(shù)據(jù)系統(tǒng)開發(fā)方法(DSSD-Datastructuredsystemdevelopmentmethod)。

46.C解析:考查通過指針來(lái)引用一維數(shù)組元素的方法。若指針s指向數(shù)組a,則s[t]可以引用數(shù)組a中下標(biāo)為t的元素。

47.Cc)【解析】大量軟件設(shè)計(jì)表明,以下的設(shè)計(jì)準(zhǔn)則是可以借鑒為設(shè)計(jì)的指導(dǎo)和對(duì)軟件結(jié)構(gòu)圖進(jìn)行優(yōu)化,這些準(zhǔn)則是:提高模塊獨(dú)立性;模塊規(guī)模適中;深度、寬度、扇出和扇入適當(dāng):使模塊的作用域在該模塊的控制域中;應(yīng)減少模塊的接口和界面的復(fù)雜性;設(shè)計(jì)成單入口、單出口的模塊;設(shè)計(jì)功能可預(yù)測(cè)的模塊。

48.C解析:在復(fù)合賦值語(yǔ)句中,應(yīng)該由右向左依次賦值,在表達(dá)式中,右端由i*=k得i=2*2為4,k=k+i,即k值為6,m=k故m=6。

49.B

50.C解析:s是一個(gè)含有兩個(gè)元素的指針數(shù)組,pp是一個(gè)指向指針變量的指針,s[0]是指向二維數(shù)組a行下標(biāo)為0的元素的首地址,即a[0][0]的地址,s[1]為a[1][0]的地址。pp的值為s[0]的地址。**pp=s[1][1]后,a[0][0]的值將被賦值為a[1][1]的值,執(zhí)行p=*pp;后,p中將是s[0]的值,最后的輸出語(yǔ)句將輸出地址s[0]所指向的數(shù)據(jù),即a[0][0]。

51.DD)【解析】數(shù)據(jù)庫(kù)管理一般包括:數(shù)據(jù)庫(kù)的建立、數(shù)據(jù)庫(kù)的調(diào)整、數(shù)據(jù)庫(kù)的重組、數(shù)據(jù)庫(kù)的安全性控制與完整性控制、數(shù)據(jù)庫(kù)的故障恢復(fù)和數(shù)據(jù)庫(kù)的監(jiān)控。

52.D解析:該題考查邏輯與“&&”和邏輯或“‖”以及邏輯非“!”符號(hào)的用法。選項(xiàng)A)即3&&4為真;選項(xiàng)B)即3<=4為真;選項(xiàng)C)是一個(gè)邏輯或與邏輯與的混合運(yùn)算,只要執(zhí)行了邏輯或左半部分,程序?qū)⒅苯油V箞?zhí)行邏輯或右半部分程序,因?yàn)閤的值為真;此時(shí)選項(xiàng)C)變?yōu)?&&-1為真。選項(xiàng)D)不用計(jì)算,括號(hào)內(nèi)邏輯或右邊的值為1,因而括號(hào)內(nèi)的值為1,再進(jìn)行邏輯非運(yùn)算得0。

53.A解析:本題考查函數(shù)的遞歸調(diào)用。在函數(shù)遞歸調(diào)用時(shí),fun(5):a=5-fun(3)->fun3=a=3-fun(1)->fun(1):a-3,反推回去fun(3):a=3-3=0->fun(5):a=5-0=5,最后的計(jì)算結(jié)果為5。

54.C解析:限制使用GOTO語(yǔ)句是結(jié)構(gòu)化程序設(shè)計(jì)的原則和方法之一,但不是絕對(duì)不允許使用GOTO語(yǔ)句。其他3項(xiàng)為結(jié)構(gòu)化程序設(shè)計(jì)的原則。

55.B解析:scanf函數(shù)中格式控制后面是地址表列,不能用變量名。數(shù)組名c代表數(shù)組在內(nèi)存的首地址,&b代表變量b的首地址,選項(xiàng)B)正確。

56.A解析:本題主要考查按位與運(yùn)算,x=011050的二進(jìn)制形式為000100100010t000,01252的二進(jìn)制形式為0000001010101010,兩者相與得0000001000101000。

57.B解析:在對(duì)程序進(jìn)行測(cè)試時(shí)會(huì)發(fā)現(xiàn)錯(cuò)誤,這就要進(jìn)行程序調(diào)試(排錯(cuò))。程序調(diào)試活動(dòng)由三部分組成:一是錯(cuò)誤定位,根據(jù)錯(cuò)誤的外部表現(xiàn)形式,確定程序中出錯(cuò)的位置,找出錯(cuò)誤的內(nèi)在原因;二是對(duì)程序進(jìn)行修改,排除這個(gè)錯(cuò)誤;三是進(jìn)行回歸測(cè)試,防止引進(jìn)新的錯(cuò)誤。所以程序調(diào)試的目的就是診斷和改正程序中的錯(cuò)誤。軟件調(diào)試不能改善軟件的性能,也不能挖掘軟件的潛能。

58.C解析:計(jì)算機(jī)語(yǔ)言分為低級(jí)語(yǔ)言、匯編語(yǔ)言和高級(jí)語(yǔ)言,C語(yǔ)言屬于高級(jí)語(yǔ)言,但并不是說(shuō)C語(yǔ)言比其他語(yǔ)言高級(jí),所以選項(xiàng)A錯(cuò)誤;除了低級(jí)語(yǔ)言外,其他各種語(yǔ)言都必須編譯成能被計(jì)算機(jī)識(shí)別的二進(jìn)制數(shù)才能執(zhí)行,選項(xiàng)B錯(cuò)誤;C語(yǔ)言出現(xiàn)在1972年到1973年間,并不是出現(xiàn)最晚的語(yǔ)言,所以選項(xiàng)D也是錯(cuò)誤的。

59.D解析:本題考查邏輯與運(yùn)算符的用法,在表達(dá)式x=(a&&b)&&(c<'B')中,先判斷a&&b,邏輯與條件的兩邊都為真,而c<'B'是成立的,所以該表達(dá)式的值為1。

60.C解析:p是指向字符的指針數(shù)組。執(zhí)行第1個(gè)循環(huán)后,p[0]指向字符數(shù)組ch的第1行'6937',p[1]指向字符數(shù)組ch的第2行'8254',那么p[0][0]其實(shí)就對(duì)應(yīng)著ch[0][0],表示第1行的第1個(gè)元素“6”。第2個(gè)循環(huán)中,外層i循環(huán)是控制指針數(shù)組p的,內(nèi)層j循環(huán)則是對(duì)每一行內(nèi)的各個(gè)元素進(jìn)行處理,特別注意循環(huán)變量j的改變'j+=2'。這樣就可以看出是對(duì)ch[0][0]、ch[0][2]、ch[1][0]和ch[1][2]進(jìn)行處理。

61.A本題考查函數(shù)值的類型。在函數(shù)調(diào)用時(shí),盡管Y的類型是float.x的類型是double,但是因?yàn)楹瘮?shù)定義時(shí)沒有指定類型說(shuō)明,系統(tǒng)默認(rèn)函數(shù)值的類型為int型,所以計(jì)算后Y的類型是int型。

62.A

63.Cc語(yǔ)言中函數(shù)參數(shù)傳遞滿足”單向傳遞”,只由實(shí)參傳給形參,而不能由形參傳給實(shí)參。Fun函數(shù)體內(nèi)輸出P的值為2,而并沒有影響到fun函數(shù)外a的值,a的值在main函數(shù)體內(nèi)依然為1,所以選項(xiàng)c)正確。

64.B

\nstructdate中包含year、month、day這3個(gè)整型變量,一個(gè)整型變量占2個(gè)字節(jié);sizeof是求所占字節(jié)數(shù)的運(yùn)算符。

\n

65.A本題考查按位與運(yùn)算,按位與就是相同為1,不同為0,把x=011050化成二進(jìn)制為0001001000101000,把01252化成二進(jìn)制為0000001010101010,兩者相與得0000001000101000。

66.A若a為0,A)選項(xiàng)輸出x,其他輸出y,所以選擇A)。

67.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)算的。

68.B

69.D

70.A本題綜合考查字符數(shù)組的賦值和strcpy函數(shù)的用法。C語(yǔ)言不允許用賦值表達(dá)式對(duì)字符數(shù)組賦值,如下面的語(yǔ)句就是非法的:str1='China',如果想把“China”這5個(gè)字符放到數(shù)組str1中,除了逐個(gè)輸入外,還能使用strcpy函數(shù),該函數(shù)的功能是將一個(gè)字符串復(fù)制到一字符數(shù)組中。例如,strcpy(str1,'China');或strcpy(str1,str2);注意,不能企圖用以下語(yǔ)句來(lái)實(shí)行賦值(將str2的值傳給str1):str1=str2;不能用賦值語(yǔ)句將一個(gè)字符串常量或字符數(shù)組直接給一個(gè)字符數(shù)組。

strcpy函數(shù)的結(jié)構(gòu)是:strcpy(字符數(shù)組1,字符串2)

其中,需要注意的是,字符數(shù)組1的長(zhǎng)度不應(yīng)小于字符串2的長(zhǎng)度,“字符數(shù)組1”必須寫成數(shù)組名形式,如(str1),“字符串2”可以是字符數(shù)組名,也可以是字符串常量,不能用賦值語(yǔ)句將一個(gè)字符串常量或字符數(shù)組直接給一個(gè)字符數(shù)組。

71.A\n軟件危機(jī)是計(jì)算機(jī)軟件在它的開發(fā)和維護(hù)過程中所遇到的一系列嚴(yán)重問題。主要表現(xiàn)在以下六個(gè)方面:軟件需求的增長(zhǎng)得不到滿足;軟件開發(fā)成本和進(jìn)度無(wú)法控制;軟件質(zhì)量難以保證;軟件可維護(hù)性差;軟件的成本不斷提高;軟件開發(fā)生產(chǎn)率的提高趕不上硬件的發(fā)展和應(yīng)用需求的增長(zhǎng)。

\n

72.B一般較優(yōu)秀的軟件設(shè)計(jì),應(yīng)盡量做到高內(nèi)聚、低耦合,即減弱模塊之間的耦合性和提高模塊內(nèi)的內(nèi)聚性,有利于提高模塊的獨(dú)立性。

73.C【答案】:C

【知識(shí)點(diǎn)】:需求分析階段的任務(wù)

【解析】:需求分析階段的任務(wù)是深入描述軟件的功能和性能,確定軟件設(shè)計(jì)的約束和軟件同其他系統(tǒng)元素的接口細(xì)節(jié),定義軟件的其他有效性需求,借助于當(dāng)前系統(tǒng)的邏輯模型導(dǎo)出目標(biāo)系統(tǒng)邏輯模型,解決目標(biāo)系統(tǒng)“做什么”的問題。可分為需求提出、需求描述及需求評(píng)審三個(gè)階段。從此可以看出需求分析的任務(wù)不包括制定軟件集成測(cè)試計(jì)劃,故選C。

74.D本題考查if語(yǔ)句的嵌套。if語(yǔ)句中的一

種表達(dá)方式,即:if…elseif…。

該表達(dá)式的語(yǔ)句是:

if(表達(dá)式1)

語(yǔ)句l

elseif(表達(dá)式2)

語(yǔ)句2

elseif(表達(dá)式3)

語(yǔ)句3

else

語(yǔ)句4

本題執(zhí)行elsey=1.0,并且以”%f”輸出。

75.A

76.B

77.A解析:理解復(fù)雜定義要掌握兩點(diǎn):一、右結(jié)合原則.本題中的定義char*line[5];等價(jià)于char*(line[5]);;二、自外向內(nèi)分解成typedef語(yǔ)句。char*(line[5]);等價(jià)于typedefchar*A;Aline[5];其中A被typedef定義成字符指針的別名,然后line被定義成A的一維數(shù)組,即字符指針的一維數(shù)組。再來(lái)看看行指針的定義char(*line)[5];它應(yīng)該被分解成typedefcharB[5];B*line;其中B被定義成包含5個(gè)元素的一維字符數(shù)組,然后line被定義成指向B的指針,即指向包含5個(gè)元素的一維字符數(shù)組的指針。所以兩者切不可混淆了,后者的括號(hào)不能省略。故本題應(yīng)該選擇A。

78.A本題考查符符串比較函數(shù)和兩個(gè)字符串比較的原則這兩個(gè)知識(shí)點(diǎn)。

(1)兩字符串比較的原則是依次比較兩個(gè)字符串同一位置的一對(duì)字符,若它們的ASCII碼值相同,則繼續(xù)比較下一對(duì)字符,若它們的ASCII碼值不同,則ASCII碼值較大的字符所在的字符串較大;若所有字符相同,則兩個(gè)字符串相等;若一個(gè)字符串全部i個(gè)字符與另一個(gè)字符串的前i個(gè)字符相同,則字符串較長(zhǎng)的較大(2)strcmp(s1,s2)的返回值,當(dāng)str1<str2時(shí),返回值為負(fù)數(shù);當(dāng)str1=str2時(shí),返回0;當(dāng)str1>str2,返回值為正數(shù)。

79.B

80.C

81.

82.

【解析】根據(jù)題目中要求刪除字符串中所有的*號(hào),需要檢查字符串中的每一個(gè)字符,將不是*號(hào)的字符放入原來(lái)的字符串中,形成新的字符串,最后在新的字符串的末尾加上結(jié)束符。

2021年遼寧省阜新市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.下面合法的C語(yǔ)言字符常量是()。

A.'\t'B."A"C.65D.A

2.設(shè)有定義“inta;floatb;”,執(zhí)行“scanf(“%2d%f”,&a,&b);”語(yǔ)句時(shí),若從鍵盤輸入876543.0并按<Enter>鍵,則a和b的值分別是()。

A.87和6.0B.876和543.0C.87和543.0D.76和543.0

3.設(shè)有定義:intn=0,*p=&n,**q=&p;則以下選項(xiàng)中,正確的賦值語(yǔ)句是()A.p=1;B.*q=2;C.q=p;D.*p=5;

4.下列條件語(yǔ)句中,輸出結(jié)果與其他語(yǔ)句不同的是()。

A.if(a!=0)printf(“%d\n”,x);elseprintf(“%d\n”,y);

B.if(a==0)printf(“%d\n”,y);elseprintf(“%d\n”,x);

C.if(a==0)printf(“%d\n”,x);elseprintf(“%d\n”,y);

D.if(a)printf(“%d\n”,x);elseprintf(“%d\n”,y);

5.下列關(guān)于棧的敘述中,正確的是()。

A.棧底元素一定是最后入棧的元素B.棧操作遵循先進(jìn)后出的原則C.棧頂元素一定是最先入棧的元素D.以上三種說(shuō)法都不對(duì)

6.設(shè)有二維數(shù)組A7×8,每個(gè)數(shù)據(jù)元素占8個(gè)字節(jié)存儲(chǔ)單元,順序存放,A第一個(gè)元素A0,0的存儲(chǔ)地址為1000,數(shù)組A的最后一個(gè)元素A6,7的存儲(chǔ)地址為()。

A.1024B.1440C.1448D.1432

7.已知字母A的ASCII代碼值為65,若變量kk為char型,以下不能正確判斷出kk中的值為大寫字母的表達(dá)式是

A.kk>=′A′&&kk<=′Z′

B.!(kk>=′A′||kk<=′Z′)

C.(kk+32)>=′a′&&(kk+32)<=′Z′

D.isalpha(kk)&&(kk<91)

8.

9.下列關(guān)于數(shù)據(jù)庫(kù)設(shè)計(jì)的敘述中,正確的是()。

A.在需求分析階段建立數(shù)據(jù)字典

B.在概念設(shè)計(jì)階段建立數(shù)據(jù)字典

C.在邏輯設(shè)計(jì)階段建立數(shù)據(jù)字典

D.在物理設(shè)計(jì)階段建立數(shù)據(jù)字典

10.下面判斷正確的是

A.char*a="china";等價(jià)于char*a;*a="china";

B.charstr[5]={"china"};等價(jià)于charstr[]={"china"};

C.char*s="china";等價(jià)于char*s;s="china";

D.charc[4]="abc",d[4]="abc";等價(jià)于charc[4]=d[4]="abc";

11.下面程序的時(shí)間復(fù)雜為()A.O(n)B.O(n^2)C.O(n^3)D.O(n^4)

12.

13.棧和隊(duì)列的共同點(diǎn)是()。

A.都是先進(jìn)先出B.都是先進(jìn)后出C.只允許在端點(diǎn)處插入和刪除元素D.沒有共同特點(diǎn)

14.數(shù)據(jù)結(jié)構(gòu)通常研究數(shù)據(jù)的()及運(yùn)算。

A.物理結(jié)構(gòu)和邏輯結(jié)構(gòu)B.存儲(chǔ)和抽象C.理想和抽象D.理想與邏輯

15.設(shè)變量a是整型,f是實(shí)型,i是雙精度型,則表達(dá)式10+'a'+i*f值的數(shù)據(jù)類型為()。

A.intB.floatC.doubleD.不確定

16.以下選項(xiàng)中不屬于字符常量的是

A.′C′B.′′C′′C.′\xCC′D.′\072′

17.以下語(yǔ)句中存在語(yǔ)法錯(cuò)誤的是()。A.charss[6][20];s[1]="right?";

B.charss0[20]={"right?"};.

C.char*ss[6];s[1]="right?";

D.char*ss[={"rignt?"};

18.設(shè)有定義:intx[2][3];,則以下關(guān)于二維數(shù)組X的敘述錯(cuò)誤的是()。

A.x[0]可看做是由3個(gè)整型元素組成的一維數(shù)組

B.x[0]和x[l]是數(shù)組名,分別代表不同的地址常量

C.數(shù)組X包含6個(gè)元素

D.可以用語(yǔ)句x[o]=0;為數(shù)組所有元素賦初值0

19.將E-R圖轉(zhuǎn)換到關(guān)系模式時(shí),實(shí)體與聯(lián)系都可以表示成________。

A.屬性B.關(guān)系C.鍵D.域

20.在黑盒測(cè)試方法中,設(shè)計(jì)測(cè)試用例的主要根據(jù)是A.程序外部功能B.程序內(nèi)部邏輯C.程序數(shù)據(jù)結(jié)構(gòu)D.程序流程圖

二、2.填空題(20題)21.若有下列定義和語(yǔ)句:

char*s1="12345",*s2="1234";

printf("%d\n",strlen(strcpy(s1,s2)));

則輸出結(jié)果為______。

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

voidfun(int*n)

{while((*n))

printf("%d",(*n)--);

}

main()

{inta=10;

fun(&a);

}

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

#include<string.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");

}

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

main()

{

charstr1[]="Howdoyoudo",*p1=str1;

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

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

}

25.測(cè)試的目的是暴露錯(cuò)誤,評(píng)價(jià)程序的可靠性;而______的目的是發(fā)現(xiàn)錯(cuò)誤的位置并改正錯(cuò)誤。

26.______是數(shù)據(jù)庫(kù)應(yīng)用的核心。

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

#include<stdio.h>

#defineSIZE12

main()

{chars[SIZE];inti;for(i=0;i<SIZE;i++)s[i]='A'+i+321;

sub(s,7,SIZE-1);

for(i=0;i<SIZE;i++)printf("%c",s[i]);

printf("\n");}

sub(char*a,intt1,intt2)

{charch;

while(t1<t1)

{ch=*(a+t1);

*(a+t1)=*(a+t2);

*(a+t2)=ch;

t1++;t2--;}}

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

intf(inta[],intn)

{

if(n>=1)

returnf(a,n-1)+a[n-1];

else

return0;

}

main()

{

intaa[5]={1,2,3,4,5},s;

s=f(aa,5);

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

}

29.下列程序的功能是對(duì)輸入的一行字符中的數(shù)字字符的字面值累加,輸出此累加和,請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

#include<ctype.h>

main()

{charc;

inta,s=0;

while(______)

if(isdigit(C))

{a=c-'0';s+=a;}

printf("s=%d",s);

}

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

#include<stdio.h>

func(a,b)

{staticintm=0,i=2;

i+=m+1;

m=i+a+b;

return(m);

}

main()

{intk=5,m=3,p;

p=func(k,m);

printf("%d",p);

p=func(k,m);

printf("%d、n",p);

}

31.關(guān)系可以有3種類型,即基本關(guān)系(又稱基本表或基表)、查詢表和【】。

32.算法的基本特征是可行性、確定性、【】和擁有足夠的情報(bào)。

33.在數(shù)據(jù)庫(kù)中用數(shù)據(jù)模型這個(gè)工具來(lái)抽象、表示和處理現(xiàn)實(shí)世界中的數(shù)據(jù)和信息。常見的數(shù)據(jù)模型有3種,它們分別是層次模型、網(wǎng)狀模型和()。

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

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

mah()

{inti=6,j=8;

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

}

35.對(duì)存儲(chǔ)器按字節(jié)進(jìn)行編址,若某存儲(chǔ)器芯片共有8根地址線,則該存儲(chǔ)器芯片的存儲(chǔ)容量為【】字節(jié)。

36.診斷和改正程序中錯(cuò)誤的工作通常稱為【】。

37.以下說(shuō)明語(yǔ)句中,【】是結(jié)構(gòu)體類型名。

typedefstruct

{intn;

charch[8];

}PER;

38.設(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)行后,從鍵盤上輸入(<CR>代表回車符):DEF<CR>BADEF<CR>QTHRG<CR>,則程

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

39.在數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)中,不僅需要存儲(chǔ)各數(shù)據(jù)元素的信息,還要存放各元素之間______的信息。

40.數(shù)據(jù)獨(dú)立性分為邏輯獨(dú)立性與物理獨(dú)立性。當(dāng)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)改變時(shí),其邏輯結(jié)構(gòu)可以不變,因此,基于邏輯結(jié)構(gòu)的應(yīng)用程序不必修改,稱為【】。

三、1.選擇題(20題)41.下列選項(xiàng)中屬于C語(yǔ)言構(gòu)造類型的是()

A.指針類型B.空類型C.枚舉類型D.數(shù)組類型

42.下列是用戶自定義標(biāo)識(shí)符的是

A._w1B.3_xyC.intD.LINE-3

43.以下能正確定義字符串的語(yǔ)句是()。

A.charstr[]={'\064'};

B.charstr="kx43";

C.charstr=";

D.charstr[]="\0";

44.下面程序的輸出結(jié)果是main(){inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;printf("%d\n",*(p+2));}

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

45.下列敘述中,不屬于結(jié)構(gòu)化分析方法的是()。A.A.面向數(shù)據(jù)流的結(jié)構(gòu)化分析方法

B.面向數(shù)據(jù)結(jié)構(gòu)的Jackson方法

C.面向數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)化數(shù)據(jù)系統(tǒng)開發(fā)方法

D.面向?qū)ο蟮姆治龇椒?/p>

46.請(qǐng)選出以下程序的輸出結(jié)果

#include<stdio.h>

main()

{inta[]={1,2,3,4},i;

intx=0;

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

{sub(a,x);printf("%d",x);}

printf("\n");}

sub(s,y)

int*s,y;

{staticintt=3;

y=s[t];t--;}

A.1234B.4321C.0000D.4444

47.下列敘述中,不屬于設(shè)計(jì)準(zhǔn)則的是()。

A.提高模塊獨(dú)立性B.使模塊的作用域在該模塊的控制域中C.設(shè)計(jì)成多入口、多出口模塊D.設(shè)計(jì)功能可預(yù)測(cè)的模塊

48.若有以下程序:main(){intk=2,i=2,m;m=(k+=i*=k);printf(“%d,%d\n”,m,i);}執(zhí)行后的輸出結(jié)果是

A.8,6B.8,3C.6,4D.7,4

49.以下程序運(yùn)行后的輸出結(jié)果是______。main(){inty=18,i=0,j,a[8];do{a[i]=y%2;i++;y=y/2;}while(y>=1);for(j=i-1;j>=0;j--)printf("%d",a[j]);printf("\n");}

A.1000B.10010C.110D.10100

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

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

51.下列選項(xiàng)中,不屬于數(shù)據(jù)庫(kù)管理的是()

A.數(shù)據(jù)庫(kù)的建立B.數(shù)據(jù)庫(kù)的調(diào)整C.數(shù)據(jù)庫(kù)的監(jiān)控D.數(shù)據(jù)庫(kù)的校對(duì)

52.設(shè)x,y和z都是血型變量,且x=3,y=4,z=5,則下面表達(dá)式中,值為0的表達(dá)式是

A.x&&y

B.x<=y

C.x‖++y&&y-z

D.!(x<y&&!z‖1)

53.下列程序的輸出結(jié)果是()。#include<stdio.h>intfun(intx){intp;if(x==0‖x==1)return3;elsep=x-fun(x-2);returnp;}voidmain(){printf("\n%d",fun(5));}

A.5B.3C.7D.1

54.關(guān)于結(jié)構(gòu)化程序設(shè)計(jì)原則和方法描述錯(cuò)誤的是()。

A.選用的結(jié)構(gòu)只準(zhǔn)許有一個(gè)入口和一個(gè)出口

B.復(fù)雜結(jié)構(gòu)應(yīng)該用嵌套的基本控制結(jié)構(gòu)進(jìn)行組合嵌套來(lái)實(shí)現(xiàn)

C.不允許使用GOTO語(yǔ)句

D.語(yǔ)言中所沒有的控制結(jié)構(gòu),應(yīng)該采用前后一致的方法來(lái)模擬

55.有定義語(yǔ)句:intb;charc[10];則正確的輸入語(yǔ)句是()。

A.seanf("%d%s",&b,&c);

B.scanf("%d%s",&b,c);

C.seanf("%d%s",b,c);

D.scanf("%d%s",b,&c);

56.設(shè)x=011050,則x=x&01252的值是()。

A.1000101000

B.1111110100011000

C.1011100010

D.1100000000101000

57.軟件調(diào)試的目的是______。

A.發(fā)現(xiàn)錯(cuò)誤B.改正錯(cuò)誤C.改善軟件的性能D.挖掘軟件的潛能

58.以下敘述中正確的是______。

A.C語(yǔ)言比其他語(yǔ)言高級(jí)

B.C語(yǔ)言可以不用編譯就能被計(jì)算機(jī)識(shí)別執(zhí)行

C.C語(yǔ)言以接近英語(yǔ)國(guó)家的自然語(yǔ)言和數(shù)學(xué)語(yǔ)言作為語(yǔ)言的表達(dá)形式

D.C語(yǔ)言出現(xiàn)的最晚,具有其他語(yǔ)言的一切優(yōu)點(diǎn)

59.有如下程序段:inta=14,b=15,x;charc='A';x=(a&&b)&&(c<'B');執(zhí)行該程序段后,x的值為()。

A.tureB.假C.0D.1

60.以下程序的輸出結(jié)果是______。main(){charch[2][5]={"6937","8254"},*p[2];inti,j,s=0;for(i=0;i<2;i++)p[i]=ch[i];for(i=0;i<2;i++)for(j=0;p[i][j]>'\0';j+=2)s=10*s+p[i][j]-'\0';printf("%d\n",s);}

A.69825B.59713C.6385D.693825

四、選擇題(20題)61.下列函數(shù)的類型是()。fun(doublex){floaty;y=3*x-4;returny;}

A.intB.不確定C.voidD.float

62.

63.有以下程序:

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

A.32B.12C.21D.22

64.

下列程序的運(yùn)行結(jié)果為()。

#include<stdio.h>

main

{structdate

{intyear,month,day;

}today;

printf("%d\n",sizeof(structdate));

}

A.8B.6C.10D.12

65.設(shè)x=011050,則x=x&01252的值是()。A.0000001000101000

B.1111110100011001

C.0000001011100010

D.1100000000101000

66.下列條件語(yǔ)句中,輸出結(jié)果與其他語(yǔ)句不同的是()

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

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

68.

69.

70.第

11

若有定義:char*st="howareyou";下列程序段中正確的是

A.chara[11],*p;strcpy(p=a+1,&st[4]);

B.chara[11];strcpy(++a,st);

C.chara[11];strcpy(a,st);

D.chara[],*p;strcpy(p=&a[1],st+2);

71.下面描述中,不屬于軟件危機(jī)表現(xiàn)的是()。

A.軟件過程不規(guī)范B.軟件質(zhì)量難以控制C.軟件開發(fā)生產(chǎn)率低D.軟件成本不斷提高

72.軟件設(shè)計(jì)中劃分模塊的一個(gè)準(zhǔn)則是()。A.低內(nèi)聚低耦合B.高內(nèi)聚低耦合C.低內(nèi)聚高耦合D.高內(nèi)聚高耦合

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

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

74.有如下程序:

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

A.0.000000B.0.250000C.0.500000D.1.000000

75.

76.

77.若有語(yǔ)句:Char*line[5];,以下敘述中正確的是()。

A.定義line是一個(gè)數(shù)組,每個(gè)數(shù)組元素是一個(gè)基類型為Char的指針變量

B.定義line是一個(gè)指針變量,該變量可以指向一個(gè)長(zhǎng)度為5的字符型數(shù)組

C.定義line是一個(gè)指針數(shù)組,語(yǔ)句中的*號(hào)稱為間址運(yùn)算符

D.定義line是一個(gè)指向字符型函數(shù)的指針

78.下述程序的運(yùn)行結(jié)果是()。#includedstdio.h>#includedstrin9.h>main{char*s1="abDuj";char*s2="ABdUG";intt;t=strcmp(s1,s2);printf("%d",t);}A.正數(shù)B.負(fù)數(shù)C.零D.不確定的值

79.下面的變量說(shuō)明中__________是正確的。

A.char:a,b,c;

B.chara;b;c;

C.chara,b,c;

D.chara,b,c

80.

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:從3個(gè)紅球,5個(gè)白球,6個(gè)黑球中任意取出8個(gè)作為一組,進(jìn)行輸出。在每組中,可以沒有黑球,但必須要有紅球和白球。組合數(shù)作為函數(shù)值返回。正確的組合數(shù)應(yīng)該是l5。程序中i的值代表紅球數(shù),j的值代表白球數(shù),k的值代表黑球數(shù)。

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

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

試題程序:

六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫一個(gè)函數(shù),用來(lái)刪除字符串中的所有*。例如,輸入abc*de*f*gh,則輸出為abcdefgh。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫的若干語(yǔ)句。試題程序:

參考答案

1.A

2.Ascanf函數(shù)中,在格式字符前加入一個(gè)整數(shù)可以指定輸入數(shù)據(jù)所占的寬度,所以賦值時(shí)會(huì)將87賦給變量a,把6.0賦給float型變量b。故本題答案為A選項(xiàng)。

3.D解析:本題考核的知識(shí)點(diǎn)是指針變量定義和賦值語(yǔ)句的基本應(yīng)用。在使用一個(gè)指針變量之前,先要用聲明語(yǔ)句對(duì)其進(jìn)行定義,在定義了一個(gè)指針變量之后,系統(tǒng)就為這個(gè)指針變量分配了一個(gè)存儲(chǔ)單元,用它來(lái)存放地址。在C語(yǔ)言中有兩個(gè)有關(guān)指針的運(yùn)算符:&運(yùn)算符,為取地址運(yùn)算符,*運(yùn)算符是指針運(yùn)算符,*p代表p所指向的變量。本題中首先定義了整型變量n,其初值為0,接著定義一個(gè)指針變量p并讓它指向n,然后定義了一個(gè)指向指針的指針變量q并讓它指向p,選項(xiàng)A中將常量1賦給指針p不正確;選項(xiàng)B也是將常量2賦給*p,故選項(xiàng)B不正確;選項(xiàng)C中P不是指向指針的指針變量,而將他賦值給一個(gè)指向指針的指針變量小顯然不正確,所以,4個(gè)選項(xiàng)中選項(xiàng)D符合題意。

4.CA、B、D選項(xiàng)的含義均為:a的值如果為0,輸出y的值,否則輸出x的值。而C選項(xiàng)的含義是:a的值為0時(shí)輸出x的值,不為0時(shí)輸出y的值,與其他選項(xiàng)正好相反。故本題答案為C選項(xiàng)。

5.B棧是先進(jìn)后出,因此,棧底元素是先入棧的元素,棧頂元素是后入棧的元素。

6.B

7.B解析:C語(yǔ)言的字符以其ASCII碼的形式存在,所以要確定某個(gè)字符是大寫字母,只要確定它的ASCII碼在'A'和'Z'之間就可以了,選項(xiàng)A)和C)符合要求。函數(shù)isalpha用來(lái)確定一個(gè)字符是否為字母,大寫字母的ASCII碼值的范圍為65到90,所以如果一個(gè)字母的ASCII碼小于91,那么就能確定它是大寫字母。

8.A

9.A數(shù)據(jù)字典是在需求分析階段建立,在數(shù)據(jù)庫(kù)設(shè)計(jì)過程中不斷修改、充實(shí)和完善的。故答案為A選項(xiàng)。

10.C解析:選項(xiàng)A)char*a;*a=“china”應(yīng)改為a=china;,選項(xiàng)B)應(yīng)該是charstr[6];D)項(xiàng)表述方法有錯(cuò)誤。

11.B

12.D

13.C解析:棧和隊(duì)列都是操作受限制的線性表,只允許在端點(diǎn)插入和刪除。不同點(diǎn)是:棧只允許在表的一端進(jìn)行插入和刪除操作,而隊(duì)列允許在表的一端進(jìn)行插入操作,而在另一端進(jìn)行刪除操作。

14.A

15.C

16.B解析:在C語(yǔ)言程序中,用單引號(hào)把一個(gè)字符或反斜線后跟一個(gè)特定的字符括起來(lái)表示一個(gè)字符常量。選項(xiàng)A)、C)和D)為正確的字符常量,而選項(xiàng)B)是用雙引號(hào)括起來(lái)的字符,表示一個(gè)字符串常量。

17.A[解析]數(shù)組定義后,不可以對(duì)數(shù)組整體賦值,s是二維數(shù)組,因ss[1]是一維字符數(shù)組,即字符串,字符串賦值可以使用strcpy[1],"right);這樣的形式,而選項(xiàng)A)中對(duì)二維數(shù)組中的第“1維(相當(dāng)于一個(gè)一維數(shù)組)賦值,是不可以的。選項(xiàng)B)和D)是定義時(shí)對(duì)數(shù)組初始化,這是可以的。選項(xiàng)C)中,將字符串在內(nèi)存中的首地址賦給指針數(shù)組的一個(gè)元素,這是可以的。

18.Dx[0]是不能賦值的。

19.B解析:關(guān)系數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)的主要工作是將\ue008E-R\ue009圖轉(zhuǎn)換成指定RDBMS中的關(guān)系模式。首先,從E-R圖到關(guān)系模式的轉(zhuǎn)換是比較直接的,實(shí)體與聯(lián)系都可以表示成關(guān)系,E-R圖中屬性也可以轉(zhuǎn)換成關(guān)系的屬性,實(shí)體集也可以轉(zhuǎn)換成關(guān)系。

20.A【答案】:A

【知識(shí)點(diǎn)】:黑盒測(cè)試

【解析】:黑盒測(cè)試也稱功能測(cè)試或數(shù)據(jù)驅(qū)動(dòng)測(cè)試,它完全不考慮程序內(nèi)部的邏輯結(jié)構(gòu)和內(nèi)部特征,只著眼于程序的外部結(jié)構(gòu),主要用來(lái)檢查程序功能是否按照需求規(guī)格說(shuō)明書的規(guī)定正常使用。故選A。

21.44解析:strcpy(s1,s2)函數(shù)的作用是將字符串s2中的內(nèi)容拷貝到字符串s1中的內(nèi)容覆蓋。strlen()函數(shù)是求字符串的長(zhǎng)度。本題實(shí)際上是要求s2字符串的長(zhǎng)度,即是4。

22.1.09877e+010

23.abcbcc

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

25.調(diào)試調(diào)試

26.數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì)

27.abcdefglkjihabcdefglkjih解析:本題主要考查了字符變量可參與的運(yùn)算。因?yàn)樽址谟?jì)算機(jī)中是以ASCII碼的形式存放的,所以字符變量可看作整型變量來(lái)處理,如參與算術(shù)運(yùn)算等,某字符的大寫字母的ASCII碼值比它對(duì)應(yīng)的小寫字母ASCII碼值小32。

28.1515解析:在函數(shù)f()中只有一條if語(yǔ)句,如果n不小于1,則返回f(a,n-1)+a[n-1];否則返回0。所以f(aa,5)返回f(aa,4)+aa[4],而f(aa,4)返回f(aa,3)+aa[3],……直到f(aa,0)返回0。故f(aa,5)實(shí)際返回值是0+

溫馨提示

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