2022年四川省雅安市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)_第1頁(yè)
2022年四川省雅安市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)_第2頁(yè)
2022年四川省雅安市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)_第3頁(yè)
2022年四川省雅安市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)_第4頁(yè)
2022年四川省雅安市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)_第5頁(yè)
已閱讀5頁(yè),還剩31頁(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)介

2022年四川省雅安市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.下面關(guān)于哈希(Hash,雜湊)查找的說(shuō)法正確的是()

A.哈希函數(shù)構(gòu)造的越復(fù)雜越好,因?yàn)檫@樣隨機(jī)性好,沖突小

B.除留余數(shù)法是所有哈希函數(shù)中最好的

C.不存在特別好與壞的哈希函數(shù),要視情況而定

D.若需在哈希表中刪去一個(gè)元素,不管用任何方法解決沖突都只要簡(jiǎn)單地將該元素刪去即可

2.有以下程序執(zhí)行后的輸出結(jié)果是()。A.3,2,0B.3,2,-1C.4,3,-1D.5,-2,-5

3.深度為5的二叉樹至多有_____個(gè)結(jié)點(diǎn)。

A.16B.32C.31D.10

4.C語(yǔ)言中的標(biāo)識(shí)符分為關(guān)鍵字、預(yù)定義標(biāo)識(shí)符和用戶標(biāo)識(shí)符,以下敘述正確的是()。

A.預(yù)定義標(biāo)識(shí)符(如庫(kù)函數(shù)中的函數(shù)名)可用做用戶標(biāo)識(shí)符,但失去原有含義

B.用戶標(biāo)識(shí)符可以由字母和數(shù)字任意順序組成

C.在標(biāo)識(shí)符中大寫字母和小寫字母被認(rèn)為是相同的字符

D.關(guān)鍵字可用做用戶標(biāo)識(shí)符,但失去原有含義

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

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

6.在有序雙向鏈表中定位刪除一個(gè)元素的平均時(shí)間復(fù)雜度為()

A.O(1)B.O(N)C.O(logN)D.O(N*logN)

7.有以下程序:#include<stdio.h>intchange(int*data){*data=*data%2;return(*data)+1;}main(){intdata=12;change(&data);printf(“%d,”,data);data=change(&data);printf(“%d,”,data);}程序運(yùn)行后的輸出結(jié)果是()。

A.0,0,B.1,2,C.12,13,D.0,1,

8.

9.

10.寫出a*(b-c*d)+e-f/g*(h+i*j-k)的逆波蘭表達(dá)式()。

A.a(b-c*d)*+e-(f/g(h+i*j-k)*)

B.a(b-(cd*))*+e-(fg/(h+ij*-k)*)

C.a(bcd*-)*+e-(fg/hij*+k-*)

D.abcd*-*e+fg/hij*+k-*-

11.下列關(guān)于棧的描述中錯(cuò)誤的是()。A.棧是先進(jìn)后出的線性表B.棧只能順序存儲(chǔ)C.棧具有記憶作用D.對(duì)棧的插入與刪除操作中,不需要改變棧底指針

12.以下編碼方法中,()屬于熵編碼。

A.哈夫曼編碼B.小波變換編碼C.線性預(yù)測(cè)編碼D.形成編碼

13.

14.在JavaScript語(yǔ)言中,要定義局部變量則可以()。

A.由關(guān)鍵字private在函數(shù)內(nèi)定義

B.由關(guān)鍵字private在函數(shù)外定義

C.由var在函數(shù)內(nèi)定義

D.由關(guān)鍵字var在函數(shù)外定義

15.

16.

17.有以下程序:voidswap(char*x,char*y){chart;t=*x;*x=*y;*y=t;}main{char*s1="abe",*s2="123":swap(s1,s2);printf("%s,%s\n",s1,s2);}程序執(zhí)行后的輸出結(jié)果是()。A.123,abeB.abc.123C.1bc,a23D.321,cba

18.若串S=,software,其子串的數(shù)目是()。

A.8B.37C.36D.9

19.設(shè)有以下定義:inta=0;doubleb=1.25;charc='A';#defined2則下面語(yǔ)句中錯(cuò)誤的是()。

A.a++;B.b++;C.c++;D.d++;

20.若已定義inta,則表達(dá)式a=10,a+10,a++的值是()。

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

二、2.填空題(20題)21.以下程序的功能是調(diào)用函數(shù)fun計(jì)算:m=1-2+3-4+…+9-10,并輸出結(jié)果。請(qǐng)?zhí)羁铡?/p>

intfun(intn)

{intm=0,f=1,i;

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

m+=i*f;

f=【】;

returnm;

}

main()

{printf("m=%d\n",【】);}

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

main()

{inti,m=0,n=0,k=0;

for(i=9;i<=ii;i++)

switch(i/10)

{case0:m++;n++;break;

case10:n++;break;

default:k++;n++;

}

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

}

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

24.若輸入字符串:abcde,則以下while循環(huán)體將執(zhí)行【】次。

while((ch=getchar())=='e')printf("*");

25.以下程序運(yùn)行后,若輸入:3,abcde<回車>,則輸出結(jié)果是【】。

#include<stdio.h>

#include<string.h>

move(char*str,intn)

{chartemp;inti;

temp=str[n-1];

for(i=n-1;i>0;i--)str[i]=str[i-1];

str[0]=temp;

}

main()

{chars[50];intn,i,z;

scanf("%d,%s",&n,s);

z=strlen(s);

for(i=1;i<=n;i++)move(s,z);

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

}

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

main()

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

if(c=A)printf("%d\n",C);

elseprintf("%d\n",B);

}

27.已知字符'A'的ASCII碼值為65,以下語(yǔ)句的輸出結(jié)果是【】。

charch='B';

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

28.下面程序的功能是輸出數(shù)組中最大的數(shù),由a指針指向該元素。請(qǐng)?zhí)羁铡?/p>

main()

{ints[]={6,7,2,13,9,1,12,10,5,8,4,3,11},*a,*b;

for(b=s,a=s;b-s<13;b++)

if(【】)a=b;

printf("%d",*a);}

29.下列表達(dá)式用于判斷y是否為閏年。閏年的判斷條件是:年號(hào)能被4整除但不能被100整除或年號(hào)能被400整除,請(qǐng)?zhí)羁誣_____。

30.下列語(yǔ)句的輸出結(jié)果是______。

chars[20]="aaaa",*sp=s;

puts(strcat(sp,"AAAAA"));

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

32.若fp已下確定義為一個(gè)文件指針,d1.dat為二進(jìn)制文件,請(qǐng)?zhí)羁?,以便為“讀”而打開此文件:fp=fopen(【】);。

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

34.通常將軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到不再使用的過程稱為【】。

35.在面向?qū)ο蟮某绦蛟O(shè)計(jì)方法中,類的實(shí)例稱為______。

36.下面的程序?qū)崿F(xiàn)的是指針p所指向的地址的n個(gè)數(shù)中,求出最大的和最小的數(shù)據(jù),請(qǐng)?zhí)羁铡?/p>

fun(int*p,intn)

{int*q;

intmax,min;

max=min=*p;

for(q=p;【】;q++)

if(*q>max)max=*q;

elseif(*q<min)min=*q;}

37.下面程序的輸出是【】。

main()

{intarr[10],i,k=0;

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

arr[i]=i;

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

k+=arr[i]+i;

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

38.函數(shù)viodfun(float*sn,intn)的功能是:根據(jù)以下公式計(jì)算S,計(jì)算結(jié)果通過形參指針sn傳回;n通過形參傳入,n的值大于等于0。請(qǐng)?zhí)羁铡?/p>

s=1-1/3+1/5-1/7+…1/(2n+1)

voidfun(float*sn,intn)

{floats=0.0,w,f=-1.0;

inti=0;

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

{f=【】*f;

w=f/(2i+1);

s++=w;

}

【】=s;

}

39.設(shè)有以下結(jié)構(gòu)類型說(shuō)明和變量定義,則變量a在內(nèi)存所占字節(jié)數(shù)是【】。

structstud

{charnum[6];

ints[4];

doubleave;

}a,*p;

40.mystrlen函數(shù)的功能是計(jì)算str所指字符串的長(zhǎng)度,并作為函數(shù)值返回。請(qǐng)?zhí)羁铡?/p>

intmystrlen(char*str)

{inti;

for(i=0;【】!='\0';i++);

return(i);}

三、1.選擇題(20題)41.執(zhí)行下列程序后,輸出的結(jié)果是()。#include<stdio.h>#defineS(X)X*Xvoidmain(){inta=9,k=3,m=2;a/=S(k+m)/S(k+m);printf("%d",a);}

A.1B.4C.9D.0

42.設(shè)有:inta=1,b=2,c=3,d=4,m=2,n=2;執(zhí)行(m=a>b)&&(n=c>d)后n的值是

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

43.按照“先進(jìn)先出”組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是()。

A.隊(duì)列B.棧C.雙向鏈表D.二叉樹

44.設(shè)inta=12,則執(zhí)行完語(yǔ)句a+=a-=a*a后,a的值是()。

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

45.下列是用戶自定義標(biāo)識(shí)符的是

A._w1B.3_xyC.intD.LINE-3

46.以下敘述中不正確的是()。

A.預(yù)處理命令行都必須以#號(hào)開始

B.在程序中凡是以#號(hào)開始的語(yǔ)句行都是預(yù)處理命令行

C.宏替換不占用運(yùn)行時(shí)間,只占編譯時(shí)間

D.定義#definePI3.1415926;是正確的

47.設(shè)有定義:Structcomplex{intreal,unreal;}data1={1,8},data2;則以下賦值語(yǔ)句中錯(cuò)誤的是()。

A.data2={data1.rea1,data1.unrea1};

B.data2=(2,6);

C.data2.rea1=data1->rea1;

D.data2->rea1=data1.unrea1;

48.下列各數(shù)據(jù)類型不屬于構(gòu)造類型的是()。

A.枚舉型B.共用型C.結(jié)構(gòu)型D.數(shù)組型

49.已知二叉樹BT的后序遍歷序列是dabec,中序遍歷序列是debac,它的前序遍歷序列是______.

A.cedbaB.acbedC.decabD.deabc

50.在以下選項(xiàng)中,操作不合法的一組是______。

A.intx[6],*p;p=&x[0];

B.intx[6],*p;*p=x;

C.intx[6],*p;p=x;

D.intx[5],p;p=x[0];

51.以下不合法的用戶標(biāo)識(shí)符是______。A.j2KEYB.DoubleC.4dD._8_

52.對(duì)于下面的語(yǔ)句,敘述正確的是______。charc1[]="abcd";charc2[]={'a','b','c','d'};

A.數(shù)組c1和數(shù)組c2等價(jià)

B.數(shù)組c1占用空間大于數(shù)組c2占用空間

C.數(shù)組c1占用空間小于數(shù)組c2占用空間

D.數(shù)組c1和數(shù)組c2的長(zhǎng)度相同

53.有以下程序voldsoru(inta[],intn){inti,i,t;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(a[i]<a[j]){t=a[i];a[i]=a[i];a[j]=t;}}main(){intaa[10]={1,2,3,4,5,6,7,8,9,10),i;sore(aa+2,5);for(i=0;i<10;i++)printf("%d,",aa[i]);printf("\n");}程序運(yùn)行后的輸出結(jié)果是

A.1,2,3,4,5,6,7,8,9,10,

B.1,2,7,6,3,4,5,8,9,10,

C.1,2,7,6,5,4,3,8,9,10,

D.1,2,9,8,7,6,5,4,3,10,

54.算法的時(shí)間復(fù)雜度是指______。

A.執(zhí)行算法程序所需要的時(shí)間B.算法程序的長(zhǎng)度C.算法執(zhí)行過程中所需要的基本運(yùn)算次數(shù)D.算法程序中的指令條數(shù)

55.與以下定義等價(jià)的是()int*p[4]

A.intp[4]B.int*pC.int*(p[4]).D.int(*p)[4]

56.下面程序的輸出結(jié)果為______。#include<string.h>main(){charpl[7]="abc",p[]2="ABC"str[50]="xyz";strcpy(str,strcat(p1,p2));printf("%s"str);}

A.xyzabcABCB.abcABCC.xyzabcD.xyzABC

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

A.存儲(chǔ)在外存中的數(shù)據(jù)B.數(shù)據(jù)所占的存儲(chǔ)空間量C.數(shù)據(jù)在計(jì)算機(jī)中的順序存儲(chǔ)方式D.數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的表示

58.在數(shù)據(jù)庫(kù)設(shè)計(jì)中,將E-R圖轉(zhuǎn)換成關(guān)系數(shù)據(jù)模型的過程屬于()A.需求分析階段B.邏輯設(shè)計(jì)階段C.概念設(shè)計(jì)階段D.物理設(shè)計(jì)階段

59.有下列程序:

main()

{intk=5,n=0;

do

{switch(k)

{case1:case3:n+=1;k--;break;

default: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

60.算法的有窮性是指A.算法程序的運(yùn)行時(shí)間是有限的

B.算法程序所處理的數(shù)據(jù)量是有限的

C.算法程序的長(zhǎng)度是有限的

D.算法只能被有限的用戶使用

四、選擇題(20題)61.

62.

63.

64.

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

#include<stdio.h>

#defineADD(x)x+x

main

{intm=1,n=2,k=3;

intS=ADD(m+n)*k;

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

}

A.sum=18B.sum=10C.sum=9D.sum=25

65.若有下面說(shuō)明和定義:

structtest

{intm1;charm2;floatm3;

unionuu(charu1[5];intu2[2];)ua;

}myaa;

則sizeof(structtest)的值是()。

A)20B)16

C)14D)9

66.有如下程序

main()

{

inta=2,b=-1,c=2;

if(a<b)c=1;

if(b<0)c=0;

elsec++;

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

}

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

A.0B.1

C.2D.3

67.有以下程序:

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

A.y=OS)y=一1B.0C.y=1D.while構(gòu)成無(wú)限循環(huán)

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

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

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

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

70.

71.

72.

73.以下敘述中錯(cuò)誤的是()。A.用戶定義的函數(shù)中可以有多個(gè)return語(yǔ)句,以便可以調(diào)用二次返回多個(gè)函數(shù)值

B.用戶定義的函數(shù)中可以沒有return語(yǔ)句

C.用戶定義的函數(shù)中若沒有retum語(yǔ)句,則應(yīng)當(dāng)定義函數(shù)為void類型

D.函數(shù)的return語(yǔ)句中可以沒有表達(dá)式

74.

75.已知:intx,y;doublez;則以下語(yǔ)句中錯(cuò)誤的函數(shù)調(diào)用是()。A.A.scanf("%d,%1x,%1e",&x,&y,&z);

B.scanf("%1d*%d&1f",&x,&y,&z);

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

D.scanf("%x%o%6.2f",&x,&y,&z);

76.下列敘述中正確的是()。A.棧是“先進(jìn)先出”的線性表

B.隊(duì)列是“先進(jìn)后出”的線性表

C.循環(huán)隊(duì)列是非線性結(jié)構(gòu)的線性表

D.有序線性表既可以采用順序存儲(chǔ)結(jié)構(gòu),也可以采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)

77.

78.fscanf函數(shù)的正確調(diào)用形式是

A.fscanf(文件指針,格式字符串,輸出表列);B.fscanf(格式字符串,輸出表列,文件指針);

C.fscanf(格式字符串,文件指針,輸出表列);D.fscanf(文件指針,格式字符串,輸入表列);

79.有以下程序:

main

{inta[]=(2,4,6,8,10},y=0,x,*P;

p=&a[1];

for(x=1;x<3;x++)y+=p[x];

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

}

程序運(yùn)行后的輸出結(jié)果是()。A.A.10B.11C.14D.15

80.以下程序的輸出結(jié)果是______。#defineM(x,y,z)x*y+zmain(){inta=1,b=2,c=3;printf("%d\n",M(a+b,b+c,c+a));}

A.19B.17C.15D.12

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc的功能是:首先把b所指字符串中的字符按逆序存放,然后將str1所指字符串中的字符和Str2所指字符串中的字符,按排列的順序交叉合并到str所指數(shù)組中,過長(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.使用VC++2010打開考生文件夾下prog1中的解決方案。此解決方案的項(xiàng)目中包含一個(gè)源程序文件prog1.c。在此程序中,編寫函數(shù)fun(),其功能是求斐波那契數(shù)列中大于t的最小的數(shù),結(jié)果由函數(shù)返回。斐波那契數(shù)列F(n)的定義為F(0)=0,F(1)=1F(n)=F(n-1)+F(n-2)例如,當(dāng)t=1000時(shí),函數(shù)值為1597。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入你編寫的若干語(yǔ)句。試題程序:#include<conio.h>#include<math.h>#include<stdio.h>intfun(intt){}main(){intn;n=1000;printf(“n=%d,f=%d\n”,n,fun(n));}

參考答案

1.C

2.B

3.C

4.A用戶標(biāo)識(shí)符不能以數(shù)字開頭,C語(yǔ)言中標(biāo)識(shí)符是區(qū)分大小寫的,關(guān)鍵字不能用做用戶標(biāo)識(shí)符。

5.C

6.B

7.Dchange函數(shù)接收一個(gè)整型指針data,然后將data指向的數(shù)對(duì)2求余,求余后的值重新賦給data指向的變量,最后將data指向的變量值加1后返回。注意,此處data指向的數(shù)對(duì)2求余會(huì)改變實(shí)參指針指向的值,但返回值并不影響data指向的值。程序第1次調(diào)用change函數(shù),傳入實(shí)參data的地址,將data的值修改為0(12%2=0),此時(shí)輸出data的值是0;再次調(diào)用change傳入data的地址,將data的值修改為0(0%2=0),然后將返回值1重新賦給主函數(shù)變量data,所以此時(shí)輸出data的值是1。綜上,程序輸出0,1,。故本題答案為D選項(xiàng)。

8.A

9.D

10.D

11.B棧是限定只能在表的一端進(jìn)行插入和刪除操作的線性表,入棧和出棧都是在棧頂進(jìn)行,它們的操作特點(diǎn)是先進(jìn)后出,因此具有記憶作用。??梢圆捎庙樞虼鎯?chǔ),也可以采用鏈?zhǔn)酱鎯?chǔ)。

12.A

13.A

14.C

15.D

16.D

17.C本題考查swap函數(shù),它的作用是把x、Y所指的內(nèi)容互換,其他的不變,因此當(dāng)執(zhí)行完調(diào)用函數(shù)后,僅僅a與1互換,其他的沒有變。

18.B

19.D解析:本題考核的知識(shí)點(diǎn)是在自加運(yùn)算符的運(yùn)算對(duì)象。自加運(yùn)算對(duì)象可以是整型變量也可以是實(shí)型變量,但不能是表達(dá)式和常量。本題中,#defined2定義了d為常數(shù)2,不能在對(duì)d進(jìn)行自加運(yùn)算.故選項(xiàng)D是個(gè)不正確的語(yǔ)句,所以,4個(gè)選項(xiàng)中選項(xiàng)D符合題意。

20.B

21.-f或f*-1或-1*f或f*(-1)或(-1)*ffun(10)-f或f*-1或-1*f或f*(-1)或(-1)*f\r\nfun(10)解析:調(diào)用fun()函數(shù)計(jì)算m的值,在主函數(shù)中的空格處應(yīng)該填調(diào)用fun()函數(shù)的語(yǔ)句。fun()函數(shù)有一個(gè)形參n,為每次參加計(jì)算的值的個(gè)數(shù),故在主函數(shù)中的空格處應(yīng)該填fun(10),回到fun()函數(shù),函數(shù)用到了一個(gè)for循環(huán),共循環(huán)n次,當(dāng)循環(huán)第i次的時(shí)候,m的值等于m=1-2+……+[(-1)的i-1次方]*i,所以在fun()函數(shù)的空格處應(yīng)該填使f改變符號(hào)的語(yǔ)句,故應(yīng)填-f或f*-1或-1*f或f*(-1)或(-1)*f。

22.132132解析:本題for循環(huán)語(yǔ)句的執(zhí)行過程為:

第一次循環(huán):i=9,9/10=0,執(zhí)行m++、n++得m=1、n=1、k=0;

第二次循環(huán):i=10,10/10=1,執(zhí)行k++、n++得m=1、n=2、k=1;

第三次循環(huán):i=11,11/10=1,執(zhí)行k++、n++得m=1、n=3、k=2;

即執(zhí)行完for循環(huán)后m=1、n=3、k=2。

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

24.00解析:函數(shù)getchar()是從鍵盤得用戶輸入的一個(gè)字符。用戶輸入的第1個(gè)字符a,不管后面輸入的是什么ch的值都是'a',因此條件(ch=getchar())=='e'為假,這個(gè)循環(huán)不會(huì)被執(zhí)行。

25.cdeabcdeab解析:程序中的move函數(shù)的作用是保存輸入數(shù)組中的最后一個(gè)元素,然后從最后一個(gè)數(shù)組元素開始,依次向后移動(dòng)一個(gè)位置,再把保存的最后一個(gè)元素置于首位,循環(huán)次數(shù)由n控制。輸入3,abcde<回車>后主函數(shù)開始執(zhí)行,其中n=3,s[50]={'abcde'},z=5。第一次循環(huán),i=1時(shí),調(diào)用move(s,5)函數(shù),temp=str[4]語(yǔ)句把數(shù)組中最后一個(gè)元素\'e\'保存在temp中,然后i從4開始循環(huán),將str[3](字符\'d\')賦給str[4],str[2](字符\'c\')賦給str[3],……,循環(huán)結(jié)束時(shí)str所指字符串為'aabcd',再將保存在temp中的\'e\'置于首位,字符串變?yōu)?eabcd';i=2時(shí),調(diào)用move函數(shù),字符串為'deabc';i=3時(shí),調(diào)用move函數(shù),字符串為'cdeab'。最后輸出結(jié)果為'cdeab'。

26.11解析:本題是一個(gè)陷阱題。在if語(yǔ)句的判斷表達(dá)式中,使用的不是邏輯運(yùn)算符==而是賦值運(yùn)算符=,使該表達(dá)式返回的結(jié)果正好相反。如果是c==a,則結(jié)果為假。但是c=a則是將a賦給c,且表達(dá)式的結(jié)果是賦值之后的c的值,因此結(jié)果為1是真.故最后輸出c的值1。

27.B66B66解析:字符B的ASCII碼值為66,因此,按%c形式輸出B,按%d形式輸出66,輸出結(jié)果為:B66。

28.*b>*a

29.(y%4==0)&&(y%100!=0)||(y%400==0)(y%4==0)&&(y%100!=0)||(y%400==0)解析:考查邏輯表達(dá)。年號(hào)能被4整除(y%4==0)但不能被100整除(y%100!=0),兩者是與的關(guān)系,年號(hào)能被400整除即y%400==0,與前兩項(xiàng)是或的關(guān)系。

30.aaaaAAAAAaaaaAAAAA解析:函數(shù)strcat(sp,'AAAAA')的作用是將字符中“AAAAA”連接到字符串sp的末尾,并自動(dòng)覆蓋字符數(shù)組sp末尾的\'\\0\'。

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

32.“d1.dat”“rb”或“d1.dat”“r+b”或“d1.dat”“rb+”“d1.dat”,“rb”,或“d1.dat”,“r+b”,或“d1.dat”,“rb+”,解析:打開文件的函數(shù)為fopen(”文件名”,“mode”),其中“mode”表示文件的打開方式。如果打開的是二進(jìn)制文件,其mode字符串可以是:“rb”、“wb”、“ab”、“rb+”、“wb+”、“ab+”?!皉”表示以只讀方式打開?!皐”表示以寫方式打開,如果已存在該文件名的文件,文件中的內(nèi)容將被清空。若文件名不存在,則將創(chuàng)建該文件?!癮”為追加方式打開。若文件存在時(shí);將打開這個(gè)文件并且在文件的末尾進(jìn)行追加。當(dāng)文件不存在,將創(chuàng)建新文件?!皉+”打開一個(gè)已存在文件用于更新(可讀可寫)?!皐+”創(chuàng)建個(gè)新文件用于更新,如果文件存在,文件被重寫(可讀可寫)?!癮+”打開用于追加,當(dāng)文件不存在時(shí),創(chuàng)建新文件,并在文件末尾進(jìn)行追加(可讀可寫)。根據(jù)題意,應(yīng)該填“d1.dst”,“rb”或其他等價(jià)的表達(dá)法。

33.1919解析:根據(jù)二叉樹的性質(zhì):在任意一棵二叉樹中,度為。的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))總是比度為2的結(jié)點(diǎn)多一個(gè)。本題中度為2的結(jié)點(diǎn)數(shù)為18,故葉子結(jié)點(diǎn)數(shù)為18+1=19個(gè)。

34.軟件生命周期軟件生命周期解析:軟件產(chǎn)品從考慮其概念開始,到該軟件產(chǎn)品不再使用為止的整個(gè)時(shí)期都屬于軟件生命周期,一般包括可行性研究與需求分析、設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試、交付使用以及維護(hù)等。

35.對(duì)象對(duì)象解析:在面向?qū)ο蟮某绦蛟O(shè)計(jì)方法中,類是具有相同的屬性或方法的對(duì)象的抽象,對(duì)象是類的實(shí)例。

36.q<p+nq<p+n解析:通過地址傳遞可以在被調(diào)函數(shù)中對(duì)調(diào)用函數(shù)中的變量進(jìn)行引用。

37.1212解析:本題通過第一個(gè)for循坪將數(shù)組arr[0]-arr[9]分別賦值為0-9,通過第二個(gè)for循環(huán)的三次循環(huán)累加,求出結(jié)果為12,具體分析如下:

i=1:k=0+arr[1]+1即k=2;

i=2:k=2+arr[2]+2即k=6;

i=3:k=6+arr[3]+3即k=12;

38.-1或-1.0或-1*sn-1或-1.0或-1\r\n*sn

39.22

40.*(str+i)或str[i]*(str+i)或str[i]解析:str是指針變量,它指向字符型數(shù)據(jù),在循環(huán)過程中,可以用*(str+i)來(lái)訪問字符串中的第i個(gè)元素,判斷是否是結(jié)束標(biāo)志,如果不是,i=i+1,繼續(xù)取下一個(gè)元素進(jìn)行判斷,直到*(str+i)的值為'\\0'為止,也可以用下標(biāo)的方式引用字符,如*(str+i)相當(dāng)于str[i]。

41.D解析:本題主要是考查帶參數(shù)的宏定義及其相關(guān)運(yùn)算。本題中宏運(yùn)算過程如下:a=a/(S(k+m)/S(k+m))=a/(k+m*k+m/k+m*k+m)=9/(3+2*3+2/3+2*3+2)=0。

42.B解析:本題考查邏輯與運(yùn)算的運(yùn)算規(guī)則。其規(guī)則是:當(dāng)運(yùn)算符前后兩個(gè)條件表達(dá)式都滿足時(shí),其最終結(jié)果才為真。當(dāng)發(fā)現(xiàn)第一個(gè)表達(dá)式的值為假后,計(jì)算機(jī)將不再執(zhí)行后面表達(dá)式的運(yùn)算。

本題中,由于前一個(gè)表達(dá)式的值為“假”,所以,后面的表達(dá)式不再進(jìn)行運(yùn)算,因而n的值保持不變,仍為2。

43.A隊(duì)列是一種特殊的線性表,只允許在表的一端插八元素,在表的另一端刪除元素,插入元素的一端叫“隊(duì)尾”,刪除元素的一端叫“隊(duì)頭”。先插入的元素先被刪除,是按“先進(jìn)先出”的原則組織數(shù)據(jù)的。

【知識(shí)拓展】“隊(duì)列”和“?!倍际且环N特殊的線性表。之所以稱之為“隊(duì)列”,其形式如“排隊(duì)”。要講究“先來(lái)后到”,先進(jìn)先出,后進(jìn)后出。

44.D

45.A本題主要考查標(biāo)識(shí)符的定義。對(duì)標(biāo)識(shí)符的定義是考試中??嫉膬?nèi)容之一。標(biāo)識(shí)符主要由數(shù)字、下畫線和字母組成,其中數(shù)字不能放在首位,另外,用戶自定義標(biāo)識(shí)符時(shí),不能將標(biāo)識(shí)符定義為C語(yǔ)言中已定義的關(guān)鍵字,如int、while等。

根據(jù)上面對(duì)標(biāo)識(shí)符的分析,我們不難看出本題的正確答案是A。在選項(xiàng)B中,3_xy以數(shù)字開頭,不符合標(biāo)識(shí)符定義的規(guī)定;在選項(xiàng)C中,int是C語(yǔ)言系統(tǒng)中已經(jīng)定義了的關(guān)鍵字;在選項(xiàng)D中,LINE-3使用的數(shù)字、下畫線和字母以外的字符,因此不正確。

46.D解析:帶參數(shù)的宏定義如下:#define宏名(參數(shù))字符串。本題中,宏定義的作用是指定用標(biāo)識(shí)符PI來(lái)代替“3.1415926”這個(gè)字符串,但宏定義不是C語(yǔ)句,行末不加分號(hào)。

47.B

48.A本題考查高級(jí)語(yǔ)言的數(shù)據(jù)類型。其中屬于構(gòu)造類型的主要有結(jié)構(gòu)體類型、聯(lián)合體類型,即共用體類型和數(shù)組類型。

49.A解析:由二叉樹后序遍歷序列和中序遍歷序列可以唯一確定一棵二叉樹。二叉樹BT的后序遍歷序列為dabec,故BT的根結(jié)點(diǎn)為c(后序遍歷序列的最后一個(gè)結(jié)點(diǎn)為樹的根結(jié)點(diǎn)):而BT的中序遍歷序列是debac,即遍歷序列中最后一個(gè)結(jié)點(diǎn)為根結(jié)點(diǎn),說(shuō)明BT的右子樹為空。由BT的后序遍歷序列和中序遍歷序列可知BT左子樹的后序遍歷序列和中序遍歷序列分別為dabe和deba,因此BT左子樹的根結(jié)點(diǎn)是e。再由中序遍歷序列可知其左子樹為d,右子樹為ba。因此BT的前序遍歷序列為cedba。

50.B解析:對(duì)于A和C都可使p指向數(shù)組x的首地址。D是把數(shù)組元素x[0]賦給p。

51.C解析:C語(yǔ)言規(guī)定標(biāo)識(shí)符只能由字母、數(shù)字和下劃線三種符號(hào)組成,而且第—個(gè)字符必須是字母或下劃線。大寫字母和小寫字母被認(rèn)為是兩個(gè)不同的字符,用戶在定義標(biāo)識(shí)符時(shí)應(yīng)做到“見名知意”,且不允許使用關(guān)鍵字作標(biāo)識(shí)符。

52.B解析:給字符數(shù)組按字符串方式初始化,則在字符串末尾有一個(gè)字符串結(jié)束標(biāo)志,占一個(gè)字節(jié)的存儲(chǔ)空間,如逐個(gè)元素賦值,則不加字符串結(jié)束標(biāo)志。

53.C解析:先看sort()函數(shù),它沒有返回值,有兩個(gè)參數(shù),一個(gè)int型數(shù)組和一個(gè)int型變量。在函數(shù)中是一個(gè);重循環(huán),外循環(huán)變量i從0遞增到n-2,內(nèi)循環(huán)變量j從i+l遞增到n-1。內(nèi)循環(huán)體是一條if語(yǔ)句“如果a[i]

54.C解析:算法的時(shí)間復(fù)雜度實(shí)際上就是執(zhí)行算法程序所需要的計(jì)算工作量。為了客觀地反映算法性能,在度量算法的時(shí)間復(fù)雜度時(shí),應(yīng)該與編寫算法程序所使用的程序設(shè)計(jì)語(yǔ)言、執(zhí)行算法程序時(shí)所使用的計(jì)算的工具以及程序員的水平無(wú)關(guān)。選項(xiàng)A錯(cuò)誤,因?yàn)橥凰惴ǔ绦蛟谶\(yùn)行速度不同的計(jì)算機(jī)上運(yùn)行時(shí),其計(jì)算時(shí)間是不同的。選項(xiàng)B錯(cuò)誤,因?yàn)樗惴ㄋ帉懙某绦蜷L(zhǎng)度往往與程序設(shè)計(jì)語(yǔ)言以及程序員的水平有關(guān),同一個(gè)算法,用不同的程序設(shè)計(jì)語(yǔ)言或者不同的程序員所編寫出的程序其長(zhǎng)度可能會(huì)大不相同。選項(xiàng)D錯(cuò)誤,因?yàn)楦鶕?jù)一個(gè)算法所編制出的程序之中,其指令條數(shù)往往與程序設(shè)計(jì)語(yǔ)言以及程序員的水平有關(guān),不能用算法程序中的指令條數(shù)來(lái)度量算法的時(shí)間復(fù)雜度。所以,本題正確答案為C。

55.C

56.B解析:strcpy(strl,s1).-作用是將字符串s1拷貝到字符數(shù)組strl中去。strcat(字符數(shù)組1,字符數(shù)組2):把字符串2接到字符串1的后面,結(jié)果放在字符數(shù)組1中,函數(shù)調(diào)用后返回字符數(shù)組1的地址。本題定義了三個(gè)字符數(shù)組p1,p2,str,strcat(p1,p2)函數(shù)的作用是將字符串?dāng)?shù)組p2接到符串p1的后面,結(jié),果放在字符數(shù)組P1,再通過strcpy()函數(shù)將該字符串拷貝到str數(shù)組中,原str數(shù)組中的字符串xyz被覆蓋,因此打印輸出字符串str即可得到abcABC。

57.D數(shù)據(jù)的邏輯結(jié)構(gòu)是指數(shù)據(jù)元素之間的邏輯關(guān)系的數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)則是數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的物理實(shí)現(xiàn),有時(shí)也稱作數(shù)據(jù)的物理結(jié)構(gòu)。兩者的區(qū)別是數(shù)據(jù)的邏輯結(jié)構(gòu)只涉及到數(shù)據(jù)之間抽象的數(shù)學(xué)關(guān)系。存儲(chǔ)結(jié)構(gòu)則涉及到如何在計(jì)算機(jī)中通過對(duì)數(shù)據(jù)的物理存儲(chǔ)進(jìn)行組織來(lái)表達(dá)數(shù)據(jù)元素之間的邏輯關(guān)系。比如在線性表的順序存儲(chǔ)中是利用物理存儲(chǔ)空間上的連續(xù)性來(lái)表達(dá)線性表中數(shù)據(jù)的前后件關(guān)系;在線性表的鏈?zhǔn)酱鎯?chǔ)中是通過指針域構(gòu)成的邏輯鏈條來(lái)表達(dá)數(shù)據(jù)的前后件關(guān)系。一般的,一種數(shù)據(jù)的邏輯結(jié)構(gòu)對(duì)應(yīng)的物理實(shí)現(xiàn),即數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)不止一種。因此選項(xiàng)D正確。

58.B數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的邏輯設(shè)計(jì)包括數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)庫(kù)事務(wù)概要設(shè)計(jì)和應(yīng)用程序概要設(shè)計(jì)三方面。數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)的主要步驟為:將E—R圖轉(zhuǎn)換為初始關(guān)系模式,對(duì)初始關(guān)系模式進(jìn)行優(yōu)化,檢查關(guān)系表對(duì)數(shù)據(jù)庫(kù)事務(wù)的支持性,確定關(guān)系模式完整性約束,設(shè)計(jì)基于關(guān)系模式的用戶視圖。

59.B解析:因?yàn)樽兞康某跏贾捣謩e為k=5,n=0,所以程序第1次進(jìn)入循環(huán)時(shí),執(zhí)行default語(yǔ)句,輸出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,程序進(jìn)行第3次循環(huán),執(zhí)行case3:這個(gè)分支,結(jié)果是n=3,k=2,打印出3;這時(shí)n=3,k=2,程序然后進(jìn)行第4次循環(huán),執(zhí)行case2:case4:這個(gè)分支,結(jié)果是n=5,k=1,打印出5,這時(shí)因?yàn)閚=5不滿足n<5的循環(huán)條件,因此退出循環(huán),程序運(yùn)行結(jié)束。所以在屏幕上打印出的結(jié)果是0235。

60.A算法的有窮性,是指算法必須能在有限的時(shí)間內(nèi)做完,即算法必須能在執(zhí)行有限個(gè)步驟之后終止。

61.A

6

溫馨提示

  • 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ù)覽,若沒有圖紙預(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)論