2021-2022年江蘇省鹽城市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題(含答案)_第1頁(yè)
2021-2022年江蘇省鹽城市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題(含答案)_第2頁(yè)
2021-2022年江蘇省鹽城市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題(含答案)_第3頁(yè)
2021-2022年江蘇省鹽城市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題(含答案)_第4頁(yè)
2021-2022年江蘇省鹽城市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題(含答案)_第5頁(yè)
已閱讀5頁(yè),還剩30頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(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ì)真題(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.

2.有以下程序:main{union{charch[2];intd;}s;d=0x4321;printf("%x,%x\n",S.ch[0],S.ch[l]);}在16位編譯系統(tǒng)上,程序執(zhí)行后的輸出結(jié)果是()A.21,43B.43,21C.43,00D.21,00

3.下面C程序段中count++語(yǔ)句執(zhí)行的次數(shù)為()A.15B.16C.31D.32

4.a、b、c、d變量均為float類(lèi)型且已正確賦值,下列選項(xiàng)中與數(shù)學(xué)式子“2ab/(5cd)”等價(jià)的C語(yǔ)言表達(dá)式是()。

A.2/5*a/c*d/b

B.a/(5*c*d)*(2*b)

C.2*a*b/5*c*d

D.2/5*a*d*(1/c*d)

5.

6.下列二叉排序樹(shù)中查找效率最高的是()

A.平衡二叉樹(shù)B.二叉查找樹(shù)C.沒(méi)有左子樹(shù)的二叉排序樹(shù)D.沒(méi)有右子樹(shù)的二叉排序樹(shù)

7.設(shè)一棵滿(mǎn)二叉樹(shù)共有15個(gè)結(jié)點(diǎn),則在該滿(mǎn)二叉樹(shù)中的葉子結(jié)點(diǎn)數(shù)為()

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

8.廣告系統(tǒng)為了做地理位置定向,將IPV4分割為627672個(gè)區(qū)間,并標(biāo)識(shí)了地理位置信息,區(qū)間之間無(wú)重疊,用二分查找將IP地址映射到地理位置信息,請(qǐng)問(wèn)在最壞的情況下,需要查找多少次?()

A.17B.18C.19D.20

9.以下關(guān)于指針的說(shuō)法錯(cuò)誤的是()。

A.可以向指針中寫(xiě)入任意數(shù)據(jù)

B.可以向指針?biāo)竷?nèi)存單元中寫(xiě)入數(shù)據(jù)

C.指針可以指向與其基類(lèi)型相同的普通變量

D.可以通過(guò)加法運(yùn)算,使指針指向下一個(gè)內(nèi)存單元

10.閱讀以下程序及對(duì)程序功能的描述,其中正確的是#include<stdio.h>main(){FILE*in,*out;charch,infile[10],outfile[10];printf(“Entertheinfilename:\n”);scanf(“%s”,infile);printf(“Entertheoutfilename:\n”);scanf(“%s”,outfile);if((in=foen(infile,“r”))==NULL)printf(“cannotopeninfile\n”);exit(0);if((out=fopen(outfile,“w”))==NULL)printf(“cannotopenoutfile\n”);exit(0);while(!feof(in))fputc(fgetc(in),out);fclose(in);fclose(out);A.程序完成將磁盤(pán)文件的信息在屏幕上顯示的功能

B.程序完成將兩個(gè)磁盤(pán)文件合二為一的功能

C.程序完成將一個(gè)磁盤(pán)文件復(fù)制到另一個(gè)磁盤(pán)文件中

D.程序完成將兩個(gè)磁盤(pán)文件合并并在屏幕上輸出

11.有以下程序:#include<stdio.h>main(){ints[12]=(1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i;for(i=0;i<12;i++) c[s[i]]++; for(i=1;i<5;i++) printf(“%d”,c[i]);printf(“\n”);}程序的運(yùn)行結(jié)果是()。

A.2344B.4332C.1234D.1123

12.參加百年阿里培訓(xùn)的n位同學(xué)結(jié)伴去西湖旁邊為游人指路,兩人一組,他們打算先讓體重之和恰好為102公斤的同學(xué)一組,請(qǐng)給出一個(gè)算法找到這樣的組合,或者確定他們中不存在這樣的組合,其中最優(yōu)的算法時(shí)間復(fù)雜度為?(假設(shè)體重均為整數(shù))()

A.O(log(n))B.O(n)C.O(nlog(n))D.O(n^2)

13.設(shè)單鏈表中結(jié)點(diǎn)的結(jié)構(gòu)為非空的循環(huán)單鏈表first的尾結(jié)點(diǎn)(由p所指向)滿(mǎn)足:______A.p->link==NULL;B.p==NULL;C.p->link==first;D.p==first;

14.算術(shù)運(yùn)算符和圓括號(hào)有不同的運(yùn)算優(yōu)先級(jí),對(duì)于表達(dá)式“a+b+c*(d+e)”,關(guān)于執(zhí)行順序,以下說(shuō)法正確的是()。

A.先執(zhí)行“(d+e)”得r2,再執(zhí)行“c*r2”得r3,再執(zhí)行“a+b”得r1,最后執(zhí)行“r1+r3”得表達(dá)式最后結(jié)果

B.先執(zhí)行“a+b”得r1,再執(zhí)行“(d+e)”得r2,再執(zhí)行“c*r2”得r3,最后執(zhí)行“r1+r3”得表達(dá)式最后結(jié)果

C.先執(zhí)行“(d+e)”得r2,再執(zhí)行“c*r2”得r3,再執(zhí)行“b+r3”得r4,最后執(zhí)行“a+r4”得表達(dá)式最后結(jié)果

D.先執(zhí)行“a+b”得r1,再執(zhí)行“r1+c”得r5,再執(zhí)行“(d+e)”得r2,最后執(zhí)行“r5*r2”得表達(dá)式最后結(jié)果

15.下列數(shù)據(jù)結(jié)構(gòu)中,能用二分法進(jìn)行查找的是()

A.無(wú)序線性表B.線性鏈表C.二叉鏈表D.順序存儲(chǔ)的有序表

16.下列鏈表中,其邏輯結(jié)構(gòu)屬于非線性結(jié)構(gòu)的是()

A.雙向鏈表B.帶鏈的棧C.二叉鏈表D.循環(huán)鏈表

17.

18.

19.向一個(gè)棧頂指針為h的帶頭結(jié)點(diǎn)的鏈棧中插入指針s所指的結(jié)點(diǎn)時(shí),應(yīng)執(zhí)行()操作。

A.h->next=s;

B.s->next=h;

C.s->next=h;h->next=s;

D.s->next=h->next;h->next=s;

20.第

22

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

#include"stdio.h"

main()

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

doubled,fun(int,int,int);

d=fun(a,b,c);

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

doublefun(inta,intb,intc)

{doubles;

s=a%b*c;

returns;}

A.27B.27.000000C.28D.28.000000

二、2.填空題(20題)21.以下函數(shù)的功能是計(jì)算請(qǐng)?zhí)羁铡?/p>

doublefun(intn)

{doubles=0.0,fac=1.0;inti;

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

{fac=fac【】;

s=s+fac;

}

returns;

}

22.用復(fù)合的賦值運(yùn)算符將變量x中的值增大2的賦值表達(dá)式是【】。

23.下列的for語(yǔ)句的循環(huán)次數(shù)為_(kāi)_____。

for(x=1,y=0;(y!=19)&&(x<7);x++);

24.當(dāng)輸入19、2時(shí),下列程序的運(yùn)行結(jié)果為【】;輸入254、16時(shí),則程序的運(yùn)行結(jié)果是【】。

main()

{chardata_symbols[17]="0123456789abcdefghijklmnopqrstuvwxyz";

inti=0,t,subscript,data_converted[32];

longnumber;

while(1)

{scanf("%ld,%d",&number,&t);

if(number>=O&&t>=2&&t<=16)break;

}

do

{dataconverted[i++]=number%t;

number=number/t;

}

while(number!=0);

for(--i;i>=0;--i)

{subscript=data_converted[i];

printf("%c",data_symbols[subscript]);

}

printf("\n");

}

25.若a是int型變量,則表達(dá)式(a=2*3,a*2),a+6的值為_(kāi)_____。

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.棧的基本運(yùn)算有三種:入棧、退棧和【】。

28.下列程序段中循環(huán)體的執(zhí)行次數(shù)是______。

a=15;

b=0;

do{b+=2;a-=2+b;}while(a>=0);

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

#include<stdio.h>

main()

{inta=0;

a+=(a=8);

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

}

30.設(shè)有如下宏定義

#defineMYSWAP(z,x,y){z=x;x=Y;Y=z;}

以下程序段通過(guò)宏調(diào)用實(shí)現(xiàn)變量a、b內(nèi)容的交換,請(qǐng)?zhí)羁铡?/p>

floata=5,b=16,c;

MYSWAP(【】,a,b);

31.與表達(dá)式a+=b等價(jià)的另一書(shū)寫(xiě)形式是______。

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

charb[]="ABCD";

main()

{

charb[30];

strcpy(&b[0],"GH");

strcpy(&b[1],"GH");

strcpy(&b[2],"GH");

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

}

33.有下列程序;

#include<stdio.h>

main()

{charc;

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

}

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

34.函數(shù)YangHui的功能是把楊輝三角形的數(shù)據(jù)賦給二維數(shù)組的下半三角,形式如下

1

11

121

1331

14641

其構(gòu)成規(guī)律是:

(1)第0列元素和主對(duì)角線元素均為1

(2)其余元素為其左卜方和正上方元素之和

(3)數(shù)據(jù)的個(gè)數(shù)每行遞增1

請(qǐng)將程序補(bǔ)充完整。

#defineN6

voidyanghui(intx[N][N])

{inti,j;

x[0][0]=1;

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

{x[i][0]=______=1;

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

x[i][j]=______;

}

}

35.下述函數(shù)統(tǒng)計(jì)字符串中的單詞個(gè)數(shù),單詞是指處在空格之間的字符序列,請(qǐng)?zhí)羁铡?/p>

intword(char*s)

{intnum=0,flag=0;

while(*s)

{if(【】=")flag=0;

elseif【】{flag=1;num++}

}

return【】;}

36.數(shù)據(jù)庫(kù)恢復(fù)是將數(shù)據(jù)庫(kù)從______狀態(tài)恢復(fù)到某一已知的正確狀態(tài)。

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

#defineMAX(a,b)(a>b?a:b)+1

main()

{inti=6,j=8,k;

printf("%d\n",MAX(i,j));

}

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

main()

{unsigneda=0112,x;

x=a>>3;

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

}

39.有以下結(jié)構(gòu)體說(shuō)明和變量的定義,且指針p指向變量a,指針q指向變量b,則不能把結(jié)點(diǎn)b連接到結(jié)點(diǎn)a之后的語(yǔ)句是【】。

structnode

{chardata;

structnode*next;}a,b

40.在程序設(shè)計(jì)階段應(yīng)該采取【】和逐步求精的方法,把一個(gè)模塊的功能逐步分解,細(xì)化為一系列具體的步驟,進(jìn)而用某種程序設(shè)計(jì)語(yǔ)言寫(xiě)成程序。

三、1.選擇題(20題)41.假定在一棵二叉樹(shù)中,雙分支結(jié)點(diǎn)數(shù)為15個(gè),單分支結(jié)點(diǎn)數(shù)為32個(gè),則葉結(jié)點(diǎn)數(shù)為_(kāi)_____個(gè)。

A.15B.16C.17D.47

42.有以下程序;intf1(doubleA){returna*a;}intf2(doublex,doubley){doublea,b;a=n(x);b=f1(y);returna+b;}main(){doublew;w=f2(1.1,2.0);┇}變量w中的值是()

A.5.21B.5C.5D.0

43.在深度為5的滿(mǎn)二叉樹(shù)中,結(jié)點(diǎn)的個(gè)數(shù)為

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

44.能正確表示邏輯關(guān)系""a≥10或a≤0"",的C語(yǔ)言表達(dá)式是_____。

A.a>=10ora<=0

B.a>=0|a<=10

C.a>=10&&a<=0

D.a>=10||a<=10

45.下列選項(xiàng)中不屑于C語(yǔ)言數(shù)據(jù)類(lèi)型的是()

A.整型B.邏輯型C.雙精度型D.枚舉型

46.有如下程序intfunc(inta,intb){return(a+b);}main(){intx=2,y=5,z=8,r;r=func(func(x,y),z);printf("%d\n",r);}該程序的輸出結(jié)果是______。

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

47.數(shù)據(jù)庫(kù)的物理設(shè)計(jì)是為一個(gè)給定的邏輯結(jié)構(gòu)選取一個(gè)適合應(yīng)用環(huán)境的______的過(guò)程,包括確定數(shù)據(jù)庫(kù)在物理設(shè)備上的存儲(chǔ)結(jié)構(gòu)和存取方法。

A.邏輯結(jié)構(gòu)B.物理結(jié)構(gòu)C.概念結(jié)構(gòu)D.層次結(jié)構(gòu)

48.以下不能正確計(jì)算代數(shù)式sin2()值的C語(yǔ)言表達(dá)式是()。

A.1/3*sin(1/2)*sin(1/2)

B.sin(0.5)*sin(0.5)/3

C.pow(sin(0.5),2)/3

D.1/3.0*pow(sin(1.0/2),2)

49.下列程序的輸出結(jié)果是()。point(char*pt);main(){charb[4]={'a','c','s','f},*pt=b;pt=point(pt);printf("%c\n",*pt);}point(char*p){p+=3;returnp;}

A.sB.cC.fD.a

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

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

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

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

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

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

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

52.有如下程序#include<stdio.h>main(){FILE*fpl;fpl=fopen("f1.txt","w");fprintf(fp1,"abc");fclose(fp1);}若文本文件f1.txt中原有內(nèi)容為:good,則運(yùn)行以上程序后文件f1.txt中的內(nèi)容為

A.goodabcB.abcdC.abcD.abcgood

53.在數(shù)據(jù)庫(kù)管理系統(tǒng)提供的數(shù)據(jù)語(yǔ)言中,負(fù)責(zé)數(shù)據(jù)的完整性、安全性的定義與檢查以及并發(fā)控制、故障恢復(fù)等功能的是

A.數(shù)據(jù)定義語(yǔ)言B.數(shù)據(jù)轉(zhuǎn)換語(yǔ)言C.數(shù)據(jù)操縱語(yǔ)言D.數(shù)據(jù)控制語(yǔ)言

54.若有如下程序:sub(p,n)int(*p)[3],n;{inti;for(i=0;i<=n;i++)printf("%d",*(*(p+i)+n));}main(){ints[3][3]={1,2,3,4,5,6,7,8,9};sub(s,2);}則程序運(yùn)行后的輸出結(jié)果是()

A.369B.248C.456D.789

55.______是構(gòu)成C語(yǔ)言程序的基本單位。

A.函數(shù)B.過(guò)程C.子程序D.子例程

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

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

57.對(duì)關(guān)系S和R進(jìn)行集合運(yùn)算,結(jié)果中既包含S中的所有元組也包含R中的所有元組,這樣的集合運(yùn)算稱(chēng)為()

A.并運(yùn)算B.交運(yùn)算C.差運(yùn)算D.積運(yùn)算

58.執(zhí)行以下語(yǔ)句后的輸出結(jié)果是______。intx=3,y=0;printf("%d,%d”,-1>x>-10&&1<x<10,-1>y>-10&&1<y<10);

A.12B.11C.12D.22

59.有以下程序main(){ihta[]{2,4,6,9,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.10B.11C.14D.15

60.有下列程序:main(){inti;for(i=1;i<=40;i++){if(i++%5==0)if(++i%8==0)printf("%d",i);}printf("\n");}執(zhí)行后的輸出結(jié)果是()。

A.5B.24C.32D.40

四、選擇題(20題)61.

62.有以下程序:

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

A.Zhao,m,85,90B.Qian,m,85,90C.Zhao,f,95,92D.Qian,f,95,92

63.

64.為了避免嵌套的條件分支語(yǔ)句if—else的二義性,C語(yǔ)言規(guī)定:C程序中的else總是與_____組成配對(duì)關(guān)系。

A.縮排位置相同的ifB.在其之前未配對(duì)的ifC.在其之前未配對(duì)的最近的ifD.同一行上的if

65.

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

#definef(x)x*x

main

{inta=6,b=2,c;

c=f(a)/f(b);

printf(“%d\n”,c);

}

A.9B.6C.36D.18

67.

68.

69.在位運(yùn)算中,操作數(shù)左移一位,其結(jié)果相當(dāng)于A.A.操作數(shù)乘以2

B.操作數(shù)除以2

C.操作數(shù)除以4

D.操作數(shù)乘以4

70.

71.

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

#include<stdio.h>

#defineS(X)X*X

voidmain

{inta=9,k=3,m=2;

a/=S(k+m)/s(k+m);

printf("%d",a);

}

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

72.

73.

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

A.程序設(shè)計(jì)的任務(wù)就是編寫(xiě)程序代碼并上機(jī)調(diào)試

B.程序設(shè)計(jì)的任務(wù)就是確定所用數(shù)據(jù)結(jié)構(gòu)

C.程序設(shè)計(jì)的任務(wù)就是確定所用算法

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

75.為了提高軟件的獨(dú)立性,模塊之間最好是()。

A.控制耦合B.公共耦合C.內(nèi)容耦合D.數(shù)據(jù)耦合

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

由關(guān)系R和S通過(guò)運(yùn)算得到關(guān)系T,則所使用的運(yùn)算為()。

A.笛卡爾積B.交C.并D.自然連接

77.

78.有以下程序:

#include<stdio.h>

main()

{inta=-2,b=0;

while(a++++b);

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

}

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

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

79.設(shè)有以下語(yǔ)句

charx=3,y=6,z;

z=x^y<<2;

則z的二進(jìn)制值是

A.00010100B.00011011C.00011100D.00011000

80.下列數(shù)據(jù)結(jié)構(gòu)中屬于非線性結(jié)構(gòu)的是()。

A.隊(duì)列

B.線性表

C.二叉樹(shù)

D.棧

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:求S的值。

例如,當(dāng)n為100時(shí),函數(shù)的值應(yīng)為1.566893。

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

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

試題程序:

六、程序設(shè)計(jì)題(1題)82.使用VC++2010打開(kāi)考生文件夾下prog1中的解決方案。此解決方案的項(xiàng)目中包含一個(gè)源程序文件prog1.c。在此程序中,已知學(xué)生的記錄由學(xué)號(hào)和學(xué)習(xí)成績(jī)構(gòu)成,N名學(xué)生的記錄已存入a結(jié)構(gòu)體數(shù)組中。請(qǐng)編寫(xiě)函數(shù)fun(),該函數(shù)的功能是找出成績(jī)最高的學(xué)生記錄,通過(guò)形參將其返回主函數(shù)(規(guī)定只有一個(gè)最髙分)。已給出函數(shù)的首部,請(qǐng)完成該函數(shù)。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入你編寫(xiě)的若干語(yǔ)句。試題程序:#include<stdlib.h>#include<stdio.h>#include<string.h>#include<conio.h>#defineN10typedefstructss/*定義結(jié)構(gòu)體*/{charnum[10];ints;}STU;fun(STUa[],STU*s){}voidmain(){STUa[N]={{“A01”,81},{“A02”,89},{“A03”,66},{“A04”,87},{“A05”,77},{“A06”,90},{“A07”,79},{“A08”,61},{“A09”,80},{“A10”,71}},m;inti;system(“CLS”);printf(“****Theoriginaldata****”);for(i=0;i<N;i++)printf(“No=%sMark=%d\n”,a[i].num,a[i].s);fun(a,&m);printf(“****THERESULT****\n”);printf(“Thetop:%s,%d\n”,m.num,m.s);}

參考答案

1.B

2.As是一個(gè)公用體,d的值分別與ch中的兩個(gè)元素的值相同,d的高位放在chFl]中、低位放在chl-0]中,因此輸出的結(jié)果為21,43。

3.A

4.B解析:選項(xiàng)A和選項(xiàng)D中首先計(jì)算2/5,因?yàn)閮蓚€(gè)計(jì)算分量都是整型,所以結(jié)果為2,與實(shí)際運(yùn)算不符;選項(xiàng)B中因?yàn)槌顺M(mǎn)足交換律,所以2*b放前面和放后面都是一樣的,所以滿(mǎn)足題目要求;選項(xiàng)C中的表達(dá)式等價(jià)于2abcd/5,所以不滿(mǎn)足題目要求。故應(yīng)該選擇B。

5.B本題考查標(biāo)準(zhǔn)輸入輸出函數(shù)和循環(huán)語(yǔ)句。gets(s)函數(shù)的作用是將輸入的字符讀入字符串s,直到遇到回車(chē)。而scanf函數(shù)接收字符串時(shí)的結(jié)束標(biāo)志為回車(chē)或者空格。因此選項(xiàng)B)不能,選項(xiàng)C)和選項(xiàng)D)中按字符逐個(gè)讀入字符串s中,直到讀入的字符是換行符為止,因此B正確。

6.A

7.BB)【解析】在具有11個(gè)結(jié)點(diǎn)的滿(mǎn)二叉樹(shù),其非葉子結(jié)點(diǎn)數(shù)為int(n/2),而葉子結(jié)點(diǎn)數(shù)等于總結(jié)點(diǎn)數(shù)減去葉子結(jié)點(diǎn)數(shù)。本題n=15,故非葉子結(jié)點(diǎn)數(shù)等于int(15/2)=7,葉子結(jié)點(diǎn)數(shù)等于15-7=8。

8.D

9.A指針變量必須區(qū)分基類(lèi)型,可以向指針?biāo)竷?nèi)存單元寫(xiě)入與基類(lèi)型相同的數(shù)據(jù),而不能寫(xiě)入任意數(shù)據(jù),選項(xiàng)A錯(cuò)誤,選項(xiàng)B正確;指針可以指向與其基類(lèi)型相同的普通變量,選項(xiàng)C正確;指針是一個(gè)內(nèi)存地址,它是一個(gè)整數(shù),可以通過(guò)加法運(yùn)算,使指針指向下一個(gè)內(nèi)存單元,選項(xiàng)D正確。故本題答案為A選項(xiàng)。

10.C

11.B在“for(i=0;i<12;i++)c[s[i]]++”中,數(shù)組元素s[i]的值作為數(shù)組c的下標(biāo)。當(dāng)退出循環(huán)時(shí),數(shù)組c的4個(gè)元素的值分別為4、3、3、2。故本題答案為B選項(xiàng)。

12.B

13.C

14.B題干表達(dá)式中,圓括號(hào)的優(yōu)先級(jí)最高,乘法運(yùn)算符次之,加法運(yùn)算符最低。同優(yōu)先級(jí)中,加法運(yùn)算符的結(jié)合性從左向右結(jié)合,所以題干中的表達(dá)式執(zhí)行順序是:先執(zhí)行“a+b”得r1,再執(zhí)行“(d+e)”得r2,再執(zhí)行“c*r2”得r3,最后執(zhí)行“r1+r3”得表達(dá)式最后結(jié)果。故本題答案為B選項(xiàng)。

15.DD)【解析】二分法查找只適用于順序存儲(chǔ)的有序表,表中的元素按值從小到大排列。

16.C數(shù)據(jù)的邏輯結(jié)構(gòu)是描述數(shù)據(jù)之間的關(guān)系,分兩大類(lèi):線性結(jié)構(gòu)和非線性結(jié)構(gòu)。線性結(jié)構(gòu)是n個(gè)數(shù)據(jù)元素的有序(次序)集合,指的是數(shù)據(jù)元素之間存在著“一對(duì)一”的線性關(guān)系的數(shù)據(jù)結(jié)構(gòu)。常用的線性結(jié)構(gòu)有:線性表,棧,隊(duì)列,雙隊(duì)列,數(shù)組,串。非線性結(jié)構(gòu)的邏輯特征是一個(gè)結(jié)點(diǎn)元素可能對(duì)應(yīng)多個(gè)直接前驅(qū)和多個(gè)后驅(qū)。常見(jiàn)的非線性結(jié)構(gòu)有:樹(shù)(二叉樹(shù)等),圖(網(wǎng)等),廣義表。

17.C

18.C

19.D

20.D

21./i或*(1.O/i)或/(double)i/i或*(1.O/i)或/(double)i解析:主函數(shù)中首先定義了兩個(gè)double型的變量s和fac,并給它們賦初值為0.0和1.0,在函數(shù)中s和fac的作用是存放和以及要加到的那一項(xiàng)的值。通過(guò)分析可知,第i項(xiàng)的值可以由第i-1項(xiàng)的值得到,即第i項(xiàng)是第i-1項(xiàng)的值除以i??梢?jiàn)橫線處應(yīng)添“/i”或與它等價(jià)的表達(dá)式。

22.x+=2

23.66解析:分析程序可知,每循環(huán)一次,x的值加1,然后檢測(cè)循環(huán)控制條件(y!=19)&&(x<7),因y的值不變,故滿(mǎn)足x<7時(shí)循環(huán)6次。

24.10011fe

25.1212解析:本題考查逗號(hào)表達(dá)式的運(yùn)算規(guī)則。逗號(hào)表達(dá)式的基本格式為:“表達(dá)式1,表達(dá)式2,…”,其整個(gè)表達(dá)式的結(jié)果取最后一個(gè)子表達(dá)式的值。本題中首先計(jì)算逗號(hào)表達(dá)式中的第1個(gè)表達(dá)式a=2*3=6,然后計(jì)算第2個(gè)表達(dá)式a*2,這時(shí)整個(gè)表達(dá)式的值為12,但要注意,因?yàn)榈?個(gè)表達(dá)式并沒(méi)有給a賦值,因此a的值不變;接下來(lái)執(zhí)行最后一個(gè)表達(dá)式a+6=12,所以整個(gè)表達(dá)式最后的值為12。

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

27.讀棧頂元素讀棧頂元素解析:棧的基本運(yùn)算有三種:入棧、退棧和讀棧頂元素。

入棧運(yùn)算是指在棧頂位置插入一個(gè)新元素。這個(gè)運(yùn)算有兩個(gè)基本操作:首先將棧頂指針進(jìn)一(即top加1),然后將新元素插入到棧頂指針指向的位置。

退棧運(yùn)算是指取出棧頂元素并賦給一個(gè)指定的變量。這個(gè)運(yùn)算有兩個(gè)基本操作:首先將棧頂元素(棧頂指針指向的元素)賦給一個(gè)指定的變量,然后將棧頂指針退一(即top減1)。

讀棧頂元素是指將棧頂元素賦給一個(gè)指定的變量。這個(gè)運(yùn)算不刪除棧頂元素,只是將它的值賦給一個(gè)變量。

28.33解析:本題考查do…while語(yǔ)句形式:

do循環(huán)體

while表達(dá)式

首先執(zhí)行循環(huán)體語(yǔ)句,然后檢測(cè)循環(huán)控制條件表達(dá)式的值,若為真,則重復(fù)執(zhí)行循環(huán)體語(yǔ)句,否則退出循環(huán)。第1次循環(huán):b+=2,b=2,a-=2+b,a=11;第2次循環(huán):b=4,a=5;第3次循環(huán):b=6,a=-3,此時(shí)再判斷循環(huán)條件不滿(mǎn)足,退出循環(huán)。

29.1616解析:本題中a+=8相當(dāng)于a=a+8。對(duì)表達(dá)式逐步進(jìn)行求解:在a+=(a=8)中,首先a被賦值為8,語(yǔ)句等價(jià)于a+=8;即a=a+8;結(jié)果為a=16。

30.cc解析:本題關(guān)鍵在考生是不是了解宏的基本運(yùn)用,在使用宏的時(shí)候明顯少了—個(gè)實(shí)參。在定義宏的時(shí)候變量z是用來(lái)做中間變量的,題目中缺的變量就是一個(gè)中間變量c。

31.a=a+ba=a+b解析:a+=b與a=a+b等價(jià),作用是把變量a的值加b后再賦給變量a。

32.GGGHGGGH解析:由于在函數(shù)main中定義了數(shù)組變量b,其將屏蔽全局變量b。對(duì)于一維數(shù)紐變量,其值為一常數(shù),等于數(shù)組首元素地址。strcpy(&b[0],'GH'),是將字符串'GH'復(fù)制到數(shù)組b中從首元數(shù)開(kāi)始的空間中,此是b中的字符串為”叫”:strcpy(&b[1],'GH'),是將字符串'GH'復(fù)制到數(shù)組b中從第二個(gè)元素開(kāi)始的空間中,此是b中的字符串為“GH”。執(zhí)行第三次strcpy函數(shù)后,b中的字符串為'GGGH'。

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

34.x[i][i]x[i-1][j-1]+x[i-1]或x[i-1][j]+x[i-1][j-1]x[i][i]\r\nx[i-1][j-1]+x[i-1]或x[i-1][j]+x[i-1][j-1]解析:本題考核的知識(shí)點(diǎn)是函數(shù)與算法結(jié)合在一起的應(yīng)用。在程序中用兩重循環(huán)。在第一層循環(huán)中將每行的第0列賦值為1,對(duì)角線上的元素賦值為1顯然在第一個(gè)空中應(yīng)該填入對(duì)角線上的元素即x[i][i]在第2重循環(huán)中給每行其他元素賦值,而在每行中除了第0列和對(duì)角線的元素外其他元素為其對(duì)應(yīng)的上一行中同列和同列的前一列的元素相加,所以在第二個(gè)空中應(yīng)該填入x[i-1][j-1]+x[i-1][j]。

35.*s++flag=0或*(s-1)=''num*s++\r\nflag=0或*(s-1)=''\r\nnum解析:在統(tǒng)計(jì)字符串單詞個(gè)數(shù)的算法中,本題的flag是為了記錄一個(gè)單詞是否結(jié)束。第13空應(yīng)填*s++;如果某個(gè)字符不是空格,則必須判斷它是否是單詞,如是,則使得flag的標(biāo)志為1,num的值加1。本題判斷方法是:先判斷s所指向的字符是否為空恪,如果是則使得flag=0,否則判斷前一個(gè)字符是否是空格,如果是則說(shuō)明這個(gè)字符是—個(gè)單詞的開(kāi)始,將flag標(biāo)志為1,num的值加1,如果不是,則不必記錄。故第14空應(yīng)填flag=0或*(s-1);最后一個(gè)空格需填寫(xiě)的是返回的單詞的個(gè)數(shù),即num。

36.錯(cuò)誤。錯(cuò)誤。解析:數(shù)據(jù)庫(kù)恢復(fù)是將數(shù)據(jù)庫(kù)中的數(shù)據(jù)從錯(cuò)誤狀態(tài)中恢復(fù)到某種邏輯一致的狀態(tài)。如果數(shù)據(jù)庫(kù)中包含成功事務(wù)提交的結(jié)果,則稱(chēng)數(shù)據(jù)庫(kù)處于一致性狀態(tài)。

37.99解析:本題考查宏定義與三目運(yùn)算符的綜合用法,宏定義是原樣替換,本題中,如果a>b成立,則a+1的值為整個(gè)表達(dá)式的值,否則為b+1的值為整個(gè)表達(dá)式的值,(應(yīng)注意后面的加1)。

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

39.a.next=aba.next=ab解析:選項(xiàng)A)中,指針變量q保存的就是變量b的地址,選項(xiàng)B)中的p是指針變量,應(yīng)該是p->next=&b;在選項(xiàng)D)中,用*運(yùn)算符取出結(jié)構(gòu)體變量,并且保存的就是b的地址。

40.自頂而下自頂而下

41.B

42.C

43.B解析:二叉樹(shù)有如下性質(zhì):深度為m的二叉樹(shù)最多有2的m次方再減1個(gè)結(jié)點(diǎn),也就是2m-1=25-1=32-1=31。由此可知答案為B。

44.D解析:C語(yǔ)言中的“或”關(guān)系用“||”表示,其他相關(guān)邏輯運(yùn)算符“與”用“&&”表示;運(yùn)算符“非”用“!”來(lái)表示。

45.B

46.D解析:調(diào)用函數(shù)func(x,y),返回x+y,即7;再調(diào)用函數(shù)func(7,z),返回7+z,即15。

47.B解析:根據(jù)數(shù)據(jù)庫(kù)物理設(shè)計(jì)的概念可知:為一個(gè)給定的邏輯數(shù)據(jù)模型選取一個(gè)最合適應(yīng)用要求的物理結(jié)構(gòu)的過(guò)程,就是數(shù)據(jù)庫(kù)的物理設(shè)計(jì)。數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)就是指數(shù)據(jù)庫(kù)在物理設(shè)備上的存儲(chǔ)結(jié)構(gòu)與存取方法。

48.A解析:A中sin(1/2)是0,因?yàn)?和2都是整數(shù),“/”在這里是整除。

49.C解析:本題考查函數(shù)調(diào)用時(shí)的參數(shù)傳遞。函數(shù)point的參數(shù)為字符指針,當(dāng)執(zhí)行函數(shù)point時(shí),剛開(kāi)始指針p指向“a”,經(jīng)過(guò)+3操作后,指針p指向“f”,所以最后的輸出結(jié)果是f。

50.BB.【解析】棧是一種特殊的線性表,其插入和刪除運(yùn)算都只在線性表的一端進(jìn)行,而另一端是封閉的。進(jìn)行插入、刪除的一端稱(chēng)為棧頂,封閉的一端稱(chēng)為棧底。棧頂元索是最后被插入的元素,也是最后被刪除的元素。棧是按先進(jìn)后出的原則組織數(shù)據(jù)的。

【知識(shí)拓展】“?!钡男问饺缡謽尩膹椣?,最后壓入的子彈總是最先被彈出,而最先壓人的子彈最后才被彈出,也就是“先進(jìn)后出”。

51.C解析:面向?qū)ο蟮脑O(shè)計(jì)方法與傳統(tǒng)的面向過(guò)程的方法有本質(zhì)不同。它的基本原理是,使用現(xiàn)實(shí)世界的概念抽象地思考問(wèn)題從而自然地解決問(wèn)題。它強(qiáng)調(diào)模擬現(xiàn)實(shí)世界中的概念而不強(qiáng)調(diào)算法,它鼓勵(lì)開(kāi)發(fā)者在軟件開(kāi)發(fā)的絕大部分中都用應(yīng)用領(lǐng)域的概念去思考。

52.C解析:主函數(shù)中定義了一個(gè)文件指針fp1,然后通過(guò)fopen()函數(shù),以寫(xiě)的方式打開(kāi)文件“fl.txt”,并讓指針fp1指向它,接著調(diào)用fpfintf()函數(shù)將“abc”寫(xiě)到文件fp1所指的文件里,由于開(kāi)始fp1指向文件的“fl.txt”的開(kāi)始位置,因此“abc”將把文件“fl.txt”里原來(lái)的內(nèi)容“good”覆蓋掉,故文件“fl.txt”里最后的內(nèi)容為“abc”。

53.D解析:在數(shù)據(jù)庫(kù)管理系統(tǒng)提供的數(shù)據(jù)語(yǔ)言中,數(shù)據(jù)控制語(yǔ)言負(fù)責(zé)數(shù)據(jù)的完整性、安全性的定義與檢查以及并發(fā)控制、故障恢復(fù)等功能。

54.A

55.A解析:C程序是由函數(shù)構(gòu)成的?!獋€(gè)C源程序至少包含—個(gè)main函數(shù),也可以包含—個(gè)main函數(shù)和若干個(gè)其他函數(shù),因此,函數(shù)是C程序的基本單位。

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

57.AA)【解析】關(guān)系的并運(yùn)算是指由結(jié)構(gòu)相同的兩個(gè)關(guān)系合并,形成一個(gè)新的關(guān)系,新關(guān)系中包含兩個(gè)關(guān)系中的所有元組。

58.B

59.C解析:題目首先申請(qǐng)了一個(gè)整型數(shù)組a,并讓一個(gè)指針變量p指向數(shù)組的元素arl)。然后使用一個(gè)for循環(huán),循環(huán)變量x從1遞增到2,即循環(huán)兩次.在循環(huán)體中每次讓y累加p[x]的值,而p[x)寫(xiě)成指針形式就是*(p+x)。所以?xún)纱蝭加的值分別是a[2]和a[3]的值,故最終輸出6+8=14。應(yīng)該選擇C。

60.C解析:在for循環(huán)體中,首先判斷自變量i能否被5整除,然后再自加兩次,最后判斷i能否被8整除。當(dāng)for循環(huán)執(zhí)行到第30次時(shí),i的值為30能被5整除,然后i經(jīng)過(guò)兩次自加1運(yùn)算,值變?yōu)?2,能被8整除,故執(zhí)行“printf('%d',i);”語(yǔ)句,即輸出32。本題的答案為選項(xiàng)C)。

61.C

62.D本題考查結(jié)構(gòu)體的相關(guān)操作以及傳值、傳址的區(qū)別,該題中調(diào)用f函數(shù)后,會(huì)生成參數(shù)C的一個(gè)副本,而不會(huì)改變c的值,所以c值維持原值,選項(xiàng)D正確。

63.B

64.C

65.D

66.C

67.A

68.C

69.A左移運(yùn)算符“<<”是雙目運(yùn)算符,其功能是把“<<”左邊的運(yùn)算數(shù)的

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論