2021-2022年四川省攀枝花市全國計算機等級考試C語言程序設計知識點匯總卷(含答案)_第1頁
2021-2022年四川省攀枝花市全國計算機等級考試C語言程序設計知識點匯總卷(含答案)_第2頁
2021-2022年四川省攀枝花市全國計算機等級考試C語言程序設計知識點匯總卷(含答案)_第3頁
2021-2022年四川省攀枝花市全國計算機等級考試C語言程序設計知識點匯總卷(含答案)_第4頁
2021-2022年四川省攀枝花市全國計算機等級考試C語言程序設計知識點匯總卷(含答案)_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2021-2022年四川省攀枝花市全國計算機等級考試C語言程序設計知識點匯總卷(含答案)學校:________班級:________姓名:________考號:________

一、單選題(20題)1.設有程序段:intk=12:while(k=1)k=k-1:則下列描述中正確的是()。

A.while循環(huán)執(zhí)行10次B.循環(huán)是無限循環(huán)C.循環(huán)體語句一次也不執(zhí)行D.循環(huán)體語句執(zhí)行一次

2.廣義表(a,b,c,d)的表尾是()。

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

3.線性表是具有n個()的有限序列。

A.表元素B.字符C.數(shù)據(jù)元素D.數(shù)據(jù)項

4.若有定義語句:"inta[4][10],*P,*q[4];"且0≤i<4,則錯誤的賦值是()。

A.D=aB.q[i]=a[i]C.p=a[l]D.P=&a[2][1]

5.若有定義“intb[8],*p=b;”,則p+6表示()。

A.數(shù)組元素b[6]的值B.數(shù)組元素b[6]的地址C.數(shù)組元素b[7]的地址D.數(shù)組元素b[0]的值加上6

6.在嵌套使用if語句時,C語言規(guī)定else總是A.和之前與其具有相同縮進位置的if配對

B.和之前與其最近的if配對

C.和之前與其最近的且不帶else的if配對

D.和之前的第一個if配對

7.有以下程序:#include<stdio.h>main(){inta=7;while(a--);print[("%d\n",a);}程序運行后的輸出結果是()。A.-1B.0C.1D.7

8.下列定義數(shù)組的語句中,正確的是()。

A.intN=10;intx[N]:

B.#defineNl0;intx[N];

C.intx[0..10];

D.intx[];

9.鏈表不具有的特點是()。A.A.不必事先估計存儲空間

B.可隨機訪問任意元素

C.插入、刪除不需要移動元素

D.所需空間與線性表長度成正比

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

11.有以下程序:#include<stdio.h>main(){FILE*fp;inta[10]={1,2,3},i,n;fp=fopen(“d1.dat”,“w”);for(i=0;i<3;i++)fprintf(fp,“%d”,a[i]);fprintf(fp,“\n”);fclose(fp);fp=fopen(“d1.dat”,“r”);fscanf(fp,“%d”,&n);fclose(fp);printf(“%d\n”,n);}程序的運行結果是()。

A.321B.12300C.1D.123

12.若有定義和語句:inta,b;scanf("%d,%d",&a,&b);以下選項中的輸人數(shù)據(jù),不能把值3賦給變量a、5賦給變量b的是()。A.3,5,B.3,5,4C.3,5D.3,5

13.下列定義數(shù)組的語句中錯誤的是()。

A.intx[2][3]={1,2,3,4,5,6};

B.intx[][3]={0};

C.intx[][3]={{1,2,3},{4,5,6}};

D.intx[2][3]={{1,2},{3,4},{5,6}};

14.下列程序的輸出結果是______。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.63825C.6385D.693825

15.程序中若有如下說明和定義語句charfun(char*);main(){char*s="one",a[5]={0},(*f1)()=fun,ch;.....}以下選項中對函數(shù)Fun的正確調(diào)用語句是______。A.(*f1)(a);B.*f1(*s);C.fun(&a);D.ch=*f1(s);

16.以下選項中合法的c語言常量是()。

A.,C—STR’B.2014.1C.”\l.0D.2EK

17.第

3

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

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

18.下列定義數(shù)組的語句中正確的是______。

A.#definesize10charstr1[size],str2[size+2];

B.charstr[];

C.intnum['10'];

D.intn=5;inta[n][n+2];

19.采用鄰接表存儲的圖的深度優(yōu)先遍歷算法類似于二叉樹的()。

A.先序遍歷B.中序遍歷C.后序遍歷D.按層遍歷

20.有下列程序:程序執(zhí)行后的輸出結果是()。A.Sun,f,90,Sun,f,90

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

C.Zhao,m,85,Qian,f,95

D.Sun,f,90,Qian,f,95

二、2.填空題(20題)21.在面向?qū)ο蠓椒ㄖ校瑢傩耘c操作相似的一組對象稱為【】。

22.實體聯(lián)系模型是一種常用的高級概念數(shù)據(jù)模型,而______是實體聯(lián)系模型中的核心。

23.若有定義doublea[5];,則a數(shù)組元素下標的上限為______。

24.數(shù)據(jù)字典是各類數(shù)據(jù)描述的集合,它通常包括5個部分,即數(shù)據(jù)項、數(shù)據(jù)結構、數(shù)據(jù)流、______和處理過程。

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

26.【】是數(shù)據(jù)庫設計的核心。

27.下列程序的運行結果是______。

main()

{ints=0,i=1;

while(s<=10)

{s=s+i*i;

i++;

}

printf("%d",--i);

}

28.下列程序執(zhí)行輸出的結果是______。

#include<stdio.h>

f(intA)

{intb=0;

staticc=7;

a=c++;b++;

return(A);

}

main()

{inta=2,i,k;

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

k=f(a++);

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

}

29.設有定義:intn,*k=&n;以下語句將利用指針變量k讀寫變量n中的內(nèi)容,請將語句補充完整。

scanf("%d",【】);

printf("%d\n",【】);

30.執(zhí)行以下程序后,輸出#號的個數(shù)是【】。

#include<stdio.h>

main()

{inti,j;

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

for(j=2;j<=i;j++)putchar('#');

}

31.以下程序輸出的結果是#include<stdio.h>#include<string.h>main(){charw[][10]={"ABCD","EFGH","IJKL","MNOP"}1,k;for(k=1;k<3;k++)printf("%s\n",&w[k][k]);}

32.結構化程序設計的3種基本結構分別是順序、選擇和______。

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

34.若a是血型變量,且a的初值為4,則計算a+=a-=a*a表達式后a的值為______。

35.下面程序的功能是根據(jù)公式e=1+1/1!+1/2!+1/3!+1/4!+...計算e的近似值,精度要求為10-5。請?zhí)羁铡?/p>

main()

{intn;

doublee=1.0,t=1.0;

for(n=1;【】n++);

{【】e+=t;}

printf("%f\n",e);}

36.在C語言中,while和do…while循環(huán)的主要區(qū)別是______的循環(huán)至少被執(zhí)行一次。

37.下面程序的運行結果是【】。

#defineN10

#defines(x)x*x

#definef(x)(x*x)

mam()

{

intil,i2;

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

printf("%d%d\n",il,i2);

}

38.若按功能劃分,軟件測試的方法通常分為白盒測試方法和【】測試方法。

39.若有下列定義(設int類型變量占兩個字節(jié)),則i=【】,j=【】。

inti=8,j=9;floatx=123.456;

print("i=%oj=%o\n",i,j);

40.以下程序運行后的輸出結果是【】。

main()

{

intx=0210;

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

}

三、1.選擇題(20題)41.下列關于隊列的敘述中正確的是______。A.在隊列中只能插入數(shù)據(jù)B.在隊列中只能刪除數(shù)據(jù)C.隊列是先進先出的線性表D.隊列是先進后出的線性表

42.下列可用于C語言用戶標識符的一組是

A.void,define,WORD

B.a3_b3,_123,Car

C.For,-abc,IFCase

D.2a,DO,sizeof

43.下列選項中非法的字符常量是()。

A.'\t'B.'\039'C.','D.'\n'

44.若有以下定義,則對a數(shù)組元素的正確引用是()。inta[5],*p=a;

A.*&a[5]B.*a+1C.*(p+5)D.*(a+2)

45.下列關于棧的敘述中正確的是

A.在棧中只能插入數(shù)據(jù)B.在棧中只能刪除數(shù)據(jù)C.棧足先進先出的線性表D.棧是先進后出的線性表

46.以下不能定義為用戶標識符的是()。

A.scanfB.VoidC.3comD.int

47.下列敘述中,不屬于測試的特征的是

A.測試的挑剔性B.完全測試的不可能性C.測試的可靠性D.測試的經(jīng)濟性

48.設血a=12;,則執(zhí)行完語句a+=a-=a*a;后,a的值是______。

A.522B.264C.144D.-264

49.有以下程序

main()

{inti;

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

{if(i++%5==0)

if(++i%8==0)printf("%d",i);

}

printf("\n");

}

執(zhí)行后的輸出結果是

A.5B.24C.32D.40

50.在C語言中,函數(shù)的隱含存儲類別是______。

A.autoB.staticC.externD.無存儲類別

51.以下敘述中錯誤的是

A.gets函數(shù)用于從終端讀入字符串

B.getehar函數(shù)用于從磁盤文件讀入字符

C.fputs函數(shù)用于把字符串輸出到文件

D.fwrite函數(shù)用于以二進制形式輸出數(shù)據(jù)到文件

52.在數(shù)據(jù)庫管理系統(tǒng)提供的數(shù)據(jù)語言中,負責數(shù)據(jù)的查詢及增、刪、改等操作的是

A.數(shù)據(jù)定義語言B.數(shù)據(jù)轉(zhuǎn)換語言C.數(shù)據(jù)操縱語言D.數(shù)據(jù)控制語言

53.若有以下說明和定義uniondt{inta;charb;doublec;}data;以下敘述中錯誤的是

A.data的每個成員起始地址都相同

B.變量data所占內(nèi)存字節(jié)數(shù)與成員c所占字節(jié)數(shù)相等

C.程序段:data.a=5;printf("%f\n",data.c);輸出結果為5.000000

D.data可以作為函數(shù)的實參

54.有以下程序:mare(){inti,s=0,t[]={1,2,3,4,5,6,7,8,9};for(i=0;i<9;i+=2)s+=*(t+i);printf("%d\n",s);}程序執(zhí)行后的輸出結果是()。

A.45B.20C.25D.36

55.有以下程序#defineF(X,Y)(X)*(Y)main(){inta=3,b=4;printf("%d\n",F(xiàn)(a++,b++));}程序運行后的輸出結果是

A.12B.15C.16D.20

56.有以下程序#include<stdio.h>main(){ints[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i;for(i=0;i<12;i++)c[s[i]]++;for(i=1;i<5;i++)printf("%d",c[i]);printf("\n");}程序的運行結果是

A.1234B.2344C.4332D.1123

57.現(xiàn)有格式化輸入語句,scanf("x=%d],sum]y=%d,line]z=%dL",&x,&y,&z);,已知在輸入數(shù)據(jù)后,x,y,z的值分別是12,34,45,則下列選項中是正確的輸入格式的是

[注]:"]"表示空格,<Enter>表示回車

A.12,34,45<Enter>

B.x=12,y=34,z=45<Enter>

C.x=12C,sumy=34,z=45<Enter>

D.x=12],sum]y=34,line]z=45<Enter>

58.有如下程序:main(){inta[3][3]={{1,2},{3,4),{5,6}},i,j,s=0;for(i=1;i<3;i++)for(j=0;j<=i;j++)s+=a[i][j];printf("%d\n",s);}該程序的輸出結果是_____。

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

59.有以下程序:structSTU{charnum[10];floatscore[3];);main(){structstus[3]={{"20021",90,95,85},{"20022",95,80,75},{"20023",100,95,90}},*p=s;inti;floatsum=0;for(i=0;i<3,i++)sum=sum+p->score[i];printf("%6.2f\n",sum);}程序運行后的輸出結果是()。

A.260B.270C.280D.285

60.若有下列定義和語句:intu=011,y=0x11,w=11;printf("%o,%x,%d\n",u,v,w);則輸出結果是()。

A.9,17,11B.9,11,11C.11,11,11D.11,17,11

四、選擇題(20題)61.

62.

63.

64.有以下程序程序運行后的輸出結果是()。A.a+b=0B.a+b=30C.a+b=lOD.出錯

65.

66.有以下程序

main()

{inti;

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

switch(i)

{case1:printf("%d",i);

case2:printf("%d",i);

default:printf("%d",i);

}

}

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

A.011122B.012

C.012020D.120

67.

有以下程序:

#include<stdio.h>

main

{intx=4,y;

do

{y=x;

if(!y)printf("x");

else

printf("y"):

x--;

}while(x);

}

程序的輸出結果是()。

A.xyyxB.yyyyC.yyxxD.yxyx

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

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

69.以下對一維數(shù)組c進行正確的定義初始化的語句是

A.intc[10]=0;B.intc[10]={0}*10;

C.intc[1]={0,0,0,0,0,0,0};D.intc[10]={0};

70.

若希望下列的程序運行后輸出25,程序空白處的正確選項是()。

main

{intid=50,a[]=(7,4,10,5,8};

for()

j+=a[i];

printf("%d",j-40);

}

A.i=1;i<4;++i

B.i=l;i<3;++i

C.i=4;i>2;i--

D.i=2;i<4;++i

71.

72.讀取二進制文件的函數(shù)調(diào)用形式為:fread(buffer,size,count,fp);,其中buffer代表的是()。

A.一個內(nèi)存塊的字節(jié)數(shù)

B.一個整型變量,代表待讀取的數(shù)據(jù)的字節(jié)數(shù)

C.一個文件指針,指向待讀取的文件

D.一個內(nèi)存塊的首地址,代表讀人數(shù)據(jù)存放的地址

73.視圖設計一般有3種設計次序,下列不屬于視圖設計次序的是()。

A.自頂而下B.由內(nèi)向外C.由外向內(nèi)D.自底向上

74.

有以下程序

#include<stdio.h>

#include<string.h>

typedefstrlIct{charname[9];charsex;floatscore[2];}STU;

STUf(STUa)

{STUb={"Zhao",m,85.0,90.0);inti;

strcpy(aname,b.name);

sex:b.sex;

for(i=0;i<2;i++)a.score[i]=b.score[i];

returna;

}

main

{STUc="Qian",f,95.0,92.0},d;

d=f(c).printf("%s,%c,%2.0f,%2.0f",d.Name,d.sex,d.score[0],d.score[1]);

}

程序的運行結果是()。

A.Qian,f,95,92

B.Qian,m,85,90

C.Zhao,m,85,90

D.Zhao,f,95,92

75.以下數(shù)組定義中錯誤的是()。

A.

B.

C.

D.

76.

77.有以下程序則以下函數(shù)調(diào)用語句錯誤的是()。

A.k=*f(a,b);B.k=add(a,b);C.k=(*f)(a,b);D.k=f(a,b);

78.設有宏定義:

#defineIsDIV(k,n)((k%1"1==1)?1:O)且變量m已正確定義并賦值,則宏調(diào)用:

IsDIV(m,5)&&;IsDIV(m,7)為真時所要表達的是()。

A.判斷m是否能被5和7整除

B.判斷m被5和7整除是否都余l(xiāng)

C.判斷m被5或者7整除是否余1

D.判斷m是否能被5或者7整除

79.以下能定義為用戶標識符的是()。

A.printfB.charC._8abcD.Void

80.若有定義“intb[8],*p=b;”,則p+6表示()。

A.數(shù)組元素b[6]的值B.數(shù)組元素b[6]的地址C.數(shù)組元素b[7]的地址D.數(shù)組元素b[o]的值加上6

五、程序改錯題(1題)81.給定程序中,函數(shù)fun的功能是:首先把b所指字符串中的字符按逆序存放,然后將a所指字符串中的字符和b所指字符串中的字符:按排列的順序交叉合并到C所指數(shù)組中,過長的剩余字符接在C所指的數(shù)組的尾部。例如,當a.所指字符串中的內(nèi)容為“abcdef9”,b所指字符串中的內(nèi)容為“1234”時,c所指數(shù)組中的內(nèi)容應“a4b3c2dlef9”;而當a所指字符串中的內(nèi)容為“1234”,b所指字符串的內(nèi)容為“abcdef9”時,c所指數(shù)組中的內(nèi)容應該為“l(fā)g2f3e4dcba”。請改正程序中的錯誤,使它能得出正確的結果。注意:不要改動main函數(shù),不得增行或刪行,也不得更改程序的結構!試題程序:

六、程序設計題(1題)82.

參考答案

1.C本題考查while,while循環(huán)表達式k-1是個賦值表達式而不是邏輯表達式,k的初值為l2不符合循環(huán)條件,所以循環(huán)體語句一次也不執(zhí)行。

2.C

3.A

4.A數(shù)組名是一個存放一個數(shù)組首地址的值,是一個地址常量。而p=a不是合法的,因為p和a的基本類型不同。

5.B指針中存放的是變量的地址,指針也可以進行增減運算,這時指針移動的最小單位是一個存儲單元,而不是一個字節(jié)。所以題中“P+6”指的是將指針向后移動了6個存儲單元,即指向uE63,存放的是b[6]的地址。

6.C解析:C語言的語法規(guī)定:else子句總是與前面最近的不帶else的if相結合,與書寫格式無關。所以選項C)為正確答案。

7.A此題考查a--和--a之間的區(qū)別,當while(a--)為真循環(huán)執(zhí)行,a--是執(zhí)行再減1,所以答案選擇A。

8.D選項A、B中n為變量,C語言中不允許動態(tài)定義數(shù)組維數(shù),即維數(shù)不能是變量。選項C無此語法。

9.B鏈表采用的是鏈式存儲結構,它的結點空間可以動態(tài)申請和釋放;它的數(shù)據(jù)元素的邏輯次序靠結點的指針來指示,插入、刪除不需要移動數(shù)據(jù)元素。但是鏈式存儲結構也有不足之處:每個結點中的指針域需額外占用存儲空間,它是一種非隨機存儲結構。

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

11.D程序首先將數(shù)組a中的元素1、2、3分別寫入了d1.dat文件中,再將d1.dat文件中的數(shù)據(jù)“123”整體寫到變量n的空間中,所以輸出的數(shù)據(jù)為123。故本題答案為D選項。

12.C在輸入3和5之間除逗號外不能有其他字符。

13.DD選項中“x[2][3]”定義的是一個2行3列的二維數(shù)組,而在給數(shù)組元素賦值時卻賦成了3行,所以錯誤。故本題答案為D選項。

14.C

15.A解析:題中將函數(shù)fun的入口地址賦給了指針變量f1,這時f1和fun都指向函數(shù)的開頭,調(diào)用*f1就是調(diào)用函數(shù)fun。

16.B所謂常量是指在程序運行的過程中,其值不能被改變的量。在C語言中,有整型常量、實型常量、字符常量和字符串常量等類型。選項A是字符串,但使用單引號,錯誤,選項c,D,為實型常量中指數(shù)形式,但指數(shù)形式e(E)之前必須是數(shù)字,之后必須為整數(shù),錯誤。故答案為B選項。

17.C

18.A

19.A

20.A程序定義結構體類型STU,定義類型STU的全局變量a。main函數(shù)定義局部類型為STU變量b,并對它初始化,調(diào)用函數(shù)f。將局部變量c的各個成員值賦給a,覆蓋a的舊值,將a的新值返回并賦給b,此時a、b的各個成員值都是Sun,f,90,程序輸出:Sun,f,90,Sun,f,90。本題答案為A選項。

21.類類解析:在面向?qū)ο蠓椒ㄖ?,類描述的是具有相似性質(zhì)的一組對象。所以,屬性與操作相似的一組對象稱為類。

22.實體聯(lián)系圖或E-R圖實體聯(lián)系圖或E-R圖解析:實體聯(lián)系圖(B-R圖)是實體聯(lián)系模型中的核心。由于E-R圖描述的是數(shù)據(jù)流圖中數(shù)據(jù)存儲及其之間的關系,因此它是數(shù)據(jù)庫觀念設計的最常用的工具。

23.44解析:一維數(shù)組元素的定義形式為:數(shù)組名[N],則該數(shù)組中元素的下限是0,上限是N-1。

24.數(shù)據(jù)存儲數(shù)據(jù)存儲

25.關系關系解析:關系模型用;維表表示,則每個;維表代表一種關系。

26.數(shù)據(jù)模型數(shù)據(jù)模型

27.33解析:分析程序運行過程,第1次循環(huán):s=s+i*i=0+1*1=1,i=2;第2次循環(huán):s=s+i*i=1+2*2=5,i=3;第3次循環(huán):s=s+i*i=5+3*3=14,i=4;循環(huán)條件不成立輸出i,--i使i的值減1,輸出結果為3。

28.88解析:第1次for循環(huán),i=0,調(diào)用函數(shù)f(2),然后將a的值加1,在f()函數(shù)中,變量c為static類型,所以c=8:第2次for循環(huán),i=1,調(diào)用函數(shù)f(3),然后將a的值加1,調(diào)用函數(shù)f(3)時,a=c++=8,所以k=8。

29.k*kk\r\n*k解析:scanf()函數(shù)有兩個參數(shù),第一個參數(shù)是格式控制部分(格式控制部分是字符串,主要由%號和格式字符組成)第二個參數(shù)是一地址列表(地址列表是由多個地址組成,可以是變量的地址,也可以是字符串的首地址)。而第一個空位于scanf()函數(shù)的第二個參數(shù)處,所以,第一個空應該填地址k。printf()函數(shù)有兩個參數(shù),第一個參數(shù)是輸出格式字符串(輸出格式字符串是由控制輸出格式的字符和非格式字符組成,通常是字符常量。非格式字符作為輸出數(shù)據(jù)的間隔,輸出時原樣輸出)第二個參數(shù)為一輸出表達式表(輸出表達式表是由若干個需要計算和輸出的表達式組成的,表達式之間用逗號分隔開)。而第二個空位于printf()函數(shù)的第二個參數(shù)處,所以應該填*k。

30.66解析:本題中i循環(huán)執(zhí)行4次,當i=1時,j循環(huán)執(zhí)行0次;當i=2時,j循環(huán)執(zhí)行1次;當i=3時,j循環(huán)執(zhí)行2次;當i=4時,j循環(huán)執(zhí)行3次,所以輸出#號的個數(shù)是0+1+2+3=6。

31.D

32.重復(循環(huán))重復(循環(huán))解析:結構化程序設計包括3種基本的結構:順序結構、選擇結構和重復結構(循環(huán)結構),利用這3種結構就足以表達出各種其他形式結構的程序設計方法。其中利用循環(huán)結構,可以簡化大量的程序執(zhí)行。

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

34.-24-24解析:本題考查賦值運算符a+=b等價于a=a+b;a-=a*a等價于a-a-a*a=4-4*4=-12:a+=a,即a=a+a=-24。

35.t>=le-5;t=t/n;

36.do…whiledo…while解析:考查while和do…while循環(huán)的主要區(qū)別。while循環(huán)的控制出現(xiàn)在循環(huán)體之前,只有當while后面的表達式的值為非零時,才可能執(zhí)行循環(huán)體;在do…while構成的循環(huán)體中,總是先執(zhí)行一次循環(huán)體,然后再求表達式的值,因此無論表達式的值是否為零,循環(huán)體至少要被執(zhí)行一次。

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

38.黑盒軟件測試的方法有三種:動態(tài)測試、靜態(tài)測試和正確性證明。設計測試實例的方法一般有兩類:黑盒測試法和白盒測試法。在使用黑盒法設計測試實例時,測試人員將程序看成一個“黑盒”,即不關心程序內(nèi)部是如何實現(xiàn)的,只是檢查程序是否符合它的“功能說明”,所以使用黑盒法設計的測試用例完全是根據(jù)程序的功能說明來設計的。

39.1011

40.8888解析:C語言規(guī)定,以0開頭的整型常量為八進制。另外,在primf()函數(shù)中,%X表示以十六進制無符號形式輸出一個整數(shù),且十六進制中的ABCDEF為大寫字母。本題的輸出應該是八進制210的十六進制形式。將八進制轉(zhuǎn)換為十六進制,可以先將其轉(zhuǎn)換為二進制。因為1位八進制表示3位二進制,4位二進制表示1位十六進制。(210)8=(10001000)2=(88)16,故本題輸出為880

41.C隊列是指允許在一端進行插入、而在另一端進行刪除的線性表,選項A和選項B錯誤。允許插入的一端稱為隊尾,允許刪除的一端稱為隊頭。在隊列中,最先插入的元素將最先能夠被刪除,反之,最后插入的元素將最后才能被刪除。所以,隊列又稱為“先進先出”或“后進后出”的線性表,它體現(xiàn)了“先來先服務”的原則,選項C正確,選項D錯誤。

42.B解析:C語言規(guī)定標識符只能由字母、數(shù)字和下畫線3種字符組成,且第一個字符必須為字母或下畫線,排除選項C)和D);C語言中還規(guī)定標識符不能為C語言的關鍵字,而選項A)中void為關鍵字,故排除選項A)。

43.B水平制表符中,'\t'表示的是橫向跳若干格;選項B中,'\039'錯誤,'\039'是八進制形式表的字符,最大數(shù)為7,但其中出現(xiàn)'9',','是字符逗號;選項D中,'\n'表示的是換行。

44.D本題考查通過指針引用數(shù)組元素。選項A)、B),沒有這種引用形式;選項c),*(p5)是引用數(shù)組的第6個元素,而數(shù)組一共有5個元素,出現(xiàn)越界;選項D),*(a2)引用數(shù)組的第3個元素。

45.D解析:對??蛇M行插入和刪除數(shù)據(jù)的操作,但必須牢記插入和刪除數(shù)據(jù)都只能在棧頂,是一種特殊的線性表.所以棧是先進后出的線性表。

46.D解析:標識符是C語言中用來表示變量名、數(shù)組名、函數(shù)名、指針名、結構名、聯(lián)合名、枚舉常數(shù)名、用戶定義的數(shù)據(jù)類型名、語句標號等用途的字符序列。標識符由1~32個字符組成,第一個字符必須是字母或下劃線,后面的字符可以是字母、數(shù)字或下劃線。標識符不能與C關鍵字相同,并區(qū)分大小寫。選項D)錯誤,因為int是C語言中的關鍵字。

47.C解析:軟件測試的目標是在精心控制的環(huán)境下執(zhí)行程序,以發(fā)現(xiàn)程序中的錯誤,給出程序可靠性的鑒定。它有3個方面的重要特征,即測試的挑剔性、完全測試的不可能性及測試的經(jīng)濟性。其中沒有測試的可靠性這一說法。注意:軟件測試與軟件調(diào)試的概念,以及相應的方法。

48.D

49.C解析:當for循環(huán)執(zhí)行到第30次時,i的值為30能被5整除,然后繼續(xù)執(zhí)行兩次if語句,i經(jīng)過兩次自加1運算,值變?yōu)?2,能被8整除,故此時第一次執(zhí)行'printf('%d',i);'語句,即輸出32。

50.C解析:C語言規(guī)定,只要在定義函數(shù)時不進行存儲類型的顯式說明,函數(shù)的存儲類型就隱含為外部類型,即extern型,外部類型允許其他文件中的函數(shù)調(diào)用。

51.B

52.C【解析】在數(shù)據(jù)庫管理系統(tǒng)提供的數(shù)據(jù)語言中,數(shù)據(jù)操縱語言負責數(shù)據(jù)的查詢及增、刪、改等操作。故答案為C。

53.D解析:選項A),共用體的每個成員的起始地址都相同;選項B),共用體變量所占的內(nèi)存長度等于最長的成員的長度;選項C)因為每個成員的起始地址相同,所以整型數(shù)5以浮點型輸出時為5.000000;選項D)C語言規(guī)定,不能把共用體變量作為函數(shù)的參數(shù)。

54.C解析:要獲得數(shù)組t的第i個元素的內(nèi)容,既可以使用常規(guī)的t[i]表達式,也可以將數(shù)組名t看作一個指針常量,使用表達式*(t+i)來獲取數(shù)組t的第i個元素的內(nèi)容。在本題中,for循環(huán)會循環(huán)5次,循環(huán)變量i從。開始,每次加2。所以,循環(huán)結束后,s中的值為t[0]+t[2]+t[4]+t[6]+t[6]+t[8]=1+3+5+7+9=25。故應該選擇C。

55.A解析:此題考查的是編譯預處理命令以及自加運算符。F(a++,b++)先取a和b的值,參加運算,再把a和b的值分別加1,所以F(a++,b++)=F(3,4)=3*4=12。

56.C解析:程序中定義了兩個數(shù)組s和c,數(shù)組c中有5個元素,每個元素的初始值為0;數(shù)組s中有12個元素,包含4個“1”,3個“2”,3各“3”,2個“4”。第一個for語句中,用s[i]作為c數(shù)組的下標,用于統(tǒng)計s[i]中相同數(shù)字的個數(shù),同時將統(tǒng)計的結果放在以該數(shù)字為下標的c數(shù)組中。第二個for語句用于將c數(shù)組中a[1]~a[4]4個元素輸出。

57.D解析:若在scanf的格式化控制串中插入了其他字符,則在輸入時要求按一一對應的位置原樣輸入這些字符。格式化輸入函數(shù)必須嚴格按照雙引號里面的格式進行輸入。在格式化輸出函數(shù)中,格式控制串中除了合法的格式說明外,可以包含任意的合法字符。

58.A解析:題中的外循環(huán)只執(zhí)行了2次:

第1次:a[1][0]=3,a[1][1]=4,所以s=7;

第2次:a[2][0]=5,a[2][1]=6,a[2][2]=0,所以s=7+5+6+0=18。

59.B解析:程序中首先定義了一個結構體,其成員為一字符數(shù)組和一實型數(shù)組。在main()中首先定義了一個結構體數(shù)組并初始化。接下來在for循環(huán)中遍歷了結構體數(shù)組的第一個元素中數(shù)組成員即{'20021',90,95,85'}循環(huán)結果為90+95+85=270最后sum為270,又輸出格式為%6.2f\\n要求保留兩位小數(shù),故最后輸出為270.00。所以4個選項中B正確。

60.C解析:在C語言中,“%d”表示輸出帶符號的十進制整型數(shù);“%x”表示以十六進制無符號型輸出整型數(shù)據(jù)(即不帶前導0x或0x);“%o”表示以八進制無符號型輸出整型數(shù)據(jù)(即不帶前導0)。

61.B

62.B

63.A

64.A注釋/*和*/,之間計算機不參與編譯,所以a、b值仍為0,答案選擇A)。

65.C

66.A在本題中,程序首先定義了一個循環(huán)變量i,然后執(zhí)行for循環(huán),從循環(huán)變量的初始值及循環(huán)的結束條件可以判斷出循環(huán)執(zhí)行3次。

第一次循環(huán)時,i=0,然后執(zhí)行switch語句,由于i=0,無法找到匹配的case結構,執(zhí)行default結構,此時輸出變量i的值0。本次循環(huán)結束。

第二次循環(huán)時,i=1,然后執(zhí)行switch語句,由于i=1,首先執(zhí)行case1結構,輸出1,由于沒有break,程序接著執(zhí)行case1結構,又輸出1,接著又執(zhí)行default結構,又輸出一個1。在本次循環(huán)中,總共輸出3個1。

第三次循環(huán)時,i=2,然后執(zhí)行switch語句,由于i=2,首先執(zhí)行case2結構,輸出2,由于沒有break,程序接著執(zhí)行default結構,又輸出一個2。在本次循環(huán)中,總共輸出2個2。三次循環(huán)后循環(huán)結束,主函數(shù)結束。

從上面對程序的分析我們可以知道,程序最后的輸出結果是011122。因此本題的正確答案選A。

67.C

\n本題考查do-while語句和if…else語句。do-while語句的功能是先執(zhí)行循環(huán)體再判斷條件,所以,先判斷if語句的條件,y=-4,!y為邏輯0,條件不成立,執(zhí)行下面的else語句,輸出y,然后將x的值減1,x=3,條

溫馨提示

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

評論

0/150

提交評論