2022-2023年甘肅省定西市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)_第1頁
2022-2023年甘肅省定西市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)_第2頁
2022-2023年甘肅省定西市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)_第3頁
2022-2023年甘肅省定西市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)_第4頁
2022-2023年甘肅省定西市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

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

文檔簡(jiǎn)介

2022-2023年甘肅省定西市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.

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

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

3.在1,2,3,......1000中,有()個(gè)數(shù)各位乘積為0。

A.100B.101C.172D.181E.190F.191

4.若有說明“chars1[30]="abc",s2[]="defghi";",則在使用函數(shù)stoat(s1,s2)后,結(jié)果是()。

A.s1的內(nèi)容更新為abcdefghi

B.s1的內(nèi)容更新為defghi\0

C.s1的內(nèi)容更新勾defghiabc\0

D.s1的內(nèi)容更新為abcdefghi\0

5.有以下程序:#includeMain(){Intx=1,y=0;if(!x)y++;elseif(x==0)if(x)y+=2;Elsey+=3;print("%d\n",y);}程序運(yùn)行后的輸出結(jié)果是()。A.2B.1C.0D.3

6.以下屬于C語言實(shí)型常量的是()。

A.+6eB.e6+6C.6e+6D..e+6

7.

8.在一個(gè)元素個(gè)數(shù)為N的數(shù)組里,找到升序排在N/5位置的元素的最優(yōu)算法時(shí)間復(fù)雜度是()A.O(n)B.O(nlogn)C.O(n(logn)2)D.O(n3/2)

9.

10.需求分析階段的任務(wù)是確定()

A.軟件開發(fā)方法B.軟件開發(fā)工具C.軟件開發(fā)費(fèi)用D.軟件系統(tǒng)功能

11.當(dāng)變量c的值不為2、4、6時(shí),值為“真”的表達(dá)式是()。

A.(c>=2&&c<=6)&&(c%2!=1)

B.(c==2)||(c==4)||(c==6)

C.(c>=2&&c<=6)&&!(c%2)

D.(c>=2&&c<=6)||(c!=3)||(c!=5)

12.算法分析的目的是()。

A.找出數(shù)據(jù)結(jié)構(gòu)的合理性B.研究算法中的輸入和輸出的關(guān)系C.分析算法的效率以求改進(jìn)D.分析算法的易讀性和文檔性

13.

有以下程序:

main()

{intk=5,n=0;

do

{switch(k)

{case1:

case3:n+=l;k--;break;

defalut:n=0;k--;

case2:

case4:n+=2;k--;break:

}

printf("%d",n);

}while(k>0&&n<5);

}

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

A.235B.0235C.02356D.2356

14.若x,y均定義為int型,z定義為double型,以下不合法的scanf函數(shù)調(diào)用語句是()。A.scanf(“%d%lx,%le”,&x,&y,&z);

B.scanf(“%2d*%d%lf”&x,&y,&z);

C.scanf(“%x%*d%o”,&x,&y);

D.scanf(“%x%o%6.2f”,&x,&y,&z)

15.以下是if語句的基本形式:

if(表達(dá)式.語句

其中“表達(dá)式”()。

A.必須是邏輯表達(dá)式B.必須是關(guān)系表達(dá)式C.必須是邏輯表達(dá)式或關(guān)系表達(dá)式D.可以是任意合法的表達(dá)式

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

A.66B.98C.bD.B

17.下列方法中,屬于白盒法設(shè)計(jì)測(cè)試用例的方法的是()。

A.錯(cuò)誤推測(cè)B.因果圖C.基本路徑測(cè)試D.邊界值分析

18.有以下程序:#includemain(){inty=9;for(;y>0;y--)If?y%3==0)printf("%d",---y);}程序的運(yùn)行結(jié)果是()。A.852B.963C.741D.875421

19.以下選項(xiàng)中不能用作C語言程序合法常量的是()。

A.123B.‘\123’C.1,234D.“\x7D”

20.下面程序的輸出結(jié)果是()。chars()="ABCD",*p;main(){for(p=s;p<s+4;p++)printf("%s\n",p);)

A.ABCDBCDCDDB.ABCDC.DCBAD.ABCDABCABA

二、2.填空題(20題)21.若x和y都是double型變量,且x的初值為3.0,y的初值為2.0,則表達(dá)式pow(y,fabs(x))的值為【】。

22.求任意一個(gè)數(shù)(用16位二進(jìn)制碼表示)的補(bǔ)碼。

main()

{unsignedinta;

【】;

scanf("%O",&a);

printf("%o\n",getbits(a));

}

unsignedintgetbits(value)

unsignedintvalue;

{unstgnedintz;

z=【】;

if(z==0100000)

【】;

else

z=value;

return(z);

}

23.設(shè)y為int型變量,請(qǐng)寫出描述“y是偶數(shù)”的表達(dá)式______。

24.以下sum函數(shù)的功能是計(jì)算下列級(jí)數(shù)之和。請(qǐng)給函數(shù)中的各變量正確賦初值。

doublesum(doublex,intn)

{inti;doublea,b,s;

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

{a=a*x;b=b*i;s=s+a/b;}

returns;

}

25.根據(jù)以下if語句寫出與其功能相同的switch語句(x的值在0~100之間)。

if語句:

if(x<60)m=1;

elseif(x<70)m=2;

elseif(x<80)m=3;

elseif(x<90)m=4;

elseif(x<100)m=5;

switch語句:

switch(【】)

{

【】m=1;break;

case6:m=2;break;

case7:m=3;break;

case8:m=4;break;

【】m=5;

}

26.下列循環(huán)的循環(huán)次數(shù)是______。

intk=2;

while(k=0)

printf["%d",k);

k--;

printf("\n");

27.一個(gè)項(xiàng)目有一個(gè)項(xiàng)目主管,一個(gè)項(xiàng)目主管可管理多個(gè)項(xiàng)目,則實(shí)體“項(xiàng)目主管”與實(shí)體“項(xiàng)目”的聯(lián)系屬于【】的聯(lián)系。

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

29.設(shè)inta=5,b=6,表達(dá)式(++a==b--)?++a:--b的值是【】。

30.能把計(jì)算機(jī)處理好的結(jié)果轉(zhuǎn)換成為文本、圖形、圖像或聲音等形式并輸送出來的設(shè)備稱為【】設(shè)備。

31.在計(jì)算機(jī)軟件系統(tǒng)的體系結(jié)構(gòu)中,數(shù)據(jù)庫管理系統(tǒng)位于用戶和【】之間。

32.若由以下定義,則不移動(dòng)指針p,且通過指針p引用值為98的數(shù)組元素的表達(dá)式是【】。

intw[10]={23,54,10,33,47,98,72,80,61},*p=w;

33.若輸入tc,則程序的運(yùn)行結(jié)果為【】。

#include<stdio.h>

main()

{charstr[40];

fscanf(stdin,"%s",str);

fprintf(stdout,"%s\n",str);

}

34.下列程序的運(yùn)行結(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);}

35.在長(zhǎng)度為n的線性表中查找一個(gè)表中不存在的元素,需要的比較次數(shù)為【】。

36.若x和y都是buble型變量,且x的初值為3.0,y的初值為2.0,則表達(dá)式pow(y,fabs(x))的值為【】。

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

main(){inti=lO,*p,*func();

p=&i;

printf("%d",*p);

p=func(p);

printf("%d\n",*p)

}

int*func(px);

int*px;

{inttemp=20;

px=&temp;

return(px);

}

38.棧和隊(duì)列通常采用的存儲(chǔ)結(jié)構(gòu)是【】。

39.隊(duì)列是限定在表的一端進(jìn)行插入和在另一端進(jìn)行刪除操作的線性表。允許插入的一端稱作______。

40.函數(shù)調(diào)用語句:“fgets(buf,n,fp);”從中指向的文件中讀入n個(gè)字符放到buf字符數(shù)組中,函數(shù)返回值為______。

三、1.選擇題(20題)41.以下敘述中不正確的是()。

A.在不同函數(shù)中可以使用相同名字的變量

B.函數(shù)中的形式參數(shù)是局部變量

C.在一個(gè)函數(shù)內(nèi)定義的變量只在本函數(shù)范圍內(nèi)有效

D.在一個(gè)函數(shù)內(nèi)的復(fù)合語句中定義的變量在本函數(shù)范圍內(nèi)有效

42.關(guān)于語句“for(表達(dá)式1;表達(dá)式2;表達(dá)式3)”,下面說法中錯(cuò)誤的是()

A.for語句中的三個(gè)表達(dá)式可以同時(shí)省略

B.for語句可以用于循環(huán)次數(shù)不確定的情況

C.for語句中表達(dá)式2只能是關(guān)系表達(dá)式或邏輯表達(dá)式

D.for語句中表達(dá)式1和表達(dá)式3可以是逗號(hào)表達(dá)式

43.若有如下程序:sub(p,n)int(*p)[3],n;{inti;for(i=0;i<=n;i++)printf("%d",p[i][2]);}main(){ints[3][3]={1,2,3,4,5,6,7,8,9};sub(s,2);}則程序運(yùn)行后的輸出結(jié)果是()。

A.369B.248C.456D.789

44.下面程序輸出的結(jié)果是

main()

{inti;

inta[3][3]={1,2,3,4,5,6,7,8,9};

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

printf("%d",a[2-i][i]);}

A.159B.753C.357D.591

45.若有以下程序段(n所賦的是八進(jìn)制數(shù))intm=32767,n=032767;printf("%d,%O\n",m,n);執(zhí)行后輸出結(jié)果是

A.32767,32767B.32767,032767C.32767,77777D.32767,077777

46.下列敘述中錯(cuò)誤的是()。

A.一種數(shù)據(jù)的邏輯結(jié)構(gòu)可以有多種存儲(chǔ)結(jié)構(gòu)

B.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)與數(shù)據(jù)的處理效率無關(guān)

C.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)與數(shù)據(jù)的處理效率密切相關(guān)

D.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)在計(jì)算機(jī)中所占的空間不一定是連續(xù)的

47.能將高級(jí)語言程序轉(zhuǎn)換成目標(biāo)語言程序的是______。

A.調(diào)試程序B.解釋程序C.編譯程序D.編輯程序

48.在C語言中,可以把整數(shù)以二進(jìn)制形式存放到文件中的函數(shù)是()

A.fprintf()函數(shù)B.fread()函數(shù)C.fwrite()函數(shù)D.fputc()函數(shù)

49.以下scanf函數(shù)調(diào)用語句中對(duì)結(jié)構(gòu)體變量成員的引用不正確的是

structpupil

{charname[20];

intage

intsex;

}pup[5],*p;

p=pup;

A.scanf("%s",pup[0].name);

B.scanf("%d",&pup[0].age);

C.scanf("%dT",&(p->sex));

D.scanf("%d",p->age);

50.檢查軟件產(chǎn)品是否符合需求定義的過程稱為()。

A.確認(rèn)測(cè)試B.集成測(cè)試C.驗(yàn)證測(cè)試D.驗(yàn)收測(cè)試

51.有以下程序:main(){intx=0,y=5,z=31while(z-->0&&++x<5)y=y-1;printf("%d,%d,%d\n",x,y,z);}程序執(zhí)行后的輸出結(jié)果是______。

A.3,2,0B.3,2,-1C.4,3,-1D.5,-2,-5

52.下列程序的輸出結(jié)果是______。main(){inti;for(i=1;i+1;i++){if(i>4){printf("%d",i++);break;}}printf("%d",i++);}

A.55B.56C.程序錯(cuò)誤,沒有輸出D.循環(huán)條件永遠(yuǎn)為真,死循環(huán)

53.有以下程序:#include<stdio.h>main(){union{charch[2];intd;}s;s.d=0x4321;printf("%x,%x\n",s.ch[0],s.ch[1]);}在16位編譯系統(tǒng)上,程序執(zhí)行后的輸出結(jié)果是()。

A.21,43B.43,21C.43,00D.21,00

54.若有定義:intaa[8]則以下表達(dá)式中不能代表數(shù)組元aa[1]的地址的是

A.&aa[0]+1B.&aa[1]C.&aa[0]++D.aa+1

55.有下列程序:

main()

{intt,a=1,b=5,C=-2;

while(a>b>C)

{t=a;a=b;b=t;c++;}

printf("%d,%d,%d",a,b,C);

}

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

A.1,5,0B.1,5,-2C.5,1,-1D.5,1,-2

56.設(shè)有如下關(guān)系表:

則下列操作中,正確的是()。

A.T=R∩SB.T=R∪SC.T=R×SD.T=R/S

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

A.structlinknext

B.link*next

C.stuctnextlink

D.structlink*next

58.有以下程序:intf(intb[][4]){inti,j,s=0;for(j=0j<4;j++){i=j;if(i>2)i=3-j;s+=b[i][j];}returns;}main(){inta[4][4]={{1,2,3,4},{0,2,4,6},{3,6,9,12},{3,2,1,0}};printf("%d\n",f(a));}執(zhí)行后的輸出結(jié)果是()。

A.12B.11C.18D.16

59.設(shè)有定義:charp[]={‘1’,‘2’,‘3’,},*q=p;,以下不能計(jì)算出一個(gè)char型數(shù)據(jù)所占字節(jié)數(shù)的表達(dá)式是______。

A.sizeof(p)B.sizeof(char)C.sizeof(*q)D.sizeof(p[0])

60.若有以下定義:structfink{intdata;structlink*next;}a,b,c,*p,*q;且變量a和b之間已有如下圖所示的鏈表結(jié)構(gòu):

指針p指向變量a,q指向變量c。則能夠把c插入到a和b之間并形成新的鏈表的語句組是:

A.a.next;c;c.next=b;

B.p.next=q;q.next=p.next;

C.p->next=&c;q->next=p->next;

D.(*p).next=q;(*q).next=&b;

四、選擇題(20題)61.若變量已正確定義,要求程序段完成求5!的計(jì)算,不能完成此操作的程序段是

A.for(i=1,p=1;i<=5;i++)p*=i;B.i=1;p=1;while(i<=5){p*=i;i++;}

C.for(i=1;i<=5;i++){p=1;p*=i;}D.i=1;p=1;do{p*=i;i++;}while(i<=5);

62.

63.

64.有以下程序:

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

A.02356B.0235C.235D.2356

65.

66.函數(shù)fseek(pf,OL,SEEKEND)中的SEEKENE代表的起始點(diǎn)是()。

A.文件開始B.文件末尾C.文件當(dāng)前位置D.以上都不對(duì)

67.設(shè)有以下語句執(zhí)行后,c的值為()。

A.9B.7C.8D.6

68.設(shè)有說明double(*p1)[N];其中標(biāo)識(shí)符p1是()。

A.N個(gè)指向double型變量的指針。

B.指向N個(gè)double型變量的函數(shù)指針。

C.一個(gè)指向由N個(gè)double型元素組成的一維數(shù)組的指針。

D.具有N個(gè)指針元素的一維指針數(shù)組,每個(gè)元素都只能指向double型量。

69.

70.軟件開發(fā)中需求分析的主要任務(wù)是()。

A.定義和描述目標(biāo)系統(tǒng)“做什么”B.獲取需求C.給出軟件解決方案D.需求評(píng)審

71.CSS指的是下列()的縮寫。

A.ComputerStyle.Sheets

B.CascadingStyle.Sheets

C.CreativeStyle.Sheets

D.ColorfulStyle.Sheets

72.(56)下列不屬于軟件調(diào)試技術(shù)的是()

A.強(qiáng)行排錯(cuò)法

B.集成測(cè)試法

C.回溯法

D.原因排除法

73.下面對(duì)C語言的描述中,正確的是

A.函數(shù)一定有返回值,否則無法使用函數(shù)

B.C語言函數(shù)既可以嵌套定義又可以遞歸調(diào)用

C.在C語言中,調(diào)用函數(shù)時(shí),只能將實(shí)參的值傳遞給形參

D.C語言程序中有調(diào)用關(guān)系的所有函數(shù)都必須放在同一源程序文件中

74.

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

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

75.下列選項(xiàng)中,能正確定義數(shù)組的語句是()。

76.在軟件開發(fā)中,需求分析階段產(chǎn)生的主要文檔是()。

A.軟件需求規(guī)格說明書B.數(shù)據(jù)庫說明書C.集成測(cè)試計(jì)劃D.概要設(shè)計(jì)說明書

77.有以下程序:

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

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

78.有以下程序

#include<stdio.h>

main()

{chara[3O],b[30];

scanf("%S",a);

gets(b);

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

}

程序運(yùn)行時(shí)若輸入:

howareyou?Iamfine<回車>

則輸出結(jié)果是()。

A.howareyou?Iamfine

B.howareyou?Iamfine

C.howareyou?Iamfine

D.howareyou?

79.有以下程序

main()

{chara[]={’a’,’b’,’c’,’d’,’e’,’f’,’g’,’h’,’\0’};

inti,j;

i=sizeof(a);

j=strlen(a);

printf("%d,%d\b",i,j);

}

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

A.9,9B.8,9C.1,8D.9,8

80.有以下程序:

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

A.9.One*World

B.9.One*Dream!

C.10.One*Dream!

D.10.One*World

五、程序改錯(cuò)題(1題)81.下列給定的程序中,函數(shù)proc()的功能是:判斷字符ch是否與sir所指字符串中的某個(gè)字符相同;若相同,則什么也不做,若不同,則將其插在串的最后。請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:

六、程序設(shè)計(jì)題(1題)82.函數(shù)fun的功能是:將s所指字符串中下標(biāo)為偶數(shù)同時(shí)ASCIl值為奇數(shù)的字符刪除,S所指串中剩余的字符形成的新串放在t所指的數(shù)組中。例如,若s所指字符串中的內(nèi)容為“ABCDEFGl2345”,其中字符C的ASCIl碼值為奇數(shù),在數(shù)組中的下標(biāo)為偶數(shù),因此必須刪除;而字符l的ASCIl碼值為奇數(shù),在數(shù)組中的下標(biāo)為奇數(shù),因此不應(yīng)當(dāng)刪除,其他依此類推。最后t所指的數(shù)組中的內(nèi)容應(yīng)是“BDFl2345”。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干語句。試題程序:

參考答案

1.D

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

3.D

4.Dstrcat(s1,s2)函數(shù)的功能是把s2字符串連接到s1字符串的末尾,要保證s1有足夠的空間容納下連接后的字符串。

5.C在ifelse語句中else,總是與離它最近的配對(duì)。本題目中x勸1所以!x為0,所以執(zhí)行else齬句中的內(nèi)容,判斷(x==0)是否成立,因?yàn)閤為1所以條件不成立,所以else部分的近.else語句不再執(zhí)行,所以y的值還是初始值0。

6.CC語言的實(shí)型常量可以用小數(shù)形式、指數(shù)形式來表示。題中的選項(xiàng)都是指數(shù)形式,指數(shù)形式的一般形式為:尾數(shù)E(或e)整型指數(shù)。C語言規(guī)定,字母E或e之前必須要有數(shù)字,且E或e后面的指數(shù)必須為整數(shù),E或e的前后以及數(shù)字之間不得插入空格。故本題答案為C選項(xiàng)。

7.C

8.A

9.B

10.D解析:結(jié)構(gòu)化分析方法,數(shù)據(jù)流圖,數(shù)據(jù)字典,軟件需求規(guī)格說明書

評(píng)析,需求分析是軟件定義時(shí)期的最后一個(gè)階段,它的基本任務(wù)就是詳細(xì)調(diào)查現(xiàn)實(shí)世界要處理的對(duì)象(組織,部門、企業(yè)等),充分了解原系統(tǒng)的工作概況,明確用戶的各種需求,然后在此基礎(chǔ)上確定新系統(tǒng)的功能.選項(xiàng)A)軟件開發(fā)方法是在總體設(shè)計(jì)階段完成的任務(wù);選項(xiàng)B)軟件開發(fā)工具是在實(shí)現(xiàn)階段需完成的任務(wù):選項(xiàng)C)軟件開發(fā)費(fèi)用是在可行性研究階段需完成的任務(wù)。

11.D邏輯或運(yùn)算中只要有一個(gè)運(yùn)算量為真,結(jié)果就為真。當(dāng)“c>=2&&c<=6”條件不成立時(shí),c的值肯定不是2、3、4、5、6,“c!=3”與“c!=5”均成立,所以D選項(xiàng)的結(jié)果一定為真。故本題答案為D選項(xiàng)。

12.C

13.B

\n本題考查分支語句用法加個(gè)句號(hào)因?yàn)樽兞康某跏贾捣謩e為k一5、n一0,所以程序第1次進(jìn)入循環(huán)時(shí),執(zhí)行default語句,輸出0,k減1;這時(shí)n=0、k=4,程序進(jìn)行第2次循環(huán),執(zhí)行case4:這個(gè)分支,結(jié)果是n=2、k=3,打印出2;這時(shí)n=2、k=3,break跳出,程序進(jìn)行第3次循環(huán),執(zhí)行case3:這個(gè)分支,結(jié)果是n=3、k=2,打印出3;這時(shí)n一3、k2,b¨ak跳出,程序然后進(jìn)行第4次循環(huán),執(zhí)行case2:case4:這個(gè)分支,結(jié)果是n=5、k=1,打印出5,break跳出,這時(shí)因?yàn)閚=5不滿足n<5的循環(huán)條件,因此循環(huán)結(jié)束。

\n

14.D

15.D解析:本題主要考查關(guān)于if語句的說明,if后面圓括號(hào)中的表達(dá)式,可是任意合法的C語言表達(dá)式(如:邏輯表達(dá)式、關(guān)系表達(dá)式、算術(shù)表達(dá)式、賦值表達(dá)式等),也可以是任意類型的數(shù)據(jù)(如:整型、實(shí)型、字符型、指針型等。)

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

17.CC)【解析】白盒測(cè)試方法也稱為結(jié)構(gòu)測(cè)試或邏輯測(cè)試,主要方法有邏輯覆蓋測(cè)試、基本路徑測(cè)試等。

18.A答疑:[解析]第一次for循環(huán),y的值為9.y%3的值為0.滿足條件打印-y,即先減一-后打印,所以打印8;第二次for循環(huán),y的值為7.y%3的值為1.不執(zhí)行打印語句;第三次for循環(huán),y的值為6.y%3的值為0.滿足條件打印--y,即先減-后打印,所以打印5;第四次for循環(huán),y的值為4.不滿足條件,不執(zhí)行打印語句;第五次for循環(huán),y的值為3.滿足條件,打印輸出2;第六次for循環(huán),y的值為1.不滿足條件,不執(zhí)行打印語句。

19.CC選項(xiàng)中不能含有逗號(hào),所以“1,234”不能用作C語言程序的合法常量。B選項(xiàng)表示的是八進(jìn)制的常量,D選項(xiàng)表示的是十六進(jìn)制的常量。故本題答案為C選項(xiàng)。

20.A解析:p為指針型變量。第一次循環(huán),p=s,p的值為字符數(shù)組s的首地址,輸出字符串'ABCD'。p++,第二次循環(huán),p的值為字符數(shù)組s的首地址加1,輸出字符串'BCD'。p++,第三次循環(huán),p的值為字符數(shù)組s的首地址加2,輸出字符串'CD'。p++,第4次循環(huán),p的值為字符數(shù)組s的首地址加3,輸出字符串\'D'。

21.88解析:fabs函數(shù)功能是求x的絕對(duì)值,計(jì)算結(jié)果為double型。pow功能是計(jì)算x的y次方的值,計(jì)算結(jié)果同樣為double型。所以本題表達(dá)式相當(dāng)于2.0的3.0次方,結(jié)果為8.000000。

22.unsignedintgetbits()value&0100000z=~value+1unsignedintgetbits()\r\nvalue&0100000\r\nz=~value+1

23.(y%2)==0(y%2)==0解析:因符合偶數(shù)的條件是對(duì)2取余為0,所以要描述y是偶數(shù)的表達(dá)式是(y%2)==0。

24.a=1;b=1;s=1;或a=b=s=1;或a=1.b=1s=1或給abs賦1或1.0或1.a=1;b=1;s=1;或a=b=s=1;或a=1.b=1,s=1或給a,b,s賦1或1.0或1.解析:sum函數(shù)的功能是求表達(dá)式s的級(jí)數(shù)之和,該函數(shù)的大致思路是:在該函數(shù)中,定義了—個(gè)整型變量i用作循環(huán)計(jì)數(shù)器,定義一個(gè)變量a用來表示各個(gè)子項(xiàng)的分子,初始為第一個(gè)子項(xiàng)的分子,故為1,定義了一個(gè)變量b用來表示各個(gè)子項(xiàng)大分母,初始為第一個(gè)子項(xiàng)的分母,故為1,定義一個(gè)變量s存放累加和,初始為第一個(gè)子項(xiàng)的值即為1,然后給各個(gè)定義的變量初始化,然后通過一個(gè)for循環(huán)將題目中的數(shù)學(xué)表達(dá)式的各個(gè)子項(xiàng)求出來并累加到s中,所以說,在該題的空格處應(yīng)該填寫將a、b和s賦初值的語句,即為a=1;b=1;s=1:(說明:語句的順序可任意)或a=b=s=1;(說明:變量的順序可任意)或a=1,b=1,s=1(說明:賦值表達(dá)式的順序可任意)給a,b,s賦1或1.0或1都可以。

25.x/10case0:case1:case2:case3:case4:case5:case9:x/10\r\ncase0:case1:case2:case3:case4:case5:\r\ncase9:

26.00解析:解答本題需要注意表達(dá)式“k=0”,它是賦值表達(dá)式而不是關(guān)系表達(dá)式,不論k為何值,表達(dá)式k=0總會(huì)使k為0,所以不能進(jìn)入循環(huán)。

27.一對(duì)多或1:N一對(duì)多或1:N解析:兩個(gè)實(shí)體集間的聯(lián)系實(shí)際上是實(shí)體集間的函數(shù)關(guān)系,這種函數(shù)關(guān)系可以有三種,即一對(duì)一(1:1)的聯(lián)系、一對(duì)多(1:N)或多對(duì)一(N:1)的聯(lián)系和多對(duì)多(N:N)的聯(lián)系。

28.軟件開發(fā)

29.77解析:此表達(dá)式為三目運(yùn)算符,++a的值為6,b--的值為6,則整個(gè)表達(dá)式的值為++a的值,++a的值為7。請(qǐng)注意前綴++,--和后綴++,--的區(qū)別。

30.輸出輸出

31.操作系統(tǒng)或OS操作系統(tǒng)或OS解析:數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫的機(jī)構(gòu),它是一種系統(tǒng)軟件,負(fù)責(zé)數(shù)據(jù)庫中的數(shù)據(jù)組織、數(shù)據(jù)操縱、數(shù)據(jù)維護(hù)、控制及保護(hù)和數(shù)據(jù)服務(wù)。位于用戶和操作系統(tǒng)之間。

32.*(p+5)或p[5]*(p+5)或p[5]解析:本題的考查點(diǎn)是通過指針引用數(shù)組元素。98是數(shù)組w的第5個(gè)元素(最開始的為第0個(gè)),而通過*p=w已經(jīng)將p指向了數(shù)組w,要想不移動(dòng)指針p而引用98,可以有以下兩種方法:p[5]、*(p+5)。

33.tc

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

35.nn解析:在長(zhǎng)度為n的線性表中查找一個(gè)表中不存在的元素,需要的比較次數(shù)為n。

36.88解析:fabs函數(shù)功能是求x的絕對(duì)值,計(jì)算結(jié)果為double型。pow功能是計(jì)算x的y次方的值,計(jì)算結(jié)果同樣為double型。所以本題表達(dá)式相當(dāng)于2.0的3.0次方,結(jié)果為8.000000。

37.1020

38.鏈?zhǔn)酱鎯?chǔ)和順序存儲(chǔ)鏈?zhǔn)酱鎯?chǔ)和順序存儲(chǔ)

39.隊(duì)尾隊(duì)尾解析:在隊(duì)列中,允許插入的一端叫做“隊(duì)尾”,允許刪除的一端叫做“隊(duì)頭”。

40.buf的首地址buf的首地址解析:考查fsets()函數(shù)的功能,f8ets()函數(shù)用來從文件中讀入字符串。調(diào)用格式為:f8ets(buf,n,fp)。此處,fp是文件指針,buf是存放字符串的起始地址,n是一個(gè)int型變量。調(diào)用函數(shù)fsets()時(shí),最多能讀入n-1個(gè)字符,系統(tǒng)自動(dòng)在最后加字符串結(jié)束標(biāo)志,并以buf作為函數(shù)值返回。

41.D解析:C語言在函數(shù)中說明的變量為局部變量,只在函數(shù)內(nèi)起作用,不會(huì)影響到其他函數(shù)。在不同函數(shù)中使用相同的變量名不代表是同一變量,A)項(xiàng)正確;在函數(shù)定義時(shí)聲明的參數(shù)只在函數(shù)內(nèi)部起作用,是函數(shù)的局部變量,B)正確;在一個(gè)函數(shù)中定義的變量是這個(gè)函數(shù)的局部變量,所以只在這個(gè)函數(shù)內(nèi)起作用,C)正確;復(fù)合語句中定義的變量其作用域是這個(gè)復(fù)合語句,不會(huì)擴(kuò)大到整個(gè)函數(shù),所以D)項(xiàng)錯(cuò)誤。

42.C

43.A解析:本題首先定義了一個(gè)二維數(shù)組,然后將數(shù)組名作為參數(shù)傳遞給子函數(shù)sub(),在子函數(shù)中使用了一個(gè)循環(huán),循環(huán)變量i從0遞增到n(n為2),即循環(huán)了3次,依次輸出數(shù)組的a[0][2]、a[1][2]、a[2][2]三個(gè)元素,所以程序運(yùn)行后輸出的結(jié)果是369,應(yīng)該選擇A。

44.B解析:本題用循環(huán)的方法考查對(duì)數(shù)組概念的掌握。首先,當(dāng)i=0時(shí),數(shù)組中的位置是a[2][0]=7,當(dāng)然,如果用排除法,就不用考慮后面的循環(huán),因?yàn)樵?個(gè)選項(xiàng)中,第1個(gè)數(shù)為7的選項(xiàng)只有B)。本題執(zhí)行第2次循環(huán)時(shí),i的值為1,則pfintf函數(shù)中的數(shù)組指向?yàn)閍[1][1]=5,依次循環(huán),可求出答案。

45.A解析:本題考核的知識(shí)點(diǎn)是scanf()函數(shù)及printf()函數(shù)的輸出格式。程序在定義時(shí),以十進(jìn)制形式為m賦初值,以八進(jìn)制的形式為n賦初值.輸出的時(shí)候m以十進(jìn)制形式輸出,n以八進(jìn)制形式輸出,因此輸出的結(jié)果為32767和32767。所以,A選項(xiàng)為所選。

46.BB。【解析】數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)分為順序結(jié)構(gòu)和鏈?zhǔn)浇Y(jié)構(gòu),一個(gè)數(shù)據(jù)的邏輯結(jié)構(gòu)可以有多種存儲(chǔ)結(jié)構(gòu)。順序結(jié)構(gòu)中數(shù)據(jù)元素所占的存儲(chǔ)空間是連續(xù)的,而鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中,數(shù)據(jù)元素所占的存儲(chǔ)空間不一定是連續(xù)的。數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)與數(shù)據(jù)的處理效率密切相關(guān)。

47.C解析:用高級(jí)語言編寫的程序稱為“源程序”,而計(jì)算機(jī)只能識(shí)別和執(zhí)行由O和1組成的二進(jìn)指令,所以高級(jí)語言必須先用—種稱為“編譯程序”的軟件,把源程序翻譯成二進(jìn)制形式的“目標(biāo)程序”。

48.C

49.D解析:考查結(jié)構(gòu)體成員變量的引用方法。可用結(jié)構(gòu)體變量名.數(shù)據(jù)成員名或者結(jié)構(gòu)體指針->數(shù)據(jù)成員名兩種方法來引用。結(jié)構(gòu)體類型的變量、數(shù)組和指針變量的定義。

50.A本題主要考查軟件測(cè)試的基本知識(shí)。軟件測(cè)試的步驟可分為單元測(cè)試(模塊測(cè)試)、集成測(cè)試、確認(rèn)測(cè)試和系統(tǒng)測(cè)試。

(1)單元測(cè)試是針對(duì)每個(gè)模塊進(jìn)行的測(cè)試,它可從程序的內(nèi)部結(jié)構(gòu)出發(fā)設(shè)計(jì)測(cè)試用例,多個(gè)模塊可以平行、對(duì)立地測(cè)試。單元測(cè)試主要用于發(fā)現(xiàn)詳細(xì)設(shè)計(jì)和編程時(shí)犯下的錯(cuò)誤。單元測(cè)試多采用白盒測(cè)試,輔之以黑盒測(cè)試。

(2)集成測(cè)試是在單元測(cè)試的基礎(chǔ)上,根據(jù)模塊結(jié)構(gòu)圖將各個(gè)模塊連接起來,必須精心計(jì)劃,應(yīng)提交集成測(cè)試計(jì)劃、集成測(cè)試規(guī)格說明和集成測(cè)試分析報(bào)告。主要目標(biāo)是發(fā)現(xiàn)與接口有關(guān)的問題。集成測(cè)試可以發(fā)現(xiàn)概要設(shè)計(jì)時(shí)犯的錯(cuò)誤。

(3)確認(rèn)測(cè)試用于驗(yàn)證軟件的功能和性能及其他特性是否與用戶的要求一致。確認(rèn)測(cè)試主要用于發(fā)現(xiàn)需求分析時(shí)犯下的錯(cuò)誤,一般使用黑盒法測(cè)試,以表明軟件符合需求說明書的要求,應(yīng)該仔細(xì)設(shè)計(jì)測(cè)試用例和測(cè)試過程。確認(rèn)測(cè)試必須有用戶參加,或以用戶為主,用戶應(yīng)參與設(shè)計(jì)測(cè)試用例,通常情況下,主要使用生產(chǎn)中的實(shí)際數(shù)據(jù)進(jìn)行測(cè)試,測(cè)試數(shù)據(jù)通過用戶接口輸入。

(4)系統(tǒng)測(cè)試是將已經(jīng)通過確認(rèn)測(cè)試的軟件,作為整個(gè)計(jì)算機(jī)系統(tǒng)的元素與計(jì)算機(jī)硬件、外設(shè)和網(wǎng)絡(luò)等其他因素結(jié)合在一起,進(jìn)行一系列的組裝測(cè)試和確認(rèn)測(cè)試。系統(tǒng)測(cè)試的目的是通過與系統(tǒng)的需求定義做比較,發(fā)現(xiàn)軟件與系統(tǒng)的定義不符合的地方。系統(tǒng)測(cè)試可以發(fā)現(xiàn)問題定義時(shí)犯下的錯(cuò)誤。

51.B解析:第一次執(zhí)行while語句時(shí),z=3>0,然后執(zhí)行z--得z=2,執(zhí)行++x得x=1<5,條件成立,執(zhí)行y=y-1=5

-1=4;第二次執(zhí)行while語句時(shí),z=2>0,然后執(zhí)行z--得z=1,執(zhí)行++x得x=2<5,條件成立,執(zhí)行y=y-1=4-1=3;第三次執(zhí)行while語句時(shí),z=1>0,然后執(zhí)行z--得x=0,執(zhí)行++x得x=3<5,條件成立,執(zhí)行y=y-1=3-1=2;第四次執(zhí)行while語句時(shí)因z=0,z<0條件不成立,同時(shí)執(zhí)行c--得z=-1。即執(zhí)行完while循環(huán)后x=3、y=2、z=-1。

52.B解析:本程序中有個(gè)for循環(huán),但注意到for循環(huán)的條件是“i+1”,也就是只要i+1的值為真(非零值均為真),就執(zhí)行循環(huán)。當(dāng)i=1的時(shí)候,i+1的值為真,判斷if條件不成立,執(zhí)行i++,輸出i的值為5。

53.A解析:int型變量和字符數(shù)組ch共用兩個(gè)字節(jié)的存儲(chǔ)單元,通常ch[0]位于低字節(jié),ch[1]位于高字節(jié),所以s.ch[0]=21,s.c[1]=43。

54.C解析:本題考核的知識(shí)點(diǎn)是數(shù)組中元素地址的表示方法。在C語言中:數(shù)組的地址和數(shù)組中的第一個(gè)元素的地址相同。數(shù)組中第一個(gè)元素地址的表示方法為&aa[0],與其等價(jià)的有&aa[0]++,所以選項(xiàng)C不正確的;選項(xiàng)A為數(shù)組的第1個(gè)元素的地址下移一位即是第二個(gè)元素aa[1]的地址;B也為數(shù)組的第二個(gè)元素的地址,選項(xiàng)D中aa表示數(shù)組的地址,加1表示數(shù)組首地址后移一位,即代表數(shù)組元素中的第二個(gè)元素aa[1]的地址。所以,4個(gè)選項(xiàng)中C為所選。

55.A解析:本題考查while循環(huán)。先判斷while循環(huán)的控制表達(dá)式是否成立,發(fā)現(xiàn)a>b>c不成立,所以不執(zhí)行循環(huán)。直接輸出a、b、c的值。

56.B解析:T是R∪S的結(jié)果,關(guān)系T由屬于關(guān)系R的或者屬于關(guān)系S的元組組成。

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

58.D解析:分析程序可知,函數(shù)f()中的for循環(huán)作用,是將數(shù)組前三行中的對(duì)角線上的元素,即b[0][0]、b[1][1]、b[2][2]和第一行的第四列元素即b[0][3]累加到變量s中,然后將s的值返回。在主函數(shù)中首先定義了一個(gè)4行4列的二維數(shù)組,接著通過輸出語句輸出函數(shù)f(a)的返回值。調(diào)用f(a)的返回值為a[0][0]+a[1][1]+a[2][2]+a[0][3]=1+2+9+4=16。所以,4個(gè)選項(xiàng)中選項(xiàng)D符合題意。

59.A解析:本題考查的重點(diǎn)是sizeof()的運(yùn)用。sizeof用于返回其操作數(shù)(變量、類型)相對(duì)應(yīng)數(shù)據(jù)類型的字節(jié)數(shù)。因此,選項(xiàng)A是錯(cuò)誤的,因?yàn)閜是一個(gè)地址,它既不是一個(gè)數(shù)據(jù)類型,也不是數(shù)據(jù)變量。

60.D解析:本題考查鏈表的數(shù)據(jù)結(jié)構(gòu),必須利用指針變量才能實(shí)現(xiàn),即一個(gè)結(jié)點(diǎn)中應(yīng)包含一個(gè)指針變量,用它存放下一結(jié)點(diǎn)的地址。

61.C選項(xiàng)C中,當(dāng)i=1時(shí),執(zhí)行{p=1;p*=i;},此時(shí)得到p的值為1;接下來判斷i=2,執(zhí)行{p=1;p*=i;},此時(shí)p重新賦值為1,然后執(zhí)行p*=i,得到p=2;當(dāng)i=3時(shí),此時(shí)p又重新賦值為1,把剛才所求的積覆蓋了,在以后的每次循環(huán)中,p都會(huì)重新賦值1。所以,不能實(shí)現(xiàn)求和1*2*3*4*5(即5!)的功能。

62.C

63.A

64.Ck的值為5,逐個(gè)對(duì)caBe語句進(jìn)行匹配,均不匹配,執(zhí)行default下的語句n=0;k一一。再執(zhí)行case2:ca804:后面的語句n+=2;k一一;。執(zhí)行break語句跳出switch判斷,打印n的值,即2。經(jīng)過第一次循環(huán)后,k的值為3,然后進(jìn)行k>0&&ll<5條件判斷為真。第二次執(zhí)行循環(huán)體,執(zhí)行case3:后面的語句n+=1;k一一;。再執(zhí)行break語句跳出循環(huán),此時(shí)打印n的值3,此時(shí)k的值為2。第三次執(zhí)行循環(huán)體k的值為2,滿足條件,執(zhí)行case2:case4:后面的語句n+=2;k一一;。執(zhí)行break語句跳出循環(huán)體。打印n的值5。此時(shí)n不滿足條件k>0&&n<5,所以結(jié)束循環(huán)。整個(gè)程序的打印結(jié)果為235。

65.C

66.BSEEK_SET代表文件的開始,SEEK_END代表文件末尾,SEEK_CUR代表文件當(dāng)前位置。

67.Ab為2,二進(jìn)制為00000010,執(zhí)行左移兩位操作后為00001000,然后與a00000001做異或操作,結(jié)果為00001001,即十進(jìn)制的9,因此A)選項(xiàng)正確。

68.C

69.B

70.A需求分析階段的工作可以分為4個(gè)方面:需求獲取、需求分析、編寫需求規(guī)格說明書和需求評(píng)審。需求分析的任務(wù)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論