2021-2022年浙江省金華市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)_第1頁(yè)
2021-2022年浙江省金華市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)_第2頁(yè)
2021-2022年浙江省金華市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)_第3頁(yè)
2021-2022年浙江省金華市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)_第4頁(yè)
2021-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)介

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

一、單選題(20題)1.下列關(guān)于線性鏈表的敘述中,正確的是()A.各數(shù)據(jù)結(jié)點(diǎn)的存儲(chǔ)空間可以不連續(xù),但它們的存儲(chǔ)順序與邏輯順序必須一致

B.各數(shù)據(jù)結(jié)點(diǎn)的存儲(chǔ)順序與邏輯順序可以不一致,但它們的存儲(chǔ)空間必須連續(xù)

C.進(jìn)行出入與刪除時(shí),不需要移動(dòng)表中的元素

D.以上三種說(shuō)法都不催

2.鏈表不具備的特點(diǎn)是()

A.所需空間與其長(zhǎng)度成正比B.不必事先估計(jì)存儲(chǔ)空間C.插入刪除不需要移動(dòng)元素D.可隨機(jī)訪問任一節(jié)點(diǎn)

3.

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

#include"stdio.h"

#defineN3

#defineM3

voidfun(inta[M][N])

{printf("%d\n",*(a[1]+2));}

main()

{inta[M][N];

inti,j;

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

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

a[i][j]=i+j-(i-j);

fun(a);}A.A.3B.4C.5D.6

5.以下選項(xiàng)中合法的C語(yǔ)言常量是()。

A.2.0KbB.”C++’C.”\2.0D.1.01

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

A.用C語(yǔ)言編寫的程序只能放在一個(gè)程序文件中

B.C語(yǔ)言程序書寫格式嚴(yán)格,要求一行內(nèi)只能寫一個(gè)語(yǔ)句

C.C語(yǔ)言程序中的注釋只能出現(xiàn)在程序的開始位置和語(yǔ)句的后面

D.C語(yǔ)言程序書寫格式自由,一個(gè)語(yǔ)句可以寫在多行上

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

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

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

8.實(shí)體聯(lián)系模型中實(shí)體與實(shí)體之間的聯(lián)系不可能是

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

9.有以下程序:#include<stdio.h>intfun(intx){intp;if(x==0||x==1)return(3);p=x-fun(x-2);returnp;}main(){printf(“%d\n”,fun(7));}程序的運(yùn)行結(jié)果是()。A.2B.3C.7D.0

10.以下選項(xiàng)中可作為C語(yǔ)言合法常量的是_____。A.-80B.-080C.-8e1.0D.-80.Oe

11.結(jié)構(gòu)化程序所要求的基本結(jié)構(gòu)不包括()。

A.順序結(jié)構(gòu)B.GOT0跳轉(zhuǎn)C.選擇(分支)結(jié)構(gòu)D.重復(fù)(循環(huán))結(jié)構(gòu)

12.

13.若有定義“intx=12,y=8,z;”,在其后執(zhí)行語(yǔ)句“z=0.9+x/y;”,則z的值為()。

A.1B.1.9C.2D.2.4

14.若有定義“inta,b;”,通過(guò)語(yǔ)句“scanf(“%d;%d,”&a,&b)能把整數(shù)3賦給變量a、5賦給變量b的輸入數(shù)據(jù)是()。

A.35B.3,5C.3;5D.35

15.若查找每個(gè)記錄的概率均等,則在具有n個(gè)記錄的連續(xù)順序文件中采用順序查找法查找一個(gè)記錄,其平均查找長(zhǎng)度ASL為()

A.(n-1)/2B.n/2C.(n+1)/2D.n

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

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

17.有以下程序:#include<string.h>inta=4;intf(intn){intt=0;staticinta=5;if(n%2){inta=6;t++=a++;}else{inta=7;t+=a++;}returnt+a++;}main(){ints=a,i=0;for(;i<2;i++)s+=f(i);printf("%d\n",s);}程序運(yùn)行后的輸出結(jié)果是()。

A.24B.28C.32D.36

18.有以下程序

intfun1(doublea){returna*=a;}

intfun2(doublex,doubley)

{doublea=0,b=0;

a=fun1(x);b=fun1(y);return(int)(a+b);

}

main()

{doublew;w=fun2(1.1,2.0);……}

程序執(zhí)行后變量w中的值是A.5.21B.5C.5.0D.0.0

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

A.由3種基本結(jié)構(gòu)構(gòu)成的程序只能解決簡(jiǎn)單問題

B.結(jié)構(gòu)化程序由順序、分支、循環(huán)3種基本結(jié)構(gòu)組成

C.C語(yǔ)言是一種結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言

D.結(jié)構(gòu)化程序設(shè)計(jì)提倡模塊化的設(shè)計(jì)方法

20.以下程序的輸出結(jié)果是_______。main(){inti,a[10];for(i=9;i>=0;i-)a[i]=10-i;print("%d%d%d,a[2],a[5],a[8]);}

A.258B.741C.852D.369

二、2.填空題(20題)21.若a的值為1,則表達(dá)式!a‖++a的值是______。

22.以下涵數(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]=【】;【】=a[N-1][i];}}

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

inti=9;

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

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

inta=1234;

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

25.在面向?qū)ο蠓椒ㄖ?,類之間共享屬性和操作的機(jī)制稱為______。

26.以下程序用來(lái)統(tǒng)計(jì)文件中字符個(gè)數(shù)。請(qǐng)?zhí)羁铡?/p>

#include"stdio.h"

main()

{FILE*fp;longnum=OL;

if((fp=fopen("fname.dat","r")==NULL)

{Pirntf("Openerror\n");exit(0);}

while(【】)

{fgetc(fp);num++;}

printf("num=%1d\n",num-1);

fclose(fp);

}

27.數(shù)據(jù)庫(kù)設(shè)計(jì)分為以下6個(gè)設(shè)計(jì)階段:需求分析階段、______、邏輯設(shè)計(jì)階段、物理設(shè)計(jì)階段、實(shí)施階段、運(yùn)行和維護(hù)階段。

28.若a=10,b=20,則表達(dá)式!(a<b)的值是【】。

29.在先左后右的原則下,根據(jù)訪問根結(jié)點(diǎn)的次序,二叉樹的遍歷可以分為三種;前序遍歷、【】遍歷和后序遍歷。

30.以下程序的功能是:刪去一維數(shù)組中所有相同的數(shù),使相同的數(shù)只剩一個(gè)。數(shù)組中的數(shù)已按由小到大的順序排列,函數(shù)fun返回刪除后數(shù)組中數(shù)據(jù)的個(gè)數(shù)。

例如,若一維數(shù)組中的數(shù)據(jù)是:

2223445666677899101010

刪除后,數(shù)組中的內(nèi)容應(yīng)該是:2345678910。請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

#defineN80

intfun(inta[],intn)

{inti,j=1;

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

if(a[j-1]【】a[i])a[j++]=a[i];

【】;

}

main()

{inta[N]={2,2,2,3,4,4,5,6,6,6,6,7,7,8,9,9,10,10,10},i,n=19;

printf("Theoriginaldata:\n");

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

n=fun(a,n);

printf("\nThedataafterdeleted:\n");

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

}

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

intmystrlen(char*str)

{inti;

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

return(i);}

32.測(cè)試用例包括輸入值集和【】值集。

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

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

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

34.數(shù)據(jù)結(jié)構(gòu)分為邏輯結(jié)構(gòu)和存儲(chǔ)結(jié)構(gòu),循環(huán)隊(duì)列屬于______結(jié)構(gòu)。

35.在樹形結(jié)構(gòu)中,樹根結(jié)點(diǎn)沒有______。

36.算法的復(fù)雜度主要包括時(shí)間復(fù)雜度和______復(fù)雜度。

37.若有定義:inta[4][4]={{1,2,3,4},{0},{4,6,8,10},<1,3,5,7}},則初始化后,a[2][2]得到的初值是______。

38.若用0至9之間不同的三個(gè)數(shù)構(gòu)成一個(gè)三位數(shù),下面程序?qū)⒔y(tǒng)計(jì)出共有多少種方法。請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

main()

{inti,j,k,count=0;

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

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

if(【】)continue;

elsefor(k=0;k<=9;k++)

if(【】)count++;

printf("%d",count);}

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

#include<stdio.h>

fun()

{staticinta=0;

a+=3;printf("%d",A);

}

main()

{intcc;

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

printf("\n");

}

40.若有下列定義和語(yǔ)句:

char*s1="12345",*s2="1234";

printf("%d\n",strlen(strcpy(s1,s2)));

則輸出結(jié)果為______。

三、1.選擇題(20題)41.下面函數(shù)調(diào)用語(yǔ)句含有實(shí)參的個(gè)數(shù)為func((exp1,exp2),(exp3,exp4,exp5));

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

42.下列選項(xiàng)中,不屬于模塊間耦合的是()

A.數(shù)據(jù)耦合B.同構(gòu)耦合C.異構(gòu)耦合D.公用耦合

43.以下數(shù)組定義中不正確的是_______。

A.inta[2][3];

B.intb[][3]={0,1,2};

C.intc[100][100={0};

D.intd[3][]={{1,2},{1,2,3},{1,2,3,4}};

44.若有如下定義:intx=3,y=2,Z;則表達(dá)式Z=X/y*3.0的值是()。

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

45.C語(yǔ)言規(guī)定,調(diào)用一個(gè)函數(shù)時(shí),實(shí)參變量和形參變量之間的數(shù)據(jù)傳遞是()。

A.地址傳遞B.值傳遞C.由實(shí)參傳給形參,并由形參傳回給實(shí)參D.由用戶指定傳遞方式

46.下列說(shuō)法不正確的是()。

A.C程序是以函數(shù)為基本單位的,整個(gè)程序由函數(shù)組成

B.C語(yǔ)言程序的一條語(yǔ)句可以寫在不同的行上

C.C程序的注釋行對(duì)程序的運(yùn)行功能不起任何作用,所以注釋應(yīng)該盡可能少寫

D.C程序的每個(gè)語(yǔ)句都以分號(hào)結(jié)束

47.若有定義:inta[2][3];則才a數(shù)組的第i行第j列(假調(diào)i,j已正確說(shuō)明并賦值)元素值的正確引用為

A.*(*(a+i)+j)B.(a+i)[j]C.*(a+i+j)D.*(a+i)+j

48.以下程序的輸出結(jié)果是______。inta,b;voidfun(){a=100;b=200;}main(){inta=5,b=7;fun();printf("%d%d\n",a,b);}

A.100200B.57C.200100D.75

49.設(shè)a、b、c、d、m、n均為int型變量,且a=5、b=6、c=7、d=8、m=2、n=2,則邏輯表達(dá)式(m=a>b)&&(n=c>d)運(yùn)算后,n的值為______。

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

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

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

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

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

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

51.如果文件1包含文件2,文件2中要用到文件3的內(nèi)容,而文件3中要用到文件4的內(nèi)容,則可在文件1中用三個(gè)#include命令分別包含文件2、文件3和文件4。在下列關(guān)于這幾個(gè)文件包含順序的敘述中,正確的一條是()

A.文件4應(yīng)出現(xiàn)在文件3之前,文件3應(yīng)出現(xiàn)在文件2之前

B.文件2應(yīng)出現(xiàn)在文件3之前,文件3應(yīng)出現(xiàn)在文件4之前

C.文件3應(yīng)出現(xiàn)在文件2之前,文件2應(yīng)出現(xiàn)在文件4之前

D.出現(xiàn)的先后順序可以任意

52.有以下程序

intadd(inta,intb){return(a+b);}

main()

{intk,(*f)(),a=5,b=10;

f=add;

}

則以下函數(shù)調(diào)用語(yǔ)句錯(cuò)誤的是A.k=(*f)(a,b);B.k=add(a,b);C.k=*f(a,b);D.k=f(a,b);

53.有以下程序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++)printf("%2d",a[i][j]);printf("\n");}}若運(yùn)行時(shí)輸入:123<回車>,則輸出結(jié)果是

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

54.若進(jìn)棧序列為1,2,3,4,進(jìn)棧過(guò)程中可以出棧,則下列不可能的一個(gè)出棧序列是______。

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

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

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

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

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

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

56.若程序中已包含頭文件stdio.h,以下選項(xiàng)中,正確運(yùn)用指針變量的程序段是______。

A.int*i=NULL;scanf("%d",i);

B.float*f=NULL*f=19.5;

C.chart='m',*c=&t;*c=&t;

D.long*L;L='\0';

57.有以下程序#include<stdio.h>main(){FILE*fp;inti=20,j=30,k,n;fp=fopen("d1.dat","w");fprintf(fp,"%d\n",i);fprintf(fp,"%d\n",j);fclose(fp);fp=fopen("d1.dat","r");fp=fscanf(fp,"%d%d",&k,&n);printf("%d%d\n",k,n);fclose(fp);}程序運(yùn)行后的輸出結(jié)果是

A.2030B.2050C.3050D.3020

58.下列程序的輸出結(jié)果是()。#include<stdio.h>main(){chara[]={'a','b','c','d','e','f,'\0'};inti,j;i=sizeof(a);j=strlen(a);printf("%d,%d",i,j);}

A.7,7B.7,6C.6,6D.6,7

59.若有以下結(jié)構(gòu)體定義,則______是正確的引用或定義。structexample{intx;inty;}v1;

A.example.x=10

B.examplev2.x=10

C.structv2;v2.x=10

D.structexamplev2={10};

60.若fp是指向某文件的指針,且已讀到文件末尾,則庫(kù)函數(shù)feof(fp)的返回值是

A.EOFB.-1C.1D.NULL

四、選擇題(20題)61.以下函數(shù)的功能是:通過(guò)鍵盤輸入數(shù)據(jù),為數(shù)組中的所有元素賦值。

#defineN10

voidmain(int__________)

{inti=0;

while(i<N)

scanf("%d",x+(i++));

}

A.*xB.x[N]C.xD.&x

62.以下正確的字符串常量是()。A.A."\\\"

B.'abc'

C.OlympicGames

D.""

63.設(shè)有定義:

則以下賦值語(yǔ)句中錯(cuò)誤的是()。

A.data2=(2,6);

B.data2=datal;

C.data;real=datal.real;

D.data2.real=datal.unreal;

64.

65.若有定義語(yǔ)句:“charS[3][10],(*k)[3],*p;”,則以下賦值語(yǔ)句正確的是()。

A.p=S;B.p=k;C.p=s[0];D.k=s;

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

int*(*pp),*P,a=20,b=10;

pp=&p;p=&a;p=&b;printf("%d,%d\n",*P,**PP);

則輸出結(jié)果是()。A.A.20,10B.20,20C.10,20D.10,10

67.

68.

69.

70.有下列二叉樹.對(duì)此二叉樹前序遍歷的結(jié)果為()。

A.ACFXDBEYZB.ABEFXYZCDC.ABCDEFXY7D.ABDYECFXZ

71.有以下結(jié)構(gòu)體說(shuō)明和變量定義,如圖所示,指針p、q、r分別指向此鏈表中的3個(gè)連續(xù)結(jié)點(diǎn)。structnode{

int

data;structnode

*next;

}*p,*q,*r;現(xiàn)要將這個(gè)鏈表構(gòu)成一個(gè)環(huán),以下(

)操作是正確的。A.p->next=q->nextB.r->next=pC.p->next=rD.r->next=q->next->next

72.

73.

74.

75.

76.下列數(shù)據(jù)模型中,具有堅(jiān)實(shí)理論基礎(chǔ)的是()。A.層次模型B.網(wǎng)狀模型C.關(guān)系模型D.以上三個(gè)都是

77.有以下程序段#include<stdio.h>main(){...while(getchar()!=\n);...}以下敘述中正確的是()。A.此while語(yǔ)句將無(wú)限循環(huán)

B.getchar()不可以出現(xiàn)在while語(yǔ)句的條件表達(dá)式中

C.當(dāng)執(zhí)行此while語(yǔ)句時(shí),只有按回車鍵程序才能繼續(xù)執(zhí)行

D.當(dāng)執(zhí)行此while語(yǔ)句時(shí),按任意鍵程序就能繼續(xù)執(zhí)行

78.

79.閱讀下面程序段,則執(zhí)行后的結(jié)果為()。

A.64B.8C.56D.0

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.請(qǐng)編寫一個(gè)函數(shù)proc(),它的功能是:找出一維數(shù)組元素中最大的值和它所在的下標(biāo),最大值和它所在的下標(biāo)通過(guò)形參傳回。數(shù)組元素中的值已在主函數(shù)中賦予。

主函數(shù)中arr是數(shù)組名,n是arr中的數(shù)據(jù)個(gè)數(shù),max存放最大值,index存放最大值所在元素的下標(biāo)。

注意:部分源程序給出如下。

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

試題程序:

參考答案

1.C

試題2分析

結(jié)點(diǎn)的存儲(chǔ)順序和邏輯順序不一定一致,存儲(chǔ)空間也不一定連續(xù)。插入和刪除元素的時(shí)候,不需要移動(dòng)表中的元素。

試題2答案

C

2.D

3.B

4.B

5.DC語(yǔ)言中,常量有整型常量、實(shí)型常量、字符常量和字符串常量等。整型常量和實(shí)型常量又稱為數(shù)值型常量。其中整型常量只能用數(shù)字表示,不帶小數(shù)點(diǎn)。實(shí)型常量必須用帶小數(shù)點(diǎn)的數(shù)表示,所以選項(xiàng)A錯(cuò)誤,選項(xiàng)D正確;字符型常量是用單引號(hào)標(biāo)注的單個(gè)字符,字符串常量是用雙引號(hào)標(biāo)注的若干個(gè)字符,選項(xiàng)B、C錯(cuò)誤。故本題答案為D選項(xiàng)。

6.D用C語(yǔ)言編寫的程序可以放置于多個(gè)程序文件中,所以A選項(xiàng)錯(cuò)誤。C語(yǔ)言程序中的一行可以有多條語(yǔ)句,所以B選項(xiàng)錯(cuò)誤。C語(yǔ)言中的注釋語(yǔ)句可以與原語(yǔ)句放在一行,也可以不放在一行,所以C選項(xiàng)錯(cuò)誤。故本題答案為D選項(xiàng)。

7.D\n兩個(gè)相同結(jié)構(gòu)關(guān)系的并是由屬于這兩個(gè)關(guān)系的元組組成的集合。

\n

8.D解析:實(shí)體聯(lián)系模型中實(shí)體與實(shí)體之間的聯(lián)系有一對(duì)一(1:1),一對(duì)多戌多對(duì)一(1:m或m:1),多對(duì)多(m:n)其中一對(duì)一是最常用的關(guān)系。

9.A因?yàn)閒un(intx)是一個(gè)遞歸函數(shù)。在主函數(shù)中fun(7)經(jīng)過(guò)3次遞歸調(diào)用。其過(guò)程可以描述為fun(7)=7-fun(5)=7-(5*fun(3))=7*(5*(3*fun(1)))=7-(5-(3-3))=7-5=2。最后的輸出結(jié)果為2。故本題答案為A選項(xiàng)。

10.A解析:C語(yǔ)言的常量分為整型常量、實(shí)型常量和字符型常量。選項(xiàng)A屬于實(shí)型常量中的十進(jìn)制小數(shù)形式的表示法,是合法的。

11.B1966年Boehm和Jacopini證明了程序設(shè)計(jì)語(yǔ)言僅僅使用順序、選擇和重復(fù)三種基本控制結(jié)構(gòu)就足以表達(dá)出各種其他形式結(jié)構(gòu)的程序設(shè)計(jì)方法。

12.D

13.A在表達(dá)式“z=0.9+x/y”中,先計(jì)算“3.6-2”,結(jié)果為1;再計(jì)算“0.9+1”,結(jié)果為1.9。因?yàn)樽兞縵為整型,所以z的值為1。故本題答案為A選項(xiàng)。

14.C輸入數(shù)據(jù)的格式必須與scanf的格式控制字符串完全匹配。函數(shù)中非格式字符需要原樣輸入,所以輸入時(shí)必須在3和5之間輸入“;”。故本題答案為C選項(xiàng)。

15.C

16.B

17.B解析:本題考查的是外部變量的應(yīng)用。因?yàn)槌绦虻某跏糹nta=4;語(yǔ)句定義了外部變量a,在以后的執(zhí)行過(guò)程中,當(dāng)i=0時(shí),調(diào)用f(0)函數(shù),執(zhí)行的語(yǔ)句是else{inta=7;t+=a++;},此處程序中又定義了變量a,所以原來(lái)定義的外部變量在此不起作用,得到t=7,返回值語(yǔ)句returnt+a++;處,外部變量a起作用,返回值為7+5=12:當(dāng)i=1時(shí),調(diào)用f(1)函數(shù),執(zhí)行的是語(yǔ)句else{inta=6:t+=a++;},此處程序中又定義了變量a,所以原來(lái)定義的外部變量在此不起作用,得到t=6,返回值語(yǔ)句

18.C(33)C)解析:題中變量w的定義為double型,函數(shù)fun2()的定義為int型,按照各類數(shù)值型數(shù)據(jù)間的混合運(yùn)算,整型數(shù)據(jù)被轉(zhuǎn)換為實(shí)型數(shù)據(jù)。

19.A由順序、選擇(分支)、循環(huán)3種基本結(jié)構(gòu)構(gòu)成的程序可以解決所有問題,而不只是解決簡(jiǎn)單問題,所以A選項(xiàng)錯(cuò)誤。故本題答案為A選項(xiàng)。

20.C解析:在本題運(yùn)行時(shí)主要注意的是當(dāng)i=9時(shí),a[i]=10-9=1:i=8時(shí),a[i]=10-8=2;i=7時(shí),a[i]=10-7=3;……依此類推,直到i=0時(shí),a[i]=10-0=10:此時(shí),i的值已變?yōu)?1,判斷for的循環(huán)條件,不成立,然后輸出a[2],a[5],a[8]分別為8,5,2。

21.11解析:邏輯運(yùn)算中,非1即0,非0即1,!a=0,++a為邏輯1,所以0和1相或結(jié)果為1。

22.a[0][i]b[i][o]a[0][i]\r\nb[i][o]解析:b[i][N-1]=a[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列中。

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

24.12341234解析:在%與格式符之間插入一個(gè)整形數(shù)來(lái)指這輸出寬度,并不影響數(shù)據(jù)的完整性,當(dāng)插入的寬度小于實(shí)際的寬度時(shí),則實(shí)際的寬度輸出。

25.繼承繼承

26.!feof(fp)!feof(fp)解析:本題中統(tǒng)計(jì)文件中字符個(gè)數(shù)的算法可描述為;首先判斷文件位置指針是否指向了文件尾,如果不是則讀出一個(gè)字符,同時(shí)字符的個(gè)數(shù)加1,再判斷文件位置指針是否位于文件尾,如此循環(huán),直到文件位置指針位于文件尾為止。本題首先以讀文件的方式打開了文件“fname.dat”,如果打開成功則把返回的文件型指針賦值給fp,然后通過(guò)循環(huán)求文件中的字符數(shù)。首先判斷文件位置指針是否位于文件尾,如果不是則循環(huán)讀取字符,每次字符數(shù)加l。所以下劃處應(yīng)填循環(huán)條件,文件位置指針不是指向文件尾,即“!feof(fp)”。

27.概念設(shè)計(jì)階段(數(shù)據(jù)庫(kù)概念設(shè)計(jì)階段)概念設(shè)計(jì)階段(數(shù)據(jù)庫(kù)概念設(shè)計(jì)階段)

28.00解析:已知a=10,b=20,所以邏輯表達(dá)式a<b的值為true,即為1,在這個(gè)表達(dá)式前面有一個(gè)邏輯運(yùn)算符!,表示反操作,所以整個(gè)語(yǔ)句的值應(yīng)當(dāng)為false,即為0。

29.中序中序解析:在先左后右的原則下,根據(jù)訪問根結(jié)點(diǎn)的次序,二叉樹的遍歷可以分為三種:前序遍歷、中序遍歷和后序遍歷.前序遍歷是指在訪問根結(jié)點(diǎn)、遍歷左子樹與遍歷右子樹這三者中,首先訪問根結(jié)點(diǎn),然后遍歷左子樹,最后遍歷右子樹;并且遍歷左、右子樹時(shí),仍然先訪問根結(jié)點(diǎn),然后遍歷左子樹,最后遍歷右子樹。中序遍歷指在訪問根結(jié)點(diǎn)、遍歷左了樹與遍歷右子樹這三者中,首先遍歷左子樹,然后訪問根結(jié)點(diǎn),最后遍歷右子樹:并且遍歷左、右子樹時(shí),仍然先遍歷左子樹,然后訪問根結(jié)點(diǎn),最后遍歷右子樹。后序遍歷指在訪問根結(jié)點(diǎn)、遍歷左子樹與遍歷右子樹這三者中,首先遍歷右子樹,然后訪問根結(jié)點(diǎn),最后遍歷左子樹;并且遍歷左、右子樹時(shí),仍然光遍歷右子樹,然后訪問根結(jié)點(diǎn),最后遍歷左子樹。

30.!=returnj!=returnj解析:函數(shù)fun中,變量j用于控制刪除后剩下的數(shù)中的下標(biāo),i用于搜索原數(shù)組中的元素。j始終是新數(shù)組已有元素中最后一個(gè)元素的下一個(gè)元素的下標(biāo),所以訂語(yǔ)句中的條件是a[j-1]!=a[i],其中a[j-1]就是新數(shù)組中的最后一個(gè)元素,若條件成立則表示出現(xiàn)了不同的值,a[i]要添加到新數(shù)組中。該算法只能用于數(shù)組已排序的題目中。

31.*(str+i)或str[i]*(str+i)或str[i]解析:str是指針變量,它指向字符型數(shù)據(jù),在循環(huán)過(guò)程中,可以用*(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]。

32.輸出輸出解析:測(cè)試用例曲測(cè)試輸入數(shù)據(jù)(輸入值集)和與之對(duì)應(yīng)的預(yù)期輸出結(jié)果(輸出值集)兩部分組成。

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

34.存儲(chǔ)或物理或存儲(chǔ)結(jié)構(gòu)或物理結(jié)構(gòu)存儲(chǔ)或物理或存儲(chǔ)結(jié)構(gòu)或物理結(jié)構(gòu)解析:數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)空間中的存放形式稱為數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)(也稱數(shù)據(jù)的物理結(jié)構(gòu))。所謂循環(huán)隊(duì)列,就是將隊(duì)列存儲(chǔ)空間的最后一個(gè)位置繞到第一個(gè)位置,形成邏輯上的環(huán)狀空間。供隊(duì)列循環(huán)使用??芍h(huán)隊(duì)列應(yīng)當(dāng)是物理結(jié)構(gòu)。

35.前件前件

36.空間空間解析:算法的復(fù)雜度主要包括時(shí)間復(fù)雜度和空間復(fù)雜度。所謂算法的時(shí)間復(fù)雜度,是指執(zhí)行算法所需要的計(jì)算工作量。一個(gè)算法的空間復(fù)雜度,一般是指執(zhí)行這個(gè)算法所需要的內(nèi)存空間。

37.88解析:二維數(shù)組可以看成是按矩陣形式排列的,題目中給二維數(shù)組賦初值是按行分段賦值的,a[4][4]可以分解為4個(gè)一維數(shù)組,其數(shù)組名分別為a[0]、a[1]、a[2]、a[3],這4個(gè)一維數(shù)組都有4個(gè)元素,a[0]的元素為a[0][0]、a(0][1]、a[0][2]、a[0][3]

38.i==jk!i&&k!ji==j\r\nk!i&&k!j解析:本題用雙重for循環(huán)寫了一段0~9之間不同的3個(gè)數(shù)構(gòu)成一個(gè)三位數(shù)的程序,因?yàn)橐笕粩?shù)各個(gè)位數(shù)的數(shù)不能相同,所以第一個(gè)空if語(yǔ)句的條件應(yīng)為i==j,即當(dāng)兩個(gè)位數(shù)上的數(shù)相同的時(shí)候,不再執(zhí)行下面的操作,轉(zhuǎn)去執(zhí)行for循環(huán)的下一次循環(huán)。第二個(gè)空,需要判斷第三位上的數(shù)不能與其他兩位的數(shù)相同。

39.3691236912解析:本題考查最基本的for循環(huán):for(cc=1;cc<5;cc++)規(guī)定循環(huán)次數(shù)為4次,每次a+=3即每次a的值增3,但因?yàn)閒un函數(shù)中變量a為static類型,所以每次調(diào)用完于函數(shù)之后,變量a所做的改變都要保存。

40.44解析:strcpy(s1,s2)函數(shù)的作用是將字符串s2中的內(nèi)容拷貝到字符串s1中的內(nèi)容覆蓋。strlen()函數(shù)是求字符串的長(zhǎng)度。本題實(shí)際上是要求s2字符串的長(zhǎng)度,即是4。

41.B解析:函數(shù)調(diào)用的一般形式為:函數(shù)名(形參表)若函數(shù)無(wú)形參,調(diào)用形式為:函數(shù)名(),當(dāng)所調(diào)用的函數(shù)用于求出某個(gè)值時(shí),函數(shù)的調(diào)用可作為表達(dá)式出現(xiàn)在允許表達(dá)式出現(xiàn)的任何地方,本題中調(diào)用語(yǔ)句的參數(shù)個(gè)數(shù)為2個(gè)。

42.C解析:模塊之間的耦合程度反映了模塊的獨(dú)立性,也反映了系統(tǒng)分解后的復(fù)雜程度。按照耦合程度從弱到強(qiáng),可以將其分成5級(jí),分別是:數(shù)據(jù)耦合、同構(gòu)耦合、控制耦合、公用耦合和內(nèi)容耦合。選項(xiàng)C),沒有這種耦合方式。注意:評(píng)價(jià)模塊獨(dú)立性的主要標(biāo)準(zhǔn),以及對(duì)它們的定義和分類。

43.D解析:一維數(shù)組的定義方式為:

類型說(shuō)明符數(shù)組名[常量表達(dá)式];

選項(xiàng)A符合此定義形式,正確;C語(yǔ)言中多維數(shù)組賦初值時(shí)可以部分賦值,也可以不指定除第一維以外的其他維的大小,故選項(xiàng)C正確;另外,如果對(duì)全部數(shù)組元素都賦初值,則定義數(shù)組時(shí)對(duì)第一維的長(zhǎng)度可以不指定,但第二維的長(zhǎng)度不能省,所以選項(xiàng)B正確,而選項(xiàng)D是錯(cuò)誤的。

44.C解析:變量z被定義為整型,所以選項(xiàng)B和D不符合題意,首先被排除。變量x和y也被定義為整型,所以表達(dá)式x/y的值為整數(shù)1,最后z被賦值為3,選項(xiàng)C正確。

45.B解析:本題考查函數(shù)調(diào)用時(shí)的參數(shù)傳遞。在函數(shù)調(diào)用時(shí),實(shí)參和其所對(duì)應(yīng)的形參分別占用不同的存儲(chǔ)單元,彼此之間只是實(shí)參將值傳遞給形參.

46.C解析:本題涉及C語(yǔ)言基本的3個(gè)知識(shí)點(diǎn):①C語(yǔ)言的源程序是由函數(shù)構(gòu)成的,函數(shù)是其基本單位,每一個(gè)函數(shù)完成相對(duì)獨(dú)立的功能,其中只能包括一個(gè)主函數(shù);②C語(yǔ)言規(guī)定每個(gè)語(yǔ)句以分號(hào)結(jié)束,其書寫格式是自由的,一條語(yǔ)句可以寫在不同的行上,或者一行也可以寫多條語(yǔ)句;③注釋行雖然對(duì)程序的運(yùn)行不起作用,但是它可以方便程序員閱讀,提高程序的可讀性和可移植性,所以書寫注釋行還是很有必要的。

47.A解析:本題考查了二維數(shù)組元素的引用方法。選項(xiàng)A中a引指向了數(shù)組a的第i+1行,*(a+i)則是第i+1行第0列的地址值,*(a+i)+j指向了數(shù)組a第i+1行,j+1列,*(*(a+i)+j)取到的是數(shù)組a的a[i][j]的元素。

48.B解析:函數(shù)fun中的a和b是全局變量,在main函數(shù)中全局變量a和b不起作用。因此調(diào)用函數(shù)fun后main中a和b的值不變,a=5、b=7。

49.A解析:C語(yǔ)言中比較表達(dá)式的運(yùn)算結(jié)果為0或1。0代表不成立,1表示成立。

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

51.A

52.C答案C

解析:在語(yǔ)句“k=*f(a,b)”中,由于“()”的優(yōu)先級(jí)高于“*”,所以“*f(a,b);”表示其返回類型為指針的帶有兩個(gè)整型參數(shù)的函數(shù)。

53.B解析:二維數(shù)組指針第一個(gè)for循環(huán)中,第一次循環(huán)ptr指向a[0][0]的首地址,所以經(jīng)過(guò)輸入語(yǔ)句,a[0][0]=1;第二次循環(huán)ptr指向a[1][0]的首地址,所以經(jīng)過(guò)輸入語(yǔ)句,a[1][0]=2。此時(shí),除了這兩個(gè)元素,其他元素沒有改變,等于初值0。

54.C解析:棧是一種后進(jìn)先出表,選項(xiàng)C中,先出棧的是3,說(shuō)明此時(shí)棧內(nèi)必然有1,2,由于1先于2進(jìn)淺,所以1不可能在2之前出棧,故選項(xiàng)C這種出棧序列是不可能的。

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

56.A解析:選項(xiàng)C中語(yǔ)句'*C=&t;'錯(cuò)誤;選項(xiàng)D中指針'L=\'\\0\''不正確,L應(yīng)指向確定的地址單元,而不是特定的值;選項(xiàng)B中語(yǔ)句'float*f=NU

溫馨提示

  • 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)論