2021-2022年甘肅省平?jīng)鍪腥珖嬎銠C等級考試C語言程序設(shè)計知識點匯總卷(含答案)_第1頁
2021-2022年甘肅省平?jīng)鍪腥珖嬎銠C等級考試C語言程序設(shè)計知識點匯總卷(含答案)_第2頁
2021-2022年甘肅省平?jīng)鍪腥珖嬎銠C等級考試C語言程序設(shè)計知識點匯總卷(含答案)_第3頁
2021-2022年甘肅省平?jīng)鍪腥珖嬎銠C等級考試C語言程序設(shè)計知識點匯總卷(含答案)_第4頁
2021-2022年甘肅省平?jīng)鍪腥珖嬎銠C等級考試C語言程序設(shè)計知識點匯總卷(含答案)_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2021-2022年甘肅省平?jīng)鍪腥珖嬎銠C等級考試C語言程序設(shè)計知識點匯總卷(含答案)學(xué)校:________班級:________姓名:________考號:________

一、單選題(20題)1.程序運行后的輸出結(jié)果是()。A.10B.30C.0D.64

2.以下敘述中正確的是()。A.A.break語句只能用在循環(huán)體內(nèi)和switch’語句體內(nèi)

B.continue語句的作用是:使程序的執(zhí)行流程跳出包含它的所有循環(huán)

C.在循環(huán)體內(nèi)使用break語句和continue語句的作用相同

D.break語句只能用于switch語句體中

3.設(shè)有如下定義structss{charname[10];intage;charsex;}std[3],*p=std;下列各輸入語句中錯誤的是_______。

A.scanf("%d",&(*p).age);

B.scanf("%s",&);

C.scanf("%c",&std[0].sex);

D.scanf("%c",&(p->sex));

4.在下面棧的基本運算中,不是加工型運算的是______。

A.初始化B.進棧C.退棧D.判棧空

5.對于哈希函數(shù)H(key)=key%13,被稱為同義詞的關(guān)鍵字是_______

A.35和41B.23和39C.15和44D.25和51

6.對兩個數(shù)組a和b進行下列初始化:charm[]1="l234567":charn[]={1,2,3,4,5,6,7);則下列敘述正確的是()。A.數(shù)組m與數(shù)組n完全相同B.數(shù)組m與數(shù)組n長度相同C.數(shù)組m比數(shù)組n長1D.數(shù)組m與數(shù)組n中都存放字符串

7.有以下程序main(){intnum[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},i,j;for(i=0;i<4;i++){for(j=0;j<=i;j++)printf("%4c",");for(j=______;j<4;j++)printf("%4d",num[i][j]);printf("\n");}}若要按以下形式輸出數(shù)組右上半三角1234678111216則在程序下劃線處應(yīng)填入的是______。

A.i-1B.iC.i+1D.4-i

8.給定數(shù)列(541,132,984,746,518,181,946,314,205,827)按照從小到大的順序排列,采用快速排序(以中間元素518為基準)的第一趟掃描結(jié)果是()

A.(541,132,827,746,518,181,946,314,205,984)

B.(205,132,314,181,518,746,946,984,541,827)

C.(132,541,746,984,181,518,314,946,205,827)

D.(132,541,746,518,181,946,314,205,827,984)

9.在關(guān)系代數(shù)運算中,有5種基本運算,它們是()。

A.并(∪)、差(-)、交(∩)、除(÷)和笛卡兒積(×)

B.并(∪)、差(-)、交(∩)、投影(π)和選擇(σ)

C.并(∪)、交(∩)、投影(π)、選擇(σ)和笛卡兒積(×)

D.并(∪)、差(-)、投影(π)、選擇(σ)和笛卡兒積(×)

10.有以下程序:

運行時,若輸入123450<;回車>;,則輸出結(jié)果是()。

A.66656B.6566456C.66666D.6666656

11.設(shè)有inta=15,b=240;,則表達式(a&b)&b||b的值為______。

A.0B.1C.真D.假

12.設(shè)有以下程序段:intx=0,s=0;whUe(!x!=0)s+=++x;printf("%d",s);則()。

A.運行程序段后輸出0B.運行程序段后輸出1C.程序段中的控制表達式是非法的D.程序段執(zhí)行無限次

13.程序中頭文件typel.h的內(nèi)容是:#defineN5#defineM1N*3程序如下:#include“typel.h”#defineM2N*2main(){inti;i=M1+M2;Printf(“%d\n”,0;}程序編譯后運行的輸出結(jié)果是:

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

14.廣義表((a),a)的表頭是()。

A.aB.()C.(a)D.((a))

15.設(shè)有定義:structcomplex{intreal,unreal;}data1={1,8},data2;則以下賦值語句中錯誤的是()。

A.data2=(2,6);

B.data2=data1;

C.data2.real=data1.real;

D.data2.real=data1.unreal;

16.

17.若有定義“intw[3][5];”,則以下不能正確表示該數(shù)組元素的表達式是()。

A.*(&w[0][0]+1)B.*(*w+3)C.*(*(w+1))D.*(w+1)[4]

18.

19.數(shù)組A中,每個元素的長度為3個字節(jié),行下標i從1到8,列下標j從1到10,從首地址SA開始連續(xù)存放的存儲器內(nèi),該數(shù)組按行存放,元素A[8][5]的起始地址為()。

A.SA+141B.SA+144C.SA+222D.SA+225

20.已知shortint類型變量占用兩個字節(jié),若有定義:shortintx[10]={0,2,4};,則數(shù)組x在內(nèi)存中所占字節(jié)數(shù)是()。

A.3B.6C.10D.20

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

main()

{charb[]="Hello,you";

b[5]=0;

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

}

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

main()

{inti=0,a=0;

while(i<20)

{for(;;)

{if((i%10)==0)break;

elsei--;}

i+=11;

a+=i;

}

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

}

23.設(shè)在主函數(shù)中有以下定義和函數(shù)調(diào)用語句,且fun函數(shù)為void類型,請寫出fun函數(shù)的首部【】。要求形參名為b。

main()

{doubles[10][22];

intn;

fun(s);

}

24.數(shù)據(jù)庫技術(shù)的主要特點為數(shù)據(jù)的集成性、數(shù)據(jù)的高【】和低冗余性、數(shù)據(jù)獨立性和數(shù)據(jù)統(tǒng)一管理與控制。

25.下列程序?qū)⒍S數(shù)組a的行和列元素互換后存放到另一個二維數(shù)組b中。請?zhí)羁铡?/p>

main()

{inta[2][3]={{1,2,3),{4,5}},b[3][2],i,j;

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

{for(j=0;j<30++)

______;

}

}

26.關(guān)系模型的數(shù)據(jù)操縱即是建立在關(guān)系上的數(shù)據(jù)操縱,一般有______、增加、刪除和修改四種操作。

27.下列程序的運行結(jié)果是【】。

#include<stdio.h>

main

{intk=4,m=3,p;

p=func(k,m);

printf("%d",p);

p=func(k,m);

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

func(a,b)

inta,b;

{staticintm=0,i=2;

i+=m+1;

m=i+a+b;

return(m);}

28.軟件維護活動包括以下幾類:改正性維護、適應(yīng)性維護、【】維護和預(yù)防性維護。

29.現(xiàn)有兩個C程序文件T18.c和myfun.c同在TC系統(tǒng)目錄(文件夾)下,其中T18.c文件如下:

#include<stdio.h>

#include"myfun.c"

main()

{fun();printf("\n");}

myfun.c文件如下:

voidfun()

{chars[80],c;intn=0;

while((c=getchar())!=′\n′)s[n++]=c;

n--;

while(n>=0)printf("%c",s[n--]);

}

當編譯連接通過后,運行程序T18時,輸入Thank!,則輸出結(jié)果是【】。

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

main()

{inta=1,b=10;

do

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

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

}

31.有以下程序;

inta=2;

intf(int*A)

{return(*A)++;}

main()

{ints=0;

{inta=5;

s+=f(&A)

}

s+=f(&A)

printf("%d\n",s)

}

執(zhí)行后的輸出結(jié)果是【】。

32.軟件指的是計算機系統(tǒng)中與硬件相互依賴的另一部分,包括程序、數(shù)據(jù)和()的集合。

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

main()

{

intarr[]={30,25,20,15,10,5},*p=arr;

p++;

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

}

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

#defineMCNA(m)2*m

#defineMCNB(n,m)2*MCRA(n)+m

#definef(x)(x*x)

main()

{inti=2,j=3;

printf("%d\n",MCRB(j,MCRA(i)));

}

35.沒有chara,b;,若要通過a&b運算屏蔽掉a中的其他位,只保留第2位和笫8位(右起為第1位),則b的二進制是【】。

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

37.一個類可以從直接或間接的祖先中繼承所有屬性和方法。采用這個方法提高了軟件的【】。

38.在面向?qū)ο蠓椒ㄖ?,【】描述的是具有相似屬性與操作的一組對象。

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

40.以下程序從終端讀入數(shù)據(jù)到數(shù)組中,統(tǒng)計其中正數(shù)的個數(shù),并計算它們之和。請?zhí)羁铡?/p>

main()

{inti,a[20],sum,count;

sum=count=0;

for(i=0;i<20;i++)scanf("%d",(【】);

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

{if(a[i]>0)

{count++;

sum+=(【】);

}

}

printf("sum=%d,count=%dhn",sum,count);

}

三、1.選擇題(20題)41.若fp是指向某文件的指針,且已讀到文件末尾,則函數(shù)feof(fp)的返回值是

A.EOFB.-1C.1D.NULL

42.設(shè)有定義:intn1=0,n2,*P=&n2,*q=&n1;,以下賦值語句中與n2=n1;語句等價的是()。

A.*p=*q;B.p=q;C.*p=&n1;D.p=*q;

43.若有以下說明和語句:char*language[]={"FORTRAN","BASIC","PASCAL","JAVA","C"};char**q;q=language+2;則語句printf("%o\n",*q);()。

A.輸出的是language[2]元素的地址

B.輸出的是字符串PASCAL

C.輸出的是language[2]元素的值,它是字符串PASCAL的首地址

D.格式說明不正確,無法得到確定的輸出

44.對于下列定義,不正確的敘述是()。uniondata{inta;charb;doublec;}x=y;

A.變量x所占內(nèi)存的長度等于成員c的長度

B.變量x的地址和它的各成員地址都是相同的

C.可以在定義時對x初始化

D.不能對變量x賦值,故x=y非法

45.若函數(shù)調(diào)用時,參數(shù)為基本數(shù)據(jù)類型的變量,下列敘述中正確的是()。

A.實參與其對應(yīng)的形參共占存儲單元

B.只有當實參與其對應(yīng)的形參同名時才共占存儲單元

C.實參與其對應(yīng)的形參分別占用不同的存儲單元

D.實參將數(shù)據(jù)傳遞給形參后,立即釋放原先占用的存儲單元

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

A.程序執(zhí)行的效率與數(shù)據(jù)的存儲結(jié)構(gòu)密切相關(guān)

B.程序執(zhí)行的效率只取決于程序的控制結(jié)構(gòu)

C.程序執(zhí)行的效率只取決于所處理的數(shù)據(jù)量

D.以上三種說法都不對

47.以下程序段的輸出結(jié)果是inta=1234;printf(“%2d\n”;A);

A.12B.34C.1234D.提示出錯、無結(jié)果

48.已知形成鏈表的存儲結(jié)構(gòu)如下圖所示,則下述類型描述中的空白處應(yīng)填______。structlink{chardata;______;}node;

A.Structlinknext

B.link*next

C.structnextlink

D.Structlink*next

49.有以下程序:main(){chark;inti;for(i=1;i<3;i++){scanf("%c",&k);switch(k){case'0':printf("another\n");case'1':printf("number\n");}}}程序運行時,從鍵盤輸入:01<回車>,程序執(zhí)行后的輸出結(jié)果是

A.anothernumber

B.anothernumberanother

C.anothernumbernumber

D.numbernumber

50.軟件需求分析階段的工作可以分為4個方面:需求獲取、需求分析、編寫需求分析說明書和

A.階段性報告B.需求評審C.總結(jié)D.都不正確

51.以下程序的輸出結(jié)果是chsrcchar(charch){if(ch>='A'&&ch<='Z')ch=ch-'A'+'a';returnch;}main(){chars[]=“ABC+abc=defDEF”,*p=s;while(*p){*p=cchar(*p);p++;}printf(“%s\n”,s);}

A.abd+ABC=DEFdef

B.abc+abc=defdef

C.abcABCDEFdef

D.abcabcdefdef

52.可以在C語言中用做用戶標識符的是______。

A.voiddefineWORDB.as_b3_123IfC.for-abccasD.2cDoSIG

53.下列關(guān)于棧的描述中錯誤的是______。

A.棧是先進后出的線性表B.棧只能順序存儲C.棧具有記憶作用D.對棧的插入和刪除操作中,不需要改變棧底指針

54.已知小寫母a的ASCII碼為97,大寫字母A的ASCII碼為65,以下程序的結(jié)果是_______。main(){unsignedinta=32,b=66;printf("%c\n",a|B);}

A.66B.98C.bD.B

55.已知:intc[3][4];,則對數(shù)組元素引用正確的是()。

A.c[1][4]B.c[1.5][0]C.c[1+0][0]D.以上表達都錯誤

56.以下程序的輸出結(jié)果是intf(){staticinti=0;ints=1;s+=i;i++;retumS;}main(){inti,a=0;for(i=0;i<5;i++)a+=f();printf("%d\n",a);}

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

57.數(shù)據(jù)庫技術(shù)的根本目標是要解決數(shù)據(jù)的()。

A.存儲問題B.共享問題C.安全問題D.保護問題

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

A.軟件交付使用后還需要進行維護

B.軟件一旦交付使用就不需要再進行維護

C.軟件交付使用后其生命周期就結(jié)束

D.軟件維護是指修復(fù)程序中被破壞的指令

59.有下面程序段

#include"stdio.h"

#include"string.h"

main()

{chara[3][20]={{"china"},{"isa"},{"bigcountry!"}};

chark[100]={0},*p=k;

inti;

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

{p=strcat(p,a[i]);}

i=strlen(p);

printf("%d\n",i);}

則程序段的輸出結(jié)果是

A.18B.19C.20D.21

60.在深度為5的滿二叉樹中,葉子結(jié)點的個數(shù)為A.32B.31C.16D.15

四、選擇題(20題)61.設(shè)有定義:char*C;以下選項中能夠使C正確指向一個字符串的是()。

A.charstr()=”string”;C=str;

B.scanf(”%s”,C.;

C.c=getchar();

D.*c=”strin9”;

62.有下列程序:main{inty=10;do{y--;}while(--y);printf("%d\n",--y);)當執(zhí)行程序時,輸出的結(jié)果是()。A.-1B.1C.4D.0

63.設(shè)a=l,b=2,c=3,d=4,則表達式:“a<b?a:b<b?a:c<d?a:d”的結(jié)果為()。A.4B.3C.2D.1

64.

65.沒有以下語句

則Z的二進制值是()。

A.00010100B.00011011C.00011100D.00011000

66.如果將主文件型指針fp指向的文件內(nèi)部指針置于文件尾,正確的語句是()。

A.feof(fp);

B.rewind(fp);

C.fseek(fp,OL,0);

D.fseek(fp,OL,2);

67.

68.有以下程序

main()

{inta[3][3],*p,i;

p=&a[0][0];

for(i=0;i<9;i++)p[i]=i;

for(i=0;i<3;i++)printf("%d",(++p)[i]);

}

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

A.012B.135C.234D.345

69.若整型變量a、b、c、d中的值依次為2、2、3、4,則條件表達式a<b?a:c<d?c:d的值是()。A.1B.2C.3D.4

70.下列程序的運行結(jié)果是()。main{intx=1,y=3,a=0;while(x++!=(y-=l)){a+=1;if(y<x)break;}printf("%d,%d,%d\n",x,y,a);}A.2,3,2B.2,3,1C.1,3,3D.3,1,2

71.C語言中char類型數(shù)據(jù)占字節(jié)數(shù)為()。

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

72.以下不構(gòu)成無限循環(huán)的語句或語句組是()。

73.

74.下列關(guān)于棧的描述錯誤的是()。

A.棧按“先進后出”組織數(shù)據(jù)B.棧是特殊的線性表,只能在一端插入或刪除數(shù)據(jù)C.棧具有記憶功能D.棧只能順序存儲

75.

76.

77.數(shù)據(jù)庫DB、數(shù)據(jù)庫系統(tǒng)DBS、數(shù)據(jù)庫管理系統(tǒng)DBMS之間的關(guān)系是()。

A.DB包含DBS和DBMSB.DBMS包含DB和DBSC.DBS包含DB和DBMSD.沒有任何關(guān)系

78.

79.

80.

有以下程序:

voidswap(char*x,char*y)

{chart;

t=*x;*x=*y;*y=t;

}

main

{char*s1="abe",*s2="123":

swap(s1,s2);

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

}

程序執(zhí)行后的輸出結(jié)果是()。

A.123,abeB.abc.123C.1bc,a23D.321,cba

五、程序改錯題(1題)81.下列給定程序中函數(shù)proc的功能是:取出長整型變量s中偶數(shù)位上的數(shù),依次構(gòu)成一個新數(shù)放在t中。例如,當s中的數(shù)為l23456789時,t中的數(shù)為2468。請修改程序中的錯誤,使它能得出正確的結(jié)果。注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:

六、程序設(shè)計題(1題)82.編寫函數(shù)proc(),它的功能是:根據(jù)公式求p的值,結(jié)果由函數(shù)值帶回。m與n為兩個正數(shù)且要求m>;n。p=m!/(n!(m-n)!),例如,m=20,n=10時,運行結(jié)果為184756.000000。注意:部分源程序給出如下。請勿改動main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號中填入所編寫的若干語句。試題程序:

參考答案

1.D[解析]本題目中靜態(tài)局部變量x,在靜態(tài)存儲區(qū)內(nèi)分配存儲單元。在程序整個運行期間都不釋放。所以第一次循環(huán)s的值為2.第二次循環(huán)中,返回的x的值為4.所以s的值為8.第三次循環(huán),返回的x的值為8.所以s的值為64.

2.A本題主要考查的知識點是:break和IContinue語句。break語句可以用于swhitCh或循環(huán)體內(nèi),作用是跳/出switCh或循環(huán)體。Continue語句只能用于循環(huán)體內(nèi),作用是結(jié)束當前循環(huán),進入下次循環(huán)。故本題中只有選項A)是正確的。

3.B解析:在C語言中,結(jié)構(gòu)體變量的引用有三種等價方式:

1、結(jié)構(gòu)體變量成員名;2、(*p).成員名;3、p->成員名。

因為std.name是字符數(shù)組名,本身代表地址,其前面不應(yīng)該使用“&”符號,所以選項B錯誤。

4.D

5.D

6.C在m數(shù)組中賦值的是字符串,其長度為7,末尾有結(jié)束符\0,故字節(jié)數(shù)為8,而n數(shù)組中賦的是字符,其長度為7,故C選項正確。

7.B

8.B

9.D解析:關(guān)系代數(shù)運算的基本運算符有4類:集合運算符、專門的關(guān)系運算符、算術(shù)運算符和邏輯運算符。并、差、笛卡兒積、投影、選擇是5種基本的運算,其他運算可以通過基本的運算導(dǎo)出。

10.Bswitch語句的執(zhí)行流程是:首先計算switch后面圓括號中表達式的值,然后用此值依次與各個case的常量表達式比較,若圓括號中表達式的值與某個e·*后面的常量表達式的值相等,就執(zhí)行此ca*后面的語句,執(zhí)行后遇break語句就退出switch語句;若圓括號中表達式的值與所有ca$e后面的常量表達式都不等,則執(zhí)行default后面前語句。然后退出。所以輸入l時打印65,輸入2時打印6,輸入3時打印64,輸入4時打印5,輸入5時打印6。

11.B

12.B解析:本題中,邏輯非“!”運算符比不等于“!=”運算符優(yōu)先級高,因此第一次循環(huán)時!x!=0的運算結(jié)果為真,s的運算結(jié)果為1;第二次循環(huán)時!x!=0的運算結(jié)果為假,循環(huán)結(jié)束,輸出s的結(jié)果為1。

13.C解析:編譯預(yù)處理時,用“typel.h”中的內(nèi)容替代命令#include“typel.h”。表達式“i=M1+M2”經(jīng)過宏替換為“i=5*3+5*2”即i=25,所以最后輸出的i的值為25。

14.C

15.A結(jié)構(gòu)體變量初始化的具體成員值使用花括號標注,選項A錯誤。故本題答案為A選項。

16.C

17.DA選項中,“*(&w[0][0]+1)”表示“w[0][1]”;B選項中,“*(*w+3)”表示“w[0][3]”;C選項中,“*(*(w+1))”表示“w[1][0]”;D選項中,“*(w+1)[4]”的正確寫法是“(*(w+1))[4]”,表示“w[1][4]”。故本題答案為D選項。

18.D

19.C

20.D

21.HelloHello解析:字符串中,數(shù)值0或符號'/0'表示字符串的結(jié)束。本題中,b[5]被賦了0值,表明字符串b的第六個字符就是結(jié)束標志。因此,只輸出前五個字符,即Hello。

22.3232解析:while(表達式)的功能是:首先計算表達式的值,若為真,則執(zhí)行循環(huán)體語句,執(zhí)行完畢,再計算表達式的值,若仍為真,則重復(fù)執(zhí)行循環(huán)體語句,直到表達式的值為假時,結(jié)束while語句的執(zhí)行,繼續(xù)執(zhí)行while語句后面的語句:i=0時滿足循環(huán)條件,也滿足if的條件,執(zhí)行語句得i=11,a=11,第2次循環(huán)不滿足if的條件,執(zhí)行i--,i=10,執(zhí)行i+=11;a+=i后,得i=21,a=32,不滿足i<20,循環(huán)結(jié)束。

23.voidfun(doubleb[][22])voidfun(doubleb[][22])解析:程序中為了表示函數(shù)調(diào)用“不帶回值”,可以用“void”定義函數(shù)為“無類型”(或稱“空類型”),這樣系統(tǒng)就保證不使函數(shù)帶回任何值。當二維數(shù)組作為形參時,二維數(shù)組的第一維可以省略。

24.共享性共享性解析:數(shù)據(jù)庫技術(shù)的主要特點有以下幾個方面:數(shù)據(jù)的集成性,數(shù)據(jù)的高共享性與低冗余性,數(shù)據(jù)的獨立性,數(shù)據(jù)統(tǒng)一管理與控制。

25.b[j][i]=a[i][j]b[j][i]=a[i][j]解析:本題考查二維數(shù)組的基本知識。它是要將一個二維數(shù)組,的行和列元素互換后存放到另一個二維數(shù)組b中,只要將數(shù)組a的行標和列標互換,然后賦給數(shù)組b即可。

26.查詢查詢

27.10211021解析:此題主要考查了變量和函數(shù)的存儲類別。函數(shù)的存儲范圍是從定義它的位置到文件結(jié)束為止,如果想在函數(shù)定義之前使用函數(shù),需要先對函數(shù)進行聲明。靜態(tài)局部變量的生存期為整個程序的運行期間,作用域卻為定義它的函數(shù)或局部范圍內(nèi)。

28.完善性軟件維護活動包括以下幾類:改正性維護,適應(yīng)性維護、完善性維護和預(yù)防性維護,完善性維護是指為了滿足用戶對軟件提出的新功能與性能要求,需要修改或再開發(fā)軟件,以擴充軟件功能、增強軟件性能、改進加工效率、提高軟件的可維護性。

29.!knahT!knahT解析:此程序是一道次序顛倒題,即輸入'Thank!',則輸出'!knahT'。

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

31.77解析:如果局部變量與全局變量重名,在局部變量的作用域,全局變量不起作用。所以在main函數(shù)中第一次調(diào)整函數(shù)f時a=5得s=5,第二次調(diào)用函數(shù)f時a=2得s=5+2=7。函數(shù)f在執(zhí)行語句return(*A)++時首先返回*A,然后將*A的值加1。

32.相關(guān)文檔相關(guān)文檔解析:軟件指的是計算機系統(tǒng)中與硬件相互依賴的另一部分,包括程序、數(shù)據(jù)和有關(guān)的文檔。程序足對計算機的處理對象和處理規(guī)則的描述,是軟件開發(fā)入員根據(jù)用戶需求開發(fā)的、用程序語言描述的、適合計算機執(zhí)行的指令序列。數(shù)拼是使程序能正常操作信息的數(shù)據(jù)結(jié)構(gòu)。文檔是為了便于了解程序所需的資源說明,是與程序的開發(fā)、維護和使用有關(guān)的資料。

33.1010解析:整型指針最初被賦的值是數(shù)組arr的頭指針,即指向數(shù)組的第一個元素30,p++后,指針指向數(shù)組的下一個元素,即*p=arr[1]=25,在執(zhí)行*(p+3)時,則相當于a[1+3],即10。因此,輸出應(yīng)為100。

34.1616解析:本題定義了兩個宏MCRA(m)和MCRB(n,m),展開宏MCRB(n,m),得到:MCRB(j,MCRA(i)=2*MCRA(j)+MCRA(i)=2×2×j+2×i=4×3+2×2=12+4=16,因此printf函數(shù)的輸出結(jié)果為16。

35.1000001010000010解析:運算“&”的規(guī)則是只有當兩個相應(yīng)的二進制位都為1時,該位的結(jié)果才為1。要保留第2、8位,只要將其與二進制數(shù)10000010相與。

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

37.可重用性繼承的優(yōu)點:相似的對象可以共享程序代碼和數(shù)據(jù)結(jié)構(gòu),從而大大減少了程序中的冗余,提高軟件的可重用性。

38.類類解析:在面向?qū)ο蠓椒ㄖ?,類描述的是具有相似屬性與操作的一組對象。

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

40.&a[i]或a+Ia[i]或*(a+i)&a[i]或a+I\r\na[i]或*(a+i)解析:主函數(shù)中一開始定義了一個長度為20的整形數(shù)組,然后通過一個循環(huán),循環(huán)20次給它的每個元素賦初值,所以在第一個空格處應(yīng)填各個元素的地址,即填&a[i]或a+i,然后再通過一個循環(huán)執(zhí)行20次,每循環(huán)一次,先判斷該循環(huán)是否大于0,如果大于0將其累加到變量sum中,所以第二個空格處應(yīng)該填入數(shù)組元素,即應(yīng)該填a[i]或*(a+i)。

41.C解析:EOF是指向文本文件的結(jié)束標志,NULL是打開文件錯誤時的返回值。feof(fp)用來判斷文件是否在文件末尾,文本文件和二進制文件均可以使用此函數(shù),如果遇到文件結(jié)束就返回1,否則返回0。

42.A解析:根據(jù)題意,p和q為整型指針,分別指向整型變量n2和n1,選項B是將q賦給p,即p指向n1,選項C是將n1的地址賦給n2,選項D是將n2的值賦給p,均與n2=n1不等價。只有選項A中,*p即n2,*q即n1,*p=*q即等價于n2=n1。

43.C解析:題中指針數(shù)組language中的每個元素都是一個指向一個字符串的字符指針。通過這個指針可以引用到字符串中的每一個字符。題中的q是雙重字符指針,q=language+2則使指針q指向了數(shù)組language的第三個元素,是字符串“PASCAL”的首地址。

44.C解析:本題主要考查的知識點是聯(lián)合體的內(nèi)存使用。聯(lián)合體所占用的內(nèi)存空間為最長的成員所占用的空間,各個成員分量全部是從低地址方向開始使用內(nèi)存單元。不能在定義共用體變量時對它初始化。

45.C解析:本題考查函數(shù)調(diào)用時的參數(shù)傳遞。函數(shù)的形參是函數(shù)定義時由用戶定義的形式上的變量,實參是函數(shù)調(diào)用時,主調(diào)函數(shù)為被調(diào)函數(shù)提供的原始數(shù)據(jù)。在函數(shù)調(diào)用時,實參和其所對應(yīng)的形參分別占用不同的存儲單元,彼此之間不影響。

46.A本題考查程序效率。程序效率是指程序運行速度和程序占用的存儲空間。影響程序效率的因素是多方面的,包括程序的設(shè)計、使用的算法、數(shù)據(jù)的存儲結(jié)構(gòu)等。在確定數(shù)據(jù)邏輯結(jié)構(gòu)的基礎(chǔ)上,選擇一種合適的存儲結(jié)構(gòu),可以使得數(shù)據(jù)操作所花費的時間少,占用的存儲空間少,即提高程序的效率。因此,本題選項A的說法是正確的。

47.C解析:printf()函數(shù)的輸出格式,當整數(shù)的值超過格式要求輸出范圍時,原樣輸出。本題中要求輸出兩個有效數(shù)字,而實際上a有4個有效數(shù)字,故原樣輸出,輸出1234。

48.D解析:在單向鏈表中,由于每個結(jié)點需要存儲下一個結(jié)點的地址,且下一個結(jié)點的數(shù)據(jù)類型與前一個結(jié)點的數(shù)據(jù)類型完全相同,故應(yīng)為structlink*next。

49.C解析:switch語句的執(zhí)行過程是:在switch后面的表達式的值和case后面常量表達式的值吻合時,就執(zhí)行后面的語句.如果在該語句的后面沒有break語句,則繼續(xù)執(zhí)行下一個case,直到遇到break語句或switch多分支的結(jié)束,在switch語句中,break語句的作用是使流程跳出switch結(jié)構(gòu),終止Switch語句的執(zhí)行.本題中在for循環(huán)中嵌套了swish語句,每循環(huán)一次通過scanf()函數(shù)從鍵盤上輸入一個k值,然后執(zhí)行switch語句。for循環(huán)共循環(huán)了2次,當i=1時,從鍵盤上輸入0,使得k的值為0,執(zhí)行switch語句中case:0后面的語句,輸出another,接著執(zhí)行case:0下面的語句輸出number,退出switch語句,當i=2時,從鍵盤上輸入1,使得k的值為1,執(zhí)行switch語句中case1后面的語句,輸出number,退出switch語句.當i=3時退出循環(huán).故最后的輸出為another、number和number,所以,4個選項中選項C符合題意。

50.B解析:本題考查軟件需求分析的四個階段,分別為需求獲取、需求分析、編寫需求分析說明書和需求評審。

51.B解析:本題首先定義了一個函數(shù)cchar(),有一個字符型參數(shù)ch。在函數(shù)中首先判斷該字符是否為大寫字母,如果是則把它轉(zhuǎn)換成小寫字符再賦值給ch,把ch作為函數(shù)值返回。在主函數(shù)中定義了一個字符數(shù)組s并初始化,然后定義了一個指針變量并使它指向數(shù)組s。接著通過一個while循環(huán)利用指針變量p,依次取出字符數(shù)組的字符(直到遇到字符串結(jié)束標志'\\0'),并調(diào)用cchar()函數(shù),把大寫字母轉(zhuǎn)換成小寫字母,其他字符不變。最后輸出字符數(shù)組為,中的內(nèi)容,結(jié)果為“abc+abc=defdef”。

52.B解析:C語言規(guī)定,標識符只能由字母、數(shù)字和下劃線三種符號組成,而且第一個字符必須是字母或下劃線。另外還需要注意的是關(guān)鍵字不能作標識符。選項A中void,C中for都為關(guān)鍵字,D中2c以字母開頭。

53.B解析:棧是限定在一端進行插入與刪除運算的線性表。在棧中,允許插入與刪除的一端稱為棧頂,不允許插入與刪除的另一端稱為棧底,對棧的插入和刪除操作中,不需要改變棧底指針。棧是按照“先進后出”或“后進先出”的原則組織數(shù)據(jù)的。棧具有記憶作用。棧的存儲方式和線性表類似,也有兩種,即順序棧和鏈式棧。

54.C解析:位運算符“|”的作用是按位或,即兩個二進制數(shù)的相應(yīng)位中只要有一個為1,該位的結(jié)果值為1。最后以字符型輸出,98對應(yīng)的字符“b”

55.C

56.D解析:函數(shù)的靜態(tài)局部變量在編譯時就賦初值,即只賦初值一次,在程序運行時它已有初值,以后每次調(diào)用函數(shù)時不再重新賦值,而只是保留上次函數(shù)調(diào)用結(jié)束時的值。

57.B解析:數(shù)據(jù)庫產(chǎn)生的背景就是計算機的應(yīng)用范圍越來越廣泛,數(shù)據(jù)量急劇增加,對數(shù)據(jù)共享的要求越來越高。共享的含義是多個用戶、多種語言、多個應(yīng)用程序相互覆蓋的使用一些公用的數(shù)據(jù)集合。在這樣的背景下,為了滿足多用戶、多應(yīng)用共,享數(shù)據(jù)的要求,就出現(xiàn)了數(shù)據(jù)庫技術(shù),以便對數(shù)據(jù)庫進行管理。因此,數(shù)據(jù)庫技術(shù)的根本目標就是解決數(shù)據(jù)的共享問題。故選項B正確。

58.A解析:維護是軟件生命周期的最后一個階段,也是持續(xù)時間最長、付出代價最大的階段。軟件工程學(xué)的目的就在于提高軟件的可維護性,同時也要設(shè)法降低維護的代價。

軟件維護通常有以下四類;

①為糾正使用中出現(xiàn)的錯誤而進行的改正性維護;

②為適應(yīng)環(huán)境變化而進行的適應(yīng)性維護;

③為改進原有軟件而進行的完善性維護;

④為將來的可維護和可靠而進行的預(yù)防性維護。

軟件維護不僅包括程序代碼的維護,還包括文檔的維護。文檔可以分為用戶文檔和系統(tǒng)文檔兩類。但無論是哪類文檔,都必須與程序代碼同時維護。只有與程序代碼完全一致的文檔才有意義和價值。由此可知,本題中選項B、C、D中的說法都是錯誤的。

59.B解析:字符串連接函數(shù)streat的調(diào)用形式如下:strcat(s1,s2)。此函數(shù)將s2所指字符串的內(nèi)容連接到s1所指的字符串后面,并自動覆蓋s1串末尾的尾標,函數(shù)返回s1的地址值。

60.C2(n-1)

=2(5-1)=16

61.AA選項為正確用法,先將字符串存于字符數(shù)組中,然后將數(shù)組名賦給字符指針(數(shù)組名代表數(shù)組首地址,定義數(shù)組時為其分配確定地址)。C選項錯誤,getchar()函數(shù)只能輸入一個字符給字符型變量,而不是字符指針。B選項和D選項有類似的錯誤,兩個選項并無語法錯誤,但運行時可能會出現(xiàn)問題。因為在B選項和D選項中,字符指針沒

溫馨提示

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

評論

0/150

提交評論