2022-2023年貴州省遵義市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)知識(shí)點(diǎn)匯總卷(含答案)_第1頁(yè)
2022-2023年貴州省遵義市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)知識(shí)點(diǎn)匯總卷(含答案)_第2頁(yè)
2022-2023年貴州省遵義市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)知識(shí)點(diǎn)匯總卷(含答案)_第3頁(yè)
2022-2023年貴州省遵義市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)知識(shí)點(diǎn)匯總卷(含答案)_第4頁(yè)
2022-2023年貴州省遵義市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)知識(shí)點(diǎn)匯總卷(含答案)_第5頁(yè)
已閱讀5頁(yè),還剩30頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

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

文檔簡(jiǎn)介

2022-2023年貴州省遵義市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)知識(shí)點(diǎn)匯總卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.有以下程序:#include<stdio.h>voidfun(char*a,charB){while(*(a++)!=‘0’);while(*(a-1)<B)*(a--)=*(a-1);*(a--)=b;}main(){chars[8]=“pmfc”,r,c;c=getchar();fun(s,c);puts(s);}程序運(yùn)行時(shí)輸入k并按<Enter>鍵,則輸出結(jié)果為()。

A.pmfkcB.pmfckC.kpmfcD.pmkfc

2.

3.定義無(wú)符號(hào)整數(shù)類為UInt,下面可以作為類UInt實(shí)例化值的是()。

A.-369B.369C.0.369D.整數(shù)集合{1,2,3,4,5}

4.以下說(shuō)法錯(cuò)誤的是:()

A.全局變量就是在函數(shù)外定義的變量,因此又叫做外部變量

B.一個(gè)函數(shù)中既可以使用本函數(shù)中的局部變量,也可以使用全局變量

C.局部變量的定義和全局變量的定義的含義不同

D.如果在同一個(gè)源文件中,全局變量和局部變量同名,則在局部變量的作用范圍內(nèi),全局變量通常不起作用

5.

6.字符串"alibaba"的二進(jìn)制哈夫曼編碼有多少位()

A.11B.12C.13D.14

7.若要說(shuō)明一個(gè)類型名STP,使得定義語(yǔ)句STPs;等價(jià)于Char*s;,以下選項(xiàng)中正確的是()。

A.typedefChar*s;

B.typedefChar*STP;

C.typedefSTP*Char;

D.typedef*CharSTP;

8.以下函數(shù)不能用于向文件中寫(xiě)入數(shù)據(jù)的是()。

A.hellB.fwriteC.fputcD.fprintf

9.在銀行業(yè)務(wù)中,實(shí)體客戶和實(shí)體銀行之間的聯(lián)系是()。

A.—對(duì)一B.—對(duì)多C.多對(duì)一D.多對(duì)多

10.

11.一個(gè)序列中有10000個(gè)元素,若只想得到其中前10個(gè)最小元素,最好采用_______方法

A.快速排序B.堆排序C.插入排序D.二路歸并排序

12.

13.從未排序序列中依次取出元素與已排序序列中的元素作比較,將取出的元素放入已排序序列中的正確位置上,此方法稱為_(kāi)_____。

A.歸并排序B.選擇排序C.交換排序D.插入排序

14.在最壞情況下比較次數(shù)相同的是()。A.冒泡排序與快速排序B.簡(jiǎn)單插入排序與希爾排序C.簡(jiǎn)單選擇排序與堆排序D.快速排序與希爾排序

15.

16.設(shè)有遞歸算法如下試問(wèn)計(jì)算x(x(8))時(shí)需要計(jì)算()次x函數(shù)。A.8B.9C.16D.18

17.有以下程序:#include<stdio.h>main(){inta;scanf("%d",&a);if(a++<9)printf("%d\n",a);clscprintf("%d\n",a--);}程序運(yùn)行時(shí)從鍵盤(pán)輸入9<回車>,則輸出結(jié)果是()。A.10B.11C.9D.8

18.具有20個(gè)結(jié)點(diǎn)的二叉樹(shù),其深度最多為_(kāi)______。

A.4B.5C.6D.20

19.有下列程序:程序執(zhí)行后的輸出結(jié)果是()。

A.654321

B.65432

C.65453452

D.654534521

20.下列敘述中正確的足

A.軟件交付使用后還需要進(jìn)行維護(hù)

B.軟件一旦交付使用就不需要再進(jìn)行維護(hù)

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

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

二、2.填空題(20題)21.執(zhí)行下面程序后,輸出結(jié)果是【】。

main()

{chars[12]="verygood!";

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

}

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

main()

{inta=1,b=2;

a=a+b;b=a-b;a=a-b;

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

}

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

#include<stdio.h>

main()

{staticchara[]="language",b[]="program";

char*ptr1=a,*ptr2=b;

intk;

for(k=0;k<7;k++)

if(*(ptr1+k)==*(ptr2+k))

printf("%c",*(ptr1+k));}

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

25.下面程序的功能是:輸出100以內(nèi)能被3整除且個(gè)位數(shù)為6的所有整數(shù),請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

main()

{inti,j;

for(i=0【】;i++)

{j=i*10+6;

if(【】)continue;

printf("%d",j);

}

}

26.數(shù)據(jù)庫(kù)的邏輯模型設(shè)計(jì)階段的任務(wù)是將______轉(zhuǎn)換成關(guān)系模式。

27.數(shù)據(jù)流圖的類型有【】和事務(wù)型。

28.軟件測(cè)試是保證軟件質(zhì)量的重要手段,而軟件測(cè)試的主要和重要的測(cè)試方法是通過(guò)測(cè)試數(shù)據(jù)和【】的設(shè)計(jì)來(lái)實(shí)現(xiàn)。

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

#include<stdio,h>

main()

{chara[]="Language",b[]:"Programe";

char*pl,*p2;intk;

p1=a;p2=b;

for(k=0;k<=7;k++)

if(*(p1+k)==*(p2+k))printf("%c",*(pi+k));

}

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

fun(intx,inty,intz)

{z=x*x+y*y;}

main()

{inta=31;

fun(6,3,a)

printf("%d,a)

}

31.十六進(jìn)制數(shù)100轉(zhuǎn)換成十進(jìn)制數(shù)為【】。

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

main()

{inta=1,b=2,c=3,t=0;

if(a<B){t=a;a=b;b=t;}

if(a<C){t=a;a=c;c=t;}

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

}

33.某二義樹(shù)中度為2的結(jié)點(diǎn)有18個(gè),則該二叉樹(shù)中有______個(gè)葉子結(jié)點(diǎn)。

34.數(shù)據(jù)庫(kù)系統(tǒng)的主要特點(diǎn)為數(shù)據(jù)集成性、數(shù)據(jù)的高_(dá)_____和低冗余性、數(shù)據(jù)獨(dú)立性和數(shù)據(jù)統(tǒng)一管理和控制。

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

main()

{unsigneda=0112,x;

x=a>>3;

printf("x=%o",x);

}

36.以下程序從終端讀入數(shù)據(jù)到數(shù)組中,統(tǒng)計(jì)其中正數(shù)的個(gè)數(shù),并計(jì)算它們之和。請(qǐng)?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+=a[i];

}

}

printf("sum=%d,count=%d\n",sum,count);

}

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

main()

{inta=2,b=3,c=4;

a*=16+(b++)-(++c);

printf("%d",a);

}

38.為了便于對(duì)照檢查,測(cè)試用例應(yīng)由輸入數(shù)據(jù)和預(yù)期的【】?jī)刹糠纸M成。

39.下列語(yǔ)句使指針p指向一個(gè)double類型的動(dòng)態(tài)存儲(chǔ)單元。

p=【】malloc(sizeof(double));

40.以下條件表達(dá)式可計(jì)算:1+|a|的值,請(qǐng)?zhí)羁?。a>=0?【】:【】

三、1.選擇題(20題)41.有以下程序

#include<stdio.h>

main()

{inti,j,m=55;

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

for(j=3;j<=i;j++)m=m%j;

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

}

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

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

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

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

43.在關(guān)系數(shù)據(jù)庫(kù)中,用來(lái)表示實(shí)體之間聯(lián)系的是

A.樹(shù)結(jié)構(gòu)B.網(wǎng)結(jié)構(gòu)C.線性表D.二維表

44.在軟件開(kāi)發(fā)過(guò)程中,軟件結(jié)構(gòu)設(shè)計(jì)是描述______。

A.數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)B.軟件體系結(jié)構(gòu)C.軟件結(jié)構(gòu)測(cè)試D.軟件控制過(guò)程

45.結(jié)構(gòu)化分析方法是面向()的自頂向下、逐步求精進(jìn)行需求分析的方法

A.對(duì)象B.數(shù)據(jù)結(jié)構(gòu)C.數(shù)據(jù)流D.目標(biāo)

46.對(duì)于一個(gè)正常運(yùn)行的C語(yǔ)言程序,以下敘述中正確的是()。

A.程序的執(zhí)行總是從main函數(shù)開(kāi)始,在main函數(shù)結(jié)束

B.程序的執(zhí)行總是從程序的第一個(gè)函數(shù)開(kāi)始,在main函數(shù)結(jié)束

C.程序的執(zhí)行總是從main函數(shù)開(kāi)始,在程序的最后一個(gè)函數(shù)中結(jié)束

D.程序的執(zhí)行總是從程序的第一個(gè)函數(shù)開(kāi)始,在程序的最后一個(gè)函數(shù)中結(jié)束

47.下面程序段的運(yùn)行結(jié)果是chara[]="lanuage",*p;p=a;while(*p!='u'){printf("%c",*p-32);p++;}

A.LANGUAGEB.languageC.LAND.langUAGE

48.以下程序的輸出結(jié)果是()main(){charss[16]="test\0\n\"";printf("%d,%d\n",strlen(ss),sizeof(ss)):}

A.4,16B.7,7C.16,16D.4,7

49.以下數(shù)據(jù)庫(kù)除______外,均為嚴(yán)格意義上的DBMS系統(tǒng)。

A.OracleB.AccessC.Sybase的PowerBuilderD.SQLServer

50.以下選項(xiàng)中,不能正確賦值的是()

A.charsl[10];sl="Ctest";

B.chars2[]={'C','t','e','s','t',}

C.chars3[20]="Ctest";

D.char*s[4]="Ctest\n";

51.下列程序的輸出結(jié)果是______。intb=2;intfunc(int*a){b+=*a;return(b);}main(){inta=2,res=2;res+=func(&b);printf("%d\n,res);}

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

52.下列變量說(shuō)明語(yǔ)句中,正確的是

A.char:abc;B.chara;b;c;C.intx;z;D.intx,z;

53.#define能作簡(jiǎn)單的替代,用宏來(lái)替代計(jì)算多項(xiàng)式5*x*x+5*x+5的值的函數(shù)f,正確的宏定義語(yǔ)句為()。

A.#definef(x)5*x*x+5*x+5

B.#definef5*X*x+5*x+5

C.#definef(a)(5*a*a+5*a+5)

D.#define(5*x*x+5*x+5)f(x)

54.有下列二叉樹(shù),對(duì)此二叉樹(shù)中序遍歷的結(jié)果為()。

A.ABCDEFB.BDAECFC.ABDCEFD.ABCDFE

55.有以下函數(shù):mtaaa(char*s){char*t=s;while(*t++);t--;return(t-s);}以下關(guān)于aaa函數(shù)的功能的敘述正確的是()。

A.求字符串s的長(zhǎng)度B.比較兩個(gè)串的大小C.將串s復(fù)制到串tD.求字符串s所占字節(jié)數(shù)

56.若有以下定義和語(yǔ)句()intu=010,v=Ox10,w=10;printf("%d,%d%d\n",u,v,w);則輸出結(jié)果是

A.8,16,10B.10,10,10C.8,8,10D.8,10,10

57.假定x和y為double型,則表達(dá)式x=2,y=x+3/2的值是

A.3.5B.3C.2D.3

58.模塊本身的內(nèi)聚是模塊獨(dú)立性的重要性度量因素之—。在7類內(nèi)聚中,具有最強(qiáng)內(nèi)聚的—類是______。

A.順序性內(nèi)聚B.過(guò)程性內(nèi)聚C.邏輯性內(nèi)聚D.功能性內(nèi)聚

59.有以下程序intf(intn){if(n==1)return1;elsereturnf(n-1)+1;}main(){inti,j=0;for(i=1;i<3;i++)j+=f(i);printf(“%d\n”,j);}程序運(yùn)行后的輸出結(jié)果是

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

60.以下程序輸出的結(jié)果為_(kāi)_____。main(){char*alpha[6]={"ABCD","EFGH","IJKL","MNOP","QRST","UVWX"};char**p;inti;p=alpha;for(i=0;i<4;i++)printf("%s",p[i]);}

A.ABCDEFGHIJKLB.ABCDC.ABCDEFGHIJKLMNOPD.AEIM

四、選擇題(20題)61.

62.語(yǔ)句:“printf("%d",(a=)&&(b=-2));”的輸出結(jié)果是()。A.A.無(wú)輸出B.結(jié)果是不確定C.-1D.1

63.

64.有以下程序

#include<stdi0.h>

main()

{inta[]={2,3,5,4),i;

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

switch(i%2)

{case0:switch(a[i]%2)

{case0:a[i]++;break;

casel:a[i]--;

}break;

case1:a[i]=0;

}

for(i=0;i<4;i++)printf("%d",a[i]);printf("\n");

}

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

A.3344B.2050C.3040D.0304

65.c語(yǔ)言規(guī)定,在一個(gè)源程序中,main函數(shù)的位置()。

A.必須在最開(kāi)始B.必須在系統(tǒng)調(diào)用的庫(kù)函數(shù)的后面C.可以任意D.必須在最后

66.有三個(gè)關(guān)系R,S和T如下:

其中關(guān)系T由關(guān)系R和s通過(guò)某種操作得到,該操作為()。

A.選擇B.交C.投影D.并

67.以下程序愛(ài)中,與語(yǔ)句:

68.

69.C語(yǔ)言提供的合法的數(shù)據(jù)類型關(guān)鍵字是()。

A.DoubleB.shortC.integerD.Char

70.

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

A.21B.11C.20D.10

72.若有定義語(yǔ)句:

charS[10]=”1234567\0\0”;則strlen(s)的值是()。

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

73.

有以下程序:

main

{inti,j;

for(j=10;j<11;j++)

{for(i=9;i<j;i++)

if(!(j%i))break;

if(i==j-1)

printf("%d",j);

}

}

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

A.11B.10C.9D.1011

74.

75.

76.

77.下列敘述中正確的是()。A.線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)與順序存儲(chǔ)結(jié)構(gòu)所需要的存儲(chǔ)空間是相同的

B.線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)所需要的存儲(chǔ)空間一般要多于順序存儲(chǔ)結(jié)構(gòu)

C.線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)所需要的存儲(chǔ)空間一般要少于順序存儲(chǔ)結(jié)構(gòu)

D.線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)與順序存儲(chǔ)結(jié)構(gòu)在存儲(chǔ)空間的需求上沒(méi)有可比性

78.有以下程序:

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

A.22B.76C.72D.62

79.

80.

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc的功能是:首先把b所指字符串中的字符按逆序存放,然后將str1所指字符串中的字符和Str2所指字符串中的字符,按排列的順序交叉合并到str所指數(shù)組中,過(guò)長(zhǎng)的剩余字符接在str所指數(shù)組的尾部。例如,當(dāng)str1所指字符串中的內(nèi)容為ABCDEFG,str2所指字符串中的內(nèi)容為1234時(shí),str所指數(shù)組中的內(nèi)容應(yīng)該為A483C2D1EFG;而當(dāng)str1所指字符串中的內(nèi)容為1234,str2所指字符串中的內(nèi)容為ABCEDFG時(shí),str所指數(shù)組中的內(nèi)容應(yīng)該為1G2F31:4DCBA。

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

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

試題程序:

#include<stdlib.h>

#include<conio.h>

#include<stdio。h>

#include<string.h>

voidproc(char*strl,char*str2,char*str){

inti,j;charch;

i=0;j=strleu(str2)-1;

//****found****

while(i>j)

{

ch=str2[i];str2[i]=str2[j];str2[j]=ch;

i++;j--;

}

while(*str1||*str2)

{

if(*str1){*str=*str1;str++;str1++;)

if(*str2){*str=*str2;str++;str2++;)

}

//****found****

*str=0:

}

voidmain

{

chars1[100],s2[100],t[200];

system("CLS");

printf("\nEnters1string:");

scanf("%s",sl);

printf("\nEnters2string:");

scanf("%s",s2);

proc(s1,s2,t);

printf("\nTheresultis:%s\n",t);

}

六、程序設(shè)計(jì)題(1題)82.規(guī)定輸入的字符串中只包含字母和*號(hào)。編寫(xiě)函數(shù)fun,其功能是:刪除字符串中所有的*號(hào)。編寫(xiě)函

數(shù)時(shí),不得使用c語(yǔ)言提供的字符串函數(shù)。

例如,字符串中的內(nèi)容為:****A*BC*DEF*G*******刪除*后字符串中的內(nèi)容應(yīng)當(dāng)

是:ABCDEFG。

注意:部分源程序在文件PROGl.C中。

請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫(xiě)的若干語(yǔ)句。

參考答案

1.Dmain函數(shù)定義一個(gè)字符數(shù)組s,使用字符串“pmfc”初始化;然后通過(guò)getchar讀取一個(gè)字符k到字符變量c;再將字符串s和字符c傳入fun函數(shù)。函數(shù)fun首先通過(guò)while循環(huán)遍歷字符串s,直到指針a指向字符串結(jié)束標(biāo)識(shí)‘\\0’后的一個(gè)字符,如下圖所示。接著通過(guò)while循環(huán)逆序遍歷字符串s,首先a-1的字符位‘\\0’,它的ASCII值為0,小于b(字符‘k’)的ASCII值107,那么將‘\\0’賦給下標(biāo)為5的元素位置。接著繼續(xù)向前遍歷,同理,將‘c’(ASCII值為99)賦給下標(biāo)為4的元素位置,將‘f’(ASCII值為102)賦給下標(biāo)為3的元素位置。由于‘m’(ASCII值為109)大于b,因此循環(huán)結(jié)束,將b(字符‘k’)賦給下標(biāo)為2的元素位置,此時(shí)str字符串如下。故本題答案為D選項(xiàng)。

2.B

3.BB【解析】只有B選項(xiàng)369可以用無(wú)符號(hào)整數(shù)來(lái)表示和存儲(chǔ)。A選項(xiàng)一369有負(fù)號(hào),選項(xiàng)C0.369是小數(shù)都不能用無(wú)符號(hào)整數(shù)類存儲(chǔ)。選項(xiàng)D是一個(gè)整數(shù)集合得用數(shù)組來(lái)存儲(chǔ)。

4.A

5.A

6.C

7.B用關(guān)鍵字typedef聲明一種新的類型的形式為typedef類型名標(biāo)識(shí)符。本題中的類型為char*。

8.Aftell是返回文件當(dāng)前指針。

9.D一個(gè)客戶可以在多家銀行辦理業(yè)務(wù),一家銀行也有多個(gè)客戶辦理業(yè)務(wù),因此,實(shí)體客戶和實(shí)體銀行之間的聯(lián)系是多對(duì)多。本題選擇D選項(xiàng)。

10.C

11.B

12.B

13.D

14.A冒泡排序、快速排序、簡(jiǎn)單插入排序、簡(jiǎn)單選擇排序在最壞情況下比較次數(shù)均為n(n-1)/2,堆排序在最壞情況下比較次數(shù)為nlog2n,希爾排序在最壞情況下需要比較的次數(shù)是nr(1﹤r﹤2)。本題答案為A選項(xiàng)。

15.D

16.D

17.A本題考查簡(jiǎn)單的運(yùn)算符操作.當(dāng)輸入9時(shí),(a++<9)為假,所以執(zhí)行else語(yǔ)句中的printf("%d\n",a--),在執(zhí)行時(shí)此時(shí)a經(jīng)過(guò)a++操作a=10,所以答案為A。

18.D

19.C程序首先定義整型變量a和b,a的初值為123456。接著通過(guò)while循環(huán),判斷a的值是否為0,若不為0,則執(zhí)行循環(huán)體。每次循環(huán)將a當(dāng)前值的個(gè)位數(shù)字(a%10)賦給b,a自身除以10。再通過(guò)switch語(yǔ)句判斷b的值執(zhí)行對(duì)應(yīng)分支語(yǔ)句。所以對(duì)應(yīng)a的每個(gè)個(gè)位數(shù),b的取值為6,5,4,3,2,1。當(dāng)b取值為6時(shí),執(zhí)行default,輸出6,接著繼續(xù)執(zhí)行case1,通過(guò)break退出switch。執(zhí)行下一次循環(huán),當(dāng)b取值為5時(shí),執(zhí)行case5輸出5。執(zhí)行下一次循環(huán),當(dāng)b取值為4時(shí),執(zhí)行case4輸出4,繼續(xù)執(zhí)行case5輸出5。接著執(zhí)行下一次循環(huán),當(dāng)b取值為3時(shí),執(zhí)行case3輸出3,執(zhí)行case4輸出4,執(zhí)行case5輸出5;當(dāng)b取值為2時(shí),執(zhí)行case2輸出2,通過(guò)break退出switch;當(dāng)b取值為1時(shí),執(zhí)行break,此時(shí)a的取值為0,循環(huán)終止。綜上,程序輸出結(jié)果為:65453452。本題答案為C選項(xiàng)。

20.A解析:本題考核軟件維護(hù)的概念.維護(hù)是軟件生命周期的最后一個(gè)階段,也是持續(xù)時(shí)間最長(zhǎng)、付出代價(jià)最大的階段,在軟件交付使用后,還需要進(jìn)行維護(hù)。軟件維護(hù)通常有以下四類:為糾正使用中出現(xiàn)的錯(cuò)誤而進(jìn)行的改正性維護(hù);為適應(yīng)環(huán)境變化而進(jìn)行的適應(yīng)性維護(hù);為改進(jìn)原有軟件而進(jìn)行的完善性維護(hù);為將來(lái)的可維護(hù)和可靠而進(jìn)行的預(yù)防性維護(hù)。軟件維護(hù)不僅包括程序代碼的維護(hù),還包括文檔的維護(hù)。綜上所述,本題的正確答案是A,其余選項(xiàng)的說(shuō)法錯(cuò)誤。

21.1010解析:strlen(s)函數(shù)的返回值為字符串s包含的字符個(gè)數(shù)<不計(jì)最后的'\\0')。

22.21

23.gaga解析:考查了用字符指針處理字符串的方法。用字符指針處理字符串,首先要使指針指向這個(gè)字符串,即題中的ptr1=a和ptr2=b,然后就是通過(guò)指針的移動(dòng)可以引用到字符串中的每一個(gè)字符。題中的*(ptr1+k)是使指針ptr1向后移動(dòng)k個(gè)位置,然后取出指向的字符。

24.物理獨(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ú)立性。

25.i<=9或i<10或9>=i或10>ij%3!=0或j%3i<=9或i<10或9>=i或10>i\r\nj%3!=0或j%3

26.E-R圖E-R圖解析:數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)的任務(wù)是將概念模型進(jìn)一步轉(zhuǎn)化成相應(yīng)的數(shù)據(jù)模型。而E-R圖是主要的概念模型,因此數(shù)據(jù)庫(kù)的邏輯設(shè)計(jì)的主要工作是將E-R圖轉(zhuǎn)換成關(guān)系模式。

27.變換型典型的數(shù)據(jù)流類型有兩種:變換型和事務(wù)型。變換型是指信息沿輸入通路進(jìn)入系統(tǒng),同時(shí)由外部形式變換成內(nèi)部形式,進(jìn)入系統(tǒng)的信息通過(guò)變換中心,經(jīng)加工處理以后再沿輸出通路變換成外部形式離開(kāi)軟件系統(tǒng);在很多軟件應(yīng)用中,存在某種作業(yè)數(shù)據(jù)流,它可以引發(fā)一個(gè)或多個(gè)處理,這些處理能夠完成該作業(yè)要求的功能,這種數(shù)據(jù)流就叫做事務(wù)。

28.測(cè)試實(shí)例測(cè)試實(shí)例解析:進(jìn)行軟件測(cè)試時(shí),應(yīng)精心設(shè)計(jì)測(cè)試實(shí)例和選擇測(cè)試數(shù)據(jù),以對(duì)系統(tǒng)進(jìn)行全面測(cè)試。

29.gaegae解析:本題考查字符指針變量與字符數(shù)組。for循環(huán)語(yǔ)句共循環(huán)8次:

①當(dāng)k=0時(shí),*(Pl+0)='L',*(p2+0)='P',L!=P,沒(méi)有輸出。

②當(dāng)k=1時(shí),*(p1+1)='a',*(p2+1)='r',a!=r,沒(méi)有輸出。

③當(dāng)k=2時(shí),*(p1+2)='n',*(p2+2)='o',n!=o,沒(méi)有輸出。

④當(dāng)k=3時(shí),*(P1+3)='g',*(p2+3)='g',g==g,所以輸出g。

⑤當(dāng)k=4時(shí),*(p1+4)='u',*(P2+4)='r',u!=r,沒(méi)有輸出。

⑥當(dāng)k=5時(shí),*(p1+5)='a',*(p2+5)='a',a==a,所以輸出a。

⑦當(dāng)k=6時(shí),*(p1+6)='g',*(p2+6)='m',g!=m,沒(méi)有輸出。

⑧當(dāng)k=7時(shí),*(p1+7)='e',*(p2+7)='e',e==e,輸出e。

⑨當(dāng)k=8時(shí)結(jié)束循環(huán),輸出結(jié)果為:gae。

30.3131解析:在函數(shù)調(diào)用時(shí),形參值和改變,不會(huì)改變實(shí)參的值。

31.256

32.3123,1,2解析:分析程序,第一個(gè)if語(yǔ)句,a=1,b=2,控制條件a<b成立,則交換a、b的值,此時(shí)a=2,b=1。第二個(gè)if語(yǔ)句,a=2,c=3,控制條件a<c成立,則交換a、c的值,此時(shí)a=3,c=2。

33.1919解析:二叉樹(shù)具有如下性質(zhì):在任意一棵二叉樹(shù)中,度為。的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))總是比度為2的結(jié)點(diǎn)多一個(gè)。根據(jù)題意,度為2的節(jié)點(diǎn)為18個(gè),那么,葉子結(jié)點(diǎn)就應(yīng)當(dāng)是19個(gè)。

34.共享性共享性解析:數(shù)據(jù)庫(kù)系統(tǒng)中的數(shù)據(jù)能被不同的應(yīng)用程序使用,實(shí)現(xiàn)了數(shù)據(jù)的高度共享,從而降低了數(shù)據(jù)的冗余,這也是數(shù)據(jù)庫(kù)的主要目的。

35.x=11x=11解析:在對(duì)無(wú)符號(hào)數(shù)的右移是高位補(bǔ)0。

36.&a[i]&a[i]解析:主要考查函數(shù)scanf的用法.應(yīng)填數(shù)組a的元素的地址。

37.2828解析:a*=16+(b++)-(++c)等價(jià)于a=a*(16+(b++)-(++c)),b++的值為3;++c的值為5,請(qǐng)注意前綴++和后綴++的用法。

38.輸出結(jié)果輸出結(jié)果解析:注意:測(cè)試的基本方法和步驟。

39.(double*)

40.1+a1-a1+a,1-a解析:考查條件運(yùn)算符的使用。因?yàn)轭}目中求的是1+|a|的值,即1和a的絕對(duì)值之和,所以根據(jù)數(shù)學(xué)中求絕對(duì)值的規(guī)則;當(dāng)a>=0時(shí),絕對(duì)值取本身,當(dāng)a<0時(shí),絕對(duì)值取相反數(shù),再結(jié)合條件運(yùn)算符的計(jì)算規(guī)則,可得到本題的答案為a>=0。

41.B解析:本題考查循環(huán)語(yǔ)句的嵌套以及條件的判斷問(wèn)題。在程序中,內(nèi)層循環(huán)判斷條件為'\ue008j<=i\ue009',而j的初值為3,故當(dāng)i的值為1和2時(shí),內(nèi)層循環(huán)體都不會(huì)被執(zhí)行。只有當(dāng)i和j都等于3時(shí)才會(huì)執(zhí)行一次。m的值為55對(duì)3取模,計(jì)算結(jié)果為1。

42.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)試不能改善軟件的性能,也不能挖掘軟件的潛能。

43.D解析:在關(guān)系模型中,把數(shù)據(jù)看成一個(gè)二維表,每一個(gè)二維表稱為一個(gè)關(guān)系。即關(guān)系模型是用表格數(shù)據(jù)來(lái)表示實(shí)體本身及其相互之間的聯(lián)系。本題的正確答案是D。

44.B解析:從工程管理解度來(lái)看,軟件設(shè)計(jì)分兩步完成:概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)。概要設(shè)計(jì)(又稱結(jié)構(gòu)設(shè)計(jì))將軟件需求轉(zhuǎn)化為軟件體系結(jié)構(gòu)、確定系統(tǒng)級(jí)接口、全局?jǐn)?shù)據(jù)結(jié)構(gòu)或數(shù)據(jù)庫(kù)模式。

45.CC?!窘馕觥拷Y(jié)構(gòu)化分析方法是面向數(shù)據(jù)流進(jìn)行需求分析的方法,采用自頂向下、逐層分解,建立系統(tǒng)的處理流程,以數(shù)據(jù)流圖和數(shù)據(jù)字典為主要工具,建立系統(tǒng)的邏輯模型。

46.A解析:在C語(yǔ)言中,所有函數(shù)的定義,包括主函數(shù)main在內(nèi),都是平行的。也就是說(shuō),在一個(gè)函數(shù)的函數(shù)體內(nèi),不能再定義另一個(gè)函數(shù),即不能嵌套定義。但是函數(shù)之間允許互相調(diào)用.也允許嵌套調(diào)用,習(xí)慣上把調(diào)用者稱為主函數(shù)。調(diào)用函數(shù)還可以調(diào)用自己,稱為遞歸調(diào)用。main函數(shù)是主函數(shù),它可以調(diào)用其他函數(shù),而不允許被其他函數(shù)調(diào)用。因此,C程序的執(zhí)行總是從main函數(shù)開(kāi)始.完成對(duì)其他函數(shù)的調(diào)用后返回到main函數(shù),最后由main函數(shù)結(jié)束整個(gè)程序。一個(gè)C源程序必須有也只能有一個(gè)main函數(shù)。

47.C解析:本段程序的作用是輸出字符串“l(fā)anuage”中字母u之前的字符,并將其轉(zhuǎn)化為大寫(xiě)字母。注意:如果一個(gè)字符數(shù)組用來(lái)作為字符串使用,那么在定義該字符數(shù)組時(shí),數(shù)組的大小就應(yīng)該比它將要實(shí)際存放的最長(zhǎng)字符多一個(gè)元素,以存放‘\\0’。

48.A

49.B解析:目前流行的DBMS均為關(guān)系數(shù)據(jù)庫(kù)系統(tǒng),如ORACLE、Sybase的PowerBuilder及IBM的DB2、微軟的SQLServer等,它們均為嚴(yán)格意義上的DBMS系統(tǒng)。另外有一些小型的數(shù)據(jù)庫(kù),如微軟的VisualFoxPro和Access等,它們只具備數(shù)據(jù)庫(kù)管理系統(tǒng)的一些簡(jiǎn)單功能,不是嚴(yán)格意義上的DBMS系統(tǒng)。

50.A

51.B解析:實(shí)參a按地址傳遞,b是全局變量,函數(shù)func中b=b+*a=2+2=4,故主函數(shù)中res=res+4=2+4=6。

52.D

53.C解析:帶參數(shù)宏的格式為:#define標(biāo)識(shí)符(形參表)形參表達(dá)式。其功能是:在預(yù)處理程序中將程序中出現(xiàn)的所有帶實(shí)參的宏名,展開(kāi)成由實(shí)參組成的表達(dá)式。

54.B解析:對(duì)二又樹(shù)的中序遍歷是指:首先遍歷左子樹(shù),然后訪問(wèn)根結(jié)點(diǎn),最后遍歷右子樹(shù)。在遍歷左,右子樹(shù)時(shí),注意依舊按照“左子樹(shù)—根結(jié)點(diǎn)—右于樹(shù)”的順序。

55.A解析:aaa()函數(shù)中,首先定義了一個(gè)字符指針t指向形參s,然后通過(guò)一個(gè)while循環(huán)讓指針t不斷遞增,直到t指向字符串結(jié)束標(biāo)志處。當(dāng)t指向結(jié)束標(biāo)志處時(shí),由于后綴4-+運(yùn)算符的原因,它還會(huì)被再遞增1,所以接下來(lái)的t--;語(yǔ)句讓它回到結(jié)束標(biāo)志處。最后返回t-s,因此s還是指向字符串第1個(gè)字符處,而t指向了字符串結(jié)尾,故返回值為字符串的長(zhǎng)度值。

56.A

57.D解析:本題需要掌握的知識(shí)點(diǎn)是:逗號(hào)表達(dá)式的求解步驟,另外,注意一下兩個(gè)整數(shù)相除的結(jié)果仍為整數(shù)。了解了知識(shí)點(diǎn)后,本題就可以逐步求解了:

x=2

y=x+3/2

y=2.000000+1

y=3.000000

58.D解析:內(nèi)聚性是—個(gè)模塊內(nèi)部各元素間彼此結(jié)合的緊密程度的度量。內(nèi)聚共有7類,它們之間的內(nèi)聚性由弱到強(qiáng)排列順序?yàn)椋号既粌?nèi)聚、邏輯內(nèi)聚、時(shí)間內(nèi)聚、過(guò)程內(nèi)聚、通信內(nèi)聚、順序內(nèi)聚和功能內(nèi)聚。

59.B解析:本題考查的知識(shí)點(diǎn)是遞歸函數(shù)。通過(guò)分析不難寫(xiě)出,f()函數(shù)的數(shù)學(xué)表達(dá)式為:

f(n)=1n=1;

f(n)=f(n-1)+1n不等于1;

在主函數(shù)中for循環(huán)執(zhí)行了兩次函數(shù)調(diào)用f(i)。第一次:i為1,調(diào)用f(1)得到返回值1,并把它加到i中,i的值為1。第二次i為2,調(diào)用f(n),根據(jù)遞歸公式可知“f(2)=f(1)+1”,得到返回值2并把它加到j(luò)中,j的值為3。所以最后輸出的j的值為3。

60.C解析:alpha[0]指向“ABCD”的首地址;alpha[1]指向“EFGH”的首地址;alpha[2]指向“IJKL”的首地址,依此類推。當(dāng)執(zhí)行p=alpha后,p指向指針數(shù)組alpha的首地址。for循環(huán)中輸出了4個(gè)字符串。

61.C

62.D因?yàn)樵谶壿嫳磉_(dá)式中,兩邊的賦值表達(dá)式都成立,即值為1,故選擇D選項(xiàng)。

63.B

64.C\n本題考查嵌套分支語(yǔ)句。共輸出4個(gè)值:當(dāng)i=0時(shí),i%2取余后還是0,則執(zhí)行ease0語(yǔ)句,繼續(xù)switch語(yǔ)句,此時(shí)i為0,數(shù)據(jù)的下標(biāo)是從0開(kāi)始的,a[03的值為2,則a[0]%2=0,繼續(xù)執(zhí)行case0,數(shù)組a[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ù)覽,若沒(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)論