2022-2023年湖南省郴州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)_第1頁(yè)
2022-2023年湖南省郴州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)_第2頁(yè)
2022-2023年湖南省郴州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)_第3頁(yè)
2022-2023年湖南省郴州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)_第4頁(yè)
2022-2023年湖南省郴州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)_第5頁(yè)
已閱讀5頁(yè),還剩71頁(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)介

2022-2023年湖南省郴州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.下列敘述中正確的足

A.軟件交付使用后還需要進(jìn)行維護(hù)

B.軟件一旦交付使用就不需要再進(jìn)行維護(hù)

C.軟件交付使用后其生命周期就結(jié)束

D.軟件維護(hù)是指修復(fù)程序中被破壞的指令

2.下列選項(xiàng)中,不是一個(gè)算法的基本特征的是()。

A.完整性B.可行性C.有窮性D.擁有足夠的情報(bào)

3.有以下程序:#include<stdio.h>main(){FILE*fp;charstr[10];fp=fopen(“myfile.dat”,“w”);fputs(“abc”,fp);fclose(fp);fp=fopen(“myfile.dat”,“a+”);fprintf(fp,“%d”,28);rewind(fp);fscanf(fp,“%s”,str);puts(str);fclose(fp);}程序的運(yùn)行結(jié)果是()。

A.abcB.28cC.abc28D.因類(lèi)型不一致而出錯(cuò)

4.在"inta[][3]={{1},{3,2},{4,5,6},{0}};"中,a[2][2]的值是()。

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

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

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

6.若有下列說(shuō)明語(yǔ)句int(*p)();則標(biāo)識(shí)符p代表的是()

A.一個(gè)用于指向函數(shù)的指針變量,函數(shù)返回值的類(lèi)型為int型

B.一個(gè)帶回值類(lèi)型為整型的函數(shù)名

C.一個(gè)用于指向整型數(shù)據(jù)的指針變量

D.一個(gè)帶回值類(lèi)型為指針類(lèi)型的函數(shù)名

7.下列程序的輸出結(jié)果是()。main{inti=1,j=2,k=3;if(i++==1&&(++j==3==||k++==3))printf("%d%d%d\n",i,j,k);}A.123B.234C.223D.233

8.判定一個(gè)順序棧st(最多元素為MaxSize)為空的條件是()。

A.st->top!B.st->top!C.top==-1D.top==MaxSize

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

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

10.若有定義:floatx=1.5;inta=1,b=3,c=2;則正確的switch語(yǔ)句是()。A.switch(x)

B.switch((int)x);{case1.0:printf("*\n");{case1:printf("*\n");case2.0:printf("**\n");}case2:printf("**\n");}

C.switch(a+B)

D.switch(a+B){case1;printf("*\n");{case1:printf("*\n");case2+1:printf("**\n");}casec:printf("**\n");)

11.有以下程序:

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

A.4321098765B.5678901234C.0987654321D.0987651234

12.采用鄰接表存儲(chǔ)的圖的廣度優(yōu)先遍歷算法類(lèi)似于二叉樹(shù)的()。A.A.先序遍歷B.中序遍歷C.后序遍歷D.按層遍歷

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

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

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

A.隊(duì)頭指針是固定不變的

B.隊(duì)頭指針一定大于隊(duì)尾指針

C.隊(duì)頭指針一定小于隊(duì)尾指針

D.隊(duì)頭指針可以大于隊(duì)尾指針,也可以小于隊(duì)尾指針

15.在一個(gè)被調(diào)用函數(shù)中,關(guān)于return語(yǔ)句使用的描述,()是錯(cuò)誤的。

A.被調(diào)用函數(shù)中可以不用return語(yǔ)句

B.被調(diào)用函數(shù)中可以使用多個(gè)return語(yǔ)句

C.被調(diào)用函數(shù)中,如果有返回值,就一定要有return語(yǔ)句

D.被調(diào)用函數(shù)中,一個(gè)return語(yǔ)句可以返回多個(gè)值給調(diào)用函數(shù)

16.以下程序的主函數(shù)中調(diào)用了在其面前定義的fun函數(shù)#include<stdio.h>...main(){doublea[15],k;k=fun(a);...}則以下選項(xiàng)中錯(cuò)誤的fun函數(shù)首部是()。、A.doublefun(doublea[l5])

B.doublefun(double*a)

C.doublefun(doublea[])

D.doublefun(doublea)

17.假定X和Y為double型,則表達(dá)式x=2,y=x+3/2的值是()。

A.3.500000B.3C.2.000000D.3.000000

18.下列關(guān)系模型中,能使經(jīng)運(yùn)算后得到的新關(guān)系中屬性個(gè)數(shù)多于原來(lái)關(guān)系中屬性個(gè)數(shù)的是

A.選擇B.連接C.投影D.并

19.數(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ì)

20.下面程序的輸出結(jié)果是()。#include<stdio.h>intm=13;intfun2(intx,inty){intm=3;return(x*y-m);}main(){inta=7,b=5;printf("%d\n",fun2(a,b)/m);}

A.1B.2C.7D.10

二、2.填空題(20題)21.Jackson方法是一種面向【】的結(jié)構(gòu)化方法。

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

23.若有說(shuō)明chars1[]="Thatgirl",s2[]="isbeautiful";則使用函數(shù)strcmp(s1,s2)后,結(jié)果是______。

24.以下函數(shù)把b字符串連接到a字符串的后面,并返回a中新字符串的長(zhǎng)度。請(qǐng)?zhí)羁铡?/p>

strcen(chara[],charb[])

{intnum=0,n=0;

while(*(a+num)!=【】)num++;

while(b[n]){*(a+num)=b[n];num++;【】;}

return(num);

}

25.一般來(lái)說(shuō),數(shù)據(jù)庫(kù)的設(shè)計(jì)過(guò)程要經(jīng)歷3個(gè)大的階段,即可行性分析與研究階段、系統(tǒng)設(shè)計(jì)階段、設(shè)計(jì)實(shí)施與系統(tǒng)運(yùn)行階段。概念設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)、物理結(jié)構(gòu)設(shè)計(jì)屬于數(shù)據(jù)庫(kù)設(shè)計(jì)的【】階段。

26.軟件維護(hù)活動(dòng)包括以下幾類(lèi):改正性維護(hù)、適應(yīng)性維護(hù)、【】維護(hù)和預(yù)防性維護(hù)。

27.以下程序的輸出是【】。

main()

{

charstr1[]="Howdoyoudo",*p1=str1;

strcpy(str1+strlen(str1)/2,"esshe");

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

}

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

#include<stdio.h>

main()

{charm;

m='B'+32;

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

}

29.在數(shù)據(jù)庫(kù)的概念結(jié)構(gòu)設(shè)計(jì)中,常用的描述工具是【】。

30.若有以下函數(shù)定義,函數(shù)返回值的類(lèi)型是【】。

fun(doubleA)

{returna*a*a;}

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

main()

{

chara[]="123456789",*p;

inti=0;

p=a;

while(*p)

{

if(i%2==0)

*p='*';

p++;i++;

}

puts(a);

}

32.以下函數(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];}}

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

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);

}

34.函數(shù)pi的功能是根據(jù)以下公式近似求得的:

pi*pi/6=1+1/(2*2)+1/(3*3)+…+1/(n*n)

請(qǐng)?jiān)谙旅娴暮瘮?shù)中填空,完成求pi的功能。

#include<math.h>

doublepi(longn)

{doubles=0.0,longi;

for(i=1;i<=n;i++)s=s+【】。

return(sqrt(6*s));

}

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

#inciude<stdio.h>

main()

{chars[]="ABCabc";

s[5]='\0';

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

}

36.下面程序的功能是將字符串a(chǎn)下標(biāo)值為偶數(shù)的元素由小到大排序,其他元素不變,請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

main()

{chara[]="labchmfye",t;

inti,j;

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

for(j=i+2;j<9;【】)

if(【】)

{t=a[i];a[i]=a[j];a[j]=t;

}

puts(a);

printf("\n");

}

37.軟件結(jié)構(gòu)是以【】為基礎(chǔ)而組成的一種控制層次結(jié)構(gòu)。

38.下面程序的功能是:將字符數(shù)組a中下標(biāo)值為偶數(shù)的元素從小到大排列,其他元素不變。請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

#include<string.h>

main()

{chara[]="clanguage",t;

inti,j,k;

k=strlen(a);

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

for(j=i+2;j<=k;j+=2;)

if(【】)

{t=a[i];a[i]=a[j];a[j]=t;}

puts(a);printf("\n");

}

39.結(jié)構(gòu)化設(shè)計(jì)主要分為系統(tǒng)設(shè)計(jì)和模塊設(shè)計(jì),【】的任務(wù)是決定系統(tǒng)的模塊結(jié)構(gòu)。

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

structNODE

{inthum;structNODE*next;

};

main()

{structNODEs[3]={{1,'\0'},{2,'\0'},{3,'\0'}},*p,*q,*r;

intsum=0;

s[0].next=s+1;s[1].next=s+2;s[2].next=s;

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

sum+=q=>next->num;sum+=r->next->next->num;

三、1.選擇題(20題)41.有下列程序:main(){intk=5;while(--k)printf("%d",k-=3);printf("\n");}執(zhí)行后的輸出結(jié)果是()。

A.1B.2C.4D.死循環(huán)

42.有以下程序:#include<stdio,h>main(){intk=5,n=0;while(k>0){switch(k){default:break;case1:n+=k;case2:case3:n+=k;}k--;printf("%d\n",n);}程序運(yùn)行后的輸出結(jié)果是()。

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

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

A.軟件交付使用后還需要進(jìn)行維護(hù)

B.軟件一旦交付使用就不需要再進(jìn)行維護(hù)

C.軟件交付使用后其生命周期就結(jié)束

D.軟件維護(hù)是指修復(fù)程序中被破壞的指令

44.下列SQL語(yǔ)句中,用于修改表結(jié)構(gòu)的是()。A.A.ALTERB.CREATEC.UPDATED.INSERT

45.若有以下的說(shuō)明,對(duì)初值中整數(shù)2的正確引用方式是

staticstruct

{charch;

inti;

doublex;

}a[2][3]={{{′a′,1,3,45},{′b′,2,7,98},{′c′,31,93}}};

A.a[0][1].chB.a[0][1].iC.a[0][0].iD.a[0][2].i

46.以下敘述中,正確的是______。

A.輸入項(xiàng)可以是一個(gè)實(shí)型常量,例如:scanf("%f",3.5);

B.只有格式控制,沒(méi)有輸入項(xiàng),也能正確輸入數(shù)據(jù)到內(nèi)存,例如:scanf("a=%d,b=%d");

C.當(dāng)輸入一個(gè)實(shí)型數(shù)據(jù)時(shí),格式控制部分可以規(guī)定小數(shù)點(diǎn)后的位數(shù),例如:scanf("%4.2f",&d);

D.當(dāng)輸入數(shù)據(jù)時(shí),必須指明變量地址,例如:scanf("%f",&f);

47.下面可以作為C語(yǔ)言用戶(hù)標(biāo)識(shí)符的一組是

A.voiddefineWORD

B.a3_b3_123IF

C.for--abccase

D.2aD0sizeof

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

A.break語(yǔ)句只能用于switch語(yǔ)句體中

B.continue語(yǔ)句的作用是使程序的執(zhí)行流程跳出包含它的所有循環(huán)

C.break語(yǔ)句只能用在循環(huán)體內(nèi)和switch語(yǔ)句體內(nèi)

D.在循環(huán)體內(nèi)使用break語(yǔ)句和continue語(yǔ)句的作用相同

49.設(shè)有如下定義:structsk{intm;floatx;}data,*q;若要使q指向data中的m域,正確的賦值語(yǔ)句是()。

A.q=&data.m;

B.*q=data.m;

C.q=(structsk*)&data.m;

D.q=(structsk*)data.m;

50.下面能正確進(jìn)行字符串賦值操作的語(yǔ)句是______。

A.chars[5]={"ABCDE"}:

B.chars[5]={'A'、'B'、'c'、'D'、'E'};

C.char*s;s="ABCDEF";

D.char*s;scanf("%s",s):

51.若有下列說(shuō)明和語(yǔ)句,則對(duì)結(jié)構(gòu)體變量st中成員i的引用方式不正確的是()。Structstu{inti;intname;}st,*p;p=&st;

A.st.iB.*p.iC.(*p).iD.p->i

52.以下能正確定義且賦初值的語(yǔ)句是______。

A.iht=n1=n2=10;

B.charc=32;

C.floatf=f+1.1;

D.doublex=12.3E2.5

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<回車(chē)>,則輸出結(jié)果是

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

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

A.線(xiàn)性表是由n個(gè)元素組成的一個(gè)有限序列

B.線(xiàn)性表是一種線(xiàn)性結(jié)構(gòu)

C.線(xiàn)性表的所有結(jié)點(diǎn)有且僅有一個(gè)前件和后件

D.線(xiàn)性表可以是空表

55.有以下程序:voidsum(int*A){a[0]=a[1];}main(){intaa[10]={1,2,3,4,5,6,7,8,9,10},i;for(i=1;i>0;i--)sum(&aa[i]);printf("%d\n",aa[0]);}程序運(yùn)行后的輸出結(jié)果是______。

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

56.為了避免在嵌套的條件語(yǔ)句ifelse中產(chǎn)生二義性,C語(yǔ)言規(guī)定,else子句總是與()配對(duì)。

A.縮排位置相同ifB.其前面最近的ifC.其后面最近的ifD.同一行上的if

57.字符串"\\"ABCDEF\"\\”的長(zhǎng)度是()。

A.11B.10C.5D.3

58.若函數(shù)調(diào)用時(shí)的實(shí)參為變量時(shí),以下關(guān)于函數(shù)形參和實(shí)參的敘述中正確的是()。

A.函數(shù)的實(shí)參和其對(duì)應(yīng)的形參共占同一存儲(chǔ)單元

B.形參只是形式上的存在,不占用具體存儲(chǔ)單元

C.同名的實(shí)參和形參占同一存儲(chǔ)單元

D.函數(shù)的形參和實(shí)參分別占用不同的存儲(chǔ)單元

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

main()

{inta,b,d=25;

a:d/10%9;

b=a&&(-1);

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

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

60.若有下面的程序片段:

int[12]={0},*p[3],**pp,i;

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

p[i]=&a[i*4];

pp=p;

則對(duì)數(shù)組元素的錯(cuò)誤引用是

A.pp[0][1]B.a[10]C.p[3][1]D.*(*(p+2)+2)

四、選擇題(20題)61.(31)算法一般都可以用哪幾種控制結(jié)構(gòu)組合而成()

A.循環(huán)、分支、遞歸

B.順序、循環(huán)、嵌套

C.循環(huán)、遞歸、選擇

D.順序、選擇、循環(huán)

62.

63.有以下函數(shù)函數(shù)的功能是()。

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

B.查找x和y所指字符串中是否有’\0’

C.將y所指字符串賦給x所指存儲(chǔ)空間

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

64.

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

A.用戶(hù)所定義的標(biāo)識(shí)符允許使用關(guān)鍵字

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

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

D.用戶(hù)所定義的標(biāo)識(shí)符必須以字母或下劃線(xiàn)開(kāi)頭

66.

67.

下面程序的功能是輸出以下形式的金字塔圖案:main

{inti,j;*

for(i=l;i<-4;i++)***

{for(j=1;j<=4-i;j++)printf("");

*****

for(j=1;j<=____;j++)printf("

*");*******

printf("\n");

}

}

在下劃線(xiàn)處應(yīng)填入的是()。

A.iB.2*i一1C.n=2*i+1D.i+2

68.

69.

70.函數(shù)fseek(pf,OL,SEEKEND)中的SEEKENE代表的起始點(diǎn)是()。

A.文件開(kāi)始B.文件末尾C.文件當(dāng)前位置D.以上都不對(duì)

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

A.對(duì)長(zhǎng)度為n的有序鏈表進(jìn)行查找,最壞情況下需要的比較次數(shù)為n

B.對(duì)長(zhǎng)度為n的有序鏈表進(jìn)行對(duì)分查找,最壞情況下需要的比較次數(shù)為n/2

C.對(duì)長(zhǎng)度為n的有序鏈表進(jìn)行對(duì)分查找,最壞情況下需要的比較次數(shù)為log2n

D.對(duì)長(zhǎng)度為n的有序鏈表進(jìn)行對(duì)分查找,最壞情況下需要的比較次數(shù)為nlog2n

72.在下列模式中,能夠給出數(shù)據(jù)庫(kù)物理存儲(chǔ)結(jié)構(gòu)與物理存取方法的是()。

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

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

A.在棧中,棧中元素隨棧底指針與棧頂指針的變化而動(dòng)態(tài)變化

B.在棧中,棧頂指針不變,棧中元素隨棧底指針的變化而動(dòng)態(tài)變化

C.在棧中,棧底指針不變,棧中元素隨棧頂指針的變化而動(dòng)態(tài)變化

D.以上說(shuō)法都不正確

74.有以下程序:

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

A.1,6,2,1,B.8,7,3,1,C.4,7,5,2,D.1,6,5,7,

75.有以下程序#include<stdio.h>main(){inti,j,m=55;for(i=1;i<=3;i++)for(j=3;j<=i;j++)m=m%j;printf(“%d\n”,m);}程序的運(yùn)行結(jié)果是()A.1B.0C.2D.3

76.常采用的兩種存儲(chǔ)結(jié)構(gòu)是()。

A.順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)B.散列方法和索引方式C.鏈表存儲(chǔ)結(jié)構(gòu)和數(shù)組D.線(xiàn)性存儲(chǔ)結(jié)構(gòu)和非線(xiàn)性存儲(chǔ)結(jié)構(gòu)

77.當(dāng)用“#defineF37.5f”定義后,下列敘述正確的是()。

A.F是float型數(shù)B.F是Char型數(shù)C.F無(wú)類(lèi)型D.F是字符串

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

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

B.c程序可以由多個(gè)程序文件組成

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

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

79.

運(yùn)行下列程序時(shí),若輸入的數(shù)據(jù)為“1,2,3”,則輸出結(jié)果是()。

main

{floata,b,c,t;

scanf("%f,%f,%f",&a,&b,&c);

if(a<b)

{t=a;a=b.b=t;)

if(a<c)

{t=a;a=c;c=t;)

it(b<c)

{t=b;b=C;c—=;)

printf("%f\n%f\n%f\n",a,b,c);

}

A.1.002.003.00

B.1.003.002.00

C.132

D.3.000002.000001.00000

80.

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc的功能是:根據(jù)輸入的:個(gè)邊長(zhǎng)(整型值),判斷能否構(gòu)成三角形:若能構(gòu)成等邊三角形,則返回3;若是等腰三角形,則返回2;若能構(gòu)成三角形則返回l;若不能,則返回0。

例如,輸入3個(gè)邊長(zhǎng)為3,4,5,實(shí)際輸入時(shí),數(shù)與數(shù)之間以Enter鍵分隔而不是逗號(hào)。

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

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

試題程序:

#include<stdio.h>

#include<math.h>

intproc(inta,intb,intc)

{

if(a+b>c&&b-c>a&&a+c>b)

{

if(a==b&&b==c)

//****found****

return1;

elseif(a==b||b==C||a==c)

return2;

//****found****

elsereturn3;

}

elsereturn0;

}

voidmain

{

inta,b,c,shape;

printf("\nInputa,b,c:");

scanf("%d%d%d",&a,&b,&c);

printf("\na=%d.b=%d,c=%d\n",a,b,c);

shape=proc(a,b.c):

printf("\n\nTheshape:%d\n",shape);

}

六、程序設(shè)計(jì)題(1題)82.使用VC++2010打開(kāi)考生文件夾下prog1中的解決方案。此解決方案的項(xiàng)目中包含一個(gè)源程序文件prog1.c。在此程序中,請(qǐng)編寫(xiě)一個(gè)函數(shù)fun(),該函數(shù)的功能是使變量h的值保留兩位小數(shù),并對(duì)第3位進(jìn)行四舍五入(規(guī)定h的值為正數(shù))。若h的值為1234.567,則函數(shù)返回1234.570000;若h的值為1234.564,則函數(shù)返回1234.560000。注意:部分源程序在文件prog1.c中。請(qǐng)勿改動(dòng)主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入你編寫(xiě)的若干語(yǔ)句。試題程序:

參考答案

1.A解析:本題考核軟件維護(hù)的概念.維護(hù)是軟件生命周期的最后一個(gè)階段,也是持續(xù)時(shí)間最長(zhǎng)、付出代價(jià)最大的階段,在軟件交付使用后,還需要進(jìn)行維護(hù)。軟件維護(hù)通常有以下四類(lèi):為糾正使用中出現(xiàn)的錯(cuò)誤而進(jìn)行的改正性維護(hù);為適應(yīng)環(huán)境變化而進(jìn)行的適應(yīng)性維護(hù);為改進(jìn)原有軟件而進(jìn)行的完善性維護(hù);為將來(lái)的可維護(hù)和可靠而進(jìn)行的預(yù)防性維護(hù)。軟件維護(hù)不僅包括程序代碼的維護(hù),還包括文檔的維護(hù)。綜上所述,本題的正確答案是A,其余選項(xiàng)的說(shuō)法錯(cuò)誤。

2.A解析:作為一個(gè)算法,一般應(yīng)該具有下列4個(gè)特征:(1)可行性,即考慮到實(shí)際的條件能夠達(dá)到一個(gè)滿(mǎn)意的結(jié)果;(2)確定性,算法中的每一個(gè)步驟都必須是有明確定義的,(3)有窮性,一個(gè)算法必須在有限的時(shí)間內(nèi)做完;(4)擁有足夠的情報(bào)。

3.Cfprintf函數(shù)將內(nèi)容寫(xiě)入硬盤(pán)的文件,fputs函數(shù)將字符串寫(xiě)入文件,最終文件的內(nèi)容為abc28。故本題答案為C選項(xiàng)。

4.C

5.D

6.A

7.D本題考?jí)糇栽鲞\(yùn)算符“++”、邏輯與運(yùn)算符“&&”和邏輯或運(yùn)算符“||”。自增運(yùn)算符“++”出現(xiàn)在變量之前,表示先使用變量的值加l,再使用變量的值進(jìn)行運(yùn)算;出現(xiàn)在變量之后,表示先使用變量的值進(jìn)行運(yùn)算,再使用變量的值加l。當(dāng)邏輯與運(yùn)算符“&&’’兩邊的運(yùn)算對(duì)象都為真時(shí),邏輯表達(dá)式的值才為真;當(dāng)邏輯或運(yùn)算符“||”只要一個(gè)值為1,值就為1。根據(jù)運(yùn)算符的優(yōu)先級(jí),題中應(yīng)先計(jì)算內(nèi)層括號(hào)中的值。++j是先自加后運(yùn)算,因此運(yùn)算時(shí)j的值等于3,所以表達(dá)式++j=3成立,即表達(dá)式的值為1;1與任何數(shù)都為進(jìn)行或(||)運(yùn)算,結(jié)果都為1,因此k=3的表達(dá)式i++是先運(yùn)算后自加,因此運(yùn)算時(shí)i為1,所以i++=1成立,自加1后i=2。if語(yǔ)句的條件為真即“1”,所以輸出i、j、k的值分別是2,3,3。

8.B

9.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)。

10.C

11.B該程序首先給一維數(shù)組賦值,然后三次調(diào)用fun函數(shù),其中fun(a,0,3);功能是將一維數(shù)組中第1個(gè)元素和第4個(gè)元素互換,第2個(gè)元素和第3個(gè)元素互換;其中fun(a,4,9);功能是將一維數(shù)組中第5個(gè)元素和第10個(gè)元素互換,第6個(gè)和第9個(gè)元素互換,第7個(gè)元素和第8個(gè)元素互換;其中fun(a.O,9);功能是將將一維數(shù)組中第l個(gè)元素和第10個(gè)元素互換,第2個(gè)元素和第9個(gè)元素互換……依此類(lèi)推。因此B選項(xiàng)正確。

12.D

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

14.D循環(huán)隊(duì)列的隊(duì)頭指針與隊(duì)尾指針都不是固定的,隨著入隊(duì)與出隊(duì)操作要進(jìn)行變化。因?yàn)槭茄h(huán)利用的隊(duì)列結(jié)構(gòu),所以隊(duì)頭指針有時(shí)可能大于隊(duì)尾指針,有時(shí)也可能小于隊(duì)尾指針。

15.D

16.A由題可知fun的參數(shù)為變量,而a[15]為常量,所以答案為A。

17.D本題考查C語(yǔ)言中變量類(lèi)型的轉(zhuǎn)換。

C語(yǔ)言中若參與運(yùn)算的變量的數(shù)據(jù)類(lèi)型不同,則先轉(zhuǎn)換成同一類(lèi)型,然后進(jìn)行運(yùn)算。轉(zhuǎn)換數(shù)據(jù)始終往長(zhǎng)度增加的方向進(jìn)行,以確保精確度,如int和long運(yùn)算,則將int轉(zhuǎn)換為long再運(yùn)算,所有的浮點(diǎn)運(yùn)算都是以雙精度(double)進(jìn)行的。

題目中x、y都為double型數(shù)據(jù),而表達(dá)式3/2為兩個(gè)整型變量之間的計(jì)算,計(jì)算結(jié)果只保留整數(shù)部分,小數(shù)部分省略掉。3/2的結(jié)果為1。后面變?yōu)橛?jì)算y=x+1,這時(shí)都需要變?yōu)閐ouble型數(shù)據(jù),結(jié)果為3.000000。

18.B解析:本題主要考查關(guān)系模型中幾種運(yùn)算的特征。經(jīng)過(guò)選擇或投影運(yùn)算得到的新關(guān)系的屬性個(gè)數(shù)最多不會(huì)超過(guò)原關(guān)系中的屬性個(gè)數(shù)。經(jīng)過(guò)連接運(yùn)算得到的新關(guān)系最多不少于原關(guān)系中屬性的個(gè)數(shù)。故選項(xiàng)B正確。

19.A解析:模式設(shè)計(jì)和內(nèi)模式設(shè)計(jì)是概念設(shè)計(jì)的兩種方法。物理設(shè)計(jì)是根據(jù)特定的計(jì)算機(jī)系統(tǒng),對(duì)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)和存取方法進(jìn)行設(shè)計(jì),從而實(shí)現(xiàn)從邏輯結(jié)構(gòu)到物理結(jié)構(gòu)的轉(zhuǎn)換。從系統(tǒng)開(kāi)發(fā)的角度來(lái)看,結(jié)構(gòu)特性設(shè)計(jì)和行為特性-設(shè)計(jì)是數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)所具有的兩個(gè)特性。結(jié)構(gòu)特性的設(shè)計(jì),設(shè)計(jì)各級(jí)數(shù)據(jù)庫(kù)模式(靜態(tài)特性):行為特性的設(shè)計(jì),改變實(shí)體及其特性,決定數(shù)據(jù)庫(kù)系統(tǒng)的功能(動(dòng)態(tài)特性)。

20.B解析:本題考查函數(shù)的調(diào)用。函數(shù)fun2的作用是將形參x和y的值相乘后減去3,在fun2中的變量m是一個(gè)局部變量,它的值在fun2函數(shù)內(nèi)有效;在主函數(shù)中的m指的是全局變量,其值為13,所以fun2(a,b)/m的值為(7*5-3)/13,即2。

21.數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)解析:Jackson方法是—‘種面向數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)化方法。

22.結(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ù)。

23.-1-1解析:strcmp(s1,s2)函數(shù)的作用是:對(duì)字符數(shù)組s2和字符數(shù)組s1進(jìn)行比較。如果s1<s2,則返回負(fù)數(shù);如果s1==s2,則返回0;如果s1>s2,則返回正數(shù)。

24.0'或0或NULLn++或++n或n=n+1或n+=10'或0或NULL\r\nn++或++n或n=n+1或n+=1

25.系統(tǒng)設(shè)計(jì)系統(tǒng)設(shè)計(jì)解析:系統(tǒng)設(shè)計(jì)階段是系統(tǒng)的具體設(shè)計(jì)過(guò)程,主要包括概念設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)、物理結(jié)構(gòu)設(shè)計(jì)3個(gè)步驟。這3個(gè)不同層次上的設(shè)計(jì)過(guò)程,是把實(shí)體以及相互之間的聯(lián)系轉(zhuǎn)換為“數(shù)據(jù)”并落實(shí)于計(jì)算機(jī)中。

26.完善性軟件維護(hù)活動(dòng)包括以下幾類(lèi):改正性維護(hù),適應(yīng)性維護(hù)、完善性維護(hù)和預(yù)防性維護(hù),完善性維護(hù)是指為了滿(mǎn)足用戶(hù)對(duì)軟件提出的新功能與性能要求,需要修改或再開(kāi)發(fā)軟件,以擴(kuò)充軟件功能、增強(qiáng)軟件性能、改進(jìn)加工效率、提高軟件的可維護(hù)性。

27.HowdoessheHowdoesshe解析:strcpy(str1,s1);字符串拷貝函數(shù),作用是將字符串s1拷貝到字符數(shù)組strl中去。strlen(str):測(cè)試字符串str的長(zhǎng)度,函數(shù)的值為字符串中實(shí)際長(zhǎng)度,不包括\'\\0\'在內(nèi)。本題中strlen(str1)的值為13,則strcpy(strl+strlen(strl)/2,'esshe');相當(dāng)于strcpy(strl+6,'esshe');,因此可得答案為Howdoesshe

28.bb解析:本題實(shí)現(xiàn)的功能是把大寫(xiě)字母轉(zhuǎn)換為小寫(xiě)字母。小寫(xiě)字母的ASCII碼值比相應(yīng)的大寫(xiě)字母的ASCII碼值大32。

29.E-R圖E-R圖解析:E-R圖是設(shè)計(jì)概念模型的有力工具。

30.int類(lèi)型int類(lèi)型

31.*2*4*6*8**2*4*6*8*解析:程序中定義了一個(gè)字符數(shù)組a,并初始化為123456789,接著定義了一個(gè)指針p并讓它指向數(shù)組a,緊接著執(zhí)行了一個(gè)while循環(huán),此循環(huán)的作用是:當(dāng)i為偶數(shù)時(shí),將“*”賦給a[i],p指向數(shù)組末尾,循環(huán)結(jié)束,此時(shí)數(shù)組中a[0]、a[2]、a[4]、a[6]和a[8]的值都為“*”,所以最后調(diào)用puts()函數(shù)輸出的a的值為*2*4*6*8*

32.a[0][i]b[i][0]a[0][i]\r\nb[i][0]解析: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列。

33.132132解析:本題考核的知識(shí)點(diǎn)是for循環(huán)與switch語(yǔ)句的綜合運(yùn)用。主函數(shù)中用了一個(gè)for循環(huán),for循環(huán)里嵌套了一個(gè)switch語(yǔ)句,for循環(huán)了三次,當(dāng)i=9時(shí),i/10=0,執(zhí)行switch語(yǔ)句中case0分支,m和n的值各加1,變?yōu)?和1,然后遇到breake語(yǔ)句,退出switch語(yǔ)句;當(dāng)i=10,i/10=1,執(zhí)行switch語(yǔ)句中default分支,使k和n的值各加1,變?yōu)?和1,退出switch語(yǔ)句:當(dāng)i=11時(shí),i/10=1,執(zhí)行switch語(yǔ)句中default分支,k和n的值各加1變,為2和3,退出switch語(yǔ)句,循環(huán)結(jié)束。故該空格處應(yīng)該填132。

34.0/i/i或1.0/(i*i)0/i/i或1.0/(i*i)解析:由題面中提供的計(jì)算pi的公式可知;在第i項(xiàng)其值為1/(i*i),考慮到運(yùn)算結(jié)果為浮點(diǎn)數(shù),故必須要將1轉(zhuǎn)化為浮點(diǎn)數(shù)或采用1.0/(i*i)的形式。故本題應(yīng)填1.0/(i*i)或其等效形式。

35.ABCabABCab解析:本題中字符數(shù)組的初值是“ABCabc”,s[5]='c',然后通過(guò)s[5]='\\0'重新給s[5]賦值,在C語(yǔ)言中'\\0'是字符串結(jié)束標(biāo)志,執(zhí)行s[5]='\\0',其實(shí)是將s[5]的值去掉只保留前面的字符。

36.j+=2a[i]>a[j]j+=2\r\na[i]>a[j]解析:由于要對(duì)偶數(shù)位進(jìn)行排位,所以空格處應(yīng)填。j+2,空13處是一個(gè)排序算法中的判斷語(yǔ)句,經(jīng)過(guò)分析后應(yīng)該填a[i]>a[j]。

37.模塊模塊

38.a[I]>a[j]a[I]>a[j]解析:本題中的嵌套的循環(huán)結(jié)構(gòu)用在了數(shù)組元素的排序上。本題需要注意的一點(diǎn)是:由于題目只要求出下標(biāo)值為偶數(shù)的元素從小到大排序,所以?xún)?nèi)外層for循環(huán)的條件變量變更條件都是+=2,最后通過(guò)條件a[i]>a[j]對(duì)元素大小進(jìn)行判斷并交換。

39.系統(tǒng)設(shè)計(jì)系統(tǒng)設(shè)計(jì)解析:結(jié)構(gòu)化設(shè)計(jì)主要分為系統(tǒng)設(shè)計(jì)和模塊設(shè)計(jì)。系統(tǒng)設(shè)計(jì)決定系統(tǒng)的模塊結(jié)構(gòu),模塊設(shè)計(jì)具體考慮每個(gè)模塊內(nèi)部的算法、模塊輸入、輸出及模塊功能。

40.解析:程序通過(guò)語(yǔ)句“s[0]next=s+1;s[1].next=s+2;s[2].next=s;”將結(jié)構(gòu)體變量s中各結(jié)點(diǎn)連接成了一個(gè)循環(huán)鏈表,即最后一個(gè)結(jié)點(diǎn)的指針域指向了頭結(jié)點(diǎn),整個(gè)鏈表形成了一個(gè)環(huán),并通過(guò)語(yǔ)句“p=s;q=p->next;r=q->next;”將結(jié)構(gòu)體指針變量p、q、r指向了各結(jié)點(diǎn)。

41.A解析:在程序語(yǔ)句中,k的初始值為5,進(jìn)行第1次while循環(huán)后,k自減1為4,非0,執(zhí)行循環(huán)體里的printf語(yǔ)句,輸出1,此時(shí)k的值變?yōu)?。程序執(zhí)行第2次循環(huán)時(shí),k自減1變?yōu)?,為假,退出while循環(huán)語(yǔ)句。所以程序的最后結(jié)果為1。

42.D解析:在程序中,當(dāng)L的值為5和4時(shí),case都沒(méi)有與其匹配的值,所以執(zhí)行default語(yǔ)句;當(dāng)k=3時(shí),執(zhí)行n+=k;得n=3;當(dāng)L=2時(shí),執(zhí)行case2:然后順序執(zhí)行case3:n+=k;得n=5;當(dāng)k=1時(shí),執(zhí)行case1:n+=k;得n=6,然后順序執(zhí)行case2:和case3:n+=k;使得n=7。

43.A解析:維護(hù)是軟件生命周期的最后一個(gè)階段,也是持續(xù)時(shí)間最長(zhǎng)、付出代價(jià)最大的階段。軟件工程學(xué)的目的就在于提高軟件的可維護(hù)性,同時(shí)也要設(shè)法降低維護(hù)的代價(jià)。

軟件維護(hù)通常有以下四類(lèi);

①為糾正使用中出現(xiàn)的錯(cuò)誤而進(jìn)行的改正性維護(hù);

②為適應(yīng)環(huán)境變化而進(jìn)行的適應(yīng)性維護(hù);

③為改進(jìn)原有軟件而進(jìn)行的完善性維護(hù);

④為將來(lái)的可維護(hù)和可靠而進(jìn)行的預(yù)防性維護(hù)。

軟件維護(hù)不僅包括程序代碼的維護(hù),還包括文檔的維護(hù)。文檔可以分為用戶(hù)文檔和系統(tǒng)文檔兩類(lèi)。但無(wú)論是哪類(lèi)文檔,都必須與程序代碼同時(shí)維護(hù)。只有與程序代碼完全一致的文檔才有意義和價(jià)值。由此可知,本題中選項(xiàng)B、C、D中的說(shuō)法都是錯(cuò)誤的。

44.A解析:在SQL語(yǔ)句中,凡是創(chuàng)建都用CREATE,刪除都用DROP,改變用ALTER,后面跟類(lèi)型和名字,附加子句。

45.B解析:考查結(jié)構(gòu)體數(shù)組對(duì)結(jié)構(gòu)體成員的引用。結(jié)構(gòu)體數(shù)組中對(duì)結(jié)構(gòu)體成員的引用要先引用到數(shù)組元素,然后像對(duì)待普通的結(jié)構(gòu)體變量一樣來(lái)對(duì)待結(jié)構(gòu)體數(shù)組元素。

46.D

47.B解析:在C語(yǔ)言中,合法的標(biāo)識(shí)符可以由字母、數(shù)字和下劃線(xiàn)組成,其中關(guān)鍵字不能作為用戶(hù)的標(biāo)識(shí)符,且開(kāi)頭的第一個(gè)字符必須為字母或下劃線(xiàn)。選項(xiàng)A中void為關(guān)鍵字;選項(xiàng)C中for和case為關(guān)鍵字;選項(xiàng)D中sizeof為關(guān)鍵字。

48.C解析:只能在循環(huán)體內(nèi)和switch語(yǔ)句體內(nèi)使用break語(yǔ)句。當(dāng)break出現(xiàn)在循環(huán)體的switch語(yǔ)句體內(nèi)時(shí),其作用只是跳出該switch語(yǔ)句體,并不能中止循環(huán)體的執(zhí)行。若想強(qiáng)行中止循環(huán)體的執(zhí)行,可以在循環(huán)體中,但并不在switch語(yǔ)句中設(shè)置break語(yǔ)句,滿(mǎn)足某種條件,則跳出本層循環(huán)體。

49.C利用強(qiáng)制類(lèi)型轉(zhuǎn)換(structsk*)把整數(shù)型地址&data.m轉(zhuǎn)換成結(jié)構(gòu)體變量指針賦給結(jié)構(gòu)體指針變量q。

50.C

51.B解析:本題主要考查結(jié)構(gòu)指針:p=&st,訪(fǎng)問(wèn)結(jié)構(gòu)體的成員,可以通過(guò)結(jié)構(gòu)變量訪(fǎng)問(wèn),即st.i,也可以用等價(jià)的指針形式,即(*p).i和p->i。

52.A解析:B選項(xiàng)中32應(yīng)加單引號(hào),C選項(xiàng)中f=f+1.1兩邊都是不定值,不正確;D中E后要用整型數(shù),且E后必須要有數(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è)元素,其他元素沒(méi)有改變,等于初值0。

54.CC.【解析】線(xiàn)性表是一種線(xiàn)性結(jié)構(gòu),由n(n≥0)個(gè)元素組成,所以線(xiàn)性表可以是空表。但是在線(xiàn)性表中,第一個(gè)結(jié)點(diǎn)沒(méi)有前件,最后一個(gè)結(jié)點(diǎn)沒(méi)有后件,其他結(jié)點(diǎn)有且只有一個(gè)前件和后件,所以選項(xiàng)C.是錯(cuò)誤的。

55.D解析:C語(yǔ)言規(guī)定,實(shí)參變量對(duì)形參變量的數(shù)據(jù)傳遞是“值傳遞”,只由實(shí)參傳給形參,而不能由形參傳回來(lái)給實(shí)參。函數(shù)調(diào)用結(jié)束后,形參單元被釋放,實(shí)參單元仍保留并維持原值。本題要求輸出aa[0]的值,結(jié)果應(yīng)為1。

56.B解析:本題考查ifelse語(yǔ)句。C語(yǔ)言規(guī)定,else總是與它前面的最近的if配對(duì)。

57.B解析:本題涉及字符串的兩個(gè)最基本的概念。①字符串的長(zhǎng)度是指字符串中字符的個(gè)數(shù),但不包含字符串結(jié)束符;②以反斜線(xiàn)“\\”開(kāi)頭的特殊字符序列,意思是把反斜線(xiàn)后面的字符序列轉(zhuǎn)換成特定的含義,而不是原來(lái)的含義,不包含在字符串長(zhǎng)度之內(nèi),“\\”連同后面的字符為一個(gè)長(zhǎng)度。

58.D解析:在定義函數(shù)時(shí)函數(shù)名后面括弧中的變量名稱(chēng)為“形式參數(shù)”(簡(jiǎn)稱(chēng)形參),在主調(diào)函數(shù)中調(diào)用一個(gè)函數(shù)時(shí),函數(shù)名后面括弧中的參數(shù)(可以是一個(gè)表達(dá)式)稱(chēng)為“實(shí)際參數(shù)”(簡(jiǎn)稱(chēng)實(shí)參)。C語(yǔ)言規(guī)定,實(shí)參變量對(duì)形參變量的數(shù)據(jù)傳遞是“值傳遞”,即單向傳遞,只由實(shí)參傳給形參,而不能由形參傳回來(lái)給實(shí)參。在內(nèi)存中,實(shí)參單元與形參單元是不同的單元。故本題應(yīng)該選擇D。

59.B解析:算術(shù)運(yùn)行符“/”、“%”的優(yōu)先級(jí)處于同一級(jí),并且兩者的結(jié)合性都是從左到右。所以算術(shù)表達(dá)式運(yùn)算過(guò)程為:a=25/10%9=2%9=2;當(dāng)邏輯運(yùn)算符“&&”兩邊的值都是非零時(shí),邏輯表達(dá)式的值才為真(即為1)。所以b=2&&(-1)=1。

60.C解析:考查指向數(shù)組的指針。本題綜合考查一維數(shù)組和多維數(shù)組指針變量的表示方法。在C語(yǔ)言中,引用數(shù)組元素的方法有兩種,即下標(biāo)法和指針?lè)?。下?biāo)法如a[i]形式;指針?lè)ㄈ?(a+i)或*(p+1)。其中,a是數(shù)組名,p是指向數(shù)組的指針變量,其初值p=a。再如*(*(p+2)+2)是a[2][2]的值,注意語(yǔ)句中指針型數(shù)組的書(shū)寫(xiě)格式,不能寫(xiě)成'(*數(shù)組名)[長(zhǎng)度]',因?yàn)檫@是定義指向含有'長(zhǎng)度'個(gè)元素的一維數(shù)組的指針變量。例如有定義語(yǔ)句'inta,b,c,c,*p[3]={&a,&b,&c};',它定義了一個(gè)名為p的指針型數(shù)組,其3個(gè)元素p[0],p[1],p[2]分別指向f3個(gè)整型變量a,b,c。

61.D

62.B

63.A本題中由循環(huán)條件可知,當(dāng)遇到l\0”’或“x與y所指的字符的值不相等”中的一個(gè)條件時(shí)就結(jié)束循環(huán),因此本題函數(shù)的功能是統(tǒng)計(jì)x和y所指字符串中最前面連續(xù)相同的字符個(gè)數(shù)。

64.B

65.Ac語(yǔ)言規(guī)定標(biāo)識(shí)符只能由字母、數(shù)字和下劃線(xiàn)3種字符組成,且第一個(gè)字符必須為字母或下劃線(xiàn),排除D);用戶(hù)定義標(biāo)識(shí)符中大小寫(xiě)字母之間是有區(qū)別的并且應(yīng)盡量做到”見(jiàn)名識(shí)意”,排除選項(xiàng)B)和c);C語(yǔ)言中還規(guī)定標(biāo)識(shí)符不能為c語(yǔ)言的關(guān)鍵字,故選項(xiàng)A)敘述錯(cuò)誤,正確答案是選項(xiàng)A)。

66.C

67.B

\n對(duì)于第i行,程序先輸出4-i個(gè)空格,然后輸出2×i-1個(gè)'*',所以答案是B。

\n

68.C

69.B

70.BSEEK_SET代表文件的開(kāi)始,SEEK_END代表文件末尾,SEEK_CUR代表文件當(dāng)前位置。

71.C\n\tC?!窘馕觥慷址ú檎抑贿m用于順序存儲(chǔ)的有序表,對(duì)于長(zhǎng)度為n的有序線(xiàn)性表,最壞情況只需比較log2n次。

72.B數(shù)據(jù)庫(kù)有三層模式結(jié)構(gòu),邏輯模式是數(shù)據(jù)的全局邏輯結(jié)構(gòu)的描述,外模式也稱(chēng)為子模式,是局部數(shù)據(jù)的邏輯結(jié)構(gòu)描述,而內(nèi)模式也稱(chēng)為存儲(chǔ)模式,是數(shù)據(jù)庫(kù)物理存儲(chǔ)結(jié)構(gòu)和存取方法的描述。

73.CC【解析】棧是先進(jìn)后出的數(shù)據(jù)結(jié)構(gòu),在整個(gè)過(guò)程中,棧底指針不變,入棧與出棧操作均由棧頂指針的變化來(lái)操作,所以選擇C。

74.D首先對(duì)二維數(shù)組進(jìn)行賦值操作,a[0][0]、a[0][1]、…、a[3][2]、a[3][3]的值為l、4、…、6、1。通過(guò)for語(yǔ)句和if語(yǔ)句,對(duì)二維數(shù)組各列元素進(jìn)行由小到大的排序操作,程序最后通過(guò)for語(yǔ)句輸出二維數(shù)組對(duì)角線(xiàn)上的元素。因此D選項(xiàng)正確。

75.A雖為嵌套的for循環(huán),但“m=m%j”只執(zhí)行1次,即當(dāng)i=3時(shí),內(nèi)層循環(huán)條件成立,m=55%3=1,故選A。

76.AA。【解析】線(xiàn)性表的存儲(chǔ)通常分為兩種存儲(chǔ)結(jié)構(gòu):順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。

\n

77.D解析:字符替換定義格式為:#define標(biāo)識(shí)符(形參表)形參表達(dá)式。題中F是代表形參表達(dá)式的標(biāo)識(shí)符(字符串)。

78.A答案A

解析:一個(gè)C程序可以有一個(gè)或多個(gè)程序文件,也可以有一個(gè)或多個(gè)函數(shù),所以一個(gè)C語(yǔ)言程序可以實(shí)現(xiàn)多種算法。

79.D

\n本題考查if語(yǔ)句。第1個(gè)if語(yǔ)句,如果a<b,則a與b交換;第2個(gè)if語(yǔ)句,如果a<c,則a與c交換;第3個(gè)if語(yǔ)句,如果b<2t,則b與c交換。3個(gè)if語(yǔ)句結(jié)合起來(lái)實(shí)現(xiàn)的功能就是將a、b、C按從大到小排序。

\n

80.C

81.\n\t(1)錯(cuò)誤:return1;

\n正確:return3;

\n(2)錯(cuò)誤:return3;

\n正確:return1;

\n【解析】三條邊都相等的三角形為等邊三角形,按題目中要求,等邊三角形返回3,若不是等邊三角形也不是等腰三角形則返回1,因此,“return1;”應(yīng)改為“return3;”;“return3;”應(yīng)改為“return1;”。\n

82.1floatfun(floath)2{3inttmp=(int)(h*1000+5)/10;/*單精度數(shù)h乘以1000后再加5,相當(dāng)于對(duì)h中的第3位小數(shù)進(jìn)行四舍五入,除以10后將其賦給一個(gè)長(zhǎng)整型數(shù)時(shí)就把第3位小數(shù)后的數(shù)全部截去*/4return(float)tmp/I00.0;/*除以100,保留2位小數(shù)*/5}注意:本題要求對(duì)變量h中的第3位小數(shù)進(jìn)行四舍五入運(yùn)算,而不是輸出,即不能用printf(“%7.2f”,h)輸出結(jié)果。四舍五入算法:如果要求精確到小數(shù)點(diǎn)后面的第n位,則需要對(duì)第n+1位進(jìn)行運(yùn)算。方法是將該小數(shù)乘以10的n+1次方后加5,然后除以10并強(qiáng)制轉(zhuǎn)換變量類(lèi)型為整型,再將該數(shù)除以10的n次方,同時(shí)強(qiáng)制轉(zhuǎn)換類(lèi)型為浮點(diǎn)型。代碼實(shí)現(xiàn)如下:intt;/*定義整型變量t*/t=(int)(h*10n+1+5)/10;/*對(duì)h進(jìn)行操作,得到浮點(diǎn)型值,t取值時(shí)取整數(shù)部分。10n+1為要擴(kuò)大的倍數(shù)*/h=(float)t/10n;/*將t縮小10n倍,并轉(zhuǎn)換成浮點(diǎn)型*/2022-2023年湖南省郴州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.下列敘述中正確的足

A.軟件交付使用后還需要進(jìn)行維護(hù)

B.軟件一旦交付使用就不需要再進(jìn)行維護(hù)

C.軟件交付使用后其生命周期就結(jié)束

D.軟件維護(hù)是指修復(fù)程序中被破壞的指令

2.下列選項(xiàng)中,不是一個(gè)算法的基本特征的是()。

A.完整性B.可行性C.有窮性D.擁有足夠的情報(bào)

3.有以下程序:#include<stdio.h>main(){FILE*fp;charstr[10];fp=fopen(“myfile.dat”,“w”);fputs(“abc”,fp);fclose(fp);fp=fopen(“myfile.dat”,“a+”);fprintf(fp,“%d”,28);rewind(fp);fscanf(fp,“%s”,str);puts(str);fclose(fp);}程序的運(yùn)行結(jié)果是()。

A.abcB.28cC.abc28D.因類(lèi)型不一致而出錯(cuò)

4.在"inta[][3]={{1},{3,2},{4,5,6},{0}};"中,a[2][2]的值是()。

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

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

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

6.若有下列說(shuō)明語(yǔ)句int(*p)();則標(biāo)識(shí)符p代表的是()

A.一個(gè)用于指向函數(shù)的指針變量,函數(shù)返回值的類(lèi)型為int型

B.一個(gè)帶回值類(lèi)型為整型的函數(shù)名

C.一個(gè)用于指向整型數(shù)據(jù)的指針變量

D.一個(gè)帶回值類(lèi)型為指針類(lèi)型的函數(shù)名

7.下列程序的輸出結(jié)果是()。main{inti=1,j=2,k=3;if(i++==1&&(++j==3==||k++==3))printf("%d%d%d\n",i,j,k);}A.123B.234C.223D.233

8.判定一個(gè)順序棧st(最多元素為MaxSize)為空的條件是()。

A.st->top!B.st->top!C.top==-1D.top==MaxSize

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

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

10.若有定義:floatx=1.5;inta=1,b=3,c=2;則正確的switch語(yǔ)句是()。A.switch(x)

B.switch((int)x);{case1.0:printf("*\n");{case1:printf("*\n");case2.0:printf("**\n");}case2:printf("**\n");}

C.switch(a+B)

D.switch(a+B){case1;printf("*\n");{case1:printf("*\n");case2+1:printf("**\n");}casec:printf("**\n");)

11.有以下程序:

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

A.4321098765B.5678901234C.0987654321D.0987651234

12.采用鄰接表存儲(chǔ)的圖的廣度優(yōu)先遍歷算法類(lèi)似于二叉樹(shù)的()。A.A.先序遍歷B.中序遍歷C.后序遍歷D.按層遍歷

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

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

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

A.隊(duì)頭指針是固定不變的

B.隊(duì)頭指針一定大于隊(duì)尾指針

C.隊(duì)頭指針一定小于隊(duì)尾指針

D.隊(duì)頭指針可以大于隊(duì)尾指針,也可以小于隊(duì)尾指針

15.在一個(gè)被調(diào)用函數(shù)中,關(guān)于return語(yǔ)句使用的描述,()是錯(cuò)誤的。

A.被調(diào)用函數(shù)中可以不用return語(yǔ)句

B.被調(diào)用函數(shù)中可以使用多個(gè)return語(yǔ)句

C.被調(diào)用函數(shù)中,如果有返回值,就一定要有return語(yǔ)句

D.被調(diào)用函數(shù)中,一個(gè)return語(yǔ)句可以返回多個(gè)值給調(diào)用函數(shù)

16.以下程序的主函數(shù)中調(diào)用了在其面前定義的fun函數(shù)#include<stdio.h>...main(){doublea[15],k;k=fun(a);...}則以下選項(xiàng)中錯(cuò)誤的fun函數(shù)首部是()。、A.doublefun(doublea[l5])

B.doublefun(double*a)

C.doublefun(doublea[])

D.doublefun(doublea)

17.假定X和Y為double型,則表達(dá)式x=2,y=x+3/2的值是()。

A.3.500000B.3C.2.000000D.3.000000

18.下列關(guān)系模型中,能使經(jīng)運(yùn)算后得到的新關(guān)系中屬性個(gè)數(shù)多于原來(lái)關(guān)系中屬性個(gè)數(shù)的是

A.選擇B.連接C.投影D.并

19.數(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ì)

20.下面程序的輸出結(jié)果是()。#include<stdio.h>intm=13;intfun2(intx,inty){intm=3;return(x*y-m);}main(){inta=7,b=5;printf("%d\n",fun2(a,b)/m);}

A.1B.2C.7D.10

二、2.填空題(20題)21.Jackson方法是一種面向【】的結(jié)構(gòu)化方法。

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

23.若有說(shuō)明chars1[]="Thatgirl",s2[]="isbeautiful";則使用函數(shù)strcmp(s1,s2)后,結(jié)果是______。

24.以下函數(shù)把b字符串連接到a字符串的后面,并返回a中新字符串的長(zhǎng)度。請(qǐng)?zhí)羁铡?/p>

strcen(chara[],charb[])

{intnum=0,n=0;

while(*(a+num)!=【】)num++;

while(b[n]){*(a+num)=b[n];num++;【】;}

return(num);

}

25.一般來(lái)說(shuō),數(shù)據(jù)庫(kù)的設(shè)計(jì)過(guò)程要經(jīng)歷3個(gè)大的階段,即可行性分析與研究階段、系統(tǒng)設(shè)計(jì)階段、設(shè)計(jì)實(shí)施與系統(tǒng)運(yùn)行階段。概念設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)、物理結(jié)構(gòu)設(shè)計(jì)屬于數(shù)據(jù)庫(kù)設(shè)計(jì)的【】階段。

26.軟件維護(hù)活動(dòng)包括以下幾類(lèi):改正性維護(hù)、適應(yīng)性維護(hù)、【】維護(hù)和預(yù)防性維護(hù)。

27.以下程序的輸出是【】。

main()

{

charstr1[]="Howdoyoudo",*p1=str1;

strcpy(str1+strlen(str1)/2,"esshe");

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

}

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

#include<stdio.h>

main()

{charm;

m='B'+32;

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

}

29.在數(shù)據(jù)庫(kù)的概念結(jié)構(gòu)設(shè)計(jì)中,常用的描述工具是【】。

30.若有以下函數(shù)定義,函數(shù)返回值的類(lèi)型是【】。

fun(doubleA)

{returna*a*a;}

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

main()

{

chara[]="123456789",*p;

inti=0;

p=a;

while(*p)

{

if(i%2==0)

*p='*';

p++;i++;

}

puts(a);

}

32.以下函數(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];}}

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

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);

}

34.函數(shù)pi的功能是根據(jù)以下公式近似求得的:

pi*pi/6=1+1/(2*2)+1/(3*3)+…+1/(n*n)

請(qǐng)?jiān)谙旅娴暮瘮?shù)中填空,完成求pi的功能。

#include<math.h>

doublepi(longn)

{doubles=0.0,longi;

for(i=1;i<=n;i++)s=s+【】。

return(sqrt(6*s));

}

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

#inciude<stdio.h>

main()

{chars[]="ABCabc";

s[5]='\0';

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

}

36.下面程序的功能是將字符串a(chǎn)下標(biāo)值為偶數(shù)的元素由小到大排序,其他元素不變,請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

main()

{chara[]="labchmfye",t;

inti,j;

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

for(j=i+2;j<9;【】)

if(【】)

{t=a[i];a[i]=a[j];a[j]=t;

}

puts(a);

printf("\n");

}

37.軟件結(jié)構(gòu)是以【】為基礎(chǔ)而組成的一種控制層次結(jié)構(gòu)。

38.下面程序的功能是:將字符數(shù)組a中下標(biāo)值為偶數(shù)的元素從小到大排列,其他元素不變。請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

#include<string.h>

main()

{chara[]="clanguage",t;

inti,j,k;

k=strlen(a);

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

for(j=i+2;j<=k;j+=2;)

if(【】)

{t=a[i];a[i]=a[j];a[j]=t;}

puts(a);printf("\n");

}

39.結(jié)構(gòu)化設(shè)計(jì)主要分為系統(tǒng)設(shè)計(jì)和模塊設(shè)計(jì),【】的任務(wù)是決定系統(tǒng)的模塊結(jié)構(gòu)。

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

structNODE

{inthum;structNODE*next;

};

main()

{structNODEs[3]={{1,'\0'},{2,'\0'},{3,'\0'}},*p,*q,*r;

intsum=0;

s[0].next=s+1;s[1].next=s+2;s[2].next=s;

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

sum+=q=>next->num;sum+=r->next->next->num;

三、1.選擇題(20題)41.有下列程序:main(){intk=5;while(--k)printf("%d",k-=3);printf("\n");}執(zhí)行后的輸出結(jié)果是()。

A.1B.2C.4D.死循環(huán)

42.有以下程序:#include<stdio,h>main(){intk=5,n=0;while(k>0){switch(k){default:break;case1:n+=k;case2:case3:n+=k;}k--;printf("%d\n",n);}程序運(yùn)行后的輸出結(jié)果是()。

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

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

A.軟件交付使用后還需要進(jìn)行維護(hù)

B.軟件一旦交付使用就不需要再進(jìn)行維護(hù)

C.軟件交付使用后其生命周期就結(jié)束

D.軟件維護(hù)是指修復(fù)程序中被破壞的指令

44.下列SQL語(yǔ)句中,用于修改表結(jié)構(gòu)的是()。A.A.ALTERB.CREATEC.UPDATED.INSERT

45.若有以下的說(shuō)明,對(duì)初值中整數(shù)2的正確引用方式是

staticstruct

{charch;

inti;

doublex;

}a[2][3]={{{′a′,1,3,45},{′b′,2,7,98},{′c′,31,93}}};

A.a[0][1].chB.a[0][1].iC.a[0][0].iD.a[0][2].i

46.以下敘述中,正確的是______。

A.輸入項(xiàng)可以是一個(gè)實(shí)型常量,例如:scanf("%f",3.5);

B.只有格式控制,沒(méi)有輸入項(xiàng),也能正確輸入數(shù)據(jù)到內(nèi)存,例如:scanf("a=%d,b=%d");

C.當(dāng)輸入一個(gè)實(shí)型數(shù)據(jù)時(shí),格式控制部分可以規(guī)定小數(shù)點(diǎn)后的位數(shù),例如:scanf("%4.2f",&d);

D.當(dāng)輸入數(shù)據(jù)時(shí),必須指明變量地址,例如:scanf("%f",&f);

47.下面可以作為C語(yǔ)言用戶(hù)標(biāo)識(shí)符的一組是

A.voiddefineWORD

B.a3_b3_123IF

C.for--abccase

D.2aD0sizeof

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

A.break語(yǔ)句只能用于switch語(yǔ)句體中

B.continue語(yǔ)句的作用是使程序的執(zhí)行流程跳出包含它的所有循環(huán)

C.break語(yǔ)句只能用在循環(huán)體內(nèi)和switch語(yǔ)句體內(nèi)

D.在循環(huán)體內(nèi)使用break語(yǔ)句和continue語(yǔ)句的作用相同

49.設(shè)有如下定義:structsk{intm;floatx;}data,*q;若要使q指向data中的m域,正確的賦值語(yǔ)句是()。

A.q=&data.m;

B.*q=data.m;

C.q=(structsk*)&data.m;

D.q=(structsk*)data.m;

50.下面能正確進(jìn)行字符串賦值操作的語(yǔ)句是______。

A.chars[5]={"ABCDE"}:

B.chars[5]={'A'、'B'、'c'、'D'、'E'};

C.char*s;s="ABCDEF";

D.char*s;scanf("%s",s):

51.若有下列說(shuō)明和語(yǔ)句,則對(duì)結(jié)構(gòu)體變量st中成員i的引用方式不正確的是()。Structstu{inti;intname;}st,*p;p=&st;

A.st.iB.*p.iC.(*p).iD.p->i

52.以下能正確定義且賦初值的語(yǔ)句是______。

A.iht=n1=n2=10;

B.charc=32;

C.floatf=f+1.1;

D.doublex=12.3E2.5

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<回車(chē)>,則輸出結(jié)果是

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

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

A.線(xiàn)性表是由n個(gè)元素組成的一個(gè)有限序列

B.線(xiàn)性表是一種線(xiàn)性結(jié)構(gòu)

C.線(xiàn)性表的所有結(jié)點(diǎn)有且僅有一個(gè)前件和后件

D.線(xiàn)性表可以是空表

55.有以下程序:voidsum(int*A){a[0]=a[1];}main(){intaa[10]={1,2,3,4,5,6,7,8,9,10},i;for(i=1;i>0;i--)sum(&aa[i]);printf("%d\n",aa[0]);}程序運(yùn)行后的輸出結(jié)果是______。

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

56.為了避免在嵌套的條件語(yǔ)句ifelse中產(chǎn)生二義性,C語(yǔ)言規(guī)定,else子句總是與()配對(duì)。

A.縮排位置相同ifB.其前面最近的ifC.其后面最近的ifD.同一行上的if

57.字符串"\\"ABCDEF\"\\”的長(zhǎng)度是()。

A.11B.10C.5D.3

58.若函數(shù)調(diào)用時(shí)的實(shí)參為變量時(shí),以下關(guān)于函數(shù)形參和實(shí)參的敘述中正確的是()。

A.函數(shù)的實(shí)參和其對(duì)應(yīng)的形參共占同一存儲(chǔ)單元

B.形參只是形式上的存在,不占用具體存儲(chǔ)單元

C.同名的實(shí)參和形參占同一存儲(chǔ)單元

D.函數(shù)的形參和實(shí)參分別占用不同的存儲(chǔ)單元

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

main()

{inta,b,d=25;

a:d/10%9;

b=a&&(-1);

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

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

60.若有下面的程序片段:

int[12]={0},*p[3],**pp,i;

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

p[i]=&a[i*4];

pp=p;

則對(duì)數(shù)組元素的錯(cuò)誤引用是

A.pp[0][1]B.a[10]C.p[3][1]D.*(*(p+2)+2)

四、選擇題(20題)61.(31)算法一般都可以用哪幾種控制結(jié)構(gòu)組合而成()

A.循環(huán)、分支、遞歸

B.順序、循環(huán)、嵌套

C.循環(huán)、遞歸、選擇

D.順序、選擇、循環(huán)

62.

63.有以下函數(shù)函數(shù)的功能是()。

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

B.查找x和y所指字符串中是否有’\0’

C.將y所指字符串賦給x所指存儲(chǔ)空間

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

64.

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

A.用戶(hù)所定義的標(biāo)識(shí)符允許使用關(guān)鍵字

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

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

D.用戶(hù)所定義的標(biāo)識(shí)符必須以字母或下劃線(xiàn)開(kāi)頭

66.

67.

下面程序的功能是輸出以下形式的金字塔圖案:main

{inti,j;*

for(i=l;i<-4;i++)***

{for(j=1;j<=4-i;j++)printf("");

*****

for(j=1;j<=____;j++)printf("

*");*******

printf("\n");

}

}

在下劃線(xiàn)處應(yīng)填入的是()。

A.iB.2*i一1C.n=2*i+1D.i+2

68.

69.

70.函數(shù)fseek(pf,OL,SEEKEND)中的SEEKENE代表的起始點(diǎn)是()。

A.文件開(kāi)始B.文件末尾C.文件當(dāng)前位置D.以上都不對(duì)

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

A.對(duì)長(zhǎng)度為n的有序鏈表進(jìn)行查找,最壞情況下需要的比較次數(shù)為n

B.對(duì)長(zhǎng)度為n的有序鏈表進(jìn)行對(duì)分查找,最壞情況下需要的比較次數(shù)為n/2

C.對(duì)長(zhǎng)度為n的有序鏈表進(jìn)行對(duì)分查找,最壞情況下需要的比較次數(shù)為log2n

D.對(duì)長(zhǎng)度為n的有序鏈表進(jìn)行對(duì)分查找,最壞情況下需要的比較次數(shù)為nlog2n

72.在下列模式中,能夠給出數(shù)據(jù)庫(kù)物理存儲(chǔ)結(jié)構(gòu)與物理存取方法的是()。

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

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

A.在棧中,棧中元素隨棧底指針與棧頂指針的變化而動(dòng)態(tài)變化

B.在棧中,棧頂指針不變,棧中元素隨棧底指針的變化而動(dòng)態(tài)變化

C.在棧中,棧底指針不變,棧中元素隨棧頂指針的變化而

溫馨提示

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