2021-2022年廣東省深圳市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)_第1頁(yè)
2021-2022年廣東省深圳市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)_第2頁(yè)
2021-2022年廣東省深圳市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)_第3頁(yè)
2021-2022年廣東省深圳市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)_第4頁(yè)
2021-2022年廣東省深圳市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)_第5頁(yè)
已閱讀5頁(yè),還剩35頁(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ì)預(yù)測(cè)試題(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.有下列函數(shù)定義:fun(floath){printf("%f,%f\n",h,h*h);)該函數(shù)的類型是()。A.int類型B.float類型C.void類型D.函數(shù)無(wú)類型說(shuō)明,定義有錯(cuò)

2.設(shè)有說(shuō)明:charw;intx;f1oaty;doublez;則表達(dá)式w*x+z-y值的數(shù)據(jù)類型為()。

A.floatB.charC.intD.double

3.設(shè)有以下程序段:structMP3{charname[20];charcolor;floatprice;}std,*ptr;ptr=&std:若要引用結(jié)構(gòu)體變量std中的color成員,寫法錯(cuò)誤的是()。A.std.colorB.ptr->colorC.std->colorD.(*ptr)color

4.下面程序的運(yùn)行結(jié)果是()。#include"stdio.h"main(){inti;for(i=1;i<=5;i++){if(i%2)printf("*");elseprintf("#");}}

A.*#*#*B.#*#*#*C.*#*#D.#*#*

5.

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

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

7.

8.若主調(diào)用函數(shù)類型為double,被調(diào)用函數(shù)定義中沒有進(jìn)行函數(shù)類型說(shuō)明,而return語(yǔ)句中的表達(dá)式類型為float型,則被調(diào)函數(shù)返回值的類型是()。

A.int型B.float型C.double型D.由系統(tǒng)當(dāng)時(shí)的情況而定

9.設(shè)線性鏈表中結(jié)點(diǎn)的結(jié)構(gòu)為(data,next)。已知指針q所指結(jié)點(diǎn)是指針結(jié)點(diǎn)p的直接前驅(qū),若在*q與*p之間插入結(jié)點(diǎn)*s,則應(yīng)執(zhí)行下列()操作。

A.s->next=p->next;p->next=s;

B.q->next=s;s->next=p;

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

D.p->next=s;s->next=q;

10.依次插入序列(50,72,43,85,75,20,34,45,65,30)后建立的二叉搜索樹中,查找元素30要進(jìn)行()次元素間的比較。

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

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

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

12.

13.下列定義數(shù)組的語(yǔ)句中,正確的是()。

A.intN=10;intx[N]:

B.#defineNl0;intx[N];

C.intx[0..10];

D.intx[];

14.已知A=10,B=20,下類表達(dá)式正確的是()。

A.C=(A++)*(--B)=200

B.A-=30

C.C=(A++)+(B--)=30

D.C=(++A)*(--B)=210

15.有以下語(yǔ)句,則對(duì)a數(shù)組元素的引用不正確的是(0≤i≤9)inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;A.A.a[p-a]

B.*(&a[i])

C.p[i]

D.*(*(a+i))

16.在具有101個(gè)元素的順序表中查找值為x的元素結(jié)點(diǎn)時(shí),平均比較元素的次數(shù)為()。

A.50B.51C.100D.101

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

A.算術(shù)運(yùn)算符中不包含“=”運(yùn)算符

B.模運(yùn)算符“%”是c語(yǔ)言基本的算術(shù)運(yùn)算符

C.算術(shù)運(yùn)算符中只有“*”、“/”優(yōu)先級(jí)高于關(guān)系運(yùn)算符

D.自加和自減運(yùn)算符只能用于變量,而不能用于常量或表達(dá)式

18.數(shù)據(jù)庫(kù)是______的集合,它具有統(tǒng)一的結(jié)構(gòu)形式并存放于統(tǒng)一的存儲(chǔ)介質(zhì)內(nèi),可被各個(gè)應(yīng)用程序所共享。

A.視圖B.消息C.數(shù)據(jù)D.關(guān)系

19.以下關(guān)于C語(yǔ)言的敘述中正確的是()。

A.C語(yǔ)言中的注釋不可以?shī)A在變量名或關(guān)鍵字的中間

B.C語(yǔ)言中的變量可以在使用之前的任何位置進(jìn)行定義

C.在C語(yǔ)言算術(shù)表達(dá)式的書寫中,運(yùn)算符兩側(cè)的運(yùn)算數(shù)類型必須一致

D.C語(yǔ)言的數(shù)值常量中夾帶空格不影響常量值的正確表示

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

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

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

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

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

二、2.填空題(20題)21.下列程序的輸出結(jié)果是______.

#include<stdio.h>

fun()

{staticinta=O;

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

}

main()

{intcc;

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

printf("\n");

}

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

structstud

{charnum[6];

mts[4];

doubleave;

}a,*p;

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

#include<string.h>

main()

{charch[]="abc",x[3][4];inti;

for(i=0;i<3;i++)strcpy(x[i],ch);

for(i=0;i<3;i++)printf("%s",&x[i][i]);

printf("\n");

}

24.以下程序中,fun函數(shù)的功能是求3行4列二維數(shù)組每行元素中的最大值。請(qǐng)?zhí)羁铡?/p>

#include<stdio,h>

voidfun(int,int,int(*)[4],int*);

main()

{inta[3][4]={{12,41,36,28},{19,33,15,27},{3,27,19,1}},b[3],i;

fun(3,4,a,b);

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

prinff("\n");

}

voidfun(intm,intn,intar[][4],int*br)

{inti,j,x;

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

{x=ar[i][0];'

for(j=0;j<n;j++)if(x<ar[i][j])x=ar[i][j];

【】=x;

}

}

25.如下圖所示的二叉樹后序遍歷序列是【】。

26.設(shè)函數(shù)findbig已定義為求3個(gè)數(shù)中的最大值。以下程序?qū)⒗煤瘮?shù)指針調(diào)用findbig函數(shù)。請(qǐng)?zhí)羁铡?/p>

main()

{intfindbig(int,int,int);

int(*f)(),x,y,z,big;

f=【】;

seanf("%d%d%d",&x,&y,&z);

big=(*f)(x,y,2);

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

}

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

main()

{

charc1,c2;

for{c1='0',c2='9';c1<c2;c1++,C2--)

printf("%c%c",c1,c2);

printf("\n");

}

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

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

2223445666677899101010

刪除后,數(shù)組中的內(nèi)容應(yīng)該是:

2345678910。

請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

#defineN80

infun(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");

}

29.當(dāng)輸入的數(shù)據(jù)為2、5時(shí),則下列程序的運(yùn)行結(jié)果為【】。

#include<stdio.h>

#definemax100

main()

{

intf[max],i,j,k,m;

scanf("%d%d",&k,&m);

for(i=0;i<=m;i++)f[i]=0;

f[k-1]=1;

for(i=k;i<=m;i++)

for(j=i-k;j<=i-1;j++)f[i]+=f[i];

printf("%d%10d%10d\n",k,m,f[m]);

getch();

}

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

#include<stdio.h>

main()

{intx=3,y=2,z=1;

if(x<y)

if(y<0)z=0;

elsez+=1;

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

}

31.以下程序的功能是建立一個(gè)帶有頭結(jié)點(diǎn)的單向鏈表,鏈表結(jié)點(diǎn)中的數(shù)據(jù)通過鍵盤輸入,當(dāng)輸入數(shù)據(jù)為-1時(shí),表示輸入結(jié)束(鏈表頭結(jié)點(diǎn)的data域不放數(shù)據(jù),表空的條件是ph->next==NULL),請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

structlist{intdata;structlist*next;};

structlist*creatlist()

{structlist*p,*q,*ph;inta;ph=(structlist*)malloc(sizeof(structlist));

p=q=ph;printf("Inputanintegernumber;entre-1toend:\n");

scanf("%d",&a);

while(a!=-1)

{p=(structlist*)malloc(sizeof(structlist));

【】=a;q->next=p;【】=p;scanf("%d",&a);}

p->next=′\0;return(ph);}

main()

{structlist*head;head=creatlist();}

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

33.下面程序

main()

{inti,j,m,n;

i=5;

j=10;

m=++i;

n=j++;

printf("%d,%d,%d,%d",i,j,m,n);

}

運(yùn)行后,i,j,m,n的值分別是_______。

34.在循環(huán)中,continue語(yǔ)句與break語(yǔ)句的區(qū)別是:______語(yǔ)句只是結(jié)束本次循環(huán),然后進(jìn)行循環(huán)的條件判定。

35.函數(shù)voidfun(float*sn,intn)的功能是:根據(jù)以下公式計(jì)算S,計(jì)算結(jié)果通過形參指針sn傳回;n通過形參傳入,n的值大于等于0。請(qǐng)補(bǔ)全程序。

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/(2*i+1);

s+=w;

}

【】=s;

}

36.數(shù)據(jù)庫(kù)系統(tǒng)其內(nèi)部分為三級(jí)模式,即概念模式、內(nèi)模式和外模式。其中,______是用戶的數(shù)據(jù)視圖,也就是用戶所見到的數(shù)據(jù)模式。

37.軟件工程研究的內(nèi)容主要包括:【】技術(shù)和軟件工程管理。

38.與結(jié)構(gòu)化需求分析方法相對(duì)應(yīng)的是【】方法。

39.下列程序?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<30++)

______;

}

}

40.程序測(cè)試分為靜態(tài)分析和動(dòng)態(tài)測(cè)試。其中【】是指不執(zhí)行程序,而只是對(duì)程序文本進(jìn)行檢查,通過閱讀和討論,分析和發(fā)現(xiàn)程序中的錯(cuò)誤。

三、1.選擇題(20題)41.模塊本身的內(nèi)聚是模塊獨(dú)立性的重要性度量因素之—。在7類內(nèi)聚中,具有最強(qiáng)內(nèi)聚的—類是______。

A.順序性內(nèi)聚B.過程性內(nèi)聚C.邏輯性內(nèi)聚D.功能性內(nèi)聚

42.下列選項(xiàng)中不屬于軟件生命周期開發(fā)階段任務(wù)的是()。

A.軟件測(cè)試B.概要設(shè)計(jì)C.軟件維護(hù)D.詳細(xì)設(shè)計(jì)

43.以下語(yǔ)句或語(yǔ)句組中能正確進(jìn)行字符串賦值的是()。

A.ehar以*sp;*sp="right!";

B.chars[10];s="right!";

C.chars[10];*s="right!";

D.char*sp="right!";

44.有以下函數(shù)fun(char*a,char*b){while((*a!='\0')&&(*b!='\0')&&(*a==*b)){a++;b++;}return(*a-*b);}該函數(shù)的功能是______。

A.計(jì)算a和b所指字符串的長(zhǎng)度之差

B.將b所指字符串連接到a所指字符串中

C.將b所指字符串連接到a所指字符串后面

D.比較a和b所指字符串的大小

45.排序方法中,將整個(gè)無(wú)序序列分割成若干小的子序列并分別進(jìn)行插入排序的方法,稱為______。

A.希爾排序B.冒泡排序C.插入排序D.選擇排序

46.以下敘述中正確的是

A.預(yù)處理命令行必須位于源文件的開頭

B.在源文件的一行上可以有多條預(yù)處理命令

C.宏名必須用大寫字母表示

D.宏替換不占有程序的運(yùn)行時(shí)間

47.對(duì)于n個(gè)結(jié)點(diǎn)的單向鏈表(無(wú)表頭結(jié)點(diǎn)),需要指針單元的個(gè)數(shù)至少為______。

A.n-1B.nC.n+1D.2n

48.標(biāo)準(zhǔn)庫(kù)函數(shù)fgets(s,n,file)的功能是()。

A.從文件file中讀取長(zhǎng)度為n的字符串存入字符數(shù)組s中

B.從文件file中讀取長(zhǎng)度不超過n-1個(gè)字符的字符串放到字符數(shù)組s中

C.從文件file中讀取n個(gè)字符串存入字符數(shù)組s中

D.從文件file中讀取長(zhǎng)度為n-1個(gè)字符的字符串存入字符數(shù)組s中

49.執(zhí)行語(yǔ)句printf("%u\n",+12345)的輸出結(jié)果是()。

A.12345B.0C.-1D.非定值

50.已知i、j、k為int型變量,若要從鍵盤輸入2、3、4<CR>,使i、j、k的值分別為2、3、4,下列正確的輸入語(yǔ)句是()。

A.scanf("%3d,%3d,%3d",&i,Aj,&k);

B.scanf("%d,%d,%d",&i,&j,&k);

C.scanf("%d%d%d",&i,&J,&k);

D.scanf("i=%d,j=%d,k=%d",&i,&j,&k);

51.若有語(yǔ)句:char*line[5];,以下敘述中正確的是

A.定義line是一個(gè)數(shù)組,每個(gè)數(shù)組元素是一個(gè)基類型為char的指針變量

B.定義line是一個(gè)指針變量,該變量可以指向一個(gè)長(zhǎng)度為5的字符型數(shù)組

C.定義line是一個(gè)指針數(shù)組,語(yǔ)句中的。號(hào)稱為間址運(yùn)算符

D.定義line是一個(gè)指向字符型函數(shù)的指針

52.若要用下面的程序片段指針變量p指向一個(gè)存儲(chǔ)整型變量的動(dòng)態(tài)存儲(chǔ)單元int*p;p=______malloc(sizeof(int));則應(yīng)填入______。

A.intB.int*C.(*int)D.(int*)

53.以下不能正確計(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)

54.以下程序有錯(cuò),錯(cuò)誤原因是main(){int*p,i;char*q,ch;p=&i;q=&ch;*p=40;*p=*q;……}

A.p和q的類型不一致,不能執(zhí)行*p=*q;語(yǔ)句

B.*p中存放的是地址值,因此不能執(zhí)行*p=40;語(yǔ)句

C.q沒有指向具體的存儲(chǔ)單元,所以*q沒有實(shí)際意義

D.q雖然指向了具體的存儲(chǔ)單元,但該單元中沒有確定的值,所以執(zhí)行*p=*q;沒有意義,可能會(huì)影響后面語(yǔ)句的執(zhí)行結(jié)果

55.若要求定義具有10個(gè)血型元素的一維數(shù)組a,則以下定義語(yǔ)句中錯(cuò)誤的是()。

A.#definmeN10inta[N];

B.#definen5inta[2*n];

C.inta[5+5];

D.intn=10,a[n];

56.設(shè)有定義:intk=0;,以下選項(xiàng)的四個(gè)表達(dá)式中與其他三個(gè)表達(dá)式的值不相同的是()。

A.k++B.k+=1C.#NAME?D.k+1

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

typedefstructS

{intg;charh;}T;

則下面敘述中正確的是()A.可用S定義結(jié)構(gòu)體變量B.可以用T定義結(jié)構(gòu)體變量C.S是struct類型的變量D.T是structS類型的變量

58.定義結(jié)構(gòu)體數(shù)組:

structstu

{intnum;

charname[20];

}x[5]={1,"LI",2,"ZHAO",3,"WANG",4,"ZHANG",5,"LIU"};

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

printf("%d%c",x[i].num,x[i].name[2];

以上程序段的輸出結(jié)果為()。

A.2A3N4A5UB.112A3H41C.1A2N3A4UD.2H3A4H51

59.面向?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)域的概念去思考

60.下列程序的運(yùn)行結(jié)果是()。main(){intx=1,y=3,a=0;while(x++!=(y-=1)){a+=1;if(y<x)break;}printf("%d,%d,%d\n",x,y,a);}

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

四、選擇題(20題)61.

62.若i、j已定義成mt型,則下列程序段中內(nèi)循環(huán)體的總執(zhí)行次數(shù)是()。for(i=6;i>0;i--)for(j=0;j<4;j++){…}A.20B.24C.25D.30

63.兩次運(yùn)行下面的程序,如果從鍵盤上分別輸入6和3,則輸出結(jié)果是()。

if(x++>5)printf("%d",x);

elseprintf("%d\n",x--);

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

64.以下四個(gè)程序中,完全正確的是()。

65.下列排序方法中,最壞情況下比較次數(shù)最少的是()。

A.冒泡排序B.簡(jiǎn)單選擇排序C.直接插入排序D.堆排序

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

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

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

67.以下選項(xiàng)中,能用作數(shù)據(jù)常量的是______。A.o115B.0118C.1.5e1.5D.115L

68.下列選項(xiàng)中屬于面向?qū)ο笤O(shè)計(jì)方法主要特征的是()。A.繼承B.自頂向下C.模塊化D.逐步求精

69.

有以下程序:

main

{intx=102,y=012;

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

}

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

A.10,01B.02,12C.102,10D.02,10

70.有以下函數(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ù)

71.有以下程序

#include<stdio.h>

voidprt(int*x,int*y,int*z)

{printf("%d,%d,%d\n",++*x,++*y,*z++);}

main()

{inta=10,b=40,c=20;

prt(&a,&b,&c);

prt(&a,&b,&c);

}

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

72.下列選項(xiàng)中,能夠滿足“若字符串sl等于字符串s2,則執(zhí)行sT”要求的是()。

A.

B.

C.

73.一棵二叉樹共有25個(gè)結(jié)點(diǎn),其中5個(gè)是葉子結(jié)點(diǎn),則度為l的結(jié)點(diǎn)數(shù)為()。

A.16B.10C.6D.4

74.對(duì)于循環(huán)隊(duì)列,下列敘述中正確的是()。

A.循環(huán)隊(duì)列中元素的個(gè)數(shù)是由隊(duì)頭指針和隊(duì)尾指針共同決定的

B.在循環(huán)隊(duì)列中,只需要隊(duì)頭指針就能反映隊(duì)列中元素的動(dòng)態(tài)變化情況

C.在循環(huán)隊(duì)列中,隊(duì)頭指針一定大于隊(duì)尾指針

D.在循環(huán)隊(duì)列中,隊(duì)頭指針一定小于隊(duì)尾指針

75.若有說(shuō)明:inti,j=7,*p=&i;,則與i=j;等價(jià)的語(yǔ)句是()。

A.i=*p;B.*p=*&j;C.i=&j;D.i=**p;

76.在數(shù)據(jù)庫(kù)設(shè)計(jì)中,用E-R圖來(lái)描述信息結(jié)構(gòu),但不涉及信息在計(jì)算機(jī)中的表示,它是數(shù)據(jù)庫(kù)設(shè)計(jì)的()階段。

A.需求分析B.概念設(shè)計(jì)C.邏輯設(shè)計(jì)D.物理設(shè)計(jì)

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

A.20,024,0x14

B.20,24,14

C.20,0x14,024

D.20,20,20

78.

79.有以下程序

floatfun(intx,inty)

{return(x+y);}

main()

{inta=2,b=5,c=8;

printf("%3.0f\n",fun((int)fun(a+c,b),a-c));

}

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

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

C.21D.9.0

80.設(shè)有以下定義uniondata{intd1;floatd2;)demo;則下面敘述中錯(cuò)誤的是()。A.變量demo與成員d2所占的內(nèi)存字節(jié)數(shù)相同

B.變量demo中各成員的地址相同

C.變量demo和各成員的地址相同

D.若給demo.d1賦99后,demo.d2中的值是99.0

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc的功能是計(jì)算正整數(shù)m各位上數(shù)字的平方和。例如,輸入498,則輸出應(yīng)該是161。請(qǐng)修改程序中的錯(cuò)誤,使它能得到正確結(jié)果。注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:#include<stdlib.h>#include<stdio.h>#include<conio.h>longproc(10ngm){//****found****longsum=1;do{sum+=(m%10)*(m%10);m/=l0;//****found****}while(m)return(sum);}voidmain{longn;system("CLS");printf("Pleaseenteranumber:");scanf("%1d",&n);printf("\n%ld\n",proc(n));}

六、程序設(shè)計(jì)題(1題)82.下列程序定義了M×M的二維數(shù)組,并在主函數(shù)中自動(dòng)賦值。請(qǐng)編寫函數(shù)fun(intarr[][M]),該函數(shù)的功能是使數(shù)組左下半三角元素中的值全部置成0。例如,arr數(shù)組中的值為:

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

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

試題程序:

參考答案

1.A本題考查函數(shù)值的類型,在函數(shù)定義時(shí),由于函數(shù)沒有說(shuō)明其類型,系統(tǒng)默認(rèn)一律自動(dòng)按整型(int)處理。

2.D

3.C【答案】C

【知識(shí)點(diǎn)】結(jié)構(gòu)體成員變量的引用

【解析】結(jié)構(gòu)體變量包括一個(gè)或多個(gè)成員變量,引用其成員變量的語(yǔ)法格式如下:

結(jié)構(gòu)體變量.成員變量。通過結(jié)構(gòu)體指針變量獲得其結(jié)構(gòu)體變量的成員變量的一般形式為:(*結(jié)構(gòu)體指針變量).成員變量,也可以使用:結(jié)構(gòu)體指針變量->成員變量來(lái)引用成員變量。

4.A解析:分析程序呵知.程序循環(huán)5次,然后利用if語(yǔ)句決定每次循環(huán)時(shí)輸出的字符。當(dāng)i為奇數(shù)時(shí),i%2=1,if(i%2)為真,輸出“*”;當(dāng)i為偶數(shù)時(shí),i%2=0,if(i%2)為假,執(zhí)行else語(yǔ)句,輸出“#”,所以當(dāng)i取1、3、5值時(shí)輸出“*”,當(dāng)i取2、4值時(shí)輸出“#”。

5.C

6.A

7.B

8.A

9.B

10.B

11.A參數(shù)r的傳遞是地址傳遞,函數(shù)調(diào)用會(huì)改變其值。函數(shù)f的功能是:判斷n是否為3或5的倍數(shù),如果是,則將指針r所指的內(nèi)存空間賦值為n除以3或5的商;否則n遞減,直到它可以被3或5整除。初始時(shí)調(diào)用函數(shù)f(7,&r);n=7,執(zhí)行else子句,調(diào)用f(6,&r1);后n=6,執(zhí)行語(yǔ)句if(n%3==0)r1=n/3;,此后執(zhí)行語(yǔ)句*r=rl;。所以r=6/3=2。

12.D

13.D選項(xiàng)A、B中n為變量,C語(yǔ)言中不允許動(dòng)態(tài)定義數(shù)組維數(shù),即維數(shù)不能是變量。選項(xiàng)C無(wú)此語(yǔ)法。

14.C

15.D

16.B

17.C

18.C解析:數(shù)據(jù)庫(kù)是數(shù)據(jù)的集合,其中的數(shù)據(jù)是按數(shù)據(jù)所提供的數(shù)據(jù)模式存放的,它能構(gòu)造復(fù)雜的數(shù)據(jù)結(jié)構(gòu),以建立數(shù)據(jù)之間的內(nèi)在聯(lián)系與復(fù)雜的關(guān)系-故答案為C。

19.B解析:C語(yǔ)言中注釋可以放在任何位置,選項(xiàng)A錯(cuò)誤;C語(yǔ)言中的變量只要在使用之前定義即可,位置可以是使用前的任何位置,故選項(xiàng)B正確;C語(yǔ)言中兩側(cè)數(shù)據(jù)類型可以不一致,系統(tǒng)可進(jìn)行強(qiáng)制類型轉(zhuǎn)換,選項(xiàng)C錯(cuò)誤;C語(yǔ)言數(shù)值常量中不允許存在空格,選項(xiàng)D錯(cuò)誤。

20.C指針變量的值只能是存儲(chǔ)單元地址,而不能是一個(gè)整數(shù),故選項(xiàng)C錯(cuò)誤。

21.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所做的改變都要保存。

22.2222解析:C語(yǔ)言里char類型占1個(gè)字節(jié),int類型占2個(gè)字節(jié),float類型占4個(gè)字節(jié),double類型占8個(gè)字節(jié),因此變量a在內(nèi)存中所占字節(jié)數(shù)=1*6+4*2+1*8=6+8+8=22。

23.abcbcc

24.br[i]或*(br+i)br[i]或*(br+i)解析:程序中的數(shù)組a是一個(gè)3行4列的二維數(shù)組,一維數(shù)組b用于存放每行的最大數(shù)。在函數(shù)fun中,通過二重for循環(huán)求每行的最大數(shù),外層for循環(huán)用于控制行數(shù),內(nèi)層for循環(huán)用于控制列數(shù),當(dāng)外層循環(huán)執(zhí)行一次時(shí),內(nèi)層循環(huán)則從一行的4個(gè)數(shù)中找出最大數(shù)x,然后將最大值x賦給數(shù)組br,故空格處應(yīng)填br[i]或*(br+i)。

25.GDBHIEFCAGDBHIEFCA解析:后序遍歷二叉樹的順序?yàn)椋汉笮虮闅v左子樹→后序遍歷右子樹→訪問根結(jié)點(diǎn)。按照定義,后序遍歷序列是GDBHIEFCA。

26.findbigfindbig解析:本題首先定義了一個(gè)指向函數(shù)的指針變量f,如果希望讓它指向某個(gè)函數(shù),只需把函數(shù)名賦給該指針變量即可。所以說(shuō)本題的空格處應(yīng)該填入函數(shù)名findbig。

27.918273645918273645解析:題目中為for循環(huán)定義了兩個(gè)字符型循環(huán)變量c1和c2,循環(huán)開始時(shí)分別初始化為字符'0'和'9',然后每次循環(huán)結(jié)束給c1增1、c2減1,循環(huán)條件為c1<c2,即讓c1的值依次為'0'、'1'、'2'…,c2的值依次為'9'、'8'、'7'…,直到兩個(gè)數(shù)相遇時(shí)結(jié)束循環(huán)。又因?yàn)樵撗h(huán)的循環(huán)體每次按字符形式輸出c1和c2的值.所以最終的輸出結(jié)果為:0918273645。

28.!=returnj!=\r\nreturnj解析:本題程序的流程是:讓i,j都從1開始其中j用于控制刪除后剩下的數(shù)中的下標(biāo),i用于搜索原數(shù)組中的元素。j始終是新數(shù)組已有元素中最后一個(gè)元素的下一個(gè)元素的下標(biāo),所以if()中的條件是a[j-1)!=a[i],其中a[j-1]就是新數(shù)組中的最后一個(gè)元素,若條件成立則表示出現(xiàn)了不同的值,所以a[i]要留下到新數(shù)組中。注本題中i,j的初值都要從1開始。該算法只能用于數(shù)組已排序的題目中。

29.255

30.11解析:ifelse語(yǔ)句的功能是:若表達(dá)式的值為真,執(zhí)行語(yǔ)句1,并跳過其他語(yǔ)句,執(zhí)行ifelse語(yǔ)句的下一條語(yǔ)句,若表達(dá)式的值為假,跳過語(yǔ)句1,執(zhí)行語(yǔ)句2,依次往下判斷。題中,x=3,y=2,第一個(gè)if語(yǔ)句的控制條件x<y就不滿足,又沒有與之配對(duì)的else語(yǔ)句,所以直接執(zhí)行printf語(yǔ)句,在整個(gè)過程中變量z的值都沒發(fā)生變化。

31.p->dataqp->data,q解析:本題考查的是鏈表這一數(shù)據(jù)結(jié)構(gòu)對(duì)結(jié)構(gòu)體變量中數(shù)據(jù)的引用。鏈表的特點(diǎn)是結(jié)構(gòu)體變量中有兩個(gè)域,一個(gè)是數(shù)據(jù),另一個(gè)是指向該結(jié)構(gòu)體變量類型的指針,用以指明鏈表的下一個(gè)結(jié)點(diǎn)。

32.變換型典型的數(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ù)。

33.611610。6,11,6,10。解析:本題考查自加的前置和后置的區(qū)別。

34.continuecontinue解析:continue語(yǔ)句只是結(jié)束本次循環(huán),然后進(jìn)行循環(huán)的條件判定。break語(yǔ)句是終止整個(gè)循環(huán)的執(zhí)行,不再進(jìn)行條件判定。

35.-1或-1.0*sn-1或-1.0\r\n*sn解析:由于在對(duì)S求和時(shí),相鄰兩項(xiàng)的符號(hào)剛好相反,而在函數(shù)fun中沒有對(duì)數(shù)據(jù)進(jìn)行取反的操作,故第—空的目的是對(duì)數(shù)據(jù)進(jìn)行取反,以保證序列中相鄰兩項(xiàng)的符號(hào)不同。故第—個(gè)應(yīng)填-1或-1.0。在執(zhí)行完循環(huán)體后,要將求和結(jié)果通過指針參數(shù)的形式傳遞紿調(diào)用fun的函數(shù),故第二空應(yīng)填*sn。

36.外模式外模式解析:數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式分別是內(nèi)模式、概念模式和外模式。其中,物理模式給出了數(shù)據(jù)庫(kù)的物理存儲(chǔ)結(jié)構(gòu)和存取方法;概念模式是數(shù)據(jù)庫(kù)系統(tǒng)中全局?jǐn)?shù)據(jù)邏輯結(jié)構(gòu)的描述;外模式是用戶的數(shù)據(jù)視圖,也就是用戶所見到的數(shù)據(jù)模式。

37.軟件開發(fā)

38.結(jié)構(gòu)化設(shè)計(jì)結(jié)構(gòu)化設(shè)計(jì)解析:與結(jié)構(gòu)化需求分析方法相對(duì)應(yīng)的是結(jié)構(gòu)化設(shè)計(jì)方法。結(jié)構(gòu)化設(shè)計(jì)就是采用最佳的可能方法設(shè)計(jì)系統(tǒng)的各個(gè)組成部分以及各個(gè)成分之間的內(nèi)部聯(lián)系的技術(shù)。

39.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即可。

40.靜態(tài)分析靜態(tài)分析解析:程序測(cè)試分為靜態(tài)分析和動(dòng)態(tài)測(cè)試。其中,靜態(tài)分析是指不執(zhí)行程序,而只是對(duì)程序文本進(jìn)行檢查,通過閱讀和討論,分析和發(fā)現(xiàn)程序中的錯(cuò)誤。

41.D解析:內(nèi)聚性是—個(gè)模塊內(nèi)部各元素間彼此結(jié)合的緊密程度的度量。內(nèi)聚共有7類,它們之間的內(nèi)聚性由弱到強(qiáng)排列順序?yàn)椋号既粌?nèi)聚、邏輯內(nèi)聚、時(shí)間內(nèi)聚、過程內(nèi)聚、通信內(nèi)聚、順序內(nèi)聚和功能內(nèi)聚。

42.C解析:軟件生命周期由軟件定義、軟件開發(fā)和軟件維護(hù)三個(gè)時(shí)期組成,每個(gè)時(shí)期又進(jìn)一步劃分為若干個(gè)階段。軟件定義時(shí)期的基本任務(wù)是確定軟件系統(tǒng)的工程需求。軟件定義可分為軟件系統(tǒng)的可行性研究和需求分析兩個(gè)階段。軟件開發(fā)時(shí)期是具體設(shè)計(jì)和實(shí)現(xiàn)在前一時(shí)期定義的軟件,它通常由下面五個(gè)階段組成:概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編寫代碼、組裝測(cè)試和確認(rèn)測(cè)試。軟件維護(hù)時(shí)期的主要任務(wù)是使軟件持久地滿足用戶的需要。即當(dāng)軟件在使用過程中發(fā)現(xiàn)錯(cuò)誤時(shí)應(yīng)加以改正;當(dāng)環(huán)境改變時(shí)應(yīng)該修改軟件,以適應(yīng)新的環(huán)境;當(dāng)用戶有新要求時(shí)應(yīng)該及時(shí)改進(jìn)軟件,以滿足用戶的新要求。根據(jù)上述對(duì)軟件生命周期的介紹,可知選項(xiàng)C中的軟件維護(hù)不是軟件生命周期開發(fā)階段的任務(wù)。因此,本題的正確答案是C。

43.D解析:選項(xiàng)A)應(yīng)將*sp='right!';中的*叩改為sP,即把字符串'right!”的首地址賦給指針變量sp;選項(xiàng)B)中的s代表數(shù)組的首地址,不能給它賦字符串,只能在定義數(shù)組時(shí),對(duì)其進(jìn)行初始化;選項(xiàng)C)中的。s指的是數(shù)組的第一個(gè)元素,不能給它賦字符串。

44.D解析:本題的函數(shù)fun的最后一個(gè)語(yǔ)句是“return(*a-*b);”,也就是返回指針a所指單元的值與指針b所指單元的值的差。顯然這不可能是計(jì)算a和b所指字符串的長(zhǎng)度之差,因此選項(xiàng)A的說(shuō)法是錯(cuò)誤的。由于函數(shù)中并沒有出現(xiàn)。a=*b的賦值操作,所以選項(xiàng)B的連接字符串的說(shuō)法也是錯(cuò)誤的。同理,由于沒有*a現(xiàn)*a=*b的賦值操作,所以選項(xiàng)C的復(fù)制字符串的說(shuō)法也是錯(cuò)誤的。排除了三個(gè)選項(xiàng)后,就可以斷定正確選項(xiàng)是D。

45.A解析:希爾排序法的基本思想是:將整個(gè)無(wú)序序列分割成若干小的子序列分別進(jìn)行插入排序。

46.D解析:本題考查的是編譯預(yù)處理的一些基本概念。在C語(yǔ)言中,凡是以“#”號(hào)開頭的行,都稱為“編譯預(yù)處理”命令行。它們可以根據(jù)需要出現(xiàn)在程序的任何一行的開始部位,選項(xiàng)A是錯(cuò)誤的。一條預(yù)處理命令至少得占一行,選項(xiàng)B是錯(cuò)誤的。宏名可以是任何合法的C語(yǔ)言標(biāo)識(shí)符,只不過通常習(xí)慣用大寫字母,因此選項(xiàng)C是錯(cuò)誤的。宏定義是“編譯預(yù)處理”命令,它們的替換過程在編譯時(shí)期就已經(jīng)完成了,因此不會(huì)占有程序運(yùn)行的時(shí)間,選項(xiàng)D是正確的。

47.C解析:在n個(gè)結(jié)點(diǎn)的單向鏈表(無(wú)表頭結(jié)點(diǎn))中,每個(gè)結(jié)點(diǎn)都有一個(gè)指針單元(即指針域),加上頭指針,至少需要n+1個(gè)指針單元。

48.B解析:字符串輸入函數(shù)fgets()的調(diào)用形式為:fgets(s,n,fp)。fgets函數(shù)參數(shù)說(shuō)明:“s”可以是一個(gè)字符數(shù)組名,也可以是指向字符串的指針;“n”為要讀取的最多的字符個(gè)數(shù);“fp”是指向該文件的文件型指針。fgets函數(shù)的功能是:從fp所指向的文件中讀取長(zhǎng)度不超過n-1個(gè)字符的字符串,并將該字符串放到字符數(shù)組s中;讀入字符串后會(huì)自動(dòng)在字符串末尾加入“'\\0'”結(jié)束符,表示字符串結(jié)束。

49.A解析:“%u”表示輸出無(wú)符號(hào)的整數(shù)(注意:如果輸出值前有符號(hào),將自動(dòng)轉(zhuǎn)化為相應(yīng)的無(wú)符號(hào)數(shù)輸出)。

50.B解析:scanf函數(shù)的調(diào)用形式是:scanf(格式字符串,輸入項(xiàng)地址表)。其中,“格式字符串”是要輸入的變量的格式符;“輸入項(xiàng)地址表”是要輸入的變量的地址。若在格式符中插入了其他字符,則在輸入時(shí)要求按一一對(duì)應(yīng)的位置原樣輸入這些字符,其中的逗號(hào)也必須輸入。

51.A解析:C語(yǔ)言中[]比*優(yōu)先級(jí)高,因此line先與[5]結(jié)合,形成line[5]形式,這是數(shù)組形式,它有5個(gè)元素,然后再與line前面的“*”結(jié)合,表示此數(shù)組是一個(gè)指針數(shù)組,每個(gè)數(shù)組元素都是一個(gè)基類型為char的指針變量。

52.D解析:不論p是指向什么類型的指針變量,都可以通過強(qiáng)制類型轉(zhuǎn)換的方法使之類型一致,強(qiáng)制類型轉(zhuǎn)換的格式為(數(shù)據(jù)類型*)。

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

54.D解析:該程序的執(zhí)行過程是:首先聲明整型指針變量P和整型變量i,字符型指針變量q和字符型變量ch,將i的地址賦給指針變量p,將ch的地址賦給指針變量q,將40賦給*p,此時(shí),q已經(jīng)指向了一個(gè)具體的存儲(chǔ)單元,但ch的值不確定,即*p沒有確定的值,所以不能執(zhí)行*p=*q語(yǔ)句。

55.D解析:C語(yǔ)言規(guī)定,在定義數(shù)組時(shí)數(shù)組名后的方括號(hào)中必須是常量表達(dá)式,不能包含變量。因此,選項(xiàng)D中用變量n來(lái)定義數(shù)組的大小是錯(cuò)誤的。故應(yīng)該選擇D。

56.A解析:凡是表達(dá)式都有一個(gè)值,即運(yùn)算結(jié)果。k++的表達(dá)式值為0,k再進(jìn)行增1運(yùn)算;k+=1是賦值表達(dá)式,其作用是取k中的值加1后再放到k變量中,即表達(dá)式的值為1;++k是先進(jìn)行k增1運(yùn)算,表達(dá)式的值為1;k+1=0+1,其運(yùn)算的結(jié)果為1。所以選項(xiàng)A中表達(dá)式的值與其他三個(gè)表達(dá)式不同。

57.B解析:結(jié)構(gòu)體類型的定義格式為:

strcut結(jié)構(gòu)體名

{成員說(shuō)明列表};

結(jié)構(gòu)體變量的定義有3種形式:第一種:定義結(jié)構(gòu)體型的同時(shí)定義結(jié)構(gòu)體變量如:strcut結(jié)構(gòu)體名{成員說(shuō)明列表}變量;第二種先定義一個(gè)結(jié)構(gòu)體類型,然后使用該類型來(lái)定義結(jié)構(gòu)體變量,如:strcutstudent{成員說(shuō)明列表):student變量;第三種:定義一個(gè)無(wú)名稱的結(jié)構(gòu)體類型的同時(shí)定義結(jié)構(gòu)體變量,如:Strctstudent{成員說(shuō)明列表}變量。和上面三種情況比較我們不難得知只有選項(xiàng)B是正確的。所以,4個(gè)選項(xiàng)中選項(xiàng)B符合題意。

58.A解析:本題主要考查結(jié)構(gòu)體數(shù)組的使用。x[i].num為結(jié)構(gòu)體x[i]中的num成員,x[i].name[2]是結(jié)構(gòu)體x[i]中name成員的第3個(gè)元素。程序執(zhí)行循環(huán)過程時(shí):第1次循環(huán),i=1,輸出x[1].num,x[1].name[2]的值,即2A;第2次循環(huán),i=2,輸出x[2].num,x[2].name[2]的值,即3N;第3次循環(huán),i=3,輸出x[3].num,x[3].name[2]的值,即4A;第4次循環(huán),i=4,輸出x[4].num,x[4].name[2]的值,即5U。

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

60.D解析:本題考查while循環(huán)。第一次循環(huán),先拿x的值和(y-1)比較,此時(shí)x=1,y-1=2,循環(huán)條件成立,比較完將x的值加1,此時(shí)x=2,進(jìn)入循環(huán),a=a+1=1,判斷if語(yǔ)句的控制條件是否成立,y<x不成立,接著執(zhí)行下一次循環(huán)。第二次循環(huán),先拿x的值和(y-1)比較,此時(shí)x=2,y-1=1,循環(huán)條件成立,比較完將x的值加1,此時(shí)x=3,進(jìn)入循環(huán),a=a+1=2,判斷if語(yǔ)句的控制條件是否成立,y<x成立,執(zhí)行break語(yǔ)句退出循環(huán)。

61.D

62.B本題考查for循環(huán)的使用。對(duì)于第1個(gè)for循環(huán),任何一個(gè)i,內(nèi)層j的循環(huán)都要使j~0到3,j=4時(shí)不符合,所以退出j循環(huán);然后i減1,J仍然要從0~3,j=4時(shí)退出J循環(huán)直到i變成0,退出i循環(huán)。第一條for語(yǔ)句執(zhí)行6次,第二條for語(yǔ)句執(zhí)行4次,所以內(nèi)循環(huán)體執(zhí)行6*4=24次。

63.C

64.BA)選項(xiàng)中,“main()”函數(shù)后面不能加分號(hào)。c語(yǔ)言中注釋語(yǔ)句的注釋方法是:/*宰注釋內(nèi)容*/或,/注釋一行,且“/*”和“*/”不能嵌套使用,因此c)錯(cuò)誤。D)選項(xiàng)中預(yù)編譯命令include<stdi0.h>前丟掉了“#”號(hào)。因此選擇B)。

65.D冒泡排序、簡(jiǎn)單插入排序與簡(jiǎn)單選擇排序法在最壞情況下均需要比較n(n-1)/2次,而堆排序在最壞情況下需要比較的次數(shù)是nlog2n。故答案為D選項(xiàng)。

66.A對(duì)線性表進(jìn)行二分法檢索,要求線性表是按順序方式存儲(chǔ)的,并按關(guān)鍵碼值的大小排好序。

67.D在C語(yǔ)言中,有整型常量、實(shí)型常量、字符常量和字符串常量等類型。整型常量和實(shí)型常量又稱數(shù)值型常量?;菊统A恐荒苡脭?shù)字表示,不帶小數(shù)點(diǎn),例如12、-1和0等,在VC6.0中可以在整型常量的后面加—個(gè)字母l(L的小寫)或L;實(shí)型常量必須用帶小數(shù)點(diǎn)的數(shù)表示,例如3.14159、-2.71828、0.0等;選項(xiàng)A中字母o不符合要求,選頂B中超出八進(jìn)制的范圍,選項(xiàng)C中e后面的不為整數(shù),因此選頂D是正確的。

68.A面向?qū)ο笤O(shè)計(jì)方法的三個(gè)基本特性即封裝、多態(tài)、繼承。結(jié)構(gòu)化程序設(shè)計(jì)方法的主要原則可以概括為自頂向下、逐步求精、模塊化、限制使用goto語(yǔ)句。故答案為A)。

69.C解析:本題中,“printf('%2d,%2d\\n',x,y)”表示以逗號(hào)隔開輸出兩個(gè)十進(jìn)制整數(shù),每個(gè)整數(shù)域?qū)捠?。而在C語(yǔ)言中規(guī)定:當(dāng)域?qū)捫∮趯?shí)際寬度時(shí)域?qū)挷黄鹱饔茫磳?shí)際寬度輸出,因此最

溫馨提示

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