2021年云南省昆明市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題(含答案)_第1頁(yè)
2021年云南省昆明市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題(含答案)_第2頁(yè)
2021年云南省昆明市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題(含答案)_第3頁(yè)
2021年云南省昆明市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題(含答案)_第4頁(yè)
2021年云南省昆明市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題(含答案)_第5頁(yè)
已閱讀5頁(yè),還剩30頁(yè)未讀 繼續(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語(yǔ)言程序設(shè)計(jì)真題(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.已知各變量的類型說明如下則以下不符合C語(yǔ)言語(yǔ)法的表達(dá)式是()。A.x%(-3)B.w+=-2C.k=(a=2,b=3,a+b)D.a+=a-=(b=4)*(a=3)

2.微型計(jì)算機(jī)的運(yùn)算器、控制器及內(nèi)存儲(chǔ)器組合在一起,稱之為()

A.ALUB.CPUC.MPUD.主機(jī)

3.下面不能正確表示a*b/(c*d)的表達(dá)式是()。

A.(a*b)/c*dB.a*b/(c*d)C.a/c/d*bD.a*b/c/d

4.有如下程序:main(){intx=1,a=0,b=0;switch(x){case0:b++;casel:a++;case2:a++;b++;}printf("a=%d,b=%d\n",a,b);}該程序的輸出結(jié)果是()。A.a=2,b=1B.a=1,b=1C.a=1,b=0D.a=2,b=2

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

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

6.數(shù)據(jù)結(jié)構(gòu)主要研究的是數(shù)據(jù)的邏輯結(jié)構(gòu)、數(shù)據(jù)的運(yùn)算和()。A.數(shù)據(jù)的方法B.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)C.數(shù)據(jù)的對(duì)象D.數(shù)據(jù)的邏輯存儲(chǔ)

7.下列程序段的時(shí)間復(fù)雜度為()。A.O(2n)B.O(n)C.O(n2)D.O(i*j)

8.有以下程序:#include<stdio.h>inta=1,b=2:voidfunl(inta,intb){printf("%d%d",a,b);}voidfun2(){a=3;b=4;}main(){funl(5,6);fun2();printf("%d%d\n",a,b);}程序運(yùn)行后的輸出結(jié)果是()。A.1256B.5634C.5612D.3456

9.若以下變量均是整型,且num=sum=7;則執(zhí)行表達(dá)式sum=num++,sum++,++num后sum的值為()。

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

10.下列敘述中錯(cuò)誤的是()。A.程序可以由多個(gè)程序文件組成

B.一個(gè)C語(yǔ)言程序只能實(shí)現(xiàn)一種算法.

C.程序可以由一個(gè)或多個(gè)函數(shù)組成

D.一個(gè)C函數(shù)可以單獨(dú)作為一個(gè)C程序文件存在

11.

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

#include<stdio.h>

main

{inta[2][3]={{1,2,3),{4,5,6)),(*p)[3],i;

p=a;

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

{if(i<2)

p[1][i]=p[1][i]-1;

else

p[1][i]=1;

}

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

}

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

12.

13.有以下程序:#include<stdio.h>main(){inta=2,b=2,C=2;print{("%d\n",a/b&c);}程序運(yùn)行后的輸出結(jié)果是()。A.0B.1C.2D.3

14.對(duì)于循環(huán)隊(duì)列()。

A.無(wú)法判斷隊(duì)列是否為空B.無(wú)法判斷隊(duì)列是否為滿C.隊(duì)列不可能滿D.以上說法都不對(duì)

15.已知字母a的ASCII碼為十進(jìn)制數(shù)97,下面程序的輸出結(jié)果是()。#include<stdio.h>main(){charc1,c2;c1='a'+'6'-'0';c2='a'+'3'-'0';printf("%c,%c\n",c1,c2);}

A.輸出無(wú)定值B.d,eC.e,fD.g,d

16.設(shè)已包含頭文件<string.h>,下列程序段的運(yùn)行結(jié)果是()。chars1[]={"ACDEF"};chars2[]="ABC";strcpy(s1,s2);printf("%d",strlen(s1));

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

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

A.函數(shù)的返回值類型不能是結(jié)構(gòu)體類型,只能是簡(jiǎn)單類型

B.函數(shù)可以返回指向結(jié)構(gòu)體變量的指針

C.可以通過指向結(jié)構(gòu)體變量的指針訪問所指結(jié)構(gòu)體變量的任何成員

D.只要類型相同,結(jié)構(gòu)體變量之間可以整體賦值

18.在計(jì)算機(jī)中,算法是指()

A.加工方法B.解題方案的準(zhǔn)確而完整的描述C.排序方法D.查詢方法

19.下列程序的輸出結(jié)果是()。#includedstdi0.h>#includedstring.h>voidfun(intb[]){staticinti=0;do{b[i]+=b[i+1];}while(++i<2);}main{intk,a[5]={1,3,5,4,9};fun(a);for(k=0;k<5;k++)printf("%d",a[k]);}A.13579B.48579C.48549D.48999

20.有以下程序:

#include<stdio.h>,

main()

{intS;

scanf("%d",&s);

while(s>O)

{switch(s)

{casel:printf("%d",s+5);

case2:printf("%d",s+4);break;

case3:printf("%d",s+3);

default:("%d",s+1);break;

}

scanf("%d",&s);

}

}

運(yùn)行時(shí),若輸入123450<回車>,由輸出結(jié)果是()。

A.6566456B.66656C.66666D.6666656

二、2.填空題(20題)21.在長(zhǎng)度為n的有序線性表中進(jìn)行二分查找。最壞的情況下,需要的比較次數(shù)為【】。

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

main()

{unsignedshorta=65536;intb;

printf("%d\n",b=A);

}

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

main()

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

int*p1=&a,*p2=&b,*p;

*(p=&c)=*p1*(*p2);

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

}

24.算法執(zhí)行過程中所需要的基本運(yùn)算次數(shù)稱為算法的______。

25.設(shè)有下列的程序段:

charstr[]="Hello";

char*ptr;

ptr=-str;

執(zhí)行上面的程序段后,*(ptr+5)的值為______。

26.實(shí)現(xiàn)算法所需的存儲(chǔ)單元多少和算法的工作量大小分別稱為為算法的【】。

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

structstud

{charnum[6];

ints[4];

doubleave;

}a,*p;

28.本程序用改進(jìn)冒泡法對(duì)數(shù)組a[n]的元素從小到大排序,請(qǐng)?jiān)诔绦蚩瞻滋幪羁铡?/p>

voidbubble(inta[],intn)

{intj,k,jmax,temp;

jmax=【】;

do{

k=0;

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

if(a[j]>a[j+1])

{temp=a[j];a[j]=a[j+1];a[j+1]=temp;k=【】;

jmax=k;

}while(jmax>0);}

29.軟件的需求分析階段的工作,可以概括為四個(gè)方面:【】、需求分析、編寫需求規(guī)格說明書和需求評(píng)審。

30.算法復(fù)雜度主要包括時(shí)間復(fù)雜度和【】復(fù)雜度。

31.以下程序的功能是調(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",【】);}

32.下列程序?qū)⒍S數(shù)組a的行和列元素互換后存放到另一個(gè)二維數(shù)組b中。請(qǐng)?zhí)羁铡?/p>

main()

{inta[2][3]={{1,2,3},{4,5}},b[3][2],i,j;

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

{for(j=0;j<3;j++)

}

}

33.下面程序的功能是建立一個(gè)有3個(gè)結(jié)點(diǎn)的單循環(huán)鏈表,然后求各個(gè)結(jié)點(diǎn)數(shù)值域data中數(shù)據(jù)的和,請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

#include<stdlib.h>

structNODE{intdata;

structNODE*next;

};

main()

{structNODE*p,*q,*r;

intsum=0;

p=(structNODE*)malloc(sizeof(structNODE));

q=structNODE*)malloc(sizeof(structNODE));

r=(structNODE*)malloc(sizeof(structNODE));

p->data=100;q->data=200;r->data=300;

p->next=q;q->next=r;r->next=p;

sum=p->data+p->next->data+r->next->next【】;

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

}

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

main()

{inty,a;

y=2,a=1;

while(y--!=-1)

{do{a*=y;a++;}while(y--);}

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

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

36.設(shè)一棵完全二叉樹共有700個(gè)結(jié)點(diǎn),則在該二叉樹中有【】個(gè)葉子結(jié)點(diǎn)。

37.若有定義:intk;,以下程序段的輸出結(jié)果是______。for(k=2;k<6;k++,k++)printf("##%d",k);

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

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

39.當(dāng)m=1,n=2,a=3,b=2,c=4時(shí),執(zhí)行d=(m=a!=B)&&(n=b>C)后,m的值為()。

40.有下列程序;

#include<stdio.h>

main()

{charc;

while((c=getchar())!=',')putchar(++C);

}

程序運(yùn)行時(shí),如果從鍵盤輸入:A,B,<CR>,則輸出結(jié)果為______。

三、1.選擇題(20題)41.在多媒體計(jì)算機(jī)系統(tǒng)中,CD-ROM屬于()

A.感覺媒體B.表示媒體C.表現(xiàn)媒體D.存儲(chǔ)媒體

42.以下程序的輸出結(jié)果是()#include<stdio.h>#include<string.h>main(){charstr[12]={'s','t','r','i','n','g'};printf("%d\n",strlen(str));}

A.6B.7C.11D.12

43.有以下程序#include<string.h>main(){char*p=“abcde、Ofghjik\0”;printf(“%d\n”,strlen(p));}程序運(yùn)行后的輸出結(jié)果

A.12B.15C.6D.5

44.有以下程序,其中%u表示按無(wú)符號(hào)整數(shù)輸出:

main

{

unsignedintx=0xFFFF;/*x的初值為十六進(jìn)制數(shù)*/

printf("%u\n",x);

}

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

A.-1B.65535C.32767D.0xFFFF

45.在C語(yǔ)言程序中,下列說法正確的是()。

A.函數(shù)的定義和函數(shù)的調(diào)用均可以嵌套

B.函數(shù)的定義不可以嵌套,但函數(shù)的調(diào)用可以嵌套

C.函數(shù)的定義可以嵌套,但函數(shù)的調(diào)用不可以嵌套

D.函數(shù)的定義和函數(shù)的調(diào)用均不可以嵌套

46.程序中頭文件typel.h的內(nèi)容是:#defineN5#defineM1N*3程序如下:#include“typel.h”#defineM2N*2main(){inti;i=M1+M2;Printf(“%d\n”,0;}程序編譯后運(yùn)行的輸出結(jié)果是:

A.10B.20C.25D.30

47.下列程序的輸出結(jié)果為main(){unionu{char*name;intage;intincome;}="WANGLIONG";s.age=28;s.income=1000;printf("%d\n",s.age);}

A.28B.1000C.0D.不確定

48.下列關(guān)于C語(yǔ)言數(shù)據(jù)文件的敘述中正確的是A.文件由ASCII碼字符序列組成,C語(yǔ)言只能讀寫文本文件

B.文件由二進(jìn)制數(shù)據(jù)序列組成,C語(yǔ)言只能讀寫二進(jìn)制文件

C.文件由記錄序列組成,可按數(shù)據(jù)的存放形式分為二進(jìn)制文件和文本文件

D.文件由數(shù)據(jù)流形式組成,可按數(shù)據(jù)的存放形式分為二進(jìn)制文件和文本文件

49.若有如下變量定義并賦值:inta=1,b=2,c=3,k;floatf=2.5,e;doubled=2.4,g;則下列符合C語(yǔ)言語(yǔ)法的表達(dá)式是()

A.e=c*=a+=d*f%bB.(k=a+b,b*f++,k%c)C.g=a+f*c=5D.x=double(b)

50.若有定義:inta[4][10];,則以下選項(xiàng)中對(duì)數(shù)組元素a[i][j]引用錯(cuò)誤的是______。(o<=i<4,0<=j<=10

A.*(&a[0][0]+10*i+j)B.*(a+i)+jC.*(*(a+i)+j)D.*(a[i]+j)

51.有以下程序#include<stdio.h>main(){inta[]={1,2,3,4,5,6,7,8,9,10,11,12},*p=a+5,*q=NULL;*q=*(p+5);printf("%d%d\n",*p,*q);}程序運(yùn)行后的輸出結(jié)果是______。

A.運(yùn)行后報(bào)錯(cuò)B.66C.611D.510

52.關(guān)系代數(shù)運(yùn)算是以______為基礎(chǔ)的運(yùn)算。

A.關(guān)系運(yùn)算B.謂詞運(yùn)算C.集合運(yùn)算D.代數(shù)運(yùn)算

53.下面的程序執(zhí)行后,文件test.txt中的內(nèi)容是()#include<stdio.h>voidfun(char*<fname,char*st){FILE*myf;inti;myf=fopen(fname,"w");for(i=0;i<strlen(st);i++)fputc(st[i],myf);fclose(myf);}main(){fun("test","newword");fun("test","hello");}

A.helloB.newworldhello,C.newworldD.hello,rld

54.以下變量x、y、z均為double類型且已正確賦值,不能正確表示數(shù)學(xué)式子x/(y*2)的C語(yǔ)言表達(dá)式是______。

A.x/y*2B.x*(1/(y*z))C.x/y*1/zD.x/y/z

55.數(shù)據(jù)庫(kù)系統(tǒng)的核心是()。

A.數(shù)據(jù)模型B.數(shù)據(jù)庫(kù)管理系統(tǒng)C.數(shù)據(jù)庫(kù)D.數(shù)據(jù)庫(kù)管理員

56.有以下程序:#includo<stdio.h>main(){inty=10;while(y--)printf("y=%d\n",y);}程序執(zhí)行后的輸出結(jié)果是()。

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

57.若有運(yùn)算符:>、=、<<、%、sizeof,則它們按優(yōu)先級(jí)(由高至低)的正確排列順序?yàn)?)。

A.%、sizeof、>、<<、=

B.sizeof、%、>、=、<<

C.sizeof、<<、>、%、=

D.sizeof、%、<<、>、=

58.以下程序的運(yùn)行結(jié)果是()。#include<stdio.h>#defineMIN(x,y)(x)<(y)?(x):(y)main(){inti=10,j=15,k;k=10*MIN(i,j);printf("%d\n",k);}

A.10B.15C.100D.150

59.下列程序的執(zhí)行結(jié)果是______。#lnClude<stdio.h>unionun{inti;charc[2];};voidmain(){unionunx;x.c[0]=10x.c[l]=1;printf("\n%d,x.i);}

A.266B.11C.265D.138

60.下述程序的輸出結(jié)果是()。longfun(intn){longs;if(n==1||n==2)s=2;elses=n-fun(n-1);returns;}main(){printf("%1d\n",fun(3));}

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

四、選擇題(20題)61.一間宿舍可住多個(gè)學(xué)生,則實(shí)體宿舍和學(xué)生之間的聯(lián)系是()。

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

62.對(duì)線性表進(jìn)行二分法檢索,其前提條件是()。A.A.線性表以順序方式存儲(chǔ),并按關(guān)鍵碼值排好序B.線性表以順序方式存儲(chǔ),并按關(guān)鍵碼的檢索頻率排好序

C.線性表以鏈?zhǔn)椒绞酱鎯?chǔ),并按關(guān)鍵碼值排好序

D.線性表以鏈?zhǔn)椒绞酱鎯?chǔ),并按關(guān)鍵碼的檢索頻率排好序

63.

64.有以下程序

65.

有下列程序:

voidsort(inta[],intn)

{inti,j,t;

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

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

if(a[i]<a[j]){t=a[i];a[i]一a[j];a[j]=t;}

}

main

{intaa[10]:{1,2,3,4,5,6,7,8,9,10),i;

sort(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,l0,

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,

66.若有以下程序段輸出結(jié)果:是()。

A.4B.8C.16D.2

67.有以下程序

#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?

68.

69.

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

#inclde<stdio.h>

#defineSUB(X,Y)(X)*Y

main()

{inta=3,b=4;

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

}

A.12B.15C.16D.20

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

A.列表框和組合框都有List屬性

B.列表框有Selected屬性,而組合框沒有

C.列表框和組合框都有Style屬性

D.組合框有Text屬性,而列表框沒有

72.有以下程序:

voidmain()

{

inty=10;

while(y>>1){printf("y=%d\n",y);}

}

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

A.y=0

B.y=-1

C.y=1

D.while構(gòu)成無(wú)限循環(huán)

73.軟件(程序.調(diào)試的目標(biāo)是()。

A.診斷和改正程序中的錯(cuò)誤

B.盡可能多地發(fā)現(xiàn)程序中的錯(cuò)誤

C.發(fā)現(xiàn)并改正程序中的所有錯(cuò)誤

D.確定程序中錯(cuò)誤的性質(zhì)

74.

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

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

76.

77.數(shù)據(jù)庫(kù)設(shè)計(jì)包括兩個(gè)方面的設(shè)計(jì)內(nèi)容,它們是()

A.概念設(shè)計(jì)和邏輯設(shè)計(jì)B.模式設(shè)計(jì)和內(nèi)模式設(shè)計(jì)C.內(nèi)模式設(shè)計(jì)和物理設(shè)計(jì)D.結(jié)構(gòu)特性設(shè)計(jì)和行為特性設(shè)計(jì)

78.

79.

80.有以下函數(shù)intfun(char*X,char*y){intn=0;while((*x===*y)*x!=\O){x++;y++;n++;}returnn;}函數(shù)的功能是()。A.查找X和y所指字符串中是否有\(zhòng)o

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

C.將Y所指字符串賦給X所指定存儲(chǔ)空間

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

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:從字符串str中,刪除所有大寫字母'F'。

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

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

試題程序:

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

參考答案

1.A

2.D

3.A

4.A當(dāng)X為1時(shí),執(zhí)行case1,a自加等于1,因?yàn)閏ase1后沒有break,接著執(zhí)行case2,此時(shí)a的值為2,b自加為1,故選擇A選項(xiàng)。

5.D單一的數(shù)據(jù)結(jié)構(gòu)——關(guān)系,現(xiàn)實(shí)世界的實(shí)體以及實(shí)體間的各種聯(lián)系均用關(guān)系來表示。數(shù)據(jù)的邏輯結(jié)構(gòu)——二維表,從用戶角度,關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表。但是關(guān)系模型的這種簡(jiǎn)單的數(shù)據(jù)結(jié)構(gòu)能夠表達(dá)豐富的語(yǔ)義,描述出現(xiàn)實(shí)世界的實(shí)體以及實(shí)體間的各種關(guān)系。

6.B詳細(xì)解答:

數(shù)據(jù)結(jié)構(gòu)是研究數(shù)據(jù)元素及其之間的相互關(guān)系和數(shù)據(jù)運(yùn)算的一門學(xué)科,它包含3個(gè)方面的內(nèi)容,即數(shù)據(jù)的邏輯結(jié)構(gòu)、存儲(chǔ)結(jié)構(gòu)和數(shù)據(jù)的運(yùn)算。

7.C

8.BFunl是輸出局部變量的值,fun2是把全局變量的值改成3和4,所以輸出的結(jié)果是5634。

9.A

10.B在一個(gè)C語(yǔ)言程序中可以進(jìn)行多種算法的實(shí)現(xiàn),對(duì)算法的個(gè)數(shù)沒有規(guī)定,所以B)錯(cuò)誤。

11.B

\n本題考查for循環(huán)及if…else語(yǔ)句嵌套,第1次執(zhí)行for循環(huán),p[1][0]=p[1][0]=p[1][0]-1=3;第2次執(zhí)行for循環(huán),p[1][1]=p[1][1]-1=4;第3次執(zhí)行for循環(huán),p[1][2]=l,最后輸出的是a[0][1]+a[1][1]+a[1][2]=2+4+1=7。

\n

12.D

13.A根據(jù)C語(yǔ)言運(yùn)算符的優(yōu)先級(jí)與結(jié)合性,先計(jì)算a/b,結(jié)果為l,再將a/b的結(jié)果與C做按位與運(yùn)算,即l與2做按位與運(yùn)算,其結(jié)果為0。

14.D

15.D解析:C語(yǔ)言規(guī)定,所有字符常量都可以化為整型常量來處理,因而字符常量也可以參與算術(shù)運(yùn)算。注:字符常量參與算術(shù)運(yùn)算時(shí),其實(shí)是使用其對(duì)應(yīng)的ASCII碼值進(jìn)行計(jì)算。本題中,'a'對(duì)應(yīng)的ASCII碼值是97。題中雖然沒有給'6'和'0'的ASCII碼值,但應(yīng)該知道'6'-'0'是將字符'6'轉(zhuǎn)換成整數(shù)6的表達(dá)式,所以c1='a'+'6'-'0'=103,c2='a'+'3'-'0'=100,按照字符型輸出分別是g和d。

16.A解析:頭文件<string.h>是字符串處理函數(shù)對(duì)應(yīng)的頭文件,要想調(diào)用C語(yǔ)言的庫(kù)函數(shù)時(shí),都要在程序中嵌入該函數(shù)對(duì)應(yīng)的頭文件,否則無(wú)法使用庫(kù)函數(shù)。

strcpy(s1,s2)把s2中的字符串復(fù)制到s1中,所以結(jié)果就為s2的長(zhǎng)度。

17.A函數(shù)返回值類型可以是簡(jiǎn)單類型和結(jié)構(gòu)體類型。

18.B在計(jì)算機(jī)中,算法被定義為對(duì)一個(gè)問題求解步驟的一種描述,是求解問題的方法,它是指令的有限序列,其中每條指令表示一個(gè)或者多個(gè)操作。算法具有有窮性、確定性、可行性、輸入和輸出五大特點(diǎn)。

在本題中,選項(xiàng)A、C、D的說法明顯偏離了算法的定義,因此正確答案選B。

19.C本題考查do-while循環(huán),在fun函數(shù)中,首先定義了靜態(tài)變量i=0,do-while循環(huán)要實(shí)現(xiàn)的功能是以b[0]=b[0]+b[1],b[1]=b[1]+b[2],其他元素不變的規(guī)則重新給b數(shù)組賦值。在主函數(shù)中,通過調(diào)用fun函數(shù),按上面的規(guī)則對(duì)數(shù)組a重新賦值,最后輸出數(shù)組a。

20.A\n根據(jù)題意,當(dāng)s=1時(shí),輸出65;當(dāng)s=2時(shí),輸出6;當(dāng)S=3時(shí),則輸出64;當(dāng)S=4時(shí),輸出5;當(dāng)s=5時(shí),輸出6;當(dāng)s=0時(shí),程序直接退出。所以最后答案為6566456,A選項(xiàng)正確。

\n

21.log2n

22.00解析:對(duì)于一個(gè)unsignedshort來說,它能取的最大值是65535。這里給a賦值65536,已經(jīng)超出了它的取值范圍,這樣它的高位將被截掉,只把低位賦給它(全零)。所以a的值實(shí)際為0。

23.88解析:本程序定義了3個(gè)指針變量p1、p2、p,并且將,、b的地址分別賦給P1、p2,則*p1=a=2,*p2=b=4,所以表達(dá)式*p1*(*p2)的值是8。在賦值語(yǔ)句的左邊是*(p=&c),即使指針p指向了變量c,因而*(p)代表了c的存儲(chǔ)單元,賦值語(yǔ)句“*(p=&c)=*p1*(*p2);”是把整數(shù)8賦給了變量c。

24.時(shí)間復(fù)雜度時(shí)間復(fù)雜度解析:算法在執(zhí)行過程中所執(zhí)行的基本運(yùn)算的次數(shù),也就是執(zhí)行算法所需要的計(jì)算工作量,稱為算法的時(shí)間復(fù)雜度。

25.'\0''\\0'解析:本題涉及字符數(shù)組和指針的兩個(gè)知識(shí)點(diǎn):①在c語(yǔ)言中,字符型數(shù)組在存放字符串時(shí)會(huì)自動(dòng)在末尾加上字符串結(jié)束標(biāo)識(shí)符'\\0',所以題中數(shù)組str有6個(gè)元素。②ptr指向數(shù)組s仕的首地址,ptr+5是指向str[5],*(ptr+5)是引用str[5]的值,即'\\0'。

26.空間復(fù)雜度和時(shí)間復(fù)雜度空間復(fù)雜度和時(shí)間復(fù)雜度解析:算法的復(fù)雜性是指對(duì)—個(gè)在有限步驟內(nèi)終止算法和所需存儲(chǔ)空間大小的估計(jì)。算法所需存儲(chǔ)空間大小是算法的空間復(fù)雜性,算法的計(jì)算量是算法的時(shí)間復(fù)雜性。

27.22

28.n-1jn-1\r\nj解析:此題采用了do…while循環(huán)內(nèi)嵌for循環(huán)的雙層循環(huán)結(jié)構(gòu)來實(shí)現(xiàn)了數(shù)組元素的排序。數(shù)組元素通過首地址和數(shù)組下標(biāo)的方式來引用的。

29.需求獲取需求獲取解析:軟件的需求分析階段的工作,可以概括為四個(gè)方面:需求獲取、需求分析、編寫需求規(guī)格說明書和需求評(píng)審。需求獲取的目的是確定對(duì)目標(biāo)系統(tǒng)的各方面需求;需求分析是對(duì)獲取的需求進(jìn)行分析和綜合,最終給出系統(tǒng)的解決方案和目標(biāo)系統(tǒng)的邏輯模型;編寫需求規(guī)格說明書作為需求分析的階段成果,可以為用戶、分析人員和設(shè)計(jì)人員之間的交流提供方便,可以直接支持目標(biāo)軟件系統(tǒng)的確認(rèn),又可以作為控制軟件開發(fā)進(jìn)度的依據(jù);需求評(píng)審是對(duì)需求分析階段的工作進(jìn)行的復(fù)審,驗(yàn)證需求文檔的一致性、可行性、完整性和有效性。

30.空間空間解析:程序在計(jì)算機(jī)上運(yùn)行時(shí)所耗費(fèi)的時(shí)間由程序運(yùn)行時(shí)所需輸入的數(shù)據(jù)總量、對(duì)源程序進(jìn)行編譯所需時(shí)間、計(jì)算機(jī)執(zhí)行每條指令所需時(shí)間、程序中的指令重復(fù)執(zhí)行的次數(shù)等決定。習(xí)慣上常常把語(yǔ)句重復(fù)執(zhí)行的次數(shù)作為算法運(yùn)行時(shí)間的相對(duì)量度,稱作算法的時(shí)間復(fù)雜度。算法在運(yùn)行過程中需輔助存儲(chǔ)空間的大小稱為算法的空間復(fù)雜度。

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

32.b[j][i]=a[i][j]b[j][i]=a[i][j]解析:本題考查二維數(shù)組的基本知識(shí)。它是要將一個(gè)二維數(shù)組,的行和列元素互換后存放到另一個(gè)二維數(shù)組b中,只要將數(shù)組a的行標(biāo)和列標(biāo)互換,然后賦給數(shù)組b即可。

33.->next->data->next->data解析:主函數(shù)中前面大部分語(yǔ)句都是用來建立題中所述的鏈表的,我們只需要補(bǔ)充完整倒數(shù)第2條語(yǔ)句,實(shí)現(xiàn)題目要求的求3個(gè)結(jié)點(diǎn)之和就可以了。p->data是p所指結(jié)點(diǎn)中的數(shù)據(jù);p->next->data是p的下一結(jié)點(diǎn)(q所指結(jié)點(diǎn))中的數(shù)據(jù)。所以下劃線位置只要填入->next->data就是剩下的r所指結(jié)點(diǎn)的數(shù)據(jù)了。因?yàn)殒湵硎茄h(huán)的,r->next->next->next的值就等于r,你甚至還可以填入->next->next->next->next->data,只要保證整個(gè)式子->next的個(gè)數(shù)是3的倍數(shù)都可以。

34.1-21,-2解析:題中外層while循環(huán)的循環(huán)條件是y--!=-1,即y>=0;內(nèi)層do…while循環(huán)的循環(huán)條件是y--即y-->0,y>=1。注意:break和continue語(yǔ)句在循體中的作用。

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

36.350350解析:在任意一棵二叉樹中,度為0的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))總是比度為2的結(jié)點(diǎn)多一個(gè)。在根據(jù)完全二叉樹的定義,在一棵完全二叉樹中,最多有1個(gè)度為1的結(jié)點(diǎn)。因此,設(shè)一棵完全二叉樹具有n個(gè)結(jié)點(diǎn),若n為偶數(shù),則在該二叉樹中有n/2個(gè)葉子結(jié)點(diǎn)以及n/2-1個(gè)度為2的結(jié)點(diǎn),還有1個(gè)是度為1的結(jié)點(diǎn):若n為奇數(shù),則在該二叉樹中有[n/2]+1個(gè)葉子結(jié)點(diǎn)以及[n/2]個(gè)度為2的結(jié)點(diǎn),沒有度為1的結(jié)點(diǎn)。本題中,完全二叉樹共有700個(gè)結(jié)點(diǎn),700是偶數(shù),所以,在該二叉樹中有350個(gè)葉子結(jié)點(diǎn)以及349個(gè)度為2的結(jié)點(diǎn),還有1個(gè)是度為1的結(jié)點(diǎn)。所以,本題的正確答案為350。

37.本題主要考查for循環(huán)語(yǔ)句。for循環(huán)的增量表達(dá)式為逗號(hào)表達(dá)式,相當(dāng)于k+=2;,即每次循環(huán)后k增加2。第一次循環(huán)時(shí),k=2,因此輸出##2;第二次循環(huán)時(shí)k=4,輸出##4。此后k=6,不滿足循環(huán)條件。\r\n\r\n

38.*(p+5)

39.11解析:①“sizeof'、“%”、“>”、“<<”、“*=”,運(yùn)算符的優(yōu)先級(jí)順序?yàn)椋骸?=”→“>”→“<<”→“%”→“sizeof”;②位運(yùn)算的優(yōu)先級(jí)順序?yàn)椋骸啊薄埃迹肌薄埃荆尽薄?”→“^”。(b=2)>(c=4)不成立,邏輯為假,所以n=0;(a=3)!=(b=2)成立,邏輯為真,所以m=1。

40.BB解析:因?yàn)閏是字符類型變量,它只能接收一個(gè)字符,所以c=A,字符型變量在參與算術(shù)運(yùn)算的時(shí)候是用其相應(yīng)的ASCII碼參與運(yùn)算的,這樣++c得到字母B的ASCII碼,用putchar函數(shù)輸出是輸出其相應(yīng)的字符,所以是B。

41.D

42.A解析:本題考查求字符串的長(zhǎng)度。程序中定義字符串str時(shí)中請(qǐng)了12個(gè)字節(jié)的內(nèi)存空間,對(duì)它賦初值后,函數(shù)strlen在求串長(zhǎng)度時(shí),以'\\0'作為串結(jié)束符,所以,strlen(str)的值為6。

43.D解析:本題首先定義了一個(gè)字符型指針變量p,并用一個(gè)字符串給它賦值,然后調(diào)用printf()函數(shù)輸出p所指向的字符串的長(zhǎng)度。字符串的結(jié)束標(biāo)記為“\\0”,其長(zhǎng)度為“\\0”前的字符個(gè)數(shù),故長(zhǎng)度為5。

44.B解析:整型常量有十進(jìn)制、八進(jìn)制和十六進(jìn)制3種表示:十進(jìn)制整數(shù)以正號(hào)(+)或負(fù)號(hào)(-)開頭,由首位非0的一串十進(jìn)制數(shù)字組成,正負(fù)號(hào)也可省略,表示正整數(shù);八進(jìn)制整數(shù)以數(shù)字0開頭,后面接著干個(gè)八進(jìn)制數(shù)字(0~7):十六進(jìn)制整數(shù)以數(shù)字。和字母x(大、小寫均可)開頭,后面接若干個(gè)十六進(jìn)制數(shù)字(數(shù)字0~9和字母A~F,大、小寫均可)。故本題是以無(wú)符號(hào)整數(shù)形式輸出一個(gè)十六進(jìn)制整數(shù)FFFF,將其轉(zhuǎn)換為十進(jìn)制就是65535,故本題應(yīng)該選擇B。

45.B解析:本題考查函數(shù)調(diào)用的基本概念。因?yàn)楹瘮?shù)的結(jié)果是個(gè)未知量,而函數(shù)定義時(shí)不能使用未知量,所以函數(shù)定義不可以嵌套,但函數(shù)的調(diào)用可以嵌套。

46.C解析:編譯預(yù)處理時(shí),用“typel.h”中的內(nèi)容替代命令#include“typel.h”。表達(dá)式“i=M1+M2”經(jīng)過宏替換為“i=5*3+5*2”即i=25,所以最后輸出的i的值為25。

47.B解析:本題對(duì)共用體的使用進(jìn)行了考查。由于共用體所有成員共同占據(jù)一段存儲(chǔ)空間,所以對(duì)成員變量的賦值,后面的賦值會(huì)覆蓋掉前面的賦值,因?yàn)閟.income=1000;是最后一次成員變量賦值,變量age與變量income共同占據(jù)一段存儲(chǔ)空間,所以age的值也為1000。

48.D解析:C語(yǔ)言把文件看成是一個(gè)字符(字節(jié))的序列,即由一個(gè)一個(gè)字符(字節(jié))的數(shù)據(jù)順序組成。根據(jù)數(shù)據(jù)的組織形式,可分為ASCII文件和二進(jìn)制文件。ASCII文件又稱文本文件,它的每一個(gè)字節(jié)放一個(gè)ASCII代碼,代表一個(gè)字符。二進(jìn)制文件是把內(nèi)存中的數(shù)據(jù)按其在內(nèi)存中的存儲(chǔ)形式原樣輸出到磁盤上存放。

49.B

50.B解析:本題中選項(xiàng)B是錯(cuò)誤的引用,*(a+i)+j只代表了a[i][j]的地址。

51.A解析:本題考核的知識(shí)點(diǎn)是通過指針引用數(shù)組的元素的方法.本題中首先定義了一個(gè)一維數(shù)組a并初始化,由于定義該數(shù)組的時(shí)候省略了長(zhǎng)度,因此該數(shù)組的長(zhǎng)度為初始化時(shí)候賦初值的個(gè)數(shù)即為12。數(shù)組名a代表數(shù)組的首地址,所以*p=a+5語(yǔ)句使得p指向數(shù)組的第6個(gè)元素,而在程序中定義了一個(gè)指針q并讓它指向空,實(shí)際上程序并沒有在內(nèi)存中為指針q開辟存儲(chǔ)空間,這樣給q賦值不允許的,故該程序運(yùn)行后報(bào)錯(cuò)。所以,4個(gè)選項(xiàng)中選項(xiàng)A符合題意。

52.C解析:關(guān)系代數(shù)是以集合代數(shù)為基礎(chǔ)女發(fā)展起來的,它是以關(guān)系代數(shù)作為運(yùn)算對(duì)象的一組高級(jí)運(yùn)算的集合。它的基本操作是并、交、差、笛卡爾積,另外還包括針對(duì)數(shù)據(jù)庫(kù)環(huán)境專門設(shè)計(jì)的操作,包括對(duì)關(guān)系進(jìn)行垂直分割(投影)、水平分割(選擇)、關(guān)系的結(jié)合(連接)等。

53.A

54.A解析:按照自左向右的運(yùn)算邏輯,選項(xiàng)A是先做x/y,然后再乘以x,顯然與題意不符。

55.B解析:數(shù)據(jù)庫(kù)管理系統(tǒng)是數(shù)據(jù)庫(kù)系統(tǒng)的核心,是負(fù)責(zé)數(shù)據(jù)庫(kù)的建立、使用和維護(hù)的軟件。數(shù)據(jù)庫(kù)管理系統(tǒng)建立在操作系統(tǒng)之上,實(shí)施對(duì)數(shù)據(jù)庫(kù)的統(tǒng)一管理和控制。用戶使用的各種數(shù)據(jù)庫(kù)命令以及應(yīng)用程序的執(zhí)行,最終都必須通過數(shù)據(jù)庫(kù)管理系統(tǒng)。另外,數(shù)據(jù)庫(kù)管理系統(tǒng)還承擔(dān)著數(shù)據(jù)庫(kù)的安全保護(hù)工作,按

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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)論