2021年四川省廣安市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)_第1頁(yè)
2021年四川省廣安市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)_第2頁(yè)
2021年四川省廣安市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)_第3頁(yè)
2021年四川省廣安市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)_第4頁(yè)
2021年四川省廣安市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)_第5頁(yè)
已閱讀5頁(yè),還剩23頁(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ì)預(yù)測(cè)試題(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________一、單選題(20題)1.廣義表((a))的表尾是()。

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

2.下面哪些使用的不是貪心算法()

A.單源最短路徑中的Dijkstra算法

B.最小生成樹(shù)的Prim算法

C.最小生成樹(shù)的Kruskal算法

D.計(jì)算每對(duì)頂點(diǎn)最短路徑的Floyd-Warshall算法

3.下列程序的輸出結(jié)果是#include"stdio.h”"main(){inti,a=0,b=0;for(i=1;i<10;i++){if(i%2==0){a++;continue;}b++;}printf("a=%d,b=%d",a,b);}

A.a=4,b=4B.a=4,b=5C.a=5,b=4D.a=5,b=5

4.軟件生命周期中,花費(fèi)最多的階段是()。

A.詳細(xì)設(shè)計(jì)B.軟件編碼C.軟件測(cè)試D.軟件維護(hù)

5.下列程序的輸出結(jié)果是()。main(){inta=1,b=2;printf("%d,%d\n",--a,++b);}

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

6.以下不能輸出字符A的語(yǔ)句是(注:字符A的ASCII值為65,字符a的ASCII值為97)()。

A.printf(“%c\n”,‘a(chǎn)’-32);

B.printf(“%d\n”,‘A’);

C.printf(“%c\n”,65);

D.printf(“%c\n”,‘B’-1);

7.以下敘述中正確的是_____。A.用C程序?qū)崿F(xiàn)的算法必須要有輸入和輸出操作

B.用C程序?qū)崿F(xiàn)的算法可以沒(méi)有輸出但必須要輸入

C.用C程序?qū)崿F(xiàn)的算法可以沒(méi)有輸入但必須要有輸出

D.用C程序?qū)崿F(xiàn)的算法可以既沒(méi)有輸入也沒(méi)有輸出

8.執(zhí)行以下程序后,a,b的值分別為main(){ina,b,k=4,m=6,*p1=&k,*p2=&m;a=p1==&m;b=(*p1)/(*p2)+7;printf("a=%d\n",a);printf("b=%d\n",b);}

A.-1,5B.1,6C.0,7D.4,10

9.兩個(gè)或兩個(gè)以上模塊之間關(guān)聯(lián)的緊密程度稱為()。

A.耦合度B.內(nèi)聚度C.復(fù)雜度D.數(shù)據(jù)傳輸特性

10.

11.在含有n個(gè)項(xiàng)點(diǎn)有e條邊的無(wú)向圖的鄰接矩陣中,零元素的個(gè)數(shù)為_(kāi)_______。

A.eB.2e9C.n2-eD.n2-2e

12.有以下程序:#include<stdio.h>main(){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);}程序的運(yùn)行結(jié)果是()。

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

13.有如下程序:

longfib(intn)

{if(n>2)return(fib(n-1)+fib(n-2));

elsereturn(2);

}

main()

{printf("%d\n",fib(3));}

該程序的輸出結(jié)果是A.A.2B.4C.6D.8

14.

15.以下程序的輸出結(jié)果是()。main(){inti,a[4][4]一{{1,3,5),{2,4,6},{3,5,7}};printf("%(1%d%d%d\n".a(chǎn)[O][3],a[1][2],a[2][1],a[3][0];}A.0650B.1470C.5430D.輸出值不定

16.

17.無(wú)向圖中一個(gè)頂點(diǎn)的度是指圖中與該頂點(diǎn)相鄰接的頂點(diǎn)數(shù)。若無(wú)向圖G中的頂點(diǎn)數(shù)為n,邊數(shù)為e,則所有頂點(diǎn)的度數(shù)之和為()

A.n*eB.n+eC.2nD.2e

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

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

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

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

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

19.下面敘述中錯(cuò)誤的是()。

A.軟件測(cè)試的目的是發(fā)現(xiàn)錯(cuò)誤并改正錯(cuò)誤

B.對(duì)被調(diào)試的程序進(jìn)行“錯(cuò)誤定位”是程序調(diào)試的必要步驟

C.程序調(diào)試通常也稱為Debug

D.軟件測(cè)試應(yīng)嚴(yán)格執(zhí)行測(cè)試計(jì)劃,排除測(cè)試的隨意性

20.與單鏈表相比,雙向鏈表的優(yōu)點(diǎn)之一是()。

A.插入、刪除操作更加簡(jiǎn)單B.可以隨機(jī)訪問(wèn)C.可以省略表頭指針或表尾指針D.順序訪問(wèn)相鄰結(jié)點(diǎn)更加靈活

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

main()

{inti;

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

{if(i>4)

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

break;}

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

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

23.在算法正確的前提下,評(píng)價(jià)一個(gè)算法的兩個(gè)標(biāo)準(zhǔn)是【】。

24.以下函數(shù)把b字符串連接到a字符串的后面,并返回a中新字符串的長(zhǎng)度。請(qǐng)?zhí)羁铡?/p>

strcen(chara[],charb[])

{intnum=0,n=0;

while(*(a+num)!=【】)num++;

while(b[n]){*(a+num)=b[n];num++;【】;}

return(num);

}

25.若按功能劃分,軟件測(cè)試的方法通常分為_(kāi)_____測(cè)試方法和黑盒測(cè)試方法。

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

#include<stdio.h>

voidfun()

{staticinta=0;

a+=2;printf("%d",a);

}

main()

{intcc;

for(cc=1;cc<4;cc++)fun();

printf("\n");

}

27.下面程序輸出的結(jié)果是()。intm=17;intfun(intx,inty){intm=3;return(x*y-m);}main(){inta=5,b=7;printf("%d\n”,fun(a,B)/m);}

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

#include<stdio.h>

intt(intx,inty,intcp,intdp)

{cp=x*x+y*y;

如:dp=x*-y*y;

}

main()

{inta=1,b=8,c=7,d=9;

t(a,b,c,D);

printf("%d%d\n",c,D);

}

29.有以下程序:#include<stdio.h>#include<string.h>main(){chara[]={'a','b','c','d','e','f','h','\0'};inti,j;i=sizeof(A);j=strlen(A);printf("%d,%d",i,j);}程序運(yùn)行后的輸出結(jié)果是()。

30.設(shè)有如下程序:

main()

{intn1,n2;

scanf("%d",&n2);

while(n2!=0)

{n1=n2%10;

n2=n2/10;

printf("%d",n1);

}

}

程序運(yùn)行后,如果從鍵盤上輸入1298,貝愉出結(jié)果為【】。

31.執(zhí)行以下程序后,輸出‘#’號(hào)的個(gè)數(shù)是______。

#include<stdio.h>

main()

{

inti,j;

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

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

putchar('#');

}

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

fun(intx)

{if(x/2>0)fun(x/2);

printf("%d",x);

}

main()

{fun(6);}

33.在軟件測(cè)試中,動(dòng)態(tài)測(cè)試和靜態(tài)測(cè)試手段只能發(fā)現(xiàn)程序中的錯(cuò)誤,而不能證明程序中不存在錯(cuò)誤,只有【】證明才有可能證明程序的正確性。

34.下面函數(shù)的功能是將一個(gè)字符串的內(nèi)容顛倒過(guò)來(lái),請(qǐng)?zhí)羁铡?/p>

voidfun(charstr[])

{inti,j,k;

for(i=0,j=【】;i<j;i++,j--)

{k=str[i];

str[i]=str[j];

str[j]=k;}}

35.數(shù)據(jù)庫(kù)管理系統(tǒng)是位于用戶與______之間的軟件系統(tǒng)。

36.有以下定義和語(yǔ)句,則sizeof(a)的值是【】,而sizeof(a.share)的值是【】。

structdate

{intday;

intmouth;

intyear;

union{intshare1;

floatshare2;

}share;

}a;

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

typedefstruct

{intn;

charch[8];

}PER;

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

main()

{inta[]={31,27,20,12,6,1},*p=a;

p++;

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

}

39.實(shí)現(xiàn)算法所需的存儲(chǔ)單元多少和算法的工作量大小分別稱為算法的【】。

40.在面向?qū)ο蟮姆椒ㄖ?,______描述的是具有相似屬性與操作的一組對(duì)象。

三、1.選擇題(20題)41.有以下程序:#include<stdio.h>main(){inta[3][2]={0},(*ptr)[2],i,j;for(i=0;i<2;i++){ptr=a+i;scanf("%d",ptr);ptr++;}for(i=0;i<3;i++)}for(j=0;j<2;j++)prinff("%2d",a[i][j]);prinff("\n");}}若運(yùn)行時(shí)輸入:123<回車>,則輸出結(jié)果是()。

A.產(chǎn)生錯(cuò)誤信息B.102000C.123000D.102030

42.以下程序段中,不能正確賦字符串(編譯時(shí)系統(tǒng)會(huì)提示錯(cuò)誤)的是()。

A.chars[10]=="abcdefg";

B.chart[]="abcdefg",*s=t;

C.chars[10];s="abcdefg";

D.chars[10];strcpy(s,"abcdefg");

43.下列程序的輸出結(jié)果為main(){unionu{char*name;intage;intincome;}="WANGLIONG";s.age=28;s.income=1000;printf("%d\n",s.age);}

A.28B.1000C.0D.不確定

44.執(zhí)行下列程序段后,變量a,b,c的值分別是()。intx=5,y=4;inta,b,c;a=(--x==y++)?x:++y;b=++x;c=y;

A.a=5,b=5,c=5

B.a=4,b=5,c=5

C.a=5,b=6,c=5

D.a=1,b=5,c=6

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

A.一個(gè)算法的空間復(fù)雜度大,則其時(shí)間復(fù)雜度也必定大

B.一個(gè)算法的空間復(fù)雜度大,則其時(shí)間復(fù)雜度必定小

C.一個(gè)算法的時(shí)間復(fù)雜度大,則其空間復(fù)雜度必定小

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

46.用鏈表表示線性表的優(yōu)點(diǎn)是()。

A.便于隨機(jī)存取B.花費(fèi)的存儲(chǔ)空間較順序存儲(chǔ)少C.便于插入和刪除操作D.數(shù)據(jù)元素的物理順序和邏輯順序相同

47.有以下程序main(){union{unsignedintn;unsignedcharc;}ul;u1.C='A';pfintf("%c\n",u1.n);}執(zhí)行后輸出結(jié)果是

A.產(chǎn)生語(yǔ)法錯(cuò)B.隨機(jī)值C.AD.65

48.若a為int類型,且其值為3,則執(zhí)行完表達(dá)式a+=a-=a*a后,a的值是()。

A.-3B.9C.-12D.6

49.對(duì)建立良好的程序設(shè)計(jì)風(fēng)格,下列描述正確的是()。

A.程序應(yīng)該簡(jiǎn)單、清晰、可讀性好B.符號(hào)名的命名只需要符合語(yǔ)法C.充分考慮程序的執(zhí)行效率D.程序的注釋可有可無(wú)

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

A.'C'B.CC.'\xCC'D.'\072'

51.下面的程序執(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++)fputc(st[i],myf);fclose(myf);}main(){fun("test.t","newworld");fun("test.t","hello,");}

A.hello,B.newworldhelloC.newworldD.hello,rld

52.請(qǐng)讀程序:#include<stdio.h>main(){floax,y;scanf("%f",&x);if(x<0.0)y=0.0;elseif((x<5.0)&&(x!=2.0))y=1.0/(x+2.0);elseif(x<10.0)y=1.0/x;elsey=10.0;printf("%f\n",y);}若運(yùn)行時(shí)從鍵盤上輸入2.0<CR>(<CR>表示回車),則該程序的輸出結(jié)果是()

A.0B.0.25C.0.5D.1

53.若有定義:inta=8,b=5,c;執(zhí)行語(yǔ)句c=a/b+0.4;后,c的值為

A.1.4B.1C.2D.2

54.下列條件語(yǔ)句中,功能與其他語(yǔ)句不同的是()。

A.if(a)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==O)printf("%d\n",x);elseprintf("%d\n",y);

55.指出下面不正確的賦值語(yǔ)句

A.a++;B.a==b;C.a+=b;D.a=1,b=1;

56.以下程序執(zhí)行后x的值是main(){intx,y=252,i=386,*m=&y,*z=&i;x=(z==y);printf("%d",x);}

A.252B.1C.0D.運(yùn)行時(shí)出錯(cuò),x無(wú)定值

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

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

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

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

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

58.執(zhí)行下面程序后,a的值是()main(){inta;printf("%d\n",(a=3*5,a*4,a+5));}

A.65B.20C.15D.10

59.在下列字符序列中,合法的標(biāo)識(shí)符是()

A.P12&.aB.stud_100C.$water.12D.88sum

60.有如下程序段

inta=14,b=15,x;

charc=′A′;

x=(a&&b)&&(c<′B′);

執(zhí)行該程序段后,x的值為

A.trueB.falseC.0D.1

四、選擇題(20題)61.有以下程序:main{inti,n=0:for(i=2;i<5;i++){do{if(i%3)continue:n++:}while(!i);n++:}printf("n=%d\n",n);}程序執(zhí)行后輸出結(jié)果是()。A.n=5B.n=2C.n=3D.n=4

62.有以下程序

63.(38)索引屬于()

A.模式

B.內(nèi)模式

C.外模式

D.概念模式

64.(32)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是指()

A.數(shù)據(jù)所占的存儲(chǔ)空間量

B.數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的表示

C.數(shù)據(jù)在計(jì)算機(jī)中的順序存儲(chǔ)方式

D.存儲(chǔ)在外存中的數(shù)據(jù)

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

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

66.

67.

68.以下關(guān)于結(jié)構(gòu)化程序設(shè)計(jì)的敘述中正確的是()。

A.一個(gè)結(jié)構(gòu)化程序必須同時(shí)由順序、分支、循環(huán)三種結(jié)構(gòu)組成

B.結(jié)構(gòu)化程序使用goto語(yǔ)句會(huì)很便捷

C.在C語(yǔ)言中,程序的模塊化是利用函數(shù)實(shí)現(xiàn)的

D.由三種基本結(jié)構(gòu)構(gòu)成的程序只能解決小規(guī)模的問(wèn)題

69.

70.在長(zhǎng)度為n的有序線性表中進(jìn)行二分法查找,最壞情況下需要比較的次數(shù)是()。A.O(n)B.0(n2)C.O(log2n)D.O(nlog2n)

71.

72.

73.有以下程序

main()

{intx,y;

scanf("%d",&x);

y=x>12?x+10:x-12;

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

}

若運(yùn)行時(shí)給變量x輸入12,則以下程序的運(yùn)行結(jié)果是

A.0B.22

C.12D.10

74.執(zhí)行以下程序時(shí)輸人1234567<CR>,則輸出結(jié)果是()。

#include<stdio.h>

main

{

inta=1,b;

scanf("%3d%2d",&a,&b);

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

}

A.12367B.12346C.12312D.12345

75.

76.有以下程序:

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

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

77.若變量已正確定義,有以下程序段其輸出結(jié)果是()。

A.0,1B.0,0C.1,1D.程序進(jìn)入無(wú)限循環(huán)

78.下面不屬于軟件工程三個(gè)要素的是()。

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

79.

80.

五、程序改錯(cuò)題(1題)81.下列給定程序中函數(shù)fun()的功能是:求出如下分?jǐn)?shù)序列的前n項(xiàng)之和,結(jié)果通過(guò)函數(shù)值返回。例如,若n=5,則應(yīng)輸出8.391667。請(qǐng)改正程序中的錯(cuò)誤,使其得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!試題程序:

六、程序設(shè)計(jì)題(1題)82.有N個(gè)學(xué)生,每個(gè)學(xué)生的信息包括學(xué)號(hào)、性別、姓名、四門課的成績(jī),從鍵盤上輸入N個(gè)學(xué)生的信息,要求輸出總平均成績(jī)最高的學(xué)生信息,包括學(xué)號(hào)、性別、姓名和平均成績(jī)。

參考答案

1.D

2.D

3.B解析:continue語(yǔ)句的作用是跳過(guò)本次循環(huán)體中余下尚未執(zhí)行的語(yǔ)句,接著再一次進(jìn)行循環(huán)條件的判定。當(dāng)能被2整除時(shí),a就會(huì)增1,之后執(zhí)行continue語(yǔ)句,直接執(zhí)行到for循環(huán)體的結(jié)尾,進(jìn)行i++,判斷循環(huán)條件。

4.D本題考查對(duì)軟件生命周期的理解,軟件生命周期整體上可分為定義階段、開(kāi)發(fā)階段和維護(hù)階段。其中定義階段包括可行性研究與計(jì)劃制訂和需求分析;開(kāi)發(fā)階段包括概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、開(kāi)發(fā)和測(cè)試;維護(hù)階段是一個(gè)單獨(dú)階段,不包含在開(kāi)發(fā)階段內(nèi),它是所花費(fèi)用最多的一個(gè)階段。

5.D解析:本題主要考查自加(++)、自減(--)運(yùn)算符的使用?!?+i,--i”在使用i之前,先使i的值加1或者減1,然后再使用i此時(shí)的值參與運(yùn)算;“i++,i--”是在使用i參與表達(dá)式運(yùn)算之后,再使i的值加1或者減1。本題中--a和++b是先執(zhí)行a減1和b加1操作,再輸出表達(dá)式的值。

6.BB選項(xiàng)輸出的格式為%d,即整型格式,所以輸出字符‘A’的ASCII值65,而不是字母A。因?yàn)榇髮懽帜副绕鋵?duì)應(yīng)的小寫字母的ASCII值小32,所以A選項(xiàng)正確。字符‘A’的ASCII值是65,以%c格式輸出可以輸出字母A,所以C選項(xiàng)正確。因?yàn)樽址瓵’的ASCII值比字符‘B’的小1,所以D選項(xiàng)正確。故本題答案為B選項(xiàng)。

7.C解析:算法的特性中包括“有零個(gè)或多個(gè)輸入”及“有一個(gè)或多個(gè)輸出”這兩個(gè)特性。一個(gè)算法得到的結(jié)果就是算法的輸出,沒(méi)有輸出的算法是沒(méi)有意義的,所以一千算法必須至少有一個(gè)輸出。

8.C解析:inta,b,k=4,m=6,*p1=&k,*p2=&m;聲明整型變量a,b,k,m和指針p1,p2,并分別將4和6賦給k和m,將k和m的地址賦給P1和p2;a=p1==&m;等價(jià)于a=(p1==&m);將p1是否等于地址m的值(0)賦給變量a,b=(*p1)/(*p2)+7;該句的含義是將后面表達(dá)式的的值7賦給變量b。

9.A解析:本題考核模塊獨(dú)立性的評(píng)價(jià)。評(píng)價(jià)模塊獨(dú)立性的主要標(biāo)準(zhǔn)有兩個(gè);一是模塊之間的耦合,它表明兩個(gè)模塊之間互相獨(dú)立的程度,也可以說(shuō)是兩個(gè)或兩個(gè)以上模塊之間關(guān)聯(lián)的緊密程度(所以,本題的正確答案為選項(xiàng)A);二是模塊內(nèi)部之間的關(guān)系是否緊密,稱為內(nèi)聚。一般來(lái)說(shuō),要求模塊之間的耦合盡可能地弱,即模塊盡可能獨(dú)立,而要求模塊的內(nèi)聚程度盡量地高。

10.A

11.D

12.B程序的功能為統(tǒng)計(jì)1~9這9個(gè)數(shù)中的奇數(shù)和。C語(yǔ)言中規(guī)定數(shù)組名代表數(shù)組的首地址,也就是第1個(gè)元素的地址,因此“*(t+i)”代表數(shù)組的第i+1個(gè)元素。程序的運(yùn)行結(jié)果是1+3+5+7+9=25。故本題答案為B選項(xiàng)。

13.B

14.C

15.A當(dāng)所賦的值不夠其列的寬度時(shí),系統(tǒng)在其后自動(dòng)補(bǔ)0,因此a[0][3]=0,a[1][2]=6,a[2][1]=5,a[3][0]=0,故選擇A選項(xiàng)。

16.C

17.D

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

19.A軟件測(cè)試的目的是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程,并不涉及改正錯(cuò)誤,所以選項(xiàng)A錯(cuò)誤。程序調(diào)試的基本步驟有:錯(cuò)誤定位、修改設(shè)計(jì)和代碼,以排除錯(cuò)誤、進(jìn)行回歸測(cè)試,防止引進(jìn)新的錯(cuò)誤。程序調(diào)試通常稱為Debug,即排錯(cuò)。軟件測(cè)試的基本準(zhǔn)則有:所有測(cè)試都應(yīng)追溯到需求、嚴(yán)格執(zhí)行測(cè)試計(jì)劃,排除測(cè)試的隨意性、充分注意測(cè)試中的群集現(xiàn)象、程序員應(yīng)避免檢查自己的程序、窮舉測(cè)試不可能、妥善保存測(cè)試計(jì)劃等文件。故答案為A選項(xiàng)。

20.D

21.1351\r\n3\r\n5解析:本題考查了for循環(huán)語(yǔ)句的使用,break語(yǔ)句用在本題中是結(jié)束for循環(huán)直接跳出循環(huán)體外。當(dāng)i=1時(shí),因?yàn)閕f語(yǔ)句條件不滿足,所以直接執(zhí)行printf('%d\\n',i++);輸出1,同時(shí)i自加1;執(zhí)行第二次for循環(huán)時(shí),i=3;同樣的if語(yǔ)句條件不滿足,所以直接執(zhí)行printf('%d\\n',i++);輸出3,同時(shí)i自加1;執(zhí)行第三次for循環(huán)時(shí),i=5,if語(yǔ)句條件滿足,所以執(zhí)行printf('%d\\n',i),輸出5,然后break語(yǔ)句跳出了for循環(huán)。

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

23.時(shí)間復(fù)雜度和空間復(fù)雜度時(shí)間復(fù)雜度和空間復(fù)雜度

24.0'或0或NULLn++或++n或n=n+1或n+=10'或0或NULL\r\nn++或++n或n=n+1或n+=1

25.白盒白盒解析:軟件測(cè)試的方法分為白盒測(cè)試方法和黑盒測(cè)試方法.

26.246246解析:本題考查靜態(tài)(static)局部變量的使用。fun函數(shù)中的靜態(tài)局部變量a所占用的存儲(chǔ)單元在程序運(yùn)行過(guò)程中始終不釋放,即當(dāng)下一次調(diào)用該函數(shù)時(shí),該變量仍然保留上一次函數(shù)調(diào)用結(jié)束時(shí)已有的值,3次調(diào)用fun函數(shù)分別得到2,4,6。

27.11解析:本題考查局部變量和全局變量的區(qū)別:局部變量是指作甩域在函數(shù)級(jí)和塊級(jí)的變量,全局變量是指作用域在程序級(jí)和文件級(jí)的變量。

28.7979解析:因?yàn)樵谡{(diào)用子函數(shù)時(shí)進(jìn)行的是數(shù)值傳遞,調(diào)用子函數(shù)并不能改變實(shí)參的值,所以經(jīng)過(guò)調(diào)用子函數(shù),c、d的值并沒(méi)有發(fā)生變化還是原來(lái)的值。

29.98

30.89218921解析:本題的程序的功能是將輸入的整數(shù)反向輸出。

31.66解析:本題中,i,j分別為外循環(huán)和內(nèi)循環(huán)的循環(huán)控制變量,外層循環(huán)共執(zhí)行了四次.當(dāng)i=1時(shí),由于內(nèi)層循環(huán)判斷條件(2<=1)為假不執(zhí)行內(nèi)層循環(huán).當(dāng)i=2時(shí),執(zhí)行內(nèi)層循環(huán),輸出一個(gè)#當(dāng)i=3時(shí),內(nèi)層循環(huán)循環(huán)兩次,輸出兩個(gè)#,當(dāng)i=4時(shí),內(nèi)層循環(huán)循環(huán)三次,輸出三#。當(dāng)i=5時(shí),循環(huán)判斷條件不成立,退出外層循環(huán)。所以一共輸出6個(gè)#。

32.136136解析:本題考核的知識(shí)點(diǎn)是函數(shù)遞歸。主函數(shù)調(diào)用函數(shù)fun(6),由于6/2>0為真遞歸調(diào)用fun(3),接著遞歸調(diào)用fun(1),輸出1,返回上一層輸出3,在返回上一層輸出6。故空格處應(yīng)該填136。

33.程序正確性程序正確性

34.strlen(str)-1strlen(str)-1解析:程序中的for循環(huán)就是用來(lái)完成串反序的,所以應(yīng)該對(duì)循環(huán)的條件進(jìn)行初始化,所以在[18]應(yīng)該填入strlen(str)-1。注意,在串反序的時(shí)候,不應(yīng)該把串結(jié)束符‘\\0’也反序。

35.操作系統(tǒng)操作系統(tǒng)解析:數(shù)據(jù)庫(kù)管理系統(tǒng)是幫助用戶創(chuàng)建和管理數(shù)據(jù)庫(kù)的應(yīng)用程序的集合。因此,數(shù)據(jù)庫(kù)管理系統(tǒng)需要操作系統(tǒng)的支持,為用戶提供服務(wù)。

36.10410\r\n4解析:結(jié)構(gòu)體變量所占內(nèi)存長(zhǎng)度是各成員占的內(nèi)存長(zhǎng)度之和。每個(gè)成員分別占有其自己的內(nèi)存單元。int占2個(gè)字節(jié),float占4個(gè)字節(jié),共用體變量所占的內(nèi)存長(zhǎng)度等于最長(zhǎng)的成員的長(zhǎng)度。所以,sizeof(a.share)的值是4,sizeof(a)的值是2+2+2+4=10。

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

38.1212解析:本題簽考查如何用指針引用數(shù)組元素。分析程序,首先定義了一個(gè)指向數(shù)組a的指針p,p指向數(shù)組的首地址,通過(guò)p++,將p指向a[1],p+2是將指針后移2位指向a[3],*(p+2)即是取a[3)的值12。

39.空間復(fù)雜度和時(shí)間復(fù)雜度算法的復(fù)雜性是指對(duì)一個(gè)在有限步驟內(nèi)終止算法和所需存儲(chǔ)空間大小的估計(jì)。算法所需存儲(chǔ)空間大小是算法的空間復(fù)雜性,算法的計(jì)算量是算法的時(shí)間復(fù)雜性。

40.類類解析:在面向?qū)ο蟮姆椒ㄖ校丫哂邢嗤瑢傩院头椒ǖ膶?duì)象稱為類,類是對(duì)象的抽象,對(duì)象是類的實(shí)例。

41.B解析:程序中a[3)[2]={0}將數(shù)組元素全部初始化為0,指針變量ptr指向包含2個(gè)元素的一維數(shù)組。在第一個(gè)for語(yǔ)句的循環(huán)體中ptr=a+i;語(yǔ)句用于將指針變量ptr指向第i行的數(shù)組元素,通過(guò)兩次循環(huán),分別給二維數(shù)組a的第。行的第1個(gè)元素和第1行的第1個(gè)元素賦了值1和2,即a[0][0]=1,a[1][0]=2。

42.C解析:選項(xiàng)A中定義了一個(gè)字符型數(shù)組并使用字符串常量給它賦初值,故選項(xiàng)A正確。選項(xiàng)B定義了一個(gè)字符型數(shù)組t并初始化,然后定義了一個(gè)指針變量s并讓它指向t,故選項(xiàng)B正確。選項(xiàng)C先定義了一個(gè)長(zhǎng)度為10的字符型數(shù)組,然后再給它賦值,這時(shí)應(yīng)該分別給數(shù)組中的每個(gè)元素賦值,故選項(xiàng)C不正確;選項(xiàng)D中先定義了一個(gè)長(zhǎng)度為10的字符型數(shù)組s,然后通過(guò)字符串復(fù)制函數(shù)將字符串“abcdefg”賦值給它,選項(xiàng)D正確。所以,4個(gè)選項(xiàng)中選項(xiàng)C符合題意。

43.B解析:本題對(duì)共用體的使用進(jìn)行了考查。由于共用體所有成員共同占據(jù)一段存儲(chǔ)空間,所以對(duì)成員變量的賦值,后面的賦值會(huì)覆蓋掉前面的賦值,因?yàn)閟.income=1000;是最后一次成員變量賦值,變量age與變量income共同占據(jù)一段存儲(chǔ)空間,所以age的值也為1000。

44.B解析:本題考查自加(++)、自減(--)運(yùn)算符的使用?!?+i,--i”,在使用i之前,先使i的值加1或者減1,再使用此時(shí)的表達(dá)式的值參與運(yùn)算:“i++,i--”,先使用此時(shí)的i的值參與運(yùn)算,在使用i之后,再使i的值加1或者減1。

對(duì)于第1個(gè)表達(dá)式--x=4,y++=4。兩者相等,--x==y++為真,所以a=x=4,執(zhí)行完此語(yǔ)句后y的值是5。

第2個(gè)表達(dá)式b=++x,x的值先加1,然后賦給b,即b=x+1=5第一個(gè)表達(dá)式c=y=5。

45.D解析:時(shí)間復(fù)雜度是指一個(gè)算法執(zhí)行時(shí)間的相對(duì)度量;空間復(fù)雜度是指算法在運(yùn)行過(guò)程中臨時(shí)占用所需存儲(chǔ)空間大小的度量。人們都希望選擇一個(gè)既省存儲(chǔ)空間、又省執(zhí)行時(shí)間的算法。然而,有時(shí)為了加快算法的運(yùn)行速度,不得不增加空間開(kāi)銷;有時(shí)為了能有效地存儲(chǔ)算法和數(shù)據(jù),又不得不犧牲運(yùn)行時(shí)間。時(shí)間和空間的效率往往是一對(duì)矛盾,很難做到兩全。但是,這不適用于所有的情況,也就是說(shuō)時(shí)間復(fù)雜度和空間復(fù)雜度之間雖然經(jīng)常矛盾,但是二者不存在必然的聯(lián)系。因此,選項(xiàng)A、B、C的說(shuō)法都是錯(cuò)誤的。故本題的正確答案是D。

46.C【解析】在鏈表中因?yàn)槌舜娣艛?shù)據(jù)元素之外,還要存放指針,所以鏈表花費(fèi)的存儲(chǔ)空間要比順序表還要多,在插入和刪除數(shù)據(jù)元素時(shí),只需要移動(dòng)相應(yīng)的記錄指針即可,在鏈表中,數(shù)據(jù)的物理結(jié)構(gòu)與邏輯結(jié)構(gòu)不一定相同,因?yàn)槭强恐羔榿?lái)實(shí)現(xiàn)對(duì)數(shù)據(jù)的指定的,所以不能進(jìn)行隨機(jī)存取。

47.C解析:在定義共用體的同時(shí),定義了一個(gè)共用體型變量u1,共占兩個(gè)字節(jié),有兩個(gè)成員n和c,兩個(gè)成員的首地址是相同的。因此給u1,c賦一個(gè)“A”,其實(shí)就是給無(wú)符號(hào)整型成員u1.n的低字節(jié)賦一個(gè)“A”,輸出u1,n的時(shí)候是以字符型的形式輸出,只輸出它的低地址的一個(gè)字節(jié),因此為“A”。

48.C解析:本題中首先定義一個(gè)整型變量a并給它賦初值為3,在表達(dá)式中,從右開(kāi)始執(zhí)行,即先執(zhí)行“a-=a*a;”等價(jià)于a=a-a*a即a=3-3*3=-6,此時(shí)a的值為-6,接著執(zhí)行“a+=a-;”相當(dāng)于執(zhí)行a=a+a即a=-6+(-6)=-12,此時(shí)a的值為-12。所以,4個(gè)選項(xiàng)中選項(xiàng)C符合題意。

49.A解析:“清晰第一,效率第二”,在考慮到程序的執(zhí)行效率的同時(shí),一定要保證程序清晰、可讀;對(duì)符號(hào)名的命名,除了要符合語(yǔ)法要求外,還要具有一定的含義;程序的注釋可以幫助程序員理解程序,不是可有可無(wú)的。

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

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

52.C

53.B解析:在表達(dá)式中根據(jù)運(yùn)算的結(jié)合性和運(yùn)算符的優(yōu)先級(jí),首先計(jì)算的是a/b(8/5=1),再將1+0.4賦值給c,由于c為整型變量所以要將1.4轉(zhuǎn)換為整型,即舍棄小數(shù)位(c的值變?yōu)?)。

54.D解析:選項(xiàng)A)的語(yǔ)句表示若a非0,則輸出x的值,否則輸出y的值;選項(xiàng)B)的語(yǔ)句表示如果a等于o,則輸出y的值,否則輸出x的值,與選項(xiàng)A)等價(jià);選項(xiàng)C)的語(yǔ)句表示如果a不等于0,則輸出x,否則輸出y,與選項(xiàng)A)、B)相同;選項(xiàng)D)的語(yǔ)句表示如果a為0,則輸出x,否則輸出y,與前三個(gè)選項(xiàng)都不同。

55.B解析:本題考核的知識(shí)點(diǎn)是賦值語(yǔ)句的正確使用。C語(yǔ)言中賦值語(yǔ)句是由賦值表達(dá)式加“;”構(gòu)成的.賦值表達(dá)式的形式為:變量:表達(dá)式;。選項(xiàng)A中a++相當(dāng)于a+1,是賦值語(yǔ)句;選項(xiàng)C和選項(xiàng)D也是賦值語(yǔ)句.只有選項(xiàng)B不是,因?yàn)檫x項(xiàng)B中“==”符號(hào)是等于的意思,并不是賦值運(yùn)算符,所以,4個(gè)選項(xiàng)中B符合題意。

56.C解析:指針變量m和z分別指向整型變量y和i,所以這兩個(gè)指針變量中存儲(chǔ)的地址是不同的。變量x接受的是一個(gè)關(guān)系運(yùn)算的結(jié)果,因?yàn)閮蓚€(gè)地址是不同的,所以“z=y”的判斷結(jié)果為0。注意:C語(yǔ)言中,邏輯值的表示方法。

57.B解析:選項(xiàng)A中“&(*p).age”代表的是std[0].age的地址,是正確的,選項(xiàng)C也是正確的,選項(xiàng)D先用指針變量引用結(jié)構(gòu)型的成員sex,然后取它的地址,也是正確的,選項(xiàng)B中的“”是錯(cuò)誤的引用,因?yàn)閟td是數(shù)組名,代表的是數(shù)組的首地址,地址沒(méi)有成員“name”。所以B選項(xiàng)為所選。

58.B

59.B

60.D解析:在C語(yǔ)言中,邏輯運(yùn)算符有4個(gè),它們分別是:!(邏輯非)、邏輯或)、&&(邏輯與)、^(異或)。在位運(yùn)算里面還有&(位與)、|(位或)的運(yùn)算。本題考查邏輯與運(yùn)算符的用法,在表達(dá)式x=(a&&b)&&(c<'B');中,先判斷a&&b條件,邏輯與條件的兩邊都要保證為1,即a和b都成立,當(dāng)然c<'B'是成立的,顯然,該表達(dá)式的值為1。

61.Dcontinue語(yǔ)句的作用是結(jié)束本次循環(huán),即跳過(guò)本次循環(huán)體中余下尚未執(zhí)行的語(yǔ)句,接著再一次進(jìn)行循環(huán)的條件判定。

62.A函數(shù)‰的功能是將字符串倒序,所以結(jié)果選擇A)。

63.B

64.B

65.D在軟件開(kāi)發(fā)的過(guò)程中,應(yīng)該盡早的制定測(cè)試計(jì)劃,其中在需求分析階段制定系統(tǒng)測(cè)試計(jì)劃

66.B

67.A

68.C解析:結(jié)構(gòu)化程序設(shè)計(jì)是指將待開(kāi)發(fā)的軟件系統(tǒng)劃分為若干個(gè)相互獨(dú)立的模塊,與具體的語(yǔ)句結(jié)構(gòu)無(wú)關(guān)。Goto語(yǔ)句的濫用會(huì)導(dǎo)致程序的可讀性降低。三種基本結(jié)構(gòu)構(gòu)成的程序依然可以解決大規(guī)模的問(wèn)題,只是不利于復(fù)用。

69.C

70.C當(dāng)有序線性表為順序存儲(chǔ)時(shí)才能用二分法查找??梢宰C明的是,對(duì)于長(zhǎng)度為n的有序線性表,在最壞情況下,二分法查找只需要比較log2n次,而順序查找需要比較n次,因此本題答案為C)。

71.A

72.C

73.A在本題中,程序首先定義了兩個(gè)整型變量x和y,然后通過(guò)鍵盤輸入的方式給這變量x賦初值。執(zhí)行語(yǔ)句y=x>12?x+10:x-12;,該題語(yǔ)句是將x>12?x+10:x-12的運(yùn)算結(jié)果保存到變量y中,由于從鍵盤輸入的值是12,那么變量x的值為12,此時(shí)x>12的運(yùn)算結(jié)果為假,則執(zhí)行x-12部分,那么計(jì)算后的結(jié)果為0,并將這個(gè)結(jié)果賦值給變量y

溫馨提示

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

評(píng)論

0/150

提交評(píng)論