2021年浙江省嘉興市全國(guó)計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)知識(shí)點(diǎn)匯總卷(含答案)_第1頁
2021年浙江省嘉興市全國(guó)計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)知識(shí)點(diǎn)匯總卷(含答案)_第2頁
2021年浙江省嘉興市全國(guó)計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)知識(shí)點(diǎn)匯總卷(含答案)_第3頁
2021年浙江省嘉興市全國(guó)計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)知識(shí)點(diǎn)匯總卷(含答案)_第4頁
2021年浙江省嘉興市全國(guó)計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)知識(shí)點(diǎn)匯總卷(含答案)_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

2021年浙江省嘉興市全國(guó)計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)知識(shí)點(diǎn)匯總卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.視圖設(shè)計(jì)一般有3種設(shè)計(jì)次序,下列不屬于視圖設(shè)計(jì)的是______。

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

2.以下數(shù)據(jù)結(jié)構(gòu)中,()是線性結(jié)構(gòu)。

A.有向圖B.棧C.線索二叉樹D.B樹

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

4.有下列程序:

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

A.30B.35C.40D.32

5.執(zhí)行下面的程序段后,變量k中的值為()。intk=3,s[2];s[0]=k;k=s[1]*10;

A.不定值B.33C.30D.10

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

A.654321

B.65432

C.65453452

D.654534521

7.

有以下程序:

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

8.下列程序的輸出結(jié)果是()。#include<stdio.h>main(){inti,S=0;for(i=1;i<10;i++)if(!(i%2)&&!(i%3))s+=i;printf("%d\n",s);}A.4B.39C.45D.6

9.下列選項(xiàng)中非法的字符常量是()。

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

10.十進(jìn)制數(shù)124轉(zhuǎn)換成二進(jìn)制數(shù)是()

A.111l010B.1111100C.1011111D.1111011

11.設(shè)變量a是int型,f是float型,i是double型,則表達(dá)式10+′a′+i*f值的數(shù)據(jù)類型為

A.intB.floatC.doubleD.不確定

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

A.算法的執(zhí)行效率與數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)無關(guān)

B.算法的空間復(fù)雜度是指算法程序中指令(或語句)的條數(shù)

C.算法的有窮性是指算法必須能在執(zhí)行有限個(gè)步驟之后終止

D.以上3種描述都不對(duì)

13.下列程序的執(zhí)行結(jié)果是()。#include<stdioh>main{inta,b,c;a=b=2,c=I;c=(a++)-1;printf("%d,0Ad",a,c);c+=-a+++(++b);printf("%d,%d",a,c);)A.3,14,1B.3,14,2C.2,04,1D.2,14,1

14.對(duì)于長(zhǎng)度為n的線性表,在最壞情況下,下列各種排序法所對(duì)應(yīng)的比較次數(shù)中正確的是(

A.冒泡排序?yàn)閚/2B.冒泡排序?yàn)閚C.快速排序?yàn)閚D.快速排序?yàn)閚(n-1)/2

15.若有說明charc[7]={'s','t','r','i','n','g'};則對(duì)元素的非法引用是()。

A.c[0]B.c[9-6]C.c[4*2]D.c[2*3]

16.有下列程序:fun(intX,inty){return(x+y);)main(){inta=1,b=2,c=3,sum;sum=fun((a++,b++,a+b),c++);printf("%d\n",sum);}執(zhí)行后的輸出結(jié)果是()。A.6B.7C.8D.9

17.有以下程序floatfun(intx,inty){return(x+y);}main(){inta=2,b=5,c=8;printf(“%3.Of\n”,fun((int)fun(a+c,b),a-c));}程序運(yùn)行后的輸出結(jié)果是

A.編譯出錯(cuò)B.9C.21D.9

18.有以下函數(shù):intfun(char*x,char*y)intn=0;while((*x==*y)&&*x!=‘\0’)∣x++;y++;n++;∣returnn;函數(shù)的功能是()。A.將y所指字符串賦給x所指存儲(chǔ)空間

B.查找和y所指字符串中是否有‘\0’

C.統(tǒng)計(jì)x和y所指字符串中最前面連續(xù)相同的字符個(gè)數(shù)

D.統(tǒng)計(jì)x和y所指字符串中相同的字符個(gè)數(shù)

19.下列關(guān)于線性鏈表的描述中正確的是()。

A.存儲(chǔ)空間不一定連續(xù),且各元素的存儲(chǔ)順序是任意的

B.存儲(chǔ)空間不一定連續(xù),且前件元素一定存儲(chǔ)在后件元素的前面

C.存儲(chǔ)空間必須連續(xù),且各前件元素一定存儲(chǔ)在后件元素的前面

D.存儲(chǔ)空間必須連續(xù),且各元素的存儲(chǔ)順序是任意的

20.下述程序的運(yùn)行結(jié)果是()。#includedstdio.h>#includedstrin9.h>main{char*s1="abDuj";char*s2="ABdUG";intt;t=strcmp(s1,s2);printf("%d",t);}A.正數(shù)B.負(fù)數(shù)C.零D.不確定的值

二、2.填空題(20題)21.若有下列定義:inta[]={1,2,3,4,5,6,7,8,9,10},*p=a;,則值為3的表達(dá)式為:______。

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

23.為建立如下圖所示的存儲(chǔ)結(jié)構(gòu)(即每個(gè)結(jié)點(diǎn)兩個(gè)域,p是指向結(jié)點(diǎn)的指針域,data用以存放整型數(shù)),請(qǐng)將定義補(bǔ)充完整。

pdata

a

structlist

{【】;intdata;}a;

24.若有如下結(jié)構(gòu)體說明:

structSTRU

{inta,b;charc:doubled;

structSTRU*p1,*p2;

};

請(qǐng)?zhí)羁?,以完成?duì)t數(shù)組的定義,t數(shù)組的每個(gè)元素為該結(jié)構(gòu)體類型。

【】t[20]

25.有以下程序

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é)果是______。

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

inti=9;

printf("%o\n",i);

27.要求使下列程序輸出5個(gè)整數(shù),請(qǐng)?zhí)羁铡?/p>

for(i=0;i<=______;printf("%d\n",i+=2));

28.已知字符A的ASCII代碼值為65,以下程序運(yùn)行時(shí)若從鍵盤輸入:B33<回車>,則輸出結(jié)果是

【】。

#include<stdio.h>

main()

{chara,b;

a=getchar();scanf("%d",&b);

a=a-'A'+'0';b=b*2;

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

}

29.當(dāng)線性表的元素總數(shù)基本穩(wěn)定,且很少進(jìn)行插入和刪除操作,并要求以很快的速度存取線性表中的數(shù)據(jù)元素時(shí),應(yīng)采用【】存儲(chǔ)結(jié)構(gòu)。

30.以下程序的功能是計(jì)算:s=1+12+123+1234+12345。請(qǐng)?zhí)羁铡?/p>

main()

{intt=0,s=0,i;

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

{t=i+______;s=s+t;}

printf("s=%d\n",s);

}

31.以下函數(shù)rotate的功能是:將a所指N行N列的二維數(shù)組中的最后一行放到b所指二維數(shù)組的第0列中,把a(bǔ)所指二維數(shù)組中的第0行放到b所指二維數(shù)組的最后一列中,b所指二維數(shù)組中其他數(shù)據(jù)不變。

#defineN4

voidrotade(inta[][N],intb[][N])

{inti,j;

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

{b[i][N-1]=[9];[10]:a[N-1][i];}}

32.若有如下程序:

main()

{intx=20;

if(x>10)printf("%d",x-=5);

if(x>15)printf("%d",x);

}

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

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

34.以下程序是從終端讀入數(shù)據(jù)到數(shù)組中,統(tǒng)計(jì)其中正數(shù)的個(gè)數(shù),并計(jì)算它們的和。請(qǐng)?zhí)?/p>

main()

{

inti,a[20],sum,count;

sum=count=【】;

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

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

{

if(a[i]>0)

{count++;

sum+=【】;

}

}

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

}

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

36.注釋說明了程序的功能,它分為【】注釋和功能性注釋。

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

unsignedfun6(unsignednum)

{unsignedk=1;

do{k*=hum%10;

num/=10;}while(num);

return(k);}

main()

{unsignedn=26;

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

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

main()

{intx=1,y=0,a=0,b=0;

switch(x)

{case1:switch(y)

{case0:a++;break;

case1:b++;break;

}

case2:a++;b++;break;

}

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

}

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

main()

{inta,b,c;

a=10;b=20;c=(a%b<1)||(a/b>1);

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

}

40.C語言中用______表示邏輯值為“真”,用數(shù)字“0”表示邏輯值為“假”。

三、1.選擇題(20題)41.已知二叉樹后序遍歷序列是dabec,中序遍歷序列是debac,它的前序遍歷序列是

A.acbedB.decabC.deabcD.cedba

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

main

{

doubled=3.2;intx,y;

x=1.2;y=(x+3.8)/5.0;

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

}

A.3B.3.2C.0D.3.07

43.當(dāng)執(zhí)行以下程序段時(shí),______。x=-1;do{x=x*x;}while(!x);

A.循環(huán)體將執(zhí)行1次B.循環(huán)體將執(zhí)行2次C.循環(huán)體將執(zhí)行無限次D.系統(tǒng)將提示有語法錯(cuò)誤

44.若有說明:intx[][3]={1,3,5,7,9,11,13};,則x數(shù)組的行數(shù)為______。

A.2B.3C.4D.無確定值

45.下面程序的輸出結(jié)果是#include<stdio.h>#include<string.h>main(){char*p1="abc",*p2="ABC",str[50]="xyz";strcpy(str+2,strcat(p1,p2));printf("%s\n",str);}

A.xyzabcABCB.zabcABCC.xyabcABCD.yzabcABC

46.以下能正確定義一維數(shù)組的選項(xiàng)是

A.inta[5]={0,1,2,3,4,5};

B.chara[]={′0′,′1′,′2′,′3′,′4′,′5′,′\0′};

C.chara={′A′,′B′,′C′};

D.inta[5]="0123";

47.在下述程序中,判斷i>j共執(zhí)行的次數(shù)是()。main(){inti=0,j=10,k=2,s=0;for(;;){i+=k;if(i>j){printf("%d",s);break;}s+=i;}}

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

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

49.有以下程序:main(){inti,s=0;for(i=1;i<10;i+=2)s+=i+1;printf("%d\n",s);}程序執(zhí)行后的輸出結(jié)果是()。

A.自然數(shù)1~9的累加和B.自然數(shù)1~10的累加和C.自然數(shù)1~9中奇數(shù)之和D.自然數(shù)1~10中偶數(shù)之和

50.有如下程序段inta=14,b=15,x;charc='A';x=(a&&b)&&(c<'B');執(zhí)行該程序段后,x的值為

A.TRUEB.FALSEC.0D.1

51.下列關(guān)鍵字中,不屬于C語言變量存儲(chǔ)類別的是______。

A.registerB.autoC.externD.public

52.下列程序段的輸出結(jié)果是______。staticinta[3]={1,2,3};int**ptr,*p;p=a;ptr=&p;(ptr[0]++)[1]+=3;printf("%d,%d,%d\n",**ptr,*p,a[0]);

A.5,5,10B.1,5,5C.5,5,1D.輸出結(jié)果不確定

53.設(shè)char型變量x中的值為10100111,則表達(dá)(2+x)∧(~3)的值是

A.10101001B.10101000C.11111101D.1010101

54.數(shù)據(jù)庫(kù)設(shè)計(jì)的根本目標(biāo)是要解決

A.數(shù)據(jù)共享問題B.數(shù)據(jù)安全問題C.大量數(shù)據(jù)存儲(chǔ)問題D.倘化數(shù)據(jù)維護(hù)

55.假定下列程序的可執(zhí)行文件名為filel.exe,在該程序的子目錄下輸入命令行:file1ChinaBejing<回車>main(intargc,char*argv[]){while(argc-->1)printf("%s\n",*++argv);}則程序運(yùn)行后的輸出結(jié)果是()。

A.filelChinaBejingB.ChinaBejingC.ChinaD.Bejing

56.下列選項(xiàng)中,合法的C語言關(guān)鍵字是______。

A.VARB.cherC.integerD.default

57.下列描述中正確的是()。

A.在C語言程序中預(yù)處理是指完成宏替換和文件包含指定的文件的調(diào)用

B.預(yù)處理指令只能位于C源程序文件的首部

C.預(yù)處理命令可以放在程序中的任何位置

D.預(yù)處理命令結(jié)尾需要加分號(hào)

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

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

59.以下不屬于對(duì)象的基本特點(diǎn)的是()

A.分類性B.多態(tài)性C.繼承性D.封裝性

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

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

四、選擇題(20題)61.以下敘述中錯(cuò)誤的是()。

A.可以給指針變量賦一個(gè)整數(shù)作為地址值

B.函數(shù)可以返回地址值

C.改變函數(shù)形參的值,不會(huì)改變對(duì)應(yīng)實(shí)參的值

D.當(dāng)在程序的開頭包含頭文件stdi0.h時(shí),可以給指針變量賦NULL、、、

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

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

63.

64.下面關(guān)于完全二叉樹的敘述中,錯(cuò)誤的是______。A.A.除了最后一層外,每一層上的結(jié)點(diǎn)數(shù)均達(dá)到最大值

B.可能缺少若干個(gè)左右葉子結(jié)點(diǎn)

C.完全二叉樹一般不是滿二叉樹

D.具有結(jié)點(diǎn)的完全二叉樹的深度為[log2n]+1

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

structabc

{

inta,b,c;

}

main()

{

structabcs[2]={{1,2,3},{4,5,6}};

intt;

t=s[0].a+s[1].b;

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

}

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

66.有以下程序

main()

{intm=14,n=24;

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

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

}

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

A.15252616B.14252515

C.14252516D.14252615

67.下列不屬于過程設(shè)計(jì)工具中圖形工具的是()。

A.N—SB.PADC.程序流程圖D.PDL

68.

69.

70.

71.

72.

73.以下合法的十六進(jìn)制數(shù)是()。

A.0x

B.0x4De

C.0xlh

D.oX77

74.有如下程序

#include"stdio.h"

main()

{intj,i,k=0;

for(j=20;j<=30;j++)

{if(!(k%10))printf("\n");

for(i=2;i<j;i++)if(!(j%i))break;

if(i>=j-1)

{printf("%d",j);

k++;}

}

}

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

A.2329B.2923

C.3292D.9232

75.(46)面向?qū)ο蟮脑O(shè)計(jì)方法與傳統(tǒng)的的面向過程的方法有本質(zhì)不同,它的基本原理是()

A.模擬現(xiàn)實(shí)世界中不同事物之間的聯(lián)系

B.強(qiáng)調(diào)模擬現(xiàn)實(shí)世界中的算法而不強(qiáng)調(diào)概念

C.使用現(xiàn)實(shí)世界的概念抽象地思考問題從而自然地解決問題

D.鼓勵(lì)開發(fā)者在軟件開發(fā)的絕大部分中都用實(shí)際領(lǐng)域的概念去思考

76.

77.

78.有如下嵌套的語句

79.有以下程序:

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

A.0B.一1C.1D.7

80.

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc的功能是:先將字符串s中的字符按順序存放到t中,然后把S中的字符按正序連接到t的后面。例如,當(dāng)s中的字符串為WXYZ時(shí),則t中的字符串應(yīng)為WXYZWXYZ。請(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*s,char*t){inti,s1;s1=strlen(s);for(i=0;i<s1;i++)//****found****t[i]=s[s1];for(i=0;i<s1;i++)t[s1+i]一s[i];t[2*s1]=\O0;}voidmain{chars[100],t[100];system("CLS");print{("\nPleaseenterstrings:");scanf("%s",s);proc(s,t);printf("Theresultis:%s\n",t);}

六、程序設(shè)計(jì)題(1題)82.使用VC++2010打開考生文件夾下prog1中的解決方案。此解決方案的項(xiàng)目中包含一個(gè)源程序文件prog1.c。在此程序中,編寫函數(shù)fun(),其功能是刪除一個(gè)字符串中指定下標(biāo)的字符。其中,a指向原字符串,刪除指定字符后的字符串存放在b所指的數(shù)組中,n中存放指定的下標(biāo)。例如,輸入一個(gè)字符串“World”,然后輸入3,則調(diào)用該函數(shù)后的結(jié)果為“Word”。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入你編寫的若干語句。試題程序:#include<stdlib.h>#include<stdio.h>#include<conio.h>#defineLEN20voidfun(chara[],charb[],intn){}voidmain(){ charstr1[LEN],str2[LEN]; intn; system(“CLS”); printf(“Enterthestring:\n”); gets(str1); printf(“Enterthepositionofthestringdeleted:”); scanf(“%d”,&n);fun(str1,str2,n); printf(“Thenewstringis:%s\n”,str2);}

參考答案

1.B解析:視圖設(shè)汁一般有3種設(shè)計(jì)次序,它們分別是自頂向下、自底向上和由內(nèi)

向外,它們又為視圖設(shè)計(jì)提供了具體的操作方法,設(shè)計(jì)者可根據(jù)實(shí)際情況靈活掌握,可以

單獨(dú)使用也可混合使用。

注意:數(shù)據(jù)庫(kù)概念設(shè)計(jì)的過程:首先選擇局部應(yīng)用,再進(jìn)行局部視圖設(shè)計(jì),最后

對(duì)局部視圖進(jìn)行集成得到概念模式。

2.B

3.D

4.A程序定義一個(gè)整型變量y和整型二維數(shù)組x,并對(duì)x賦初值。接著調(diào)用函數(shù)fun,在函數(shù)fun中,第1個(gè)for循環(huán)將數(shù)組a的第0列和第N-1列的所有元素累加到y(tǒng)中;第2個(gè)for循環(huán)將數(shù)組a的第0行的2、3和第N-1行的3、2累加到y(tǒng)中,再將y返回。所以fun函數(shù)的功能是將數(shù)組a的行列下標(biāo)為0、N-1的所有元素累加起來,即將1,2,3,4,2,3,3,2,4,3,2,1累加,輸出30。本題答案為A選項(xiàng)。

5.A解析:定義數(shù)組時(shí),沒有對(duì)s[1]進(jìn)行初始化,因此s[1]的值不確定,所以k=s[1]*10的值也不確定。

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

7.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

8.Dif語句的條件是當(dāng)i既是3的倍數(shù)又是2的倍數(shù)時(shí)成立,所以此程序?qū)崿F(xiàn)的功能是將10以內(nèi)既是3的倍數(shù)又是2的倍數(shù)的數(shù)相加。

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

10.B

11.C解析:根據(jù)混合運(yùn)算規(guī)則,如果有一個(gè)數(shù)據(jù)是float型或double型,則其他數(shù)據(jù)類型先轉(zhuǎn)化為double型,運(yùn)算的結(jié)果最終也是double型。

12.C在程序設(shè)計(jì)中,算法執(zhí)行效率與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)密切相關(guān)。算法的空間復(fù)雜度是指算法執(zhí)行過程中所需存儲(chǔ)空間。

13.A本題主要考查自加減運(yùn)算符(++,--)的使用。①如果作為前綴變量“++a,--a”,在使用a之前,先使a的值加1或者減1,再使用表達(dá)式的值參與運(yùn)算;②后綴變量“a++,a--”,先使用表達(dá)式的值參與運(yùn)算,在使用a之后,再使i的值加1或者減1。在本題中計(jì)算表達(dá)式c=(a++)-1時(shí)先使用a的值進(jìn)行計(jì)算,結(jié)果為c=2-1=1,然后將a的值加1,即執(zhí)行完此句后l3-的值是3;表達(dá)式c+=-a+++(++b)也可寫成C=c+(一a++)+(++b),c=1+(一3)+3=1,此時(shí)a=4,b=3。

14.D在最壞情況下,冒泡排序和快速排序的比較次數(shù)都是n(n一1)/2?!局R(shí)拓展】所謂冒泡排序,就是將相鄰的兩個(gè)數(shù)據(jù)比較,如前面的數(shù)據(jù)大于后面的,則位置互換。這樣不停地比較、互換,其實(shí)就是把大的數(shù)往后排,小的數(shù)往前排(就像冒泡一樣冒出來了)。

15.C

16.C函數(shù)fun(intx,inty)的功能是返回x+Y的值。在主函數(shù)中,變量a,b,c的初始值分別為1,2,3。因此逗號(hào)表達(dá)式“a++,b++,a+b”的值等于5,表達(dá)式c++的值為3,調(diào)用于函數(shù)的表達(dá)式為“fun(5,3);”,其返回值等于8。

17.B解析:fun()函數(shù)是將傳進(jìn)來的兩個(gè)整型參數(shù)相加,把和作為函數(shù)值返回,注意返回值為float型。在主函數(shù)調(diào)用了兩次fun()函數(shù),第一次調(diào)用時(shí)把表達(dá)式“a+c”和變量“b”的值求和,得到15轉(zhuǎn)換為15.0作為函數(shù)的返回值。第二次調(diào)用把第一次調(diào)用的返回值通過強(qiáng)制類型轉(zhuǎn)換成int型15,再和表達(dá)式“a-c”相加,得到結(jié)果9,轉(zhuǎn)換成float型作為函數(shù)值返回。由于輸出格式符為“%3.of輸出時(shí)沒有小數(shù)位,故輸出為9。

18.C本題中由循環(huán)條件可知遇到‘\\0’或x與y所指的字符的值不等中的一個(gè)條件時(shí)就結(jié)束,所以功能是統(tǒng)計(jì)x和y所指字符串中最前面連續(xù)相同的字符個(gè)數(shù)。

19.A解析:線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中的結(jié)點(diǎn)空間是動(dòng)態(tài)生成的,它們?cè)趦?nèi)存中的地址可能是連續(xù)的,也可能是不連續(xù)的。

20.A本題考查符符串比較函數(shù)和兩個(gè)字符串比較的原則這兩個(gè)知識(shí)點(diǎn)。

(1)兩字符串比較的原則是依次比較兩個(gè)字符串同一位置的一對(duì)字符,若它們的ASCII碼值相同,則繼續(xù)比較下一對(duì)字符,若它們的ASCII碼值不同,則ASCII碼值較大的字符所在的字符串較大;若所有字符相同,則兩個(gè)字符串相等;若一個(gè)字符串全部i個(gè)字符與另一個(gè)字符串的前i個(gè)字符相同,則字符串較長(zhǎng)的較大(2)strcmp(s1,s2)的返回值,當(dāng)str1<str2時(shí),返回值為負(fù)數(shù);當(dāng)str1=str2時(shí),返回0;當(dāng)str1>str2,返回值為正數(shù)。

21.p+=2*(p++)p+=2,*(p++)解析:由題可知a[2]=3,因此只要使指針p指向a[3],然后再引用指針的值就可以了。

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

23.structlist*nextstructlist*next解析:定義的指針類型變量next也應(yīng)該是結(jié)構(gòu)體類型的。

24.strudctSTRUstrudctSTRU解析:結(jié)構(gòu)件類型是構(gòu)造數(shù)據(jù)類型,是用戶自己定義的一種類型。

結(jié)構(gòu)體類型的定義:

struct結(jié)構(gòu)體類型名

{

成員項(xiàng)表;

};

定義結(jié)構(gòu)體變量的的形式為:

struct結(jié)構(gòu)體類型名變量1,變量2,...?

其中變量包括;一般變量、指針變量、數(shù)組變量等。

25.3

26.1111解析:本題考核的知識(shí)點(diǎn)是printf()函數(shù)的輸出格式。本題中定義了一個(gè)整型變量i并賦初值為9,然后要求以八進(jìn)制輸出i的值,9的八進(jìn)制數(shù)的表示為11。

27.88解析:本題考查基本的for循環(huán)條件,i+=2表示i每次遞增2,從0開始,輸出5個(gè)整數(shù)則需要的條件是i<=8。

28.1B1B解析:從鍵盤輸入后,a='B',b=33,之后進(jìn)行運(yùn)算,a='B'-'A'+'0'='1';b=33*2=66。C語言規(guī)定,整型和字符型可以相互轉(zhuǎn)換,已知字符A的ASCII碼值為65,所以字符B的ASCII碼值為66,所以b='B',最后以字符形式輸出a和b,所以輸出為1B。

29.順序順序

30.t*10或10*tt*10或10*t解析:本題要求累加一系列有規(guī)律的數(shù),從輸出結(jié)果來看,s保存的是最終結(jié)果,而s在循環(huán)體中,每次累加一個(gè)t,則說明t在5次循環(huán)中分別等于1.12、123、1234、12345;而t每次循環(huán)等于“填空內(nèi)容”加上循環(huán)變量i,又因?yàn)閕在5次循環(huán)中分別等于1、2、3、4,5,所以t每次循環(huán)要加的“填空內(nèi)容”應(yīng)分別為0、10、120,1230,12340,這一系列值正好是前一次t的值的10倍.所以“填空內(nèi)容”應(yīng)是t*10。

31.b[i][N-1];s[0][i]實(shí)現(xiàn)把a(bǔ)所指二維數(shù)組中的第0行放到b所指二維數(shù)組的最后一列中,b[i][0]=a[N-1][i]門實(shí)現(xiàn)將a所指N行N列的二維數(shù)組中的最后一行放到b所指二維數(shù)組中的第0列。\r\n\r\n

32.1515解析:本題首先定義了一個(gè)變量x并初始化為20。然后第一個(gè)if語句判斷x是否>10,結(jié)果為真,則執(zhí)行后面的輸出語句,輸出結(jié)果是賦值表達(dá)式X-=5的值,所以輸出15,同時(shí)x的值也變成15。第二個(gè)if語句再判斷x是否>15時(shí)條件為假,結(jié)束程序。所以程序運(yùn)行后的輸出結(jié)果是15。

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

34.0&a[i]a[i]0\r\n&a[i]\r\na[i]解析:本題要求從終端讀入數(shù)據(jù)到數(shù)組中,統(tǒng)計(jì)其中正數(shù)的個(gè)數(shù),并計(jì)算它們的和。程序中首先要對(duì)存放正數(shù)個(gè)數(shù)的變量count及存放和值的變量sum初始化為0,所以第一空應(yīng)填0。接著要求從終端讀入數(shù)據(jù)到數(shù)組中,可以通過scanf函數(shù)實(shí)現(xiàn),因此第二空應(yīng)填&a[i]。最后通過sum+=a[i];語句累加正數(shù)a[i]的值到sum中,因此第三空應(yīng)填a[i]。

35.關(guān)系關(guān)系解析:關(guān)系模型用;維表表示,則每個(gè);維表代表一種關(guān)系。

36.序言性序言性解析:注釋一般分為序言性注釋和功能性注釋。

37.1212解析:do…while循環(huán)的一個(gè)比較顯著的特點(diǎn)是:先執(zhí)行一次循環(huán)體然后再判斷循環(huán)的條件是否滿足,若滿足則接著進(jìn)入下一次循環(huán),否則就退出循環(huán)。注意:3種循環(huán)結(jié)構(gòu)的比較。

38.21

39.1020010200解析:a的初值為10,b的初值為20,因此“a%b”結(jié)果為10,“(a%b<1)”為假,“a/b”的結(jié)果為0,“(a/b>1)”為假,所以“(a%b<1)||(a/b>1)”的值為0(假),c的值為0。

40.非0非0解析:邏輯運(yùn)算中,非0表示邏輯“真”,用。表示邏輯“假”。

41.D解析:中序遍歷的遞歸算法如下:①遍歷左子樹;②訪問根結(jié)點(diǎn);③遍歷右子樹。前序遍歷的遞歸算法如下:①訪問根結(jié)點(diǎn);②遍歷左子樹;③遍歷右子樹。后序遍歷的遞歸算法如下:①遍歷左子樹;②遍歷右子樹;③訪問根結(jié)點(diǎn)。由后序遍歷結(jié)果dabec可知c是根結(jié)點(diǎn),且無右子樹。再由左子樹的后序遍歷結(jié)果dabe可知,e是左子樹的根結(jié)點(diǎn),且由左子樹的中序遍歷結(jié)果deba可知,d是左子樹的左子樹結(jié)點(diǎn),b和a是左子樹的右子樹結(jié)點(diǎn)。再次由后序遍歷結(jié)果ab可知,a是左子樹結(jié)點(diǎn)。b是根結(jié)點(diǎn)。至此,各結(jié)點(diǎn)在樹中的位置已完全確定。

42.C解析:本題中,程序先執(zhí)行語句x=1.2;,根據(jù)賦值運(yùn)算的類型轉(zhuǎn)換規(guī)則,先將double型的常量1.2轉(zhuǎn)換為int型,即取整為1,然后將1賦值給變量x。接下來執(zhí)行語句y=(x+3.8)/5.0;根據(jù)運(yùn)算符的優(yōu)先級(jí),先計(jì)算小括號(hào)內(nèi),再計(jì)算除法,最后執(zhí)行賦值運(yùn)算。小括號(hào)內(nèi)的運(yùn)算過程:先將整型變量x的值1轉(zhuǎn)換為double型1.0,然后與3.8進(jìn)行加法運(yùn)算,得到中間結(jié)果4.8。接著進(jìn)行除法運(yùn)算4.8/5.0,其結(jié)果小于1.0,這里沒有必要計(jì)算出精確值,因?yàn)榻又M(jìn)行賦值運(yùn)算,賦值號(hào)左邊的變量y的類型為整型,于是對(duì)這個(gè)小于1.0的中間結(jié)果進(jìn)行取整,結(jié)果為0,于是變量y的值為0,d*y的值也為0。注意:格式輸出語句printf的使用。

43.A

44.B解析:計(jì)算行數(shù)的方法是用數(shù)組的元素個(gè)數(shù)除以列數(shù),尾數(shù)為小數(shù)直接進(jìn)一位。

45.C解析:本題考查的重點(diǎn)是拷貝字符串——使用strcpy()函數(shù),該函數(shù)的調(diào)用方式是:strcpy(字符數(shù)組,字符串)其中“字符串”可以是字符串常量,也可以是字符數(shù)組。函數(shù)的功能是:將“字符串”完整地復(fù)制到“字符數(shù)組”中,字符數(shù)組中原有內(nèi)容被覆蓋。

使用該函數(shù)時(shí)注意:①字符數(shù)組必須定義得足夠大,以便容納復(fù)制過來的字符串。復(fù)制時(shí),連同結(jié)束標(biāo)志‘\\0’一起復(fù)制。②不能用賦值運(yùn)算符“=”將一個(gè)字符串直接賦值給一個(gè)字符數(shù)組,只能用strcpy()函數(shù)來處理。

另外,本題還考查連接字符串的strcat()函數(shù),其調(diào)用方式是:strcat(字符數(shù)組,字符串)

功能是把“字符串”連接到“字符數(shù)組”中的字符串尾端,并存儲(chǔ)于“字符數(shù)組”中?!白址麛?shù)組”中原來的結(jié)束標(biāo)志,被“字符串”的第一個(gè)字符覆蓋,而“字符串”在操作中未被修改。

使用該函數(shù)時(shí)注意:①由于沒有邊界檢查,編程者要注意保證“字符數(shù)組”定義得足夠大,以便容納連接后的目標(biāo)字符串;否則,會(huì)因長(zhǎng)度不夠而產(chǎn)生問題。③連接前兩個(gè)字符串都有結(jié)束標(biāo)志‘\\0’,連接后“字符數(shù)組”中存儲(chǔ)的字符串的結(jié)束標(biāo)志‘\\0’被舍棄,只在目標(biāo)串的最后保留一個(gè)‘\\0’。

46.B解析:選項(xiàng)A)中,定義的初值個(gè)數(shù)大于數(shù)組的長(zhǎng)度;選項(xiàng)C)中,數(shù)組名后少了中括號(hào);選項(xiàng)D)中,整型數(shù)組不能賦予字符串。

47.D

48.A解析:條件表達(dá)式的形式如下:表達(dá)式1?表達(dá)式2:表達(dá)式3,所以本題條件表達(dá)式a<b?a:c<d?c:d應(yīng)該理解為a<b?a:(c<d?c:d),首先求出條件表達(dá)式c<d?c:d的值等于2,再求條件表達(dá)式a<b?a:2的值,由于a-1<b-4成立,所以上述條件表達(dá)式的值等于1。

49.D解析:本題考核的知識(shí)點(diǎn)是for循環(huán)語句和復(fù)合賦值+=運(yùn)算符的應(yīng)用。本題中,i賦初值為1,并對(duì)其每次進(jìn)行加2操作,即i每次均為1~10之間的奇數(shù),s+=i+1,即s=s+i+1,相當(dāng)于s等于原來的s每次加上1~10之間的偶數(shù),直到i<10不成立.當(dāng)i=1時(shí),s=0+1+1=2;當(dāng)i=3時(shí),s=2+3+1=2+4;當(dāng)i=5時(shí),s=2+4+5+1=2+4+6;當(dāng)i=7時(shí),s=2+4+6+7+1=2+4+6+8;當(dāng)i=9時(shí),s=2+4+6+8+9+1=2+4+6+8+10;當(dāng)i=11時(shí),i<10不成立,結(jié)束循環(huán)。所以,4個(gè)選項(xiàng)中選項(xiàng)D符合題意。

50.D解析:在C語言中,邏輯運(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。

51.D解析:變量的存儲(chǔ)類別具體包含四種:自動(dòng)的(auto),靜態(tài)的(static),寄存器的(register),外部的(extern)。

52.C解析:ptr指向指針變量p,p指向數(shù)組a的首地址,(ptr[0]++)[1]+=3;的意思是將p指向數(shù)組元素a[1],并將它的值增3變?yōu)?,此時(shí),ptr指向p,p指向a[1]。

53.D解析:本題考核的知識(shí)點(diǎn)是位運(yùn)算符的基本使用.表達(dá)式(2+x)二進(jìn)制表示為“10101001”,(-3)即把3按位取反得到二進(jìn)制值為“11111100”,再把這兩個(gè);進(jìn)制按位加(異或),得到結(jié)果位“01010101”。所以,D選項(xiàng)為所選。

54.A解析:數(shù)據(jù)庫(kù)技術(shù)的根本目標(biāo)就是要解決數(shù)據(jù)的共享問題,選項(xiàng)A正確。

55.B解析:主函數(shù)的第一個(gè)參數(shù)argc為整形參數(shù),記下從命令行輸入的參數(shù)的個(gè)數(shù);第二個(gè)參數(shù)argv是一個(gè)字符型的指針數(shù)組,它的每一個(gè)指針指向命令行輸入的參數(shù)字符數(shù)。在本例中argc的值為3,argv[0]指向字符串.“filel”,argv[l]指向參數(shù)字符串“China”,argv[2]指向字符串“Bejing”。在main()函數(shù)中,while循環(huán)執(zhí)行了2次。第1次循環(huán),argc=3,3>1為真,argc-1=3-1=2,執(zhí)行循環(huán)體輸出*++argv,argv為字符型的指針數(shù)組的數(shù)組名,代表數(shù)組的首地址,同時(shí)也是數(shù)組第1個(gè)元素的地址,++argv指向數(shù)組的第2個(gè)元素,第2個(gè)元素是一個(gè)指針,它指向字符串“China”。第2次循環(huán),argc=2,2>1為真,argc-1=2-1=1,執(zhí)行循環(huán)體輸出*++argv,這次循環(huán)畔++argv指向數(shù)組的第3個(gè)元素,第3個(gè)元素是一個(gè)指針,它指向字符串“Bejing”。argc=1時(shí),1>1為假,退出循環(huán)。所以,4個(gè)選項(xiàng)中選項(xiàng)B符合題意。

56.D解析:選項(xiàng)A中的VAR不是C語言中關(guān)鍵字,故選項(xiàng)A不正確:選項(xiàng)B中cher,應(yīng)改char,char才是C語言中的關(guān)鍵字,故選項(xiàng)B不正確;選項(xiàng)C中integer在C語言中簡(jiǎn)化為int,這里應(yīng)該將integer改為int,int才是C語言中的關(guān)鍵字,選項(xiàng)D中default為C語言中默認(rèn)的關(guān)鍵字,故選項(xiàng)D正確。所以,4個(gè)選項(xiàng)中選項(xiàng)D符合題意。

57.C解析:本題考查預(yù)處理命令的特點(diǎn),編譯預(yù)處理命令的特點(diǎn):①為了區(qū)別一般的語句,預(yù)處理命令行都必須以“#”號(hào)開始,結(jié)尾不加分號(hào);②預(yù)處理命令可以放在程序中的任何位置;③在程序中凡是以“#”號(hào)開始的語句行都是預(yù)處理命令行。

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

59.C解析:對(duì)象的基本特點(diǎn)包括;標(biāo)識(shí)惟一性、分類性、多態(tài)性、封裝性和獨(dú)立性等。繼承性不屬于對(duì)象的基本特點(diǎn)。

60.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)形式

溫馨提示

  • 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. 人人文庫(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)論