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è),還剩98頁(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ì)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.以下程序的輸出結(jié)果是()main(){union{chari[2];intk;}r;r.i[0]=2,r.i[1]=0;printf("%d\n",r,k);}

A.2B.1C.0D.不確定

2.已知intt=0;while(t=1){…}則以下敘述正確的是()。

A.循環(huán)控制表達(dá)式的值為0B.循環(huán)控制表達(dá)式的值為1C.循環(huán)控制表達(dá)式不合法D.以上說(shuō)法都不對(duì)

3.要求當(dāng)A的值為奇數(shù)時(shí),表達(dá)式的值為“真”,A的值為偶數(shù)時(shí),表達(dá)式的值為“假”,以下不滿足要求的表達(dá)式是()。A.A%2==1B.!(A%2==0)C.A%2D.!(A%2)

4.下列說(shuō)法不正確的是()。

A.調(diào)用函數(shù)時(shí),實(shí)參可以是表達(dá)式

B.調(diào)用函數(shù)時(shí),實(shí)參與形參可以共用內(nèi)存單元

C.調(diào)用函數(shù)時(shí),將實(shí)參的值復(fù)制給形參,使實(shí)參變量和形參變量在數(shù)值上相等

D.調(diào)用函數(shù)時(shí),實(shí)參與形參的類型必須一致

5.公司中有多個(gè)部門和多名職員,每個(gè)職員只能屬于一個(gè)部門,一個(gè)部門可以有多名職員。則實(shí)體部門和職員間的聯(lián)系是()。

A.1:m聯(lián)系B.m:n聯(lián)系C.1:1聯(lián)系D.m:1聯(lián)系

6.以下不能對(duì)二維數(shù)組a進(jìn)行正確初始化的語(yǔ)句是()。A.inta[2][3]={0};

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

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

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

7.若已定義x和y為double類型,則表達(dá)式:x=1,y=x+3/2的值是()A.1B.2C.2.0D.2.5

8.循環(huán)隊(duì)列存儲(chǔ)在數(shù)組A[0..m]中,則入隊(duì)時(shí)的操作為()。

A.rear=rear+1

B.rear=(rear+1)mod(m-1)

C.rear=(rear+1)modm

D.rear=(rear+1)mod(m+1)

9.

10.若有下列定義,則對(duì)a數(shù)組元素地址的正確引用是()。inta[5],*p=a;

A.p+5B.*a+1C.&a+1D.&a[0]

11.若變量x、y已正確定義并賦值,以下符合C語(yǔ)言語(yǔ)法的表達(dá)式是()。

A.x+1=yB.++x,y=x--C.x=x+10=x+yD.double(x)/10

12.設(shè)在C語(yǔ)言中,float類型數(shù)據(jù)占4個(gè)字節(jié),則double類型數(shù)據(jù)占()個(gè)字節(jié)。

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

13.設(shè)有以下定義:inta=0;doubleb=1.25;charc='A';#defined2則下面語(yǔ)句中錯(cuò)誤的是()。

A.a++;B.b++;C.c++;D.d++;

14.若已包括頭文件<string.h>且已有定義chars1[18],s2={"ABCDE"}和inti,現(xiàn)要將字符串"ABCDE"賦給s1,下列語(yǔ)句錯(cuò)誤的是()。

A.strcpy(s1,s2)

B.strcpy(s1,"ABCDE");

C.s1="ABCDE";

D.for(i=0;i<6;i++)s1[i]=s2[i];

15.下列語(yǔ)句中,說(shuō)法正確的是______。

A.C程序書寫格式嚴(yán)格,每行只能寫一個(gè)語(yǔ)句

B.C程序書寫格式嚴(yán)格,每行必須有行號(hào)

C.C程序書寫格式自由,每行可以寫多條語(yǔ)句,但之間必須用逗號(hào)隔開(kāi)

D.C程序書寫格式自由,一個(gè)語(yǔ)句可以分寫在多行

16.設(shè)數(shù)據(jù)結(jié)構(gòu)A=(D,R),其中D={1,2,3,4},R={r},r={<1,2>,<2,3>,<3,4>,<4,1>},則數(shù)據(jù)結(jié)構(gòu)A是()。

A.線性結(jié)構(gòu)B.樹(shù)形結(jié)構(gòu)C.圖狀結(jié)構(gòu)D.集合

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

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

18.結(jié)構(gòu)化程序所要求的基本結(jié)構(gòu)不包括()。

A.順序結(jié)構(gòu)B.GOT0跳轉(zhuǎn)C.選擇(分支)結(jié)構(gòu)D.重復(fù)(循環(huán))結(jié)構(gòu)

19.下列條件語(yǔ)句中,輸出結(jié)果與其他語(yǔ)句不同的是()。

A.if(a)printf("%dn",x);elseprint[("%d\n",y)

B.if(a=0)pritf("%dn",y);elseprint[("%d\n",x)

C.if(a!一0)printf("%dn",x);elseprint[("%a\n",y)

D.if(a=O)print[("%dn",x);elseprintf("%d\n",y)

20.如有inta=11;則表達(dá)式(a++*1/3)的值是()。

A.0B.3C.4D.12

二、2.填空題(20題)21.數(shù)據(jù)庫(kù)系統(tǒng)的主要特點(diǎn)為數(shù)據(jù)集成性、數(shù)據(jù)的高_(dá)_____和低冗余性、數(shù)據(jù)獨(dú)立性和數(shù)據(jù)統(tǒng)一管理和控制。

22.在兩種基本測(cè)試方法中,【】測(cè)試的原則之一是保證所測(cè)模塊中每一個(gè)獨(dú)立路徑至少要執(zhí)行一次。

23.定義長(zhǎng)度為12的數(shù)組,下面四種方法中正確的有【】。

①intx[12];②intn=12;③constintn=12;④intx[]={1,2};

intx[n];intx[n];

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

#include<stdio.h>

voidfun(intx)

{if(x/2>0)fun(x/2);

printf("%d",x);

}

main()

{fun(3);printf("\n");

}

25.測(cè)試的目的是暴露錯(cuò)誤,評(píng)價(jià)程序的可靠性;而______的目的是發(fā)現(xiàn)錯(cuò)誤的位置并改正錯(cuò)誤。

26.若有以下定義和語(yǔ)句:

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

p=w;

則通過(guò)指針p引用值為98的數(shù)組元素的表達(dá)式是【】。

27.表示“整數(shù)x的絕對(duì)值大于5”時(shí)值為“假”的C語(yǔ)言表達(dá)式是______。

28.若有如下結(jié)構(gòu)體說(shuō)明:

structSTRU

{inta,b;charc:doubled;

structSTRU*p1,*p2;

};

請(qǐng)?zhí)羁?,以完成?duì)t數(shù)組的定義,t數(shù)組的每個(gè)元素為該結(jié)構(gòu)體類型。

【】t[20]

29.以下程序用于判斷a,b,c能否構(gòu)成三角形,若能,輸出YES,否則輸出NO。當(dāng)給a,b,c輸入三角形三條邊長(zhǎng)時(shí),確定a,b,c能構(gòu)成三角形的條件是需同時(shí)滿足三個(gè)條件:a+b>c,a+c>b,b+c>a。請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

main()

{floata,b,c;

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

if(【】)printf("YES\n");/*a.b.c能構(gòu)成三角形*/

elseprinff("NO\n");/*a.b.c不能構(gòu)成三解形*/

}

30.以下sstrcpy()函數(shù)實(shí)現(xiàn)字符串復(fù)制,即將t所指字符串復(fù)制到s所指內(nèi)存空間中,形成一個(gè)新字符串s。請(qǐng)?zhí)羁铡?/p>

voidsstrcpy(char*s,char*t)

{while(*s++=【】);}

main()

{charstrl[100],str2[]="abcdefgh";

sstrcpy(str1,str2);

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

}

31.數(shù)據(jù)元素之間______的整體稱為邏輯結(jié)構(gòu)。

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

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

#include<stdio.h>

longfib(intg)

{switch(g)

{case0:return0;

case1:

case2:return1;}

return(fib(g-1)+fib(g-2));}

main()

{longk;

k=fib(5);

printf("k=%51d\n",k);}

34.下列語(yǔ)句的輸出結(jié)果是______。

chars[20]="aaaa",*sp=s;

puts(strcat(sp,"AAAAA"));

35.函數(shù)調(diào)用語(yǔ)句:“fgets(buf,n,fp);”從中指向的文件中讀入n個(gè)字符放到buf字符數(shù)組中,函數(shù)返回值為_(kāi)_____。

36.設(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);

}

37.下面程序有兩個(gè)printf語(yǔ)句,如果第一個(gè)printf語(yǔ)句輸出的是194,則第二個(gè)printf語(yǔ)句的輸出結(jié)果是【】。

main()

{inta[10]={1,2,3,4,5,6,7,8,9,0},*p;

p=a;

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

printf("%x\n,p+9);

}

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

main()

{inti,n[]={0,0,0,0,0};

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

{n[i]=n[i-1]*2+1;

printf("%d",n[i]);

}

}

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

main()

{intX=10,y=20,t=0;

if(X==y)t=x;x=y;y=t;

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

}

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

main()

{intp=30;

printf{"%d\n",(p/3>0?p/10:p%3)};

}

三、1.選擇題(20題)41.設(shè)有定義:inca,*pa;&a;以下scanf語(yǔ)句中能正確為變量a讀入數(shù)據(jù)的是

A.scanf("%d",pA);

B.Scanf("%d",A);

C.SCaRf("%d",&p9);

D.scanf("%d",*pA);

42.軟件需求分析一般應(yīng)確定的是用戶對(duì)軟件的______。

A.功能需求B.非功能需求C.性能需求D.功能需求和非功能需求

43.可以在C語(yǔ)言中用做用戶標(biāo)識(shí)符的是______。

A.voiddefineWORDB.as_b3_123IfC.for-abccasD.2cDoSIG

44.C語(yǔ)言提供的預(yù)處理功能包括條件,其基本形式為:#×××標(biāo)識(shí)符程序段1#else程序段2#endif這里的×××可以是()

A.define或include

B.ifdef或include

C.indef或ifndef或define

D.ifdef或ifndef或if

45.下面四個(gè)選項(xiàng)中,均是不合法的用戶標(biāo)識(shí)符的選項(xiàng)是()。

A.AP_0doB.floatla0_AC.b-agotointD._123tempint

46.下列程序voidfunc1(inti);voidfunc2(inti)charst[]="hello,friend!";voidfuncl(inti){printf("%c",st[i]);if(i<3){i+=2;func2(i);}}voidfunc2(inti){printf("%c",st[i]);if(i<3){i+=2;funcl(i);}}main(){inti=0;funcl(i);printf("\n");}執(zhí)行后的輸出結(jié)果是()

A.helloB.helC.hloD.hlrn

47.若t為double類型,表達(dá)式t=1,t+5,t++;的值是______。

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

48.下面程序段中,輸出*的個(gè)數(shù)是char*s="\ta\018bc";for(;*s!='\0';s++)printf("*");

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

49.若有以下結(jié)構(gòu)體定義,則______是正確的引用或定義。structexample{intx;inty;}v1;

A.example.x=10

B.examplev2.x=10

C.structv2;v2.x=10

D.structexamplev2={10};

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

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

51.函數(shù)的值通過(guò)return語(yǔ)句返回,下面關(guān)于return語(yǔ)句的形式描述錯(cuò)誤的是

A.return表達(dá)式;

B.return(表達(dá)式);

C.一個(gè)return語(yǔ)句可以返回多個(gè)函數(shù)值

D.一個(gè)return語(yǔ)句只能返回一個(gè)函數(shù)值

52.線性表的順序存儲(chǔ)結(jié)構(gòu)和線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)分別是______。

A.順序存取的存儲(chǔ)結(jié)構(gòu)、順序存取的存儲(chǔ)結(jié)構(gòu)

B.隨機(jī)存取的存儲(chǔ)結(jié)構(gòu)、順序存取的存儲(chǔ)結(jié)構(gòu)

C.隨機(jī)存取的存儲(chǔ)結(jié)構(gòu)、隨機(jī)存取的存儲(chǔ)結(jié)構(gòu)

D.任意存取的存儲(chǔ)結(jié)構(gòu)、任意存取的存儲(chǔ)結(jié)構(gòu)

53.()是不正確的C語(yǔ)言賦值語(yǔ)句。

A.x=1,y=2B.x++C.x=y(tǒng)=5D.y=int(x);

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

charx=3,y=6,z;

z=x^y<<2;

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

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

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

#definePT5.5

#defineS(x)PT*x*x

#include<stdio.h>

main()

{inta=1,b=2;

printf("%4.1f\n",S(a+b));}

A.49.5B.9.5C.22D.45

56.在軟件生命周期中,能準(zhǔn)確地確定軟件系統(tǒng)必須做什么和必須具備哪些功能的階段是()

A.需求分析B.詳細(xì)設(shè)計(jì)C.軟件設(shè)計(jì)D.概要設(shè)計(jì)

57.下面程序段的執(zhí)行結(jié)果是()。intx=10;for(;x;x--){if(x%3)continue;printf("%d",x);}

A.875421B.963C.741D.852

58.若要打開(kāi)A盤上user了目錄下名為abc.txt的文本文件進(jìn)行讀、寫操作,下面符合此要求的函數(shù)調(diào)用是

A.fopen("A:\user\abc.txt",","r")

B.fopen("A:\\user\\abc.txt","r+")

C.fopen("A:\user\abc.txt","rb")

D.fopen("A:\\user\\abc.txt","w")

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

A.一個(gè)算法的空間復(fù)雜度大,則其時(shí)間復(fù)雜度也必定大

B.一個(gè)算法的空間復(fù)雜度大,則其時(shí)間復(fù)雜度必定小

C.一個(gè)算法的時(shí)間復(fù)雜度大,則其空間復(fù)雜度必定小

D.上述三種說(shuō)法都不對(duì)

60.下述程序向文件輸出的結(jié)果是______。#include<stdio.h>voidmain(){FILE*fp=fopen("TEST","wb");fprintf(fp,"%%5.0f%c%d",58,76273.0'-',2278);fclose(fp);}

A.5876273-2278

B.5876273.000000-2278

C.5876273-2278

D.因文件為二進(jìn)制文件而不可讀

四、選擇題(20題)61.算法的空間復(fù)雜度是指()。

A.算法程序的長(zhǎng)度B.算法程序中的指令條數(shù)C.算法程序所占的存儲(chǔ)空間D.執(zhí)行算法需要的內(nèi)存空間

62.有下列程序:、

fun(intX,inty){return(x+y);)

main()

{inta=1,b=2,c=3,sum;

sum=fun((a++,b++,a+b),c++);

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

}

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

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

63.有以下結(jié)構(gòu)體說(shuō)明和變量定義,如圖所示,指針p、q、r分別指向此鏈表中的3個(gè)連續(xù)結(jié)點(diǎn)。structnode{

int

data;structnode

*next;

}*p,*q,*r;現(xiàn)要將這個(gè)鏈表構(gòu)成一個(gè)環(huán),以下(

)操作是正確的。A.p->next=q->nextB.r->next=pC.p->next=rD.r->next=q->next->next

64.以下程序的輸出結(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

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

A.gaeB.gaC.LanguageD.有語(yǔ)法錯(cuò)

66.有以下程序:

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

A.1127B.1212C.1111D.117

67.

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

A.passwarnB.passerrorC.goodpasswarnD.pass

69.軟件按功能可以分為應(yīng)用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件)。下面屬于系統(tǒng)軟件的是():

A.學(xué)生成績(jī)管理系統(tǒng)B.ERP系統(tǒng)C.辦公自動(dòng)化系統(tǒng)D.UNIX系統(tǒng)

70.有如下程序

main()

{

inta=2,b=-1,c=2;

if(a<b)c=1;

if(b<0)c=0;

elsec++;

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

}

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

A.0B.1

C.2D.3

71.設(shè)有以下定義:

inta[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};

int(*ptr)[3]=a,*p=a[0];

則下列能夠正確表示數(shù)組元素a【1】【2】的表達(dá)式是()。

A.*((*ptr+1)[2])

B.*(*(p+5))

C.(*ptr+1)+2

D.*(*(a+1)+2)

72.(48)軟件調(diào)試的目的是()

A.發(fā)現(xiàn)錯(cuò)誤

B.改正錯(cuò)誤

C.改善軟件的性能

D.挖掘軟件的潛能

73.層次型、網(wǎng)狀型和關(guān)系型數(shù)據(jù)庫(kù)劃分原則是()。

A.記錄長(zhǎng)度B.文件的大小C.聯(lián)系的復(fù)雜程度D.數(shù)據(jù)之間的聯(lián)系方式

74.

A.包含l個(gè)字符B.包含2個(gè)字符C.包含3個(gè)字符D.說(shuō)明不合法,c的值不確定

75.下列數(shù)據(jù)模型中,具有堅(jiān)實(shí)理論基礎(chǔ)的是()。A.層次模型B.網(wǎng)狀模型C.關(guān)系模型D.以上三個(gè)都是

76.已定義以下函數(shù):

fun(char*p2,char*p1)

{while((*p2=*p1)!=’\0’){p1++;p2++;}}

函數(shù)的功能是()。

A.將p1所指字符串復(fù)制到p2所指向內(nèi)存空間

B.將p1所指字符串的地址賦給指針p2

C.對(duì)p1和p2兩個(gè)指針?biāo)缸址M(jìn)行比較

D.檢查p1和p2兩個(gè)指針?biāo)缸址惺欠裼小痋0’

77.軟件的()設(shè)計(jì)又稱總體結(jié)構(gòu)設(shè)計(jì),其主要任務(wù)是建立軟件系統(tǒng)的總體結(jié)構(gòu)。

A.概要B.抽象C.邏輯D.規(guī)劃

78.設(shè)有定義:charpE]={’1’,‘2’,’3’},*q=p;,以下不能計(jì)算出一個(gè)char型數(shù)據(jù)所占字節(jié)數(shù)的表達(dá)式是()。

A.sizeof(p)B.sizeof(char)C.sizeof(*q)D.sizeof(p[0])

79.

80.以下選項(xiàng)中合法的表達(dá)式是()。

A.a(chǎn)=a+7=c+b

B.(3+x)++

C.3+x++

D.x+1=x+1

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:將m(1≤m≤10)個(gè)字符串連接起來(lái),組成一個(gè)新串,放入pt所指字符串中,例如,把2個(gè)字符串a(chǎn)bc、CD串聯(lián)起來(lái),結(jié)果是abcCD。請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:

六、程序設(shè)計(jì)題(1題)82.編寫函數(shù)如n,其功能是:刪除一個(gè)字符串中指定下標(biāo)的字符。其中,a指向原字符串,刪除指定字符后的字符串存放在b所指的數(shù)組中,n放指定的下標(biāo)。例:輸入一個(gè)字符串“world”,然后輸入3,則調(diào)用該函數(shù)后的結(jié)果為“word”。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)丘m的花括號(hào)中填入你編寫的若干語(yǔ)句。試題程序:

參考答案

1.A解析:根據(jù)共用體的定義可知:共用體r的成員k和成員i[2]是共用同—段內(nèi)存空間,所以,當(dāng)程序給r.i[0]賦值后,實(shí)際上,共用體成員k的值也確定了,為2。所以打印輸出的結(jié)果應(yīng)當(dāng)為2。

2.B解析:t=1是將t賦值為1,所以循環(huán)控制表達(dá)式的值為1。判斷t是否等于1時(shí),應(yīng)用t==1,注意“=”與“==”的用法。

3.D

4.B

\n本題考查函數(shù)調(diào)用的基本概念。調(diào)用函數(shù)時(shí),實(shí)參的形式可以是具體的數(shù)值,也可以是表達(dá)式。實(shí)參將數(shù)值或表達(dá)式的值傳遞給形參,因而兩者的類型必須保持一致;形參在運(yùn)算過(guò)程中會(huì)發(fā)生改變,但不一定會(huì)影響到實(shí)參值,所以可知兩者不共用內(nèi)存單元。

\n

5.A部門到職員是一對(duì)多的,職員到部門是多對(duì)一的,因此,實(shí)體部門和職員間的聯(lián)系是l:m聯(lián)系。

6.B選項(xiàng)A中,將二維數(shù)組a的6個(gè)元素都賦值為0,正確;選項(xiàng)B中,由于a包含2個(gè)元素,每個(gè)元素都是包含3個(gè)元素的一維數(shù)組,初始化列表中包含3個(gè)元素,每個(gè)元素是包含2個(gè)元素的數(shù)組,錯(cuò)誤;選項(xiàng)C中,a的每個(gè)元素是包含3個(gè)元素的一維數(shù)組,初始化列表將a[0]的3個(gè)元素初始化為1,2,0,將a[1]的3個(gè)元素初始化為0,0,0,正確;選項(xiàng)D中,將a[0]初始化為1,2,3,將a[1]初始化為4,5,6,正確。本題答案為B選項(xiàng)。

7.C解析:這是一個(gè)逗號(hào)表達(dá)式,它的值應(yīng)為表達(dá)式y(tǒng)=x+3/2的值,而前一個(gè)表達(dá)式已給x賦值1,在沒(méi)有進(jìn)行類型轉(zhuǎn)換的情況下,3/2的值為1,所以x+3/2的值應(yīng)為2.0。

8.D

9.C

10.D本題考查數(shù)組元素的地址的引用。A中,p+5引用的是a[5]的地址,而數(shù)組a只有5個(gè)元素,即a[0]、a[1]、a[2]、a[3]、a[4],所以引用錯(cuò)誤(注:數(shù)組元素下標(biāo)從0開(kāi)始);B中,*a+1指的是將數(shù)組a的第一個(gè)元素加1;選項(xiàng)C中,不存在這種引用方式;D中,&a[0]引用的是數(shù)組的首地址。

11.B不能將變量賦給表達(dá)式,故A、C選項(xiàng)錯(cuò)誤。D選項(xiàng)中強(qiáng)制類型轉(zhuǎn)換表達(dá)式應(yīng)寫成“(double)x/10”。故本題答案為B選項(xiàng)。

12.C

\n在C語(yǔ)言中各種數(shù)據(jù)類型在內(nèi)存中所占的字節(jié)數(shù)與機(jī)器的位數(shù)有關(guān),16位機(jī)中(也就是在標(biāo)準(zhǔn)c中),若int類型數(shù)據(jù)占2個(gè)字節(jié),則float類型數(shù)據(jù)占4個(gè)字節(jié),double類型數(shù)據(jù)占8個(gè)字節(jié)。

\n

13.D解析:本題考核的知識(shí)點(diǎn)是在自加運(yùn)算符的運(yùn)算對(duì)象。自加運(yùn)算對(duì)象可以是整型變量也可以是實(shí)型變量,但不能是表達(dá)式和常量。本題中,#defined2定義了d為常數(shù)2,不能在對(duì)d進(jìn)行自加運(yùn)算.故選項(xiàng)D是個(gè)不正確的語(yǔ)句,所以,4個(gè)選項(xiàng)中選項(xiàng)D符合題意。

14.C解析:數(shù)組名s1是代表s1數(shù)組首地址的地址常量,而不是變量,因?yàn)椤?”左邊不能出現(xiàn)常量,因此sl='ABCDE'的方法是錯(cuò)誤的。

15.D

16.A

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

18.B1966年Boehm和Jacopini證明了程序設(shè)計(jì)語(yǔ)言僅僅使用順序、選擇和重復(fù)三種基本控制結(jié)構(gòu)就足以表達(dá)出各種其他形式結(jié)構(gòu)的程序設(shè)計(jì)方法。

19.D主要考查if判斷語(yǔ)句,A選項(xiàng)if(a),如果a為真,則輸出X,否則輸出Y。B選項(xiàng)if(a==0),如果a恒等于0,則輸出Y,否則輸出X。C選項(xiàng)a(!=o),如果a不等于0,則輸出X,否則輸出y。D選項(xiàng)if(a==0),如果a恒等于0,則輸出X,否則輸出y。由以上結(jié)論可知,輸出結(jié)果不同的為D選項(xiàng)。

20.B

21.共享性共享性解析:數(shù)據(jù)庫(kù)系統(tǒng)中的數(shù)據(jù)能被不同的應(yīng)用程序使用,實(shí)現(xiàn)了數(shù)據(jù)的高度共享,從而降低了數(shù)據(jù)的冗余,這也是數(shù)據(jù)庫(kù)的主要目的。

22.白盒或白箱或白盒子或WhiteBox白盒或白箱或白盒子或WhiteBox解析:本題考查軟件工程的測(cè)試。測(cè)試一般有兩種方法:黑盒測(cè)試和白盒測(cè)試。黑盒測(cè)試不考慮程序的內(nèi)部邏輯結(jié)構(gòu)和處理過(guò)程,只著眼于程序的外部特性。用黑盒測(cè)試來(lái)發(fā)現(xiàn)程序中的錯(cuò)誤,必須用所有可能的輸入數(shù)據(jù)來(lái)檢查程序能否都能產(chǎn)生正確的輸出。白盒測(cè)試是在了解程序內(nèi)部結(jié)構(gòu)和處理過(guò)程的基礎(chǔ)上,對(duì)程序的所有路徑進(jìn)行測(cè)試,檢查路徑是否都能按預(yù)定要求正確工作。因此,劃線處應(yīng)填入“白盒(箱)”或“WhiteBox”。

23.①③

24.1313解析:函數(shù)fun是一個(gè)遞歸函數(shù)。執(zhí)行fun(3);,x=3,x/2=1>0,又調(diào)用f(1),此時(shí),x=1,x/2=0,不滿足繼續(xù)遞歸調(diào)用的條件,輸出1,返回到fun(3)中,輸出3。所以本題的輸出結(jié)果為13。

25.調(diào)試調(diào)試

26.*(p+5)

27.(x>-5)&&(x<5)(x>-5)&&(x<5)解析:本題考查基本邏輯表達(dá),“整數(shù)x的絕對(duì)值大于5”時(shí)值為“假”,即整數(shù)x的絕對(duì)值小于等于5,也就是整數(shù)x要大于等于-5且要小于等于5。這里“且”用“與(&&)”表示,所以C語(yǔ)言表達(dá)式為:(x>-5)&&(x<5)。

28.strudctSTRUstrudctSTRU解析:結(jié)構(gòu)件類型是構(gòu)造數(shù)據(jù)類型,是用戶自己定義的一種類型。

結(jié)構(gòu)體類型的定義:

struct結(jié)構(gòu)體類型名

{

成員項(xiàng)表;

};

定義結(jié)構(gòu)體變量的的形式為:

struct結(jié)構(gòu)體類型名變量1,變量2,...?

其中變量包括;一般變量、指針變量、數(shù)組變量等。

29.(a+b>c)&&(a+c>b)&&(b+c>a)(a+b>c)&&(a+c>b)&&(b+c>a)解析:根據(jù)構(gòu)成三角形的條件:兩邊之和大于第三邊,得出空格應(yīng)該填(a+b>c)&&(a+c>b)&&(b+c>a)或與其等價(jià)的形式。

30.*t++*t++解析:要使sstrcpy函數(shù)實(shí)現(xiàn)字符串復(fù)制,必須將t字符串中的每個(gè)字符逐個(gè)復(fù)制到s字符串中,可以使用*s=*t;s++;t++,也可以寫成*s++=*t++,因此空格處填*t++。

31.邏輯關(guān)系邏輯關(guān)系

32.(y%2)==1或(y%2)!=0(y%2)==1或(y%2)!=0

33.k=5k=5解析:本題主要考查了函數(shù)的遞歸調(diào)用方法。g=0或g=1或g=2是遞歸的終止條件,然后用回代的方法從一個(gè)已知值推出下一個(gè)值,直到計(jì)算出最終結(jié)果。

34.aaaaAAAAAaaaaAAAAA解析:函數(shù)strcat(sp,'AAAAA')的作用是將字符中“AAAAA”連接到字符串sp的末尾,并自動(dòng)覆蓋字符數(shù)組sp末尾的\'\\0\'。

35.buf的首地址buf的首地址解析:考查fsets()函數(shù)的功能,f8ets()函數(shù)用來(lái)從文件中讀入字符串。調(diào)用格式為:f8ets(buf,n,fp)。此處,fp是文件指針,buf是存放字符串的起始地址,n是一個(gè)int型變量。調(diào)用函數(shù)fsets()時(shí),最多能讀入n-1個(gè)字符,系統(tǒng)自動(dòng)在最后加字符串結(jié)束標(biāo)志,并以buf作為函數(shù)值返回。

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

37.1a61a6解析:對(duì)于指針變量的運(yùn)算,就是對(duì)地址的運(yùn)算。本題中由于指針指向的是整型變量,所以,使指針變量移動(dòng)9個(gè)位置也就是移動(dòng)18個(gè)字節(jié)。注意,本題是以十六進(jìn)制輸出的。

38.1371513715解析:本題中,定義了一個(gè)整型數(shù)組n并初始化,在for循環(huán)語(yǔ)句中,再對(duì)數(shù)組中各元素重新賦值。循環(huán)執(zhí)行第一次時(shí),n[1]=n[0]*2+1=0+1=1,printf函數(shù)輸出1,然后i的值加1,比較i<=4成立,繼續(xù)執(zhí)行循環(huán)體語(yǔ)句,使后一個(gè)數(shù)為前一個(gè)數(shù)的2倍加1。所以最后輸出為1、3、7、15。

39.20020,0解析:在主函數(shù)中首先定義了3個(gè)整型變量x、y、t,并分別給它們賦初值為10、20、0,接著執(zhí)行汀語(yǔ)句,在if后面括號(hào)內(nèi)的條件表達(dá)式中,條件x==y即10==20不成立,則不執(zhí)行其后的語(yǔ)句t=x,然后退出if語(yǔ)句,順序執(zhí)行語(yǔ)句x=y;y=t;。執(zhí)行完這兩條語(yǔ)句后x的值變?yōu)?0,y的值變?yōu)?,所以最后輸出x、y的值為20和0。

40.33解析:本題考核的知識(shí)點(diǎn)是條件運(yùn)算符的運(yùn)用。三目運(yùn)算表達(dá)式的規(guī)則為如果“?”前面表達(dá)式的值為真,則取“:”前的表達(dá)式的值,否則,取“:”后面表達(dá)式的值。又由于條件運(yùn)算符的結(jié)合方向是自右向左的,所以在本試題中,先計(jì)算表達(dá)式中p%3,該值為0,在計(jì)算表達(dá)式P/10其值為3,最后計(jì)算表達(dá)式p/3該值為10.所以此表達(dá)式等價(jià)于“10?3:0”,顯然取“:”前的僵為3,所以最后輸出的值為3。

41.A解析:本題考核的知識(shí)點(diǎn)是scanf()函數(shù)和指針類型變量的簡(jiǎn)單應(yīng)用。scanf()函數(shù)的功能是進(jìn)行輸入數(shù)據(jù),它是按格式參數(shù)的要求從終端上把數(shù)據(jù)傳送到地址參數(shù)所指定的內(nèi)存空間中,C語(yǔ)言允許程序員間接地使用內(nèi)存地址,這個(gè)地址是通過(guò)對(duì)變量名“求地址”運(yùn)算得到的,求地址的運(yùn)算符是&,得到的地址是一種符號(hào)地址.本題中定義了整型變量a和一個(gè)指向整型數(shù)據(jù)的指針變量pa,并定義pa是一個(gè)存放a的地址的變量。選項(xiàng)B中應(yīng)該將a改為&a,故選項(xiàng)B不正確:選項(xiàng)C應(yīng)該將&pa改為pa,因?yàn)閜a已經(jīng)表示存放a的地址,故選項(xiàng)C不正確;選項(xiàng)D中*pa表示的是指針pa所指向存儲(chǔ)空間的變量的值,而不是一個(gè)地址,故選項(xiàng)D不正確,所以,4個(gè)選項(xiàng)中選項(xiàng)A符合題意。

42.DD?!窘馕觥寇浖枨蠓治鲋行枰獦?gòu)造一個(gè)完全的系統(tǒng)邏輯模型,理解用戶提出的每一功能與性能要求,使用戶明確自己的任務(wù)。因此,需求分析應(yīng)確定用戶對(duì)軟件的功能需求和非功能需求。

43.B解析:C語(yǔ)言規(guī)定,標(biāo)識(shí)符只能由字母、數(shù)字和下劃線三種符號(hào)組成,而且第一個(gè)字符必須是字母或下劃線。另外還需要注意的是關(guān)鍵字不能作標(biāo)識(shí)符。選項(xiàng)A中void,C中for都為關(guān)鍵字,D中2c以字母開(kāi)頭。

44.D

45.C解析:C語(yǔ)言規(guī)定的標(biāo)識(shí)符只能由字母、數(shù)字和下劃線3種字符組成,第一個(gè)字符必須為字母或下劃線,并且不能使用C語(yǔ)言中的關(guān)鍵字作為標(biāo)識(shí)符。選項(xiàng)C)中g(shù)oto和int是關(guān)鍵字,b-a中'-'不是組成標(biāo)識(shí)符的3種字符之一;選項(xiàng)D)中int是關(guān)鍵字,所以,均是不合法用戶標(biāo)識(shí)符的選項(xiàng)是C)。

46.C

47.D

48.C解析:本題中,格式符。表示的是八進(jìn)制無(wú)符號(hào)形式輸出整型數(shù)(不帶前導(dǎo)0),字符常量在內(nèi)存中占一個(gè)字節(jié),存放的是ACSII碼代碼值。C語(yǔ)言規(guī)定,所有字符常量都作為整型量來(lái)處理,在計(jì)算機(jī)內(nèi)部,其對(duì)應(yīng)的整數(shù)值就是ACSII字符集中該字符的序號(hào),即&*s中有幾個(gè)字符就輸出幾個(gè)*。

49.D解析:在定義結(jié)構(gòu)體變量時(shí),不能只用結(jié)構(gòu)體名example或關(guān)鍵字struct進(jìn)行定義,必需要用結(jié)構(gòu)缽類型名structexample定義,在引用結(jié)構(gòu)體成員變量時(shí),需要用結(jié)構(gòu)體變量名進(jìn)行引用,所以選D。

50.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,}};

51.C解析:return語(yǔ)句中的表達(dá)式的值就是所求的函數(shù)值,此表達(dá)式值的類型必須與函數(shù)首部所說(shuō)明的類型一致。如果類型不一致,則以函數(shù)值的類型為準(zhǔn),由系統(tǒng)自動(dòng)進(jìn)行轉(zhuǎn)換。一個(gè)return語(yǔ)句只能返回一個(gè)值。

52.B【命題目的】考查有關(guān)線性表存儲(chǔ)結(jié)構(gòu)的基本知識(shí)。

【解題要點(diǎn)】順序存儲(chǔ)結(jié)構(gòu)中,數(shù)據(jù)元素存放在一組地址連續(xù)的存儲(chǔ)單元中,每個(gè)數(shù)據(jù)元素地址可通過(guò)公式LOC(ai)=LOC(a1)+(I-1)L計(jì)算得到,從而實(shí)現(xiàn)了隨機(jī)存取。對(duì)于鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),要對(duì)某結(jié)點(diǎn)進(jìn)行存取,都得從鏈的頭指針指向的結(jié)點(diǎn)開(kāi)始,這是一種順序存取的存儲(chǔ)結(jié)構(gòu)。

【考點(diǎn)鏈接】順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的定義和性質(zhì),兩種存儲(chǔ)結(jié)構(gòu)的操作方法。

53.D

54.B本題主要考查位運(yùn)算?!鞍次划惢颉边\(yùn)算(^)是雙目運(yùn)算符,其功能是把參與運(yùn)算的兩數(shù)各對(duì)應(yīng)的二進(jìn)制位相異或,它在操作時(shí),兩對(duì)應(yīng)位相同結(jié)果為0,不同則為1?!白笠啤边\(yùn)算(<<)的功能是把“<<”左邊的運(yùn)算數(shù)的各二進(jìn)制位全部左移若干位,由“<<”右邊的數(shù)指定移動(dòng)的位數(shù),高位丟棄,低位補(bǔ)0。左移時(shí),若左端移出的部分不包含有效二進(jìn)制數(shù)1,則每左移一位,相當(dāng)于移位對(duì)象乘以2。

本題中,有三個(gè)字符型的變量x,y,z,其中x和y的值分別為3和6。先轉(zhuǎn)換為二進(jìn)制數(shù)分別為00000011和00000110。本題中需要注意的是邏輯左移運(yùn)算符的優(yōu)先級(jí)比按位異或運(yùn)算符的優(yōu)先級(jí)高,因此,先將y進(jìn)行運(yùn)算邏輯左移2位操作,得到的結(jié)果為00011000,然后進(jìn)行按位異或運(yùn)算,得到最后的結(jié)果是00011011。本題正確的答案選B。

55.A解析:考查宏替換的使用。宏替換用'#define宏名宏體'的形式來(lái)定義。在進(jìn)行編譯預(yù)處理時(shí),將把程序中宏定義之后的所有宏名用宏體替換。宏雖然可以帶參數(shù),但宏替換過(guò)程中不像函數(shù)那樣要進(jìn)行參數(shù)值的計(jì)算、傳遞及結(jié)果返回等操作;宏替換只是簡(jiǎn)單的字符替換,不進(jìn)行計(jì)算,因而本題中的S(a+b)進(jìn)行宏替換后為PT*1+2*1+2=5.5*1+2*1+2=9.5。

56.AA)【解析】軟件生命周期的主要活動(dòng)階段為:可行性研究和計(jì)劃制定、需求分析、軟件設(shè)計(jì)、軟件實(shí)現(xiàn)、軟件測(cè)試、運(yùn)行和維護(hù)。其中需求分析是對(duì)開(kāi)發(fā)軟件提出的需求進(jìn)行分析并給出詳細(xì)定義,即準(zhǔn)確地確定軟件系統(tǒng)的功能,編寫軟件規(guī)格說(shuō)明書及初步的用戶手冊(cè),提交評(píng)審。

57.B解析:本題的for循環(huán)省略了第一個(gè)表達(dá)式,即for沒(méi)有任何初始化動(dòng)作;第二個(gè)表達(dá)式x的意思是只要x非0,則循環(huán)繼續(xù);第三個(gè)表達(dá)式讓x在每次循環(huán)結(jié)束時(shí)減1。x初始為10,然后進(jìn)入循環(huán)體,判斷x是否能被3整除,不能整除則執(zhí)行continue;語(yǔ)句進(jìn)入下一次循環(huán),能整除則輸出x。故最終輸出的結(jié)果為從10遞減到1之中能被3整除的數(shù)9、6和3。所以正確答案是B。

58.B解析:由于“\\”是轉(zhuǎn)義字符,所以在文件名中的“\”用“\\\\”來(lái)表示,因此選項(xiàng)A和選項(xiàng)C不正確。要打開(kāi)文本文件進(jìn)行讀寫,應(yīng)使用讀寫模式“r+”,因此選項(xiàng)D不正確。所以,4個(gè)選項(xiàng)中B為所選。

59.D解析:時(shí)間復(fù)雜度是指一個(gè)算法執(zhí)行時(shí)間的相對(duì)度量;空間復(fù)雜度是指算法在運(yùn)行過(guò)程中臨時(shí)占用所需存儲(chǔ)空間大小的度量。人們都希望選擇一個(gè)既省存儲(chǔ)空間、又省執(zhí)行時(shí)間的算法。然而,有時(shí)為了加快算法的運(yùn)行速度,不得不增加空間開(kāi)銷;有時(shí)為了能有效地存儲(chǔ)算法和數(shù)據(jù),又不得不犧牲運(yùn)行時(shí)間。時(shí)間和空間的效率往往是一對(duì)矛盾,很難做到兩全。但是,這不適用于所有的情況,也就是說(shuō)時(shí)間復(fù)雜度和空間復(fù)雜度之間雖然經(jīng)常矛盾,但是二者不存在必然的聯(lián)系。因此,選項(xiàng)A、B、C的說(shuō)法都是錯(cuò)誤的。故本題的正確答案是D。

60.C解析:fprintf函數(shù)工作時(shí),多個(gè)數(shù)據(jù)間不會(huì)自動(dòng)加分隔符,選項(xiàng)A錯(cuò)誤;浮點(diǎn)數(shù)的輸出格式是“%5.0f”表明其小數(shù)部分輸出0位,即沒(méi)有輸出,所以選項(xiàng)B也是錯(cuò)誤的。

61.D解析:算法的復(fù)雜度主要包括算法的時(shí)間復(fù)雜度和算法的空間復(fù)雜度。所謂算法的時(shí)間復(fù)雜度是指執(zhí)行算法所需要的計(jì)算工作量;算法的空間復(fù)雜度一般是指執(zhí)行這個(gè)算法所需要的內(nèi)存空間。

62.C\n函數(shù)fun(intx,inty)的功能是返回x+Y的值。在主函數(shù)中,變量a,b,c的初始值分別為1,2,3。因此逗號(hào)表達(dá)式“a++,b++,a+b”的值等于5,表達(dá)式c++的值為3,調(diào)用于函數(shù)的表達(dá)式為“fun(5,3);”,其返回值等于8。

\n

63.B要想將鏈表構(gòu)成一個(gè)環(huán),需要r指向的節(jié)點(diǎn)的next指針(指向下一節(jié)點(diǎn))指向p所指向的節(jié)點(diǎn),即將p的值賦給next.

64.C

65.A考查用指針來(lái)引用字符數(shù)組元素的方法。指針pl+k相當(dāng)于指針pl向后移動(dòng)了k個(gè)字符的位置,指針p2同理。

66.D本題考查宏定義的用法,宏定義只是做個(gè)簡(jiǎn)單的替換,所以本題中執(zhí)行f(2)=(2*N+1)=11,執(zhí)行f(1+1)=(1+1}N+1)=7。選項(xiàng)D正確。

67.A\r\n

68.A本題的考查點(diǎn)是switch語(yǔ)句。當(dāng)用戶鍵人字符時(shí),會(huì)進(jìn)入一個(gè)多分支選擇語(yǔ)句,根據(jù)n的值,來(lái)確定下一步執(zhí)行的選擇語(yǔ)句;最后的結(jié)果應(yīng)當(dāng)為passwarn。本題需要注意的是,當(dāng)case語(yǔ)句沒(méi)有跟隨break語(yǔ)句時(shí),不會(huì)跳出switch,而是繼續(xù)執(zhí)行下一個(gè)case語(yǔ)句,直至遇到break語(yǔ)句。

69.D系統(tǒng)軟件是管理計(jì)算機(jī)的資源,提高計(jì)算機(jī)的使用效率,為用戶提供各種服務(wù)的軟件。應(yīng)用軟件是為了應(yīng)用于特定的領(lǐng)域而開(kāi)發(fā)的軟件。選項(xiàng)D屬于系統(tǒng)軟件。選項(xiàng)A、B、C屬于應(yīng)用軟件。故選D選項(xiàng)。

70.A本題主要考查if結(jié)構(gòu)的應(yīng)用。在程序中,首先定義三個(gè)整型變量a,b,c,并分別賦初值為2,-1,2,然后執(zhí)行第一條if語(yǔ)句,由于變量a的值大于變量b的值,a<b為假,那么接著執(zhí)行第二條if語(yǔ)句,由于變量b的值小于0,b<0為真,則執(zhí)行c=0,這時(shí)跳過(guò)else結(jié)構(gòu),輸出結(jié)果為0。

提醒注意:if與else結(jié)構(gòu)具有就近結(jié)合的原則。本題中的else結(jié)構(gòu)與第二個(gè)if語(yǔ)句結(jié)合,而不是與第一個(gè)if語(yǔ)句結(jié)合。

71.Da[1][2]的值為6.*ptr的值為1,*ptr+1=2是一個(gè)數(shù)組,所以(*ptr+1)[2]表示不正確。P=a,指向1,p+5是指針向后移動(dòng)5個(gè)單元,即指向6,*(p+5)即是6,C項(xiàng)解釋同A,

72.B注:與軟件測(cè)試要對(duì)比著復(fù)習(xí)

73.D層次模型的基本結(jié)構(gòu)是樹(shù)形結(jié)構(gòu),網(wǎng)狀模型是一個(gè)不加任何條件限制的無(wú)向圖,關(guān)系模型采用二維表來(lái)表示,所以三種數(shù)據(jù)庫(kù)的劃分原則是數(shù)據(jù)之間的聯(lián)系方式。

74.AC語(yǔ)言的字符型常量中,允許用一種特殊形式的字符常量,就是以一個(gè)”\”開(kāi)頭的字符。其中,”\

75.C解析:在層次模型和網(wǎng)狀模型的系統(tǒng)研究和數(shù)據(jù)庫(kù)設(shè)計(jì)中,其性能和質(zhì)量主要決定于設(shè)計(jì)者的經(jīng)驗(yàn)和技術(shù)水平,而缺乏一定的理論指導(dǎo)。因此,系統(tǒng)的研制和數(shù)據(jù)庫(kù)的設(shè)計(jì)都比較盲目,即使是同一個(gè)數(shù)據(jù)庫(kù)管理系統(tǒng),相同的應(yīng)用,不同設(shè)計(jì)者設(shè)計(jì)出來(lái)的系統(tǒng)其性能可以差別很大。關(guān)系模型是以數(shù)學(xué)理論為基礎(chǔ),從而避免了層次模型和網(wǎng)狀模型系統(tǒng)中存在的問(wèn)題。本題的正確答案是C。

76.A將p1指向的字符賦給p2,然后再移向下一個(gè)字符,直到結(jié)束字符0為止,因此這是將p1所指的字符串復(fù)制到p2所指的內(nèi)存空間。

77.A軟件設(shè)計(jì)分為概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)。概要設(shè)計(jì)又稱總體結(jié)構(gòu)設(shè)計(jì),其主要任務(wù)是根據(jù)用戶的需求先確定軟件系統(tǒng)的總體結(jié)構(gòu)和總的設(shè)計(jì)原則。

78.A根據(jù)題目中的定義可以知道sizeof(p),計(jì)算的是數(shù)組P中所有元素所占用的字節(jié)數(shù),而不是ch”型數(shù)據(jù)所占字節(jié)數(shù)。

79.D

80.C賦值號(hào)和自增符左邊的數(shù)據(jù)對(duì)象不能為表達(dá)式或常量,只能為變量。

81.(1)錯(cuò)誤:intproc(charstrr3[103,intm,char*pt)

正確:voidproc(charstr[][10],intm,char*pt)

(2)錯(cuò)誤:pt[i]=strEk,i3

正確:pt[i]=str[k][i]

【解析】由主函數(shù)中的函數(shù)調(diào)用和proc()函數(shù)的定義可知,函數(shù)proc()沒(méi)有返回值。因此,“intproc(charstr[][10],intm,char*pt)”中的int應(yīng)改為void;根據(jù)C語(yǔ)言的語(yǔ)法規(guī)則,二維數(shù)組的行下標(biāo)和列下標(biāo)應(yīng)分別加中括號(hào),因此“pt[i]=str[k,i]”應(yīng)改為“pt[i]=str[k][i]”。

82.2021-2022年遼寧省葫蘆島市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.以下程序的輸出結(jié)果是()main(){union{chari[2];intk;}r;r.i[0]=2,r.i[1]=0;printf("%d\n",r,k);}

A.2B.1C.0D.不確定

2.已知intt=0;while(t=1){…}則以下敘述正確的是()。

A.循環(huán)控制表達(dá)式的值為0B.循環(huán)控制表達(dá)式的值為1C.循環(huán)控制表達(dá)式不合法D.以上說(shuō)法都不對(duì)

3.要求當(dāng)A的值為奇數(shù)時(shí),表達(dá)式的值為“真”,A的值為偶數(shù)時(shí),表達(dá)式的值為“假”,以下不滿足要求的表達(dá)式是()。A.A%2==1B.!(A%2==0)C.A%2D.!(A%2)

4.下列說(shuō)法不正確的是()。

A.調(diào)用函數(shù)時(shí),實(shí)參可以是表達(dá)式

B.調(diào)用函數(shù)時(shí),實(shí)參與形參可以共用內(nèi)存單元

C.調(diào)用函數(shù)時(shí),將實(shí)參的值復(fù)制給形參,使實(shí)參變量和形參變量在數(shù)值上相等

D.調(diào)用函數(shù)時(shí),實(shí)參與形參的類型必須一致

5.公司中有多個(gè)部門和多名職員,每個(gè)職員只能屬于一個(gè)部門,一個(gè)部門可以有多名職員。則實(shí)體部門和職員間的聯(lián)系是()。

A.1:m聯(lián)系B.m:n聯(lián)系C.1:1聯(lián)系D.m:1聯(lián)系

6.以下不能對(duì)二維數(shù)組a進(jìn)行正確初始化的語(yǔ)句是()。A.inta[2][3]={0};

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

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

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

7.若已定義x和y為double類型,則表達(dá)式:x=1,y=x+3/2的值是()A.1B.2C.2.0D.2.5

8.循環(huán)隊(duì)列存儲(chǔ)在數(shù)組A[0..m]中,則入隊(duì)時(shí)的操作為()。

A.rear=rear+1

B.rear=(rear+1)mod(m-1)

C.rear=(rear+1)modm

D.rear=(rear+1)mod(m+1)

9.

10.若有下列定義,則對(duì)a數(shù)組元素地址的正確引用是()。inta[5],*p=a;

A.p+5B.*a+1C.&a+1D.&a[0]

11.若變量x、y已正確定義并賦值,以下符合C語(yǔ)言語(yǔ)法的表達(dá)式是()。

A.x+1=yB.++x,y=x--C.x=x+10=x+yD.double(x)/10

12.設(shè)在C語(yǔ)言中,float類型數(shù)據(jù)占4個(gè)字節(jié),則double類型數(shù)據(jù)占()個(gè)字節(jié)。

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

13.設(shè)有以下定義:inta=0;doubleb=1.25;charc='A';#defined2則下面語(yǔ)句中錯(cuò)誤的是()。

A.a++;B.b++;C.c++;D.d++;

14.若已包括頭文件<string.h>且已有定義chars1[18],s2={"ABCDE"}和inti,現(xiàn)要將字符串"ABCDE"賦給s1,下列語(yǔ)句錯(cuò)誤的是()。

A.strcpy(s1,s2)

B.strcpy(s1,"ABCDE");

C.s1="ABCDE";

D.for(i=0;i<6;i++)s1[i]=s2[i];

15.下列語(yǔ)句中,說(shuō)法正確的是______。

A.C程序書寫格式嚴(yán)格,每行只能寫一個(gè)語(yǔ)句

B.C程序書寫格式嚴(yán)格,每行必須有行號(hào)

C.C程序書寫格式自由,每行可以寫多條語(yǔ)句,但之間必須用逗號(hào)隔開(kāi)

D.C程序書寫格式自由,一個(gè)語(yǔ)句可以分寫在多行

16.設(shè)數(shù)據(jù)結(jié)構(gòu)A=(D,R),其中D={1,2,3,4},R={r},r={<1,2>,<2,3>,<3,4>,<4,1>},則數(shù)據(jù)結(jié)構(gòu)A是()。

A.線性結(jié)構(gòu)B.樹(shù)形結(jié)構(gòu)C.圖狀結(jié)構(gòu)D.集合

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

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

18.結(jié)構(gòu)化程序所要求的基本結(jié)構(gòu)不包括()。

A.順序結(jié)構(gòu)B.GOT0跳轉(zhuǎn)C.選擇(分支)結(jié)構(gòu)D.重復(fù)(循環(huán))結(jié)構(gòu)

19.下列條件語(yǔ)句中,輸出結(jié)果與其他語(yǔ)句不同的是()。

A.if(a)printf("%dn",x);elseprint[("%d\n",y)

B.if(a=0)pritf("%dn",y);elseprint[("%d\n",x)

C.if(a!一0)printf("%dn",x);elseprint[("%a\n",y)

D.if(a=O)print[("%dn",x);elseprintf("%d\n",y)

20.如有inta=11;則表達(dá)式(a++*1/3)的值是()。

A.0B.3C.4D.12

二、2.填空題(20題)21.數(shù)據(jù)庫(kù)系統(tǒng)的主要特點(diǎn)為數(shù)據(jù)集成性、數(shù)據(jù)的高_(dá)_____和低冗余性、數(shù)據(jù)獨(dú)立性和數(shù)據(jù)統(tǒng)一管理和控制。

22.在兩種基本測(cè)試方法中,【】測(cè)試的原則之一是保證所測(cè)模塊中每一個(gè)獨(dú)立路徑至少要執(zhí)行一次。

23.定義長(zhǎng)度為12的數(shù)組,下面四種方法中正確的有【】。

①intx[12];②intn=12;③constintn=12;④intx[]={1,2};

intx[n];intx[n];

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

#include<stdio.h>

voidfun(intx)

{if(x/2>0)fun(x/2);

printf("%d",x);

}

main()

{fun(3);printf("\n");

}

25.測(cè)試的目的是暴露錯(cuò)誤,評(píng)價(jià)程序的可靠性;而______的目的是發(fā)現(xiàn)錯(cuò)誤的位置并改正錯(cuò)誤。

26.若有以下定義和語(yǔ)句:

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

p=w;

則通過(guò)指針p引用值為98的數(shù)組元素的表達(dá)式是【】。

27.表示“整數(shù)x的絕對(duì)值大于5”時(shí)值為“假”的C語(yǔ)言表達(dá)式是______。

28.若有如下結(jié)構(gòu)體說(shuō)明:

structSTRU

{inta,b;charc:doubled;

structSTRU*p1,*p2;

};

請(qǐng)?zhí)羁?,以完成?duì)t數(shù)組的定義,t數(shù)組的每個(gè)元素為該結(jié)構(gòu)體類型。

【】t[20]

29.以下程序用于判斷a,b,c能否構(gòu)成三角形,若能,輸出YES,否則輸出NO。當(dāng)給a,b,c輸入三角形三條邊長(zhǎng)時(shí),確定a,b,c能構(gòu)成三角形的條件是需同時(shí)滿足三個(gè)條件:a+b>c,a+c>b,b+c>a。請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

main()

{floata,b,c;

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

if(【】)printf("YES\n");/*a.b.c能構(gòu)成三角形*/

elseprinff("NO\n");/*a.b.c不能構(gòu)成三解形*/

}

30.以下sstrcpy()函數(shù)實(shí)現(xiàn)字符串復(fù)制,即將t所指字符串復(fù)制到s所指內(nèi)存空間中,形成一個(gè)新字符串s。請(qǐng)?zhí)羁铡?/p>

voidsstrcpy(char*s,char*t)

{while(*s++=【】);}

main()

{charstrl[100],str2[]="abcdefgh";

sstrcpy(str1,str2);

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

}

31.數(shù)據(jù)元素之間______的整體稱為邏輯結(jié)構(gòu)。

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

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

#include<stdio.h>

longfib(intg)

{switch(g)

{case0:return0;

case1:

case2:return1;}

return(fib(g-1)+fib(g-2));}

main()

{longk;

k=fib(5);

printf("k=%51d\n",k);}

34.下列語(yǔ)句的輸出結(jié)果是______。

chars[20]="aaaa",*sp=s;

puts(strcat(sp,"AAAAA"));

35.函數(shù)調(diào)用語(yǔ)句:“fgets(buf,n,fp);”從中指向的文件中讀入n個(gè)字符放到buf字符數(shù)組中,函數(shù)返回值為_(kāi)_____。

36.設(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);

}

37.下面程序有兩個(gè)printf語(yǔ)句,如果第一個(gè)printf語(yǔ)句輸出的是194,則第二個(gè)printf語(yǔ)句的輸出結(jié)果是【】。

main()

{inta[10]={1,2,3,4,5,6,7,8,9,0},*p;

p=a;

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

printf("%x\n,p+9);

}

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

main()

{inti,n[]={0,0,0,0,0};

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

{n[i]=n[i-1]*2+1;

printf("%d",n[i]);

}

}

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

main()

{intX=10,y=20,t=0;

if(X==y)t=x;x=y;y=t;

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

}

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

main()

{intp=30;

printf{"%d\n",(p/3>0?p/10:p%3)};

}

三、1.選擇題(20題)41.設(shè)有定義:inca,*pa;&a;以下scanf語(yǔ)句中能正確為變量a讀入數(shù)據(jù)的是

A.scanf("%d",pA);

B.Scanf("%d",A);

C.SCaRf("%d",&p9);

D.scanf("%d",*pA);

42.軟件需求分析一般應(yīng)確定的是用戶對(duì)軟件的______。

A.功能需求B.非功能需求C.性能需求D.功能需求和非功能需求

43.可以在C語(yǔ)言中用做用戶標(biāo)識(shí)符的是______。

A.voiddefineWORDB.as_b3_123IfC.for-abccasD.2cDoSIG

44.C語(yǔ)言提供的預(yù)處理功能包括條件,其基本形式為:#×××標(biāo)識(shí)符程序段1#else程序段2#endif這里的×××可以是()

A.define或include

B.ifdef或include

C.indef或ifndef或define

D.ifdef或ifndef或if

45.下面四個(gè)選項(xiàng)中,均是不合法的用戶標(biāo)識(shí)符的選項(xiàng)是()。

A.AP_0doB.floatla0_AC.b-agotointD._123tempint

46.下列程序voidfunc1(inti);voidfunc2(inti)charst[]="hello,friend!";voidfuncl(inti){printf("%c",st[i]);if(i<3){i+=2;func2(i);}}voidfunc2(inti){printf("%c",st[i]);if(i<3){i+=2;funcl(i);}}main(){inti=0;funcl(i);printf("\n");}執(zhí)行后的輸出結(jié)果是()

A.helloB.helC.hloD.hlrn

47.若t為double類型,表達(dá)式t=1,t+5,t++;的值是______。

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

48.下面程序段中,輸出*的個(gè)數(shù)是char*s="\ta\018bc";for(;*s!='\0';s++)printf("*");

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

49.若有以下結(jié)構(gòu)體定義,則______是正確的引用或定義。structexample{intx;inty;}v1;

A.example.x=10

B.examplev2.x=10

C.structv2;v2.x=10

D.structexamplev2={10};

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

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

51.函數(shù)的值通過(guò)return語(yǔ)句返回,下面關(guān)于return語(yǔ)句的形式描述錯(cuò)誤的是

A.return表達(dá)式;

B.return(表達(dá)式);

C.一個(gè)return語(yǔ)句可以返回多個(gè)函數(shù)值

D.一個(gè)return語(yǔ)句只能返回一個(gè)函數(shù)值

52.線性表的順序存儲(chǔ)結(jié)構(gòu)和線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)分別是______。

A.順序存取的存儲(chǔ)結(jié)構(gòu)、順序存取的存儲(chǔ)結(jié)構(gòu)

B.隨機(jī)存取的存儲(chǔ)結(jié)構(gòu)、順序存取的存儲(chǔ)結(jié)構(gòu)

C.隨機(jī)存取的存儲(chǔ)結(jié)構(gòu)、隨機(jī)存取的存儲(chǔ)結(jié)構(gòu)

D.任意存取的存儲(chǔ)結(jié)構(gòu)、任意存取的存儲(chǔ)結(jié)構(gòu)

53.()是不正確的C語(yǔ)言賦值語(yǔ)句。

A.x=1,y=2B.x++C.x=y(tǒng)=5D.y=int(x);

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

charx=3,y=6,z;

z=x^y<<2;

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

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

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

#definePT5.5

#defineS(x)PT*x*x

#include<stdio.h>

main()

{inta=1,b=2;

printf("%4.1f\n",S(a+b));}

A.49.5B.9.5C.22D.45

56.在軟件生命周期中,能準(zhǔn)確地確定軟件系統(tǒng)必須做什么和必須具備哪些功能的階段是()

A.需求分析B.詳細(xì)設(shè)計(jì)C.軟件設(shè)計(jì)D.概要設(shè)計(jì)

57.下面程序段的執(zhí)行結(jié)果是()。intx=10;for(;x;x--){if(x%3)continue;printf("%d",x);}

A.875421B.963C.741D.852

58.若要打開(kāi)A盤上user了目錄下名為abc.txt的文本文件進(jìn)行讀、寫操作,下面符合此要求的函數(shù)調(diào)用是

A.fopen("A:\user\abc.txt",","r")

B.fopen("A:\\user\\abc.txt","r+")

C.fopen("A:\user\abc.txt","rb")

D.fopen("A:\\user\\abc.txt","w")

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

A.一個(gè)算法的空間復(fù)雜度大,則其時(shí)間復(fù)雜度也必定大

B.一個(gè)算法的空間復(fù)雜度大,則其時(shí)間復(fù)雜度必定小

C.一個(gè)算法的時(shí)間復(fù)雜度大,則其空間復(fù)雜度必定小

D.上述三種說(shuō)法都不對(duì)

60.下述程序向文件輸出的結(jié)果是______。#include<stdio.h>voidmain(){FILE*fp=fopen("TEST","wb");fprintf(fp,"%%5.0f%c%d",58,76273.0'-',2278);fclose(fp);}

A.5876273-2278

B.5876273.000000-2278

C.5876273-2278

D.因文件為二進(jìn)制文件而不可讀

四、選擇題(20題)61.算法的空間復(fù)雜度是指()。

A.算法程序的長(zhǎng)度B.算法程序中的指令條數(shù)C.算法程序所占的存儲(chǔ)空間D.執(zhí)行算法需要的內(nèi)存空間

62.有下列程序:、

fun(intX,inty){return(x+y);)

main()

{inta=1,b=2,c=3,sum;

sum=fun((a++,b++,a+b),c++);

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

}

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

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

63.有以下結(jié)構(gòu)體說(shuō)明和變量定義,如圖所示,指針p、q、r分別指向此鏈表中的3個(gè)連續(xù)結(jié)點(diǎn)。structnode{

int

data;structnode

*next;

}*p,*q,*r;現(xiàn)要將這個(gè)鏈表構(gòu)成一個(gè)環(huán),以下(

)操作是正確的。A.p->next=q->nextB.r->next=pC.p->next=rD.r->next=q->next->next

64.以下程序的輸出結(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

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

A.gaeB.gaC.LanguageD.有語(yǔ)法錯(cuò)

66.有以下程序:

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

A.1127B.1212C.1111D.117

67.

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

A.passwarnB.passerrorC.goodpasswarnD.pass

69.軟件按功能可以分為應(yīng)用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件)。下面屬于系統(tǒng)軟件的是():

A.學(xué)生成績(jī)管理系統(tǒng)B.ERP系統(tǒng)C.辦公自動(dòng)化系統(tǒng)D.UNIX系統(tǒng)

70.有如下程序

main()

{

inta=2,b=-1,c=2;

if(a<b)c=1;

if(b<0)c=0;

elsec++;

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

}

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

A.0B.1

C.2D.3

71.設(shè)有以下定義:

inta[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};

int(*ptr)[3]=a,*p=a[0];

則下列能夠正確表示數(shù)組元素a【1】【2】的表達(dá)式是()。

A.*((*ptr+1)[2])

B.*(*(p+5))

C.(*ptr+1)+2

D.*(*(a+1)+2)

72.(48)軟件調(diào)試的目的是()

A.發(fā)現(xiàn)錯(cuò)誤

B.改正錯(cuò)誤

C.改善軟件的性能

D.挖掘軟件的潛能

73.層次型、網(wǎng)狀型和關(guān)系型數(shù)據(jù)庫(kù)劃分原則是()。

A.記錄長(zhǎng)度B.文件的大小C.聯(lián)系的復(fù)雜程度D.數(shù)據(jù)之間的聯(lián)系方式

74.

A.包含l個(gè)字符B.包含2個(gè)字符C.包含3個(gè)字符D.說(shuō)明不合法,c的值不確定

75.下列數(shù)據(jù)模型中,具有堅(jiān)實(shí)理論基礎(chǔ)的是()。A.層次模型B.網(wǎng)狀模型C.關(guān)系模型D.以上三個(gè)都是

76.已定義以下函數(shù):

fun(char*p2,char*p1)

{while((*p2=*p1)!=’\0’){p1++;p2++;}}

函數(shù)的功能是()。

A.將p1所指字符串復(fù)制到p2所指向內(nèi)存空間

B.將p1所指字符串的地址賦給指針p2

C.對(duì)p1和p2兩個(gè)指針?biāo)缸址M(jìn)行比較

D.檢查p1和p2兩個(gè)指針?biāo)缸址惺欠裼小痋0’

77.軟件的()設(shè)計(jì)又稱總體結(jié)構(gòu)設(shè)計(jì),其主要任務(wù)是建立軟件系統(tǒng)的總體結(jié)構(gòu)。

A.概要B.抽象C.邏輯D.規(guī)劃

78.設(shè)有定義:charpE]={’1’,‘2’,’3’},*q=p;,以下不能計(jì)算出一個(gè)char型數(shù)據(jù)所占字節(jié)數(shù)的表達(dá)式是()。

A.sizeof(p)B.sizeof(char)C.sizeof(*q)D.sizeof(p[0])

79.

80.以下選項(xiàng)中合法的表達(dá)式是()。

A.a(chǎn)=a+7=c+b

B.(3+x)++

C.3+x++

D.x+1=x+1

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:將m(1≤m≤10)個(gè)字符串連接起來(lái),組成一個(gè)新串,放入pt所指字符串中,例如,把2個(gè)字符串a(chǎn)bc、CD串聯(lián)起來(lái),結(jié)果是abcCD。請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:

六、程序設(shè)計(jì)題(1題)82.編寫函數(shù)如n,其功能是:刪除一個(gè)字符串中指定下標(biāo)的字符。其中,a指向原字符串,刪除指定字符后的字符串存放在b所指的數(shù)組中,n放指定的下標(biāo)。例:輸入一個(gè)字符串“world”,然后輸入3,則調(diào)用該函數(shù)后的結(jié)果為“word”。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)丘m的花括號(hào)中填入你編寫的若干語(yǔ)句。試題程序:

參考答案

1.A解析:根據(jù)共用體的定義可知:共用體r的成員k和成員i[2]是共用同—段內(nèi)存空間,所以,當(dāng)程序給r.i[0]賦值后,實(shí)際上,共用體成員k的值也確定了,為2。所以打印輸出的結(jié)果應(yīng)當(dāng)為2。

2.B解析:t=1是將t賦值為1,所以循環(huán)控制表達(dá)式的值為1。判斷t是否等于1時(shí),應(yīng)用t==1,注意“=”與“==”的用法。

3.D

4.B

\n本題考查函數(shù)調(diào)用的基本概念。調(diào)用函數(shù)時(shí),實(shí)參的形式可以是具體的數(shù)值,也可以是表達(dá)式。實(shí)參將數(shù)值或表達(dá)式的值傳遞給形參,因而兩者的類型必須保持一致;形參在運(yùn)算過(guò)程中會(huì)發(fā)生改變,但不一定會(huì)影響到實(shí)參值,所以可知兩者不共用內(nèi)存單元。

\n

5.A部門到職員是一對(duì)多的,職員到部門是多對(duì)一的,因此,實(shí)體部門和職員間的聯(lián)系是l:m聯(lián)系。

6.B選項(xiàng)A中,將二維數(shù)組a的6個(gè)元素都賦值為0,正確;選項(xiàng)B中,由于a包含2個(gè)元素,每個(gè)元素都是包含3個(gè)元素的一維數(shù)組,初始化列表中包含3個(gè)元素,每個(gè)元素是包含2個(gè)元素的數(shù)組,錯(cuò)誤;選項(xiàng)C中,a的每個(gè)元素是包含3個(gè)元素的一維數(shù)組,初始化列表將a[0]的3個(gè)元素初始化為1,2,0,將a[1]的3個(gè)元素初始化為0,0,0,正確;選項(xiàng)D中,將a[0]初始化為1,2,3,將a[1]初始化為4,5,6,正確。本題答案為B選項(xiàng)。

7.C解析:這是一個(gè)逗號(hào)表達(dá)式,它的值應(yīng)為表達(dá)式y(tǒng)=x+3/2的值,而前一個(gè)表達(dá)式已給x賦值1,在沒(méi)有進(jìn)行類型轉(zhuǎn)換的情況下,3/2的值為1,所以x+3/2的值應(yīng)為2.0。

8.D

9.C

10.D本題考查數(shù)組元素的地址的引用。A中,p+5引用的是a[5]的地址,而數(shù)組a只有5個(gè)元素,即a[0]、a[1]、a[2]、a[3]、a[4],所以引用錯(cuò)誤(注:數(shù)組元素下標(biāo)從0開(kāi)始);B中,*a+1指的是將數(shù)組a的第一個(gè)元素加1;選項(xiàng)C中,不存在這種引用方式;D中,&a[0]引用的是數(shù)組的首地址。

11.B不能將變量賦給表達(dá)式,故A、C選項(xiàng)錯(cuò)誤。D選項(xiàng)中強(qiáng)制類型轉(zhuǎn)換表達(dá)式應(yīng)寫成“(double)x/10”。故本題答案為B選項(xiàng)。

12.C

\n在C語(yǔ)言中各種數(shù)據(jù)類型在內(nèi)存

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論