2021-2022年四川省攀枝花市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)真題二卷(含答案)_第1頁
2021-2022年四川省攀枝花市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)真題二卷(含答案)_第2頁
2021-2022年四川省攀枝花市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)真題二卷(含答案)_第3頁
2021-2022年四川省攀枝花市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)真題二卷(含答案)_第4頁
2021-2022年四川省攀枝花市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)真題二卷(含答案)_第5頁
已閱讀5頁,還剩27頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

2021-2022年四川省攀枝花市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)真題二卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.軟件詳細(xì)設(shè)計(jì)的主要任務(wù)是確定每個(gè)模塊的()。

A.算法和使用的數(shù)據(jù)結(jié)構(gòu)B.外部接口C.功能D.編程

2.與“y=(x>0?1:x<0?-1:0)”;的功能相同的if語句是()。A.A.if(x>0)y=1;elseif(x<0)y=1;else=""y="0;

B."x="">0)y=1;elseif(x<0)y=-l;else=""y="0;"

C.y="-l"x="">O)y=1;elseif(x=-0)y=0;elsey=-l;

D.y=0;if(x>=0)if(x>=0)y=1;elsey=-l;

3.

4.有以下程序:#include<stdio.h>intfun(){staticintx=1;x*=2;returnx;}main(){inti,s=1;for(i=1;i<=3;i++)s*=fun();printf(“%d\n”,s);}程序的運(yùn)行結(jié)果是()。

A.10B.30C.0D.64

5.在下列給出的表達(dá)式中,與while(E)中的(E)不等價(jià)的表達(dá)式是()。A.(!E==0)B.(E>0||E<0)C.(E==0)D.(E!=0)

6.有以下程序

A.741B.963C.852D.87542l

7.具有10個(gè)葉子結(jié)點(diǎn)的二叉樹中有()個(gè)度為2的結(jié)點(diǎn)。

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

8.在一個(gè)源文件中定義的全局變量的作用域?yàn)椋?)

A.本程序的全部范圍B.本函數(shù)的全部范圍C.從定義該變量的位置開始到本文件結(jié)束D.以上說法都不正確

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

A.if(stremp(s2,s1)==0)ST;

B.if(s1==s2)ST;

C.if(strcpy(sl,s2)==l)ST;

D.if(sl,s2==O)ST;

10.參加百年阿里培訓(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)

11.以下能正確定義一維數(shù)組的選項(xiàng)是()。

A.inta[5]=(0,1,2,3,4,5);

B.chara[]={0,1,2,3,4,5);

C.chara={'A','B','C'};

D.inta[5]="0123";

12.以下不正確的敘述是A.A.在C程序中,逗號(hào)運(yùn)算符的優(yōu)先級(jí)最低

B.在C程序中,APH和aph是兩個(gè)不同的變量

C.若a和b類型相同,在計(jì)算了賦值表達(dá)式a=b后b中的值將放入a中,而b中的值不變

D.當(dāng)從鍵盤輸入數(shù)據(jù)時(shí),對(duì)于整型變量只能輸入整型數(shù)值,對(duì)于實(shí)型變量只能輸入實(shí)型數(shù)值

13.

14.設(shè)有以下語句,其中不是對(duì)a數(shù)組元素的正確引用的是:_____(其中0≤i<10)inta[10]={0,1,3,4,5,6,7,8,9,},*p=a;

A.a[p-a]B.*(&a[i])C.p[i]D.*(*(a+i))

15.若在線性表中采用折半查找法查找元素,該線性表應(yīng)該()A.元素按值有序B.構(gòu)采用順序存儲(chǔ)結(jié)C.元素按值有序且采用順序存儲(chǔ)結(jié)構(gòu)D.元素按值有序且采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)

16.

17.下列關(guān)于函數(shù)的敘述中正確的是()。A.A.每個(gè)函數(shù)都可以被其他函數(shù)調(diào)用(包括main函數(shù))

B.每個(gè)函數(shù)都可以被單獨(dú)編譯

C.每個(gè)函數(shù)都可以單獨(dú)運(yùn)行

D.在一個(gè)函數(shù)內(nèi)部可以定義另一個(gè)函數(shù)

18.以下程序是用來計(jì)算兩個(gè)非負(fù)數(shù)之間的最大公約數(shù):我們假設(shè)x,y中最大的那個(gè)數(shù)的長(zhǎng)度為n,基本運(yùn)算時(shí)間復(fù)雜度為O(1),那么該程序的時(shí)間復(fù)雜度為()A.O(1)B.O(logn)C.O(n)D.O(n^2)

19.面向?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.不強(qiáng)調(diào)模擬現(xiàn)實(shí)世界中的算法而強(qiáng)調(diào)概念

20.若有定義“inta;longb;doublex,y;”,則以下選項(xiàng)中正確的表達(dá)式是()。

A.a=x<>yB.a%(int)(x-y)C.(a*y)%bD.y=x+y=x

二、2.填空題(20題)21.注釋一般分為序言性注釋和______注釋。

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

23.數(shù)據(jù)庫的邏輯模型設(shè)計(jì)階段的任務(wù)是將______轉(zhuǎn)換成關(guān)系模式。

24.單元測(cè)試又稱模塊測(cè)試,一般采用【】測(cè)試。

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

main()

{

intarr[]={30,25,20,15,10,5},*p=arr;

p++;

printf("%d\n",*(p+3));

}

26.數(shù)據(jù)字典是各類數(shù)據(jù)描述的集合,它通常包括5個(gè)部分,即數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、______和處理過程。

27.在面向?qū)ο蟮脑O(shè)計(jì)中,用來請(qǐng)求對(duì)象執(zhí)行某一處理或回答某些信息的要求稱為【】。

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

#include<stdio.h>

main()

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

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

switch(i/10)

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

case10:n++;break;

default:k++;n++;

}

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

}

29.設(shè)Y是int型變量,請(qǐng)寫出判斷Y為奇數(shù)的關(guān)系表達(dá)【】。

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

#definePOW(r)(r)*(r)

main()

{intx=3,y=2,t;

t=POW(x+y);

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

}

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

main()

{char*k="aeiou";

for(;*k;k++)printf("%c",*k);

}

32.下列語句的輸出結(jié)果是【】。

chara=3;printf("%d,%o,%x,%u\n",a,a,a,a);

33.模塊測(cè)試時(shí),要為每個(gè)被測(cè)試的模塊另外設(shè)計(jì)兩類模塊:驅(qū)動(dòng)模塊和承接模塊。其中【】的作用是模擬被測(cè)試模塊的下層模塊。

34.【】是從二維表列的方向進(jìn)行的運(yùn)算。

35.面向?qū)ο蟮哪P椭校罨镜母拍钍菍?duì)象和______。

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

#include<stdio.h>

main()

{char*p={"BOOL""OPK","H","SP"};

inti;

for(i=3,i>=0;i--,i--)printf("%",*p[i]);

printf("\n");

}

37.閱讀程序:

main()

{charstrl[]="howdoyoudo",str2[10];

char*p1=strl,*p2=str2;

scanf("%s”,p2);

printf("%s”,p2);

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

}

運(yùn)行上面的程序,輸入字符串HOWDOYOUDO則程序的輸出結(jié)果是【】。

38.有如下圖所示的雙鏈表結(jié)構(gòu),請(qǐng)根據(jù)圖示完成結(jié)構(gòu)體的定義:

structaa

{intdata;

【】}node;

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

40.黑盒測(cè)試是從【】觀點(diǎn)的測(cè)試。

三、1.選擇題(20題)41.有以下說明和定義語句structstudent{intage;charnum{8};};structstudentstu[3]={{20,“200401”},{21,“200402”),{19,“200403”}};structstudent*p=stu;以下選項(xiàng)中引用結(jié)構(gòu)體變量成員的表達(dá)式錯(cuò)誤的是A.(p++)->numB.p->numC.(*p).numD.stu[3].age

42.下列循環(huán)體的執(zhí)行次數(shù)是()。

#include<stdio.h>

main()

{inti,j;

for(i=0,j=1;i<j+1;i+=1,j--)

phntf("%d\n",j);

}

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

43.以下敘述中錯(cuò)誤的是______。A.用戶所定義的標(biāo)識(shí)符允許使用關(guān)鍵字

B.用戶所定義的標(biāo)識(shí)符應(yīng)盡量做到“見名知意”

C.用戶所定義的標(biāo)識(shí)符必須以字母或下劃線開頭

D.用戶定義的標(biāo)識(shí)符中,大、小寫字母代表不同標(biāo)識(shí)

44.以下程序的輸出結(jié)果是()#include<stdio.h>main(){inta,b;for(a=1,b=1,a<=50;a++){if(b>=10)break;if(b%2==1){b+=2;continue}b+=2;}printf("%d\n",a);}

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

45.有以下程序

#include<stdio.h>

voidfun(char*t,char*s)

{while(*t!=0)t++;

while((*t++=*s++)!=0);

}

main()

{charss[10]="acc",aa[10]="bbxxyy";

fun(ss,aa);printf("%s,%s\n",ss,aa);

}

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

A.accxyy,bbxxyy

B.acc,bbxxyy

C.accxxyy,bbxxyy

D.accbbxxyy,bbxxyy

46.以下程序的輸出結(jié)果是()main(){inta=-1,b=4,k;k=(++a<=0)&&!(b--<=0);printf("%d%d%d\n",k,a,B);}

A.104B.004C.103D.003

47.已知i、j、k為int型變量,若要從鍵盤輸入2、3、4<CR>,使I、j、k的值分別為2、3、4,

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

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

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

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

48.C語言中,文件組成的基本單位為()。

A.記錄B.數(shù)據(jù)行C.數(shù)據(jù)塊D.字符序列

49.以下選項(xiàng)中不屬于字符常量的是

A.′C′B.′′C′′C.′\xCC′D.′\072′

50.索引屬于()。

A.模式B.內(nèi)模式C.外模式D.概念模式

51.以下程序的輸出結(jié)果是______。#include<stdio.h>#defineSQR(x)x*xmain(){inta,k=3;a=++SQR(k+1);printf((“%d\n”,a);}A.8B.9C.17D.20

52.下列程序的輸出結(jié)果是______。main(){chara[10]-(9,8,7,6,5,4,3,2,1,0},*p=a+5;printf("%d",*--p);}

A.非法B.a[4]的地址C.5D.3

53.棧和隊(duì)列的共同點(diǎn)是()。

A.都是先進(jìn)先出B.都是先進(jìn)后出C.只允許在端點(diǎn)處插入和刪除元素D.沒有共同特點(diǎn)

54.以下不能對(duì)二維數(shù)組a進(jìn)行正確初始化的語句是

A.inta[2][3]={0};

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

C.inta[2)[3]={{1,2},{3,4},{5,6}};

D.inta[][3]={1,2,3,4,5,6};

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

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

56.下述程序段的執(zhí)行結(jié)果是()#include<stdio.h>voidmain(){intx;for(x=1;x<=100;x++)if(++x%3==0)if(++x%4==0)if(++x%7==0)printf("%d",x);}

A.75B.76C.77D.84

57.有如下程序main(){floatx=2.0,y;if(x<0.0)y=0.0;elseif(x<10.0)y=1.0/x;elsey=1.0;printf("%f\n",y);}該程序的輸出結(jié)果是

A.0.000000B.0.250000C.0.500000D.1.000000

58.設(shè)有定義:intk=1,m=2;floatf=7;則以下選項(xiàng)中錯(cuò)誤的表達(dá)式是()。

A.k=k>=kB.-k++C.k%int(f)D.k>=f>=m

59.下面選項(xiàng)中不屬于面向?qū)ο蟪绦蛟O(shè)計(jì)特征的是()。

A.繼承性B.多態(tài)性C.類比性D.封閉性

60.下列常數(shù)中,不合法的C常量是()

A.-0x3b1B.123e+2.3C.'}'D.6e+7

四、選擇題(20題)61.以下不能將s所指字符串正確復(fù)制到t所指存儲(chǔ)空間的是()。

A.do{*t++=*8++;}while(*s);

B.for(i=0;t[i]=s[i];i++);

C.while(*t=*s){t++;s++;}

D.for(i=0,j=0;t[i++]=s[j++];);

62.若變量a、b、x、i都已正確定義并賦值,則以下符合C語言語法的表達(dá)式是()。

A.a+=a-=(b=4)*(a=3)B.x%(-3);C.a=a*3=2D.y=float(i)

63.閱讀以下程序:

該程序在編譯時(shí)產(chǎn)生錯(cuò)誤,原因是()。

A.定義語句出錯(cuò),Case是關(guān)鍵字,不能用作用戶自定義標(biāo)識(shí)符

B.定義語句出錯(cuò),printF不能用作用戶自定義標(biāo)識(shí)符

C.定義語句無錯(cuò),sCanf不能作為輸入函數(shù)使用

D.定義語句無錯(cuò),printf不能輸出Case的值

64.以下選項(xiàng)中不合法的標(biāo)識(shí)符是()。

A.&aB.FORC.pfintD.00

65.數(shù)據(jù)庫管理系統(tǒng)是()。

A.操作系統(tǒng)的一部分B.在操作系統(tǒng)支持下的系統(tǒng)軟件C.一種編譯系統(tǒng)D.一種操作系統(tǒng)

66.如已定義X和Y為double類型,則表達(dá)式X=1,y=x+5/2的值是()。

A.2B.3.0C.3D.3.5

67.軟件測(cè)試的目的是()。

A.評(píng)估軟件可靠性B.發(fā)現(xiàn)并改正程序中的錯(cuò)誤C.改正程序中的錯(cuò)誤D.發(fā)現(xiàn)程序中的錯(cuò)誤

68.有以下程序:

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

A.let=4B.m=2C.m=6D.m=5

69.合法的main函數(shù)命令參數(shù)形式是()。

A.main(inta,char*c[])

B.main(intarc,char**arv)

C.main(intargc,char*argv)

D.main(intargv,char*argc[])

70.已知longi=32768;執(zhí)行語句printf(“%d”,i);屏幕顯示()。

A.-1B.-32768C.1D.32768

71.

72.

73.以下語句的執(zhí)行結(jié)果是()。

intm=0,s=1;

do{

s+=m++;

}while(m<6);

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

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

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

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

75.

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

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

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

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

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

77.

78.以下能正確定義一維數(shù)組的選項(xiàng)是A.intnum[];

B.#defineN100intnum[N];

C.intnum[0..100];

D.intN=100;intnum[N];

79.有下列程序

voidfunc1(inti);

voidfunc2(inti);

charst[]="hello,friend!";

voidfunc1(inti)

{printf("%c",st[i]);

if(i<3){i+=2;func2(i);}

}

voidfunc2(inti)

{printf("%c",st[i]);

if(i<3){i+=2;func1(i);}

}

main()

{inti=0;func1(i);

printf("\n");

}

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

A.helloB.hel

C.hloD.hlm

80.

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)fun()的功能是:根據(jù)輸人的三條邊長(zhǎng)(整形),判斷能否構(gòu)成三角形;構(gòu)成的是等邊三角形還是等腰三角形。若能構(gòu)成等邊三角形函數(shù),返回3;若能構(gòu)成等腰三角形函數(shù),返回2;若構(gòu)成=三角形函數(shù),返回l;若不能構(gòu)成三角形函數(shù)返回0。請(qǐng)修改函數(shù)fun()中的錯(cuò)誤,得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不能增行或減行,也不能更改程序的結(jié)構(gòu)。試題程序:

六、程序設(shè)計(jì)題(1題)82.使用VC++2010打開考生文件夾下prog1中的解決方案。此解決方案的項(xiàng)目中包含一個(gè)源程序文件prog1.c。在此程序中,規(guī)定輸入的字符串中只包含字母和*號(hào)。編寫函數(shù)fun(),其功能是刪除字符串中所有的*號(hào)。編寫函數(shù)時(shí),不得使用C語言提供的字符串函數(shù)。例如,字符串中的內(nèi)容為“****A*BC*DEF*G*******”,刪除后,字符串中的內(nèi)容應(yīng)當(dāng)是“ABCDEFG”。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入你編寫的若干語句。試題程序:#include<conio.h>#include<stdio.h>voidfun(char*a){}voidmain(){ chars[81]; printf(“Enterastring:\n”); gets(s); fun(s); printf(“Thestringafterdeleted:\n”); puts(s);}

參考答案

1.A解析:從軟件開發(fā)的工程化觀點(diǎn)來看,在使用程序設(shè)計(jì)語言編制程序以前,需要對(duì)所采用算法的邏輯關(guān)系進(jìn)行分析,設(shè)計(jì)出全部必要的過程細(xì)節(jié),并給予清晰的表達(dá)。詳細(xì)設(shè)計(jì)的任務(wù)就是要決定各個(gè)模塊的實(shí)現(xiàn)算法,并精確表達(dá)出這些算法。本題正確答案為選項(xiàng)A。

2.By=(x=)071:x<0?-1:0)中有兩個(gè)三目運(yùn)算符,因此按從右到在的順序運(yùn)算,可寫成y=(x>071:(x<0?-1:0)),故選擇8選項(xiàng)。

3.C

4.D本題中靜態(tài)局部變量X,在靜態(tài)存儲(chǔ)區(qū)內(nèi)分配存儲(chǔ)單元,在程序整個(gè)運(yùn)行期間都不釋放。在main函數(shù)中,執(zhí)行for循環(huán),第1次循環(huán),變量s的值為2;第2次循環(huán),函數(shù)的返回值為4,所以變量s的值為8;第3次循環(huán),函數(shù)的返回值為8,所以s的值為64。故本題答案為D選項(xiàng)。

5.B在while(E)中,表達(dá)式E可以是C語言中任意合法的條件表達(dá)式,但不能為空,由它來控制循環(huán)體是否執(zhí)行。在選項(xiàng)8中表達(dá)式E>0||E<0是一個(gè)邏輯表達(dá)式。

6.C在for循環(huán)中,當(dāng)y的值為9、6或3時(shí),執(zhí)行輸出語句,輸出表達(dá)式“——y”的值。y先自減1,然后再輸出y的值。

7.B

8.C

9.Astrcmp(char*,char*),函數(shù)strcmp用于比較兩個(gè)字符串的長(zhǎng)度,長(zhǎng)者為大,若字符個(gè)數(shù)也一樣,則從左至右依次比較相同位上的字符,字符大小按ASCIl表值計(jì)算,直到最后一個(gè)字符,若還相同,則兩個(gè)字符串相等,返回值0。選項(xiàng)A中if(strcmp(s2,sl)==0)ST,若s2等于sl,則返回值0,0等于0,所以邏輯表達(dá)式strcmp(s2,sl)==0為真,執(zhí)行ST。

10.B

11.B數(shù)組1標(biāo)從0開始,A選項(xiàng)中所賦值的個(gè)數(shù)超過了數(shù)組的長(zhǎng)度;C選項(xiàng)中定義a為字符型變量,而不是數(shù)組,賦值錯(cuò)誤;D選項(xiàng)中,整型數(shù)組不能賦字符串。

12.D解析:在C語言所有的運(yùn)算符中,逗號(hào)運(yùn)算符的優(yōu)先級(jí)最低。C語言中區(qū)分大小寫,所以APH和aph是兩個(gè)不同的變量。賦值表達(dá)式a=b表示將b的值付給a,而b本身的值保持不變;通過鍵盤可以向計(jì)算機(jī)輸入允許的任何類型的數(shù)據(jù)。選項(xiàng)D)中當(dāng)從鍵盤輸入數(shù)據(jù)時(shí),對(duì)于整型變量可以輸入整型數(shù)值和字符,對(duì)于實(shí)型變量可以輸入實(shí)型數(shù)值和整型數(shù)值等。

13.D\r\n

14.D解析:觀察程序可知,a實(shí)際上就是數(shù)組a的首地址,所以“*(a+i)”表示的就是數(shù)組a中的第i個(gè)元素的值,進(jìn)而,我們可以知道*(*(a+i))必然不是對(duì)a數(shù)組元素的正確引用。

15.C

16.A

17.B在C語言中,函數(shù)定義是平行的,函數(shù)不能嵌套定義,即函數(shù)之間沒有從屬關(guān)系。雖然函數(shù)之間可以相互調(diào)用,但main函數(shù)不能被調(diào)用,選項(xiàng)A)錯(cuò)誤;C程序從main函數(shù)開始執(zhí)行,當(dāng)main數(shù)執(zhí)行完畢時(shí),整個(gè)程序就結(jié)束了。C程序的執(zhí)行必須從main函數(shù)開始,選項(xiàng)C)選項(xiàng)錯(cuò)誤;函數(shù)不能嵌套定義,選項(xiàng)D)錯(cuò)誤。

18.B

19.C\n面向?qū)ο蟮脑O(shè)計(jì)方法的基本原理是:使用現(xiàn)實(shí)世界的概念抽象地思考問題從而自然地解決問題。它雖強(qiáng)調(diào)模擬現(xiàn)實(shí)世界中的概念而不強(qiáng)調(diào)算法,但是它鼓勵(lì)開發(fā)者在軟件開發(fā)的過程中從應(yīng)用領(lǐng)域的概念角度去思考。

\n

20.BC語言中沒有“<>”運(yùn)算符,所以A選項(xiàng)錯(cuò)誤。運(yùn)算符“%”的左右兩個(gè)操作數(shù)必須為整型數(shù)據(jù),所以B選項(xiàng)正確。表達(dá)式“a*y”的結(jié)果為double型,所以C選項(xiàng)錯(cuò)誤。不能將值賦給像“x+y”這樣的表達(dá)式,所以D選項(xiàng)錯(cuò)誤。故本題答案為B選項(xiàng)。

21.功能性功能性解析:注釋一般分為序言性注釋和功能性注釋。序言性注釋通常位于每個(gè)程序的開頭部分,給出程序的整體說明;功能性注釋一般嵌在源程序體之中,主要描述其后的語句或程序做什么,

22.繼承繼承

23.E-R圖E-R圖解析:數(shù)據(jù)庫邏輯設(shè)計(jì)的任務(wù)是將概念模型進(jìn)一步轉(zhuǎn)化成相應(yīng)的數(shù)據(jù)模型。而E-R圖是主要的概念模型,因此數(shù)據(jù)庫的邏輯設(shè)計(jì)的主要工作是將E-R圖轉(zhuǎn)換成關(guān)系模式。

24.白盒法白盒法

25.1010解析:整型指針最初被賦的值是數(shù)組arr的頭指針,即指向數(shù)組的第一個(gè)元素30,p++后,指針指向數(shù)組的下一個(gè)元素,即*p=arr[1]=25,在執(zhí)行*(p+3)時(shí),則相當(dāng)于a[1+3],即10。因此,輸出應(yīng)為100。

26.數(shù)據(jù)存儲(chǔ)數(shù)據(jù)存儲(chǔ)

27.消息消息解析:在面向?qū)ο蠹夹g(shù)中,主要用到對(duì)象(object)、類(class)、方法(method)、消息(message)、繼承(inheritance)、封裝(encapsulation)等基本概念。其中消息是用來請(qǐng)求對(duì)象執(zhí)行某一處理或回答某些信息的要求。

28.132132解析:在程序中,i從9開始循環(huán),當(dāng)i=9時(shí),執(zhí)行case0后的語句m++;n++;此時(shí)m=1,n=1,然后執(zhí)行break,跳出循環(huán);當(dāng)i=10時(shí),執(zhí)行detault后的語句k++;n++;此時(shí)k=1,n=2;當(dāng)i=11時(shí),再執(zhí)行default后的語句,k=2,n=3。此時(shí),m=1,n=3,k=2。輸出結(jié)果為132。

29.Y%2=1或Y%2!=0Y%2=1或Y%2!=0解析:判斷變量是否為奇數(shù)可以用變量與2取模,判斷結(jié)果是為1或不為0。本題具體做法如下:Y%2=1或Y%2!=0。

30.2525解析:本題考查帶參數(shù)的宏的定義及相關(guān)運(yùn)算。運(yùn)算過程為:t=POW(x+y)=(2+3)*(2+3)=25。

31.aeiou

32.31371f3131,37,1f,31解析:此題考查了printf函數(shù)的格式字符,題中d是以十進(jìn)制形式輸出,o是以八進(jìn)制形式輸出,x是以十六進(jìn)制形式輸出,u以不帶符號(hào)的十進(jìn)制數(shù)輸出。

33.承接模塊承接模塊解析:進(jìn)行模塊測(cè)試時(shí),應(yīng)為每個(gè)被測(cè)試的模塊另外設(shè)計(jì)兩類模塊:驅(qū)動(dòng)模塊和承接模塊。其中驅(qū)動(dòng)模塊的作用是將測(cè)試數(shù)據(jù)傳送給被測(cè)試的模塊,并顯示被測(cè)試模塊所產(chǎn)生的結(jié)果;承接模塊的作用是模擬被測(cè)試模塊的下層模塊。

34.投影投影解析:在關(guān)系模型的數(shù)據(jù)語言中,一般除了運(yùn)用常規(guī)的集合運(yùn)算,(并、交,差、笛卡爾積等)外,還定義了一些專門的關(guān)系運(yùn)算,如投影、選擇、連接等。投影是從二維表的列方向上進(jìn)行的運(yùn)算。

35.類類

36.SO

37.HOWhowdoyoudo

38.structaa*lhead*rchild;structaa*lhead,*rchild;解析:結(jié)構(gòu)體對(duì)鏈表的定義。

39.空間空間解析:程序在計(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í)慣上常常把語句重復(fù)執(zhí)行的次數(shù)作為算法運(yùn)行時(shí)間的相對(duì)量度,稱作算法的時(shí)間復(fù)雜度。算法在運(yùn)行過程中需輔助存儲(chǔ)空間的大小稱為算法的空間復(fù)雜度。

40.用戶用戶解析:黑盒測(cè)試又稱為功能測(cè)試,黑盒測(cè)試是把程序看作一個(gè)黑盒子,完全不考慮程序內(nèi)部的結(jié)構(gòu)和處理過程。測(cè)試者只考慮該程序輸入和輸出的關(guān)系,或只考慮程序的功能。黑盒測(cè)試是一種從用戶觀點(diǎn)出發(fā)的測(cè)試。

41.D本題考核的知識(shí)點(diǎn)是結(jié)構(gòu)體數(shù)組元素成員的引用。結(jié)構(gòu)體變量也有地址,因此可以把它的地址賦值給一個(gè)指針變量,然后通過該指針變量來引用結(jié)構(gòu)體的成員,選項(xiàng)A和選項(xiàng)B就是通過指針變量來引用結(jié)構(gòu)體的成員,故選項(xiàng)A和選項(xiàng)B都正確,也可以通過結(jié)構(gòu)體數(shù)組元素的成員引用,選項(xiàng)C和選項(xiàng)D屬于這種情況,而在選項(xiàng)D中stu[3].age不正確,因?yàn)榻Y(jié)構(gòu)體數(shù)組stu共有三個(gè)元素,其下標(biāo)應(yīng)該為0,1,2.所以,4個(gè)選項(xiàng)中選項(xiàng)D符合題意。

42.C解析:本題考查for循環(huán)。第一次循環(huán)前先判斷循環(huán)條件,此時(shí)i=0,j=1,i<j+1成立,循環(huán)第一次;第二次循環(huán)前先判斷循環(huán)條件,此時(shí)i=1,j=0,(j--是先使用i的值再減1),i<j+1不成立,結(jié)束循環(huán)。

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

44.C

45.D解析:本題中fun函數(shù)實(shí)現(xiàn)丁字符串函數(shù)str-eat的功能,將字符串a(chǎn)a連接到字符串ss的末尾。調(diào)用fun函數(shù)時(shí),形參t和s分別指向了字符串ss和aa,然后通過一個(gè)while循環(huán)使t指向字符串ss的結(jié)束符的位置,第二個(gè)while循環(huán)將字符串a(chǎn)a中的字符(包括結(jié)束符'\\0')逐個(gè)復(fù)制到字符串ss的末尾處。

46.C

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

48.D解析:C語言處理文件的方法是將文件以數(shù)據(jù)流的形式處理,不是將文件作為一個(gè)結(jié)構(gòu)集合來處理,所以,C語言中文件的組織方式是無結(jié)構(gòu)的字符序列方式。

49.B解析:在C語言程序中,用單引號(hào)把一個(gè)字符或反斜線后跟一個(gè)特定的字符括起來表示一個(gè)字符常量。選項(xiàng)A)、C)和D)為正確的字符常量,而選項(xiàng)B)是用雙引號(hào)括起來的字符,表示一個(gè)字符串常量。

50.B解析:內(nèi)模式(InternalSchemA)又稱物理模式(PhysicalSchemA),它給出了數(shù)據(jù)庫物理存儲(chǔ)結(jié)構(gòu)與物理存取方法,如數(shù)據(jù)存儲(chǔ)的文件結(jié)構(gòu)、索引、集簇及hash等存取方式與存取路徑。數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)具有高共享性和低冗余性,但不能完全避免數(shù)據(jù)冗余;數(shù)據(jù)的一致性是指在系統(tǒng)中同一數(shù)據(jù)的不同出現(xiàn)應(yīng)保持相同的值。

51.B

52.C解析:本題中char*p=a+5;即相當(dāng)于p;&a[5],而-p,是先要減1,則printf語句要輸出的值就是a[4]。

53.C解析:棧和隊(duì)列都是操作受限制的線性表,只允許在端點(diǎn)插入和刪除。不同點(diǎn)是:棧只允許在表的一端進(jìn)行插入和刪除操作,而隊(duì)列允許在表的一端進(jìn)行插入操作,而在另一端進(jìn)行刪除操作。

54.C解析:關(guān)于二維數(shù)組的初始化,我們需要掌握如下方法:①所賦初值個(gè)數(shù)與數(shù)組元素的個(gè)數(shù)相同;②所賦初值行數(shù)少于數(shù)組行數(shù)時(shí),系統(tǒng)將自動(dòng)給后面各行的元素補(bǔ)初值0;③在給二維數(shù)組賦初值時(shí)可以不用行花括號(hào)對(duì)。選項(xiàng)C)應(yīng)該是inta[3][2]={{1,2},{3,4},{5,6,}};

55.D解析:數(shù)據(jù)庫中的關(guān)系模型是采用二維表來表示實(shí)體與實(shí)體之間的聯(lián)系。

56.C

57.C解析:該題目測(cè)驗(yàn)考生對(duì)if...elseif結(jié)構(gòu)的理解,比較簡(jiǎn)單。x的值滿足x<10.0的關(guān)系,所以程序?qū)?zhí)行y=1.0/x;語句,y的值應(yīng)該等于0.5。最后,用printf函數(shù)輸出時(shí),%f的輸出格式為小數(shù)點(diǎn)后保留6位。

58.C解析:A、D選項(xiàng)是關(guān)系運(yùn)算表達(dá)式,在C語言中,只要關(guān)系運(yùn)算符兩邊是合法的表達(dá)式就可以了。C選項(xiàng)中,%只能對(duì)整型進(jìn)行運(yùn)算,其中對(duì)f進(jìn)行了強(qiáng)制類型轉(zhuǎn)換,但是轉(zhuǎn)換的表達(dá)式錯(cuò)了,應(yīng)為:(int)(f)。

59.C解析:面向?qū)ο蟪绦蛟O(shè)計(jì)的特征有以下幾點(diǎn):分類性、繼承性、封裝性、多態(tài)性、模塊性等。

60.B

61.Ado{*t++=}S++;}while(*S);不能因?yàn)楫?dāng)*s=’、0。時(shí),while(*s)跳出循環(huán),這樣字符串結(jié)束標(biāo)志’、0’沒有復(fù)制給}t,造成}t不完整。注意,*t++=*s++是先執(zhí)行t=*s,然后才進(jìn)行t=t+1,s=s+1。B、C、D都能將。\0’復(fù)制過去

62.A取余運(yùn)算符%兩邊都應(yīng)是正數(shù),賦值語句左邊必須是變量,不能是表達(dá)式,強(qiáng)制轉(zhuǎn)換語句強(qiáng)制類型應(yīng)加括號(hào),而非加在變量上。

63.A標(biāo)識(shí)符不能與c編譯系統(tǒng)已經(jīng)預(yù)定義的、具有特殊用途的保留標(biāo)識(shí)符(即關(guān)鍵字)同名,否則程序在編譯時(shí)會(huì)出現(xiàn)錯(cuò)誤。題目源程序中使用了已經(jīng)預(yù)定義的關(guān)鍵字case,所以將出現(xiàn)錯(cuò)誤。

64.AC語言中標(biāo)識(shí)符由字母、下劃線、數(shù)字組成,且開頭必須是字母或下劃線。另外,關(guān)鍵字不能作為標(biāo)識(shí)符。因?yàn)镃語言中區(qū)分大小寫,所以B選項(xiàng)中的。FOR??梢宰鳛闃?biāo)識(shí)符來用。A選項(xiàng)中含有非法字符&,所以選擇A。

65.B數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫的機(jī)構(gòu),它是一種系統(tǒng)軟件,負(fù)責(zé)數(shù)據(jù)庫中的數(shù)據(jù)組織、數(shù)據(jù)操縱、數(shù)據(jù)維護(hù)、控制及保護(hù)和數(shù)據(jù)服務(wù)等,是一種在操作系統(tǒng)支持下的系統(tǒng)軟件,因此本題答案為B)。

66.B題目中定義變量x和y為雙精度double類型,根據(jù)給定算數(shù)表達(dá)式的優(yōu)先級(jí)應(yīng)先計(jì)算5/2,結(jié)果為2,將值代入后,由x和y的數(shù)據(jù)類型得出y為3.0。整個(gè)逗號(hào)表達(dá)式的值為后面y=x+5/2的值,所以選擇B)。

67.D軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程,測(cè)試要以查找錯(cuò)誤為中心,而不是為了演示軟件的正確功能,也不是為了評(píng)估軟件或改正錯(cuò)誤,因此本題答案為D)。

68.C第一次外循環(huán)i的值為l,第一次內(nèi)循環(huán)j的值為3,不滿足條件執(zhí)行in}=i}j即m的值為3;第二次j的值為2,不滿足條件執(zhí)行m·=i*j,即m的值為6;第三次j的值為1,不滿足條件執(zhí)行nl*=i*j,即m的值仍為6。第二次外循環(huán)i的值為2,j的值為3,滿足條件,執(zhí)行break語句,跳出循環(huán)。

69.C在C語言中,main函數(shù)也可以有參數(shù),例如,main(intar90,char*argv),argc是指字符串的指針數(shù)組,而其他幾項(xiàng)表達(dá)不正確。

70.D整型的數(shù)據(jù)占4個(gè)字節(jié),即-2147483648~2147483648,32768在其表達(dá)的范圍之內(nèi),所以原樣輸出。

71.D

72.A

73.B

74.A調(diào)用f(a,b)函數(shù)返回3,調(diào)用f(a,c)函數(shù)返回6,因此外層調(diào)用f(f(a,b),“a,c));,即調(diào)用f(3,6)函數(shù)返回9,故本

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論