2021年山東省日照市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷一(含答案)_第1頁(yè)
2021年山東省日照市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷一(含答案)_第2頁(yè)
2021年山東省日照市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷一(含答案)_第3頁(yè)
2021年山東省日照市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷一(含答案)_第4頁(yè)
2021年山東省日照市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷一(含答案)_第5頁(yè)
已閱讀5頁(yè),還剩35頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

2021年山東省日照市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷一(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.以下能正確定義一維數(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";

2.下列敘述中錯(cuò)誤的是()。A.在數(shù)據(jù)庫(kù)系統(tǒng)中,數(shù)據(jù)的物理結(jié)構(gòu)必須與邏輯結(jié)構(gòu)一致,

B.數(shù)據(jù)庫(kù)技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)的共享問題

C.數(shù)據(jù)庫(kù)設(shè)計(jì)是指在已有數(shù)據(jù)庫(kù)管理系統(tǒng)的基礎(chǔ)上建立數(shù)據(jù)庫(kù)

D.數(shù)據(jù)庫(kù)系統(tǒng)需要操作系統(tǒng)的支持

3.有以下程序main(){chars[]="Yes\n/No",*ps=s;puts(ps+4);*(ps+4)=0;puts(s);}程序運(yùn)行后的輸出結(jié)果是(選項(xiàng)D中的第一行是空行)A.n/NoYes/NoB./NoYesYesC.n/No/NoD.Yes/No

4.下列程序的輸出結(jié)果是#include"stdio.h”"main(){inti,a=0,b=0;for(i=1;i<10;i++){if(i%2==0){a++;continue;}b++;}printf("a=%d,b=%d",a,b);}

A.a=4,b=4B.a=4,b=5C.a=5,b=4D.a=5,b=5

5.若要求從鍵盤讀入含有空格字符的字符串,應(yīng)該使用函數(shù)______。A.getc()B.gets()C.getchar()D.scanf()

6.下列程序的運(yùn)行結(jié)果是()。#include<stdio.h>main(){inta=2,b=3,c=4;if(a<B)if(b<0)c=0;elsec+=1;printf("%d\n",C);}

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

7.輸入序列為ABC,輸出為CBA時(shí),經(jīng)過的棧操作為()。

A.push,pop,push,pop,push,pop

B.push,push,push,pop,pop,pop

C.push,push,pop,pop,push,pop

D.push,pop,push,push,pop,pop

8.設(shè)R是一個(gè)2元關(guān)系,有3個(gè)元組,S是一個(gè)3元關(guān)系,有3個(gè)元組。如T=R×S,則T的元組的個(gè)數(shù)為()。A.6B.8C.9D.12

9.有定義語(yǔ)句intb;charc[10];,則正確的輸入語(yǔ)句是______。A.scallf("%d%s",&b,&c);

B.scallf("%d%s",&b,c);

C.scanf("%d%s",b,c)

D.scanf("%d%s",b,&c);

10.有以下程序

#include<stdio.h>

main()

{charc1,c2,c3,c4,c5,c6;

scanf("%c%c%c%c",&c1,&c2,&c3,&c4);

c5=getchar();c6=getchar();

putchar(c1);putchar(c2);

printf("%c%c\n",c5,c6);

}

程序運(yùn)行后,若從鍵盤輸入(從第1列開始)

123<回車>

45678<回車>

則輸出結(jié)果是A.A.1267B.1256C.1278D.1245

11.一個(gè)長(zhǎng)度為99的循環(huán)鏈表,指針A和指針B都指向了鏈表中的同一個(gè)節(jié)點(diǎn),A以步長(zhǎng)為1向前移動(dòng),B以步長(zhǎng)為3向前移動(dòng),一共需要同時(shí)移動(dòng)多少步A和B才能再次指向同一個(gè)節(jié)點(diǎn)()。

A.99B.100C.101D.49E.50F.51

12.有以下程序:#include<stdio.h>main(){FILE*fp;inta[10]={1,2,3},i,n;fp=fopen(“d1.dat”,“w”);for(i=0;i<3;i++)fprintf(fp,“%d”,a[i]);fprintf(fp,“\n”);fclose(fp);fp=fopen(“d1.dat”,“r”);fscanf(fp,“%d”,&n);fclose(fp);printf(“%d\n”,n);}程序的運(yùn)行結(jié)果是()。

A.321B.12300C.1D.123

13.有以下程序:#include<stdio.h>main(){inti,j,m=1;for(i=1;i<3;i++){for(j=3;j>0;j--){if(i*j>3)break;m*=i*j;}}printf(“m=%d\n”,m);}程序運(yùn)行后的輸出結(jié)果是()A.m=4B.m=2C.m=6D.m=5

14.若有定義“inta=1234,b=-5678;”,用語(yǔ)句“printf("%+-6d%+-6d",a,b);”輸出,以下正確的輸出結(jié)果是()。

A.+1234-5678(中間有一個(gè)空格,最后有一個(gè)空格)

B.+1234-5678(最前面有一個(gè)空格,中間有一個(gè)空格)

C.+-1234+-5678(最前面和最后均無(wú)空格)

D.1234-5678(中間有兩個(gè)空格,最后有一個(gè)空格)

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

A.一個(gè)邏輯數(shù)據(jù)結(jié)構(gòu)只能有一種存儲(chǔ)結(jié)構(gòu)

B.邏輯結(jié)構(gòu)屬于線性結(jié)構(gòu),存儲(chǔ)結(jié)構(gòu)屬于非線性結(jié)構(gòu)

C.一個(gè)邏輯數(shù)據(jù)結(jié)構(gòu)可以有多種存儲(chǔ)結(jié)構(gòu),且各種存諸結(jié)構(gòu)不影響數(shù)據(jù)處理的效率

D.一個(gè)邏輯數(shù)據(jù)結(jié)構(gòu)可以有多種存儲(chǔ)結(jié)構(gòu),且各種存諸結(jié)構(gòu)影響數(shù)據(jù)處理的效率

16.有以下程序:#include<stdio.h>voidsort(inta[],intn){inti,j,t;for(i=0;i<n-1;i+=2)for(j=i+2;j<n;j+=2)if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;}}main(){intaa[10]={1,2,3,4,5,6,7,8,9,10},i;sort(aa,10);for(i=0;i<10;i++)printf("%d.",aa[i]);printf("\n");}其輸出結(jié)果是()。

A.1,2,3,4,5,6,7,8,9,10,

B.10,9,8,7,6,5,4,3,2,1,

C.9,2,7,4,5,6,3,8,1,10,

D.1,10,3,8,5,6,7,4,9,2,

17.鏈表不具有的特點(diǎn)是()。

A.插入、刪除不需要移動(dòng)元素B.可隨機(jī)訪問任一元素C.不必事先估計(jì)存儲(chǔ)空間D.所需空間與線性長(zhǎng)度成正比

18.有以下程序:

程序運(yùn)行時(shí),輸入的值在哪個(gè)范圍才會(huì)有輸出結(jié)果()。

A.不等于10的整數(shù)

B.大于3且不等于l0的整數(shù)

C.大于3或等于l0的整數(shù)

D.小于3的整數(shù)

19.以下不完整的程序擬實(shí)現(xiàn)調(diào)用getmax函數(shù),找出4個(gè)變量中最大的一個(gè):#include<stdio.h>intgetmax(intx,inty){returnx>yx:y;}voidmain(){inta,b,c,d,mx;scanf(“%d%d%d%d”,&a,&b,&c,&d);printf(“max=%d\n”,________);}以下選項(xiàng)若填入下劃線處,不能實(shí)現(xiàn)上述功能的是()。

A.getmax(getmax(getmax(a,b),c),d)

B.getmax(getmax(a,b),getmax(c,d))

C.getmax(a,getmax(b,getmax(c,d)))

D.mx=(getmax(a,b),getmax(c,d))

20.

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

22.下列程序的運(yùn)行結(jié)果為【】。

main(){inti=lO,*p,*func();

p=&i;

printf("%d",*p);

p=func(p);

printf("%d\n",*p)

}

int*func(px);

int*px;

{inttemp=20;

px=&temp;

return(px);

}

23.以下函數(shù)把b字符串連接到a字符串的后面,并返回a中新字符串的長(zhǎng)度。

strcen(chara[],charb[])

{intnum=0,n=0;

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

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

return(num);

}

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

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

#defineMYSWAP(z,x,y)

{z=x;x=y;y=z;}

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

floata=5,b=16,c;

MYSWAP(【】a,b);

26.下列語(yǔ)句能循環(huán)______次。

ints=12;

while(s);

--s;

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

28.數(shù)據(jù)模型按不同的應(yīng)用層次分為三種類型,它們是______數(shù)據(jù)模型、邏輯數(shù)據(jù)模型和物理數(shù)據(jù)模型。

29.計(jì)算機(jī)病毒除有破壞性、潛伏性和激發(fā)性外,還有一個(gè)最明顯的特性是【】

30.以下函數(shù)的功能是刪除字符串s中的所有數(shù)字字符。請(qǐng)?zhí)羁铡?/p>

vioddele(char*s)

{intn=0,i;

for(i=0;s[i];i++)

if(______)

s[n++];s[i];

s[n]=______;

}

31.以下程序中函數(shù)f的功能是在數(shù)組x的n個(gè)數(shù)(假定n個(gè)數(shù)互不相同)中找出最大最小數(shù),將其中最小的數(shù)與第一個(gè)數(shù)對(duì)換,把最大的數(shù)與最后一個(gè)數(shù)對(duì)換。請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

voidf(intx[],intn)

{intp0,p1,i,j,t,m;

i=j=x[0];p0=p1=0;

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

{if(x[m]>i){i=x[m];p0=m;}

elseif(x[m]<j){j=x[m];p1=m;}

}

t=x[p0];x[p0]=x[n-1];x[n-1]=t;

t=x[p1];x[p1]=【】;【】=t;

}

main()

{inta[10],u;

for(u=0;u<10;u++)scanf("%d",&a[u]);

f(a,10);

for(u=0;u<10;u++)printf("%d",a[u]);

printf("\n");

}

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

inta=1234;

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

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

main()

{inti=0,j=10,k=2,s=0;

{i+=k;

if(i>j)

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

break;}

s+=i;}}

34.一個(gè)項(xiàng)目具有一個(gè)項(xiàng)目主管,一個(gè)項(xiàng)目主管可管理多個(gè)項(xiàng)目,則實(shí)體"項(xiàng)目主管"與實(shí)體"項(xiàng)目"的聯(lián)系屬于【】的聯(lián)系。

35.無(wú)論對(duì)于順序存儲(chǔ),還是鏈接存儲(chǔ)的棧和隊(duì)列來(lái)說(shuō),進(jìn)行插入或刪除運(yùn)算的時(shí)間復(fù)雜性均相同,則為【】。

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

main()

{

inta[]={2,4,6},*ptr=&a[0],x=8,y,z;

for(y=0;y<3;y++)

z=(*(ptr+y)<x)?*(ptr+y):x;

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

}

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

main()

{chars[]="abcdef";

s[3]='\0';

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

}

38.瀑布模型將軟件生存周期劃分為【】、開發(fā)和運(yùn)行3個(gè)階段。

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

main()

{chara[]="Language",b[]="Programe";

char*p1,*p2;

intk;

p1=a;p2=b;

for(k=0;k<=7;k++)

if(*(p1+k)==*(p2+k))printf("%c,*(p1+k));

}

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

main()

{inta[10]={10,20,30,40,50,60,70,80,90,100},*p;

p=a+2;printf("%d\n',(p+2)[3]);

}

三、1.選擇題(20題)41.關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)能實(shí)現(xiàn)的專門關(guān)系運(yùn)算包括()。

A.排序、索引、統(tǒng)計(jì)B.選擇、投影、連接C.關(guān)聯(lián)、更新、排序D.顯示、打印、制表

42.字長(zhǎng)為16位的計(jì)算機(jī)是指______。

A.該計(jì)算機(jī)能夠處理的最大數(shù)不超過16

B.該計(jì)算機(jī)中的CPU可以同時(shí)處理16位的二進(jìn)制信息

C.該計(jì)算機(jī)的內(nèi)存量為16MB

D.該計(jì)算機(jī)每秒鐘所能執(zhí)行的指令條數(shù)為16MIPS

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

A.數(shù)據(jù)庫(kù)是一個(gè)獨(dú)立的系統(tǒng),不需要操作系統(tǒng)的支持

B.數(shù)據(jù)庫(kù)設(shè)計(jì)是指設(shè)計(jì)數(shù)據(jù)庫(kù)管理系統(tǒng)

C.數(shù)據(jù)庫(kù)技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)共享的問題

D.數(shù)據(jù)庫(kù)系統(tǒng)中,數(shù)據(jù)的物理結(jié)構(gòu)必須與邏輯結(jié)構(gòu)一致

44.執(zhí)行下面的程序段intx=40;charz='B';intB;B=((x&0xff)&&(z>'a'));后,B的值為()

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

45.以下程序的輸出結(jié)果是()。#include<stdio.h>intm=13;intfun(intx,inty){intm=2;return(x*y-m);}main(){inta=7,b=6;printf("%d",fun(a,B)/m);}

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

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

47.下面不屬于軟件設(shè)計(jì)原則的是()。

A.抽象B.模塊化C.自底向上D.信息隱蔽

48.下列程序的輸出結(jié)果是()。#include<stdio.h>f(intA){intb=0;staticintc=4;a=c++;b++;return(A);}main(){inta=2,i,c;for(i=0;i<2;i++)c=f(a++);printf("%d\n",C);}

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

49.數(shù)據(jù)庫(kù)DB、數(shù)據(jù)庫(kù)系統(tǒng)DBS、數(shù)據(jù)庫(kù)管理系統(tǒng)DBMS之間的關(guān)系是()。

A.DB包含DBS和DBMSB.DBMS包含DB和DBSC.DBS包含DB和DBMSD.沒有任何關(guān)系

50.設(shè)有如下定義:strucksk{inta;floatb;}data;int*p;若要使p指向data中的a域,正確的賦值語(yǔ)句是()。

A.p=&a;B.p=data.a;C.p=&data.a;D.*p=data.a;

51.有以下程序:#include<stdio.h>main(){inti=0.s=0;for(;;)if(i==3‖i==5)continue;if(i==6)break;i++;s+=i;}printf("%d\n",s);程序運(yùn)行后的輸出結(jié)果是()。

A.10B.13C.21D.程序進(jìn)入列循環(huán)

52.有以下函數(shù)char*fun(char*p){returnp;}該函數(shù)的返回值是______。

A.無(wú)確切的值B.形參p中存放的地址值C.一個(gè)臨時(shí)存儲(chǔ)單元的地址D.形參p自身的地址值

53.軟件開發(fā)的結(jié)構(gòu)化生命周期方法將軟件生命周期劃分成()

A.定義、開發(fā)、運(yùn)行維護(hù)

B.設(shè)計(jì)階段、編程階段、測(cè)試階段

C.總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編程調(diào)試

D.需求分析、功能定義、系統(tǒng)設(shè)計(jì)

54.以下與函數(shù)fseek(fp,0L,SEEK_SET)有相同作用的是

A.feof(fp)B.ftell(fp)C.fgetc(fp)D.rewind(fp)

55.下列有關(guān)數(shù)據(jù)庫(kù)的描述,正確的是A.數(shù)據(jù)處理是將信息轉(zhuǎn)化為數(shù)據(jù)的過程

B.數(shù)據(jù)的物理獨(dú)立性是指當(dāng)數(shù)據(jù)的邏輯結(jié)構(gòu)改變時(shí),數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)不變

C.關(guān)系中的每一列稱為元組,一個(gè)元組就是一個(gè)字段

D.如果一個(gè)關(guān)系中的屬性或?qū)傩越M并非該關(guān)系的關(guān)鍵字,但它是另一個(gè)關(guān)系的關(guān)鍵字,則稱其為本關(guān)系的外關(guān)鍵字

56.軟件系統(tǒng)生命周期的第一個(gè)階段是______。

A.軟件分析階段B.軟件設(shè)計(jì)階段C.軟件運(yùn)行階段D.軟件維護(hù)階段

57.若有以下定義和語(yǔ)句structa{intn,m;};structast[3]={{1,20},{2,19},{3,21}};structa*p=st;則以下錯(cuò)誤的引用是

A.(p++)->n;B.st[0].n;C.(*p).n;D.p=&st.m;

58.若有定義語(yǔ)句:floatx[6];則以下對(duì)x數(shù)組元素的正確引用形式是()。

A.x+2B.&x[6]C.*(x+2)D.*&x[6]

59.以下程序段的輸出為()staticchara[]="language",b[]="progratne";char*ptr1,*ptr2;intk;ptr1=a;ptr2=b;for(k=0;k<7;k++)if(*(ptr1+k)==*(ptr2+k))printf("%c",*(ptr1+k));

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

60.以下程序段的執(zhí)行結(jié)果為#definePLUS(X,Y)X+Ymain(){intx=1,y=2,z=3,sum;sum=PLUS(x+y,z)*PLUS(y,z);printf("SUM=%d",sum);}

A.SUM=9B.SUM=12C.SUM=18D.SUM=28

四、選擇題(20題)61.

62.最初的計(jì)算機(jī)編程語(yǔ)言是()。

A.機(jī)器語(yǔ)言B.匯編語(yǔ)言C.高級(jí)語(yǔ)言D.低級(jí)語(yǔ)言

63.以下程序的輸出結(jié)果是______。#definef(x)x*xmain(){inta=6,b=2,c;c=f(a)/f(b);printf("%d\n",c);}

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

64.下面程序的功能是輸出以下形式的金字塔圖案。

main()

{

inti,j;

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

{

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

printf("");

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

printf("*");

printf("\n");

}

}

在下畫線處應(yīng)填入的是

A.iB.2*i-1C.2*i+1D.i+2

65.有以下函數(shù)定義:

voidfun(intn,doublex){……}

若以下選項(xiàng)中的變量都已正確定義并賦值,則對(duì)函數(shù)fun正確調(diào)用的語(yǔ)句是

A.fun(inty,doublem);B.k=fun(10,12.5);

C.fun(x,n);D.voidfun(n,x);

66.(74)用鏈表表示線性表的優(yōu)點(diǎn)是()

A.便于插入和刪除操作

B.數(shù)據(jù)元素的物理順序與邏輯順序相同

C.花費(fèi)的存儲(chǔ)空間較順序存儲(chǔ)少

D.便于隨機(jī)存取

67.有以下程序:

#include<stdio.h>

main()

{inta=0,b=0,c=0;

c=(a=a=5);(a=b,b+=4);

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

}

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

A.0,4,5B.4,4,5C.4,4,4D.0,0,0

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

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

B.eotinue語(yǔ)句的作用是結(jié)束整個(gè)循環(huán)的執(zhí)行

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

D.從多層循環(huán)嵌套中退出時(shí),只能使用got0語(yǔ)句

69.有以下程序:

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

A.4,5,6,4,5,6,

B.1,2,3,4,5,6,

C.4,5,6,1,2,3,

D.6,5,4,3,2,1,

70.

71.有以下程序:

#include<stdi0.h>

main()

{inta=1,b=2;

for(;a<8;a++){b+=a;a+=2;)

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

}

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

A.9,18

B.8,11

C.7,11

D.10,14

72.

73.已知數(shù)據(jù)表A中每個(gè)元素距其最終位置不遠(yuǎn),為了節(jié)省時(shí)間,應(yīng)采用的算法是()。

A.堆排序B.直接插入排序C.快速排序D.直接選擇排序

74.

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

76.下列特征中不是面向?qū)ο蠓椒ǖ闹饕卣鞯氖?)。

A.多態(tài)性B.繼承C.封裝性D.模塊化

77.

78.

若有運(yùn)算符:>、一、<<、%、sizeof,則它們按優(yōu)先級(jí)(由高至低)的正確排列順序?yàn)?)。

A.%、sizeof、>、<<、=

B.sizeof、%、>、=、<<

C.sizeof、<<、>、%、=

D.sizeof、%、<<、>、=

79.(24)對(duì)建立良好的程序設(shè)計(jì)風(fēng)格,下面描述正確的是()

A.程序應(yīng)簡(jiǎn)單、清晰、可讀性好

B.符號(hào)名的命名要符合語(yǔ)法

C.充分考慮程序的執(zhí)行效率

D.程序的注釋可有可無(wú)

80.

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc的功能是找出100~m(m不大于1000)之間百位數(shù)字加十位數(shù)字等于個(gè)位數(shù)字的所有整數(shù),把這些整數(shù)放在s所指的數(shù)組中,個(gè)數(shù)作為函數(shù)值

返回。

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

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

試題程序:

#include<stdio.h>

#defineM1000

intproc(int*S.intn)

{

inti,j,k,a,b,c;

j=0;

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

{

//****found****

k=n:

a=k%10;

k/=10;

b=k%10;

c=k/10;

if(a==b+c)

//****found****

s[j]=i:

}

returnj;

}

voidmain

{

inta[M],m,num=0,i;

do

{

printf("\nEnterm(<=1000):");

scanf("%d",&m);

}

while(m>1000);

num=proc(a,m);

printf("\n\nTheresult:\n");

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

printf("%5d",a[i]);

printf("\n\n");

}

六、程序設(shè)計(jì)題(1題)82.請(qǐng)編一個(gè)函數(shù)voidproc(inttt[M][N],intpp[N]),tt指向一個(gè)M行N列的二維數(shù)組,求出二維數(shù)組每行中最大元素,并依次放入pp所指的一維數(shù)組中。二維數(shù)組中的數(shù)已在主函數(shù)中給出。

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

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

試題程序:

參考答案

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

2.A解析:本題考查數(shù)據(jù)庫(kù)系統(tǒng)的基本概念和知識(shí)。數(shù)據(jù)的邏輯結(jié)構(gòu),是數(shù)據(jù)間關(guān)系的描述,它只抽象地反映數(shù)據(jù)元素之間的邏輯關(guān)系,而不管其在計(jì)算機(jī)中的存儲(chǔ)方式。數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu),又叫物理結(jié)構(gòu),是邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)器里的實(shí)現(xiàn)。這兩者之間沒有必然的聯(lián)系。因此,選項(xiàng)A的說(shuō)法是錯(cuò)誤的。

數(shù)據(jù)庫(kù)可以看成是長(zhǎng)期存儲(chǔ)在計(jì)算機(jī)內(nèi)的、大量的、有結(jié)構(gòu)的和可共享的數(shù)據(jù)集合。因此,數(shù)據(jù)庫(kù)具有為各種用戶所共享的特點(diǎn)。不同的用戶可以使用同一個(gè)數(shù)據(jù)庫(kù),可以取出它們所需要的子集,而且容許子集任意重疊。數(shù)據(jù)庫(kù)的根本目標(biāo)是要解決數(shù)據(jù)的共享問題。因此,選項(xiàng)B的說(shuō)法是正確的。

數(shù)據(jù)庫(kù)設(shè)計(jì)是在數(shù)據(jù)庫(kù)管理系統(tǒng)的支持下,按照應(yīng)用的要求,設(shè)計(jì)一個(gè)結(jié)構(gòu)合理、使用方便、效率較高的數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng)。數(shù)據(jù)庫(kù)設(shè)計(jì)包含兩方面的內(nèi)容:一是結(jié)構(gòu)設(shè)計(jì),也就是設(shè)計(jì)數(shù)據(jù)庫(kù)框架或數(shù)據(jù)庫(kù)結(jié)構(gòu);二是行為設(shè)計(jì),即設(shè)計(jì)基于數(shù)據(jù)庫(kù)的各類應(yīng)用程序、事務(wù)等。因此,選項(xiàng)C的說(shuō)法是錯(cuò)誤的。

數(shù)據(jù)庫(kù)系統(tǒng)除了數(shù)據(jù)庫(kù)管理軟件之外,還必須有其他相關(guān)軟件的支持。這些軟件包括操作系統(tǒng)、編譯系統(tǒng)、應(yīng)用軟件開發(fā)工具等。對(duì)于大型的多用戶數(shù)據(jù)庫(kù)系統(tǒng)和網(wǎng)絡(luò)數(shù)據(jù)庫(kù)系統(tǒng),還需要多用戶系統(tǒng)軟件和網(wǎng)絡(luò)系統(tǒng)軟件的支持。因此,選項(xiàng)D的說(shuō)法是正確的。因此,本題的正確答案是選項(xiàng)A。

3.B本題考核的知識(shí)點(diǎn)是puts()函數(shù)的應(yīng)用。主函數(shù)中定義了一個(gè)字符數(shù)組s并賦初值,一個(gè)字符串指針變量ps并讓它指向s。程序中p+4的地址為數(shù)組第5個(gè)元素的地址,而調(diào)用put(str_adr)函數(shù)時(shí),將從str_adr這一地址開始,依次輸出存儲(chǔ)單元中的字符,遇到第一個(gè)“\\0”時(shí)結(jié)束輸出,并自動(dòng)輸出一個(gè)換行符。所以put(p++4)將輸出n/No,put(s)將從s第一個(gè)元素開始輸出到第3個(gè)元素結(jié)束(因?yàn)閳?zhí)行*(p4)c0語(yǔ)句后s中的第5個(gè)元素的值為0,而s中的第4個(gè)元素為“\\”,puts將遇到“\\0”,結(jié)束輸出),即輸出yes。所以,4個(gè)選項(xiàng)中選項(xiàng)B符合題意。

4.B解析:continue語(yǔ)句的作用是跳過本次循環(huán)體中余下尚未執(zhí)行的語(yǔ)句,接著再一次進(jìn)行循環(huán)條件的判定。當(dāng)能被2整除時(shí),a就會(huì)增1,之后執(zhí)行continue語(yǔ)句,直接執(zhí)行到for循環(huán)體的結(jié)尾,進(jìn)行i++,判斷循環(huán)條件。

5.B解析:函數(shù)getchar()的作用是從終端(或系統(tǒng)隱含指定的輸入設(shè)備)輸入一個(gè)字符,且只能接受—個(gè)字符(回車符也算是—個(gè)字符),所以getchar()不能用宋讀入字符串。scanf()函數(shù)要求按—定的格式來(lái)輸入,若同時(shí)輸入多個(gè)字符串,則以空格或回車分割,所以空格不能被識(shí)別為—個(gè)字符,也就無(wú)法讀入空格字符。函數(shù)gets()的作用是從終端輸入—個(gè)字符串\u3000(包括空格)至字符數(shù)組,直到遇到換行符為止,所以可以用來(lái)鍵盤讀入空格字符。

6.C解析:本題考查ifelse語(yǔ)句。第一個(gè)if語(yǔ)句,先判斷條件,發(fā)現(xiàn)a<b條件成立,執(zhí)行下列的語(yǔ)句;第二個(gè)if語(yǔ)句,先判斷條件,發(fā)現(xiàn)b<0條件不成立,則執(zhí)行與其配對(duì)的else語(yǔ)句,c+=1,得c=5。

7.B

8.CC。R為n元關(guān)系,有P個(gè)元組S為m元關(guān)系,有q個(gè)元組。兩個(gè)關(guān)系笛卡兒積是一個(gè)n+m元的關(guān)系,元組個(gè)數(shù)是q×p。所以T的元組的個(gè)數(shù)為9個(gè)。

9.B解析:scanf函數(shù)中的“格式控制”后面應(yīng)當(dāng)是地址,而不是變量名。對(duì)于變量,通過地址運(yùn)算符“&”求出內(nèi)存中的地址;對(duì)于數(shù)組c[10],數(shù)組名c即為數(shù)組在內(nèi)存中的地址。

10.D解析:putchar(c1)輸出1,putchar(c2)輸出2,printf(“%c%c\\n”,c5,c6)輸出45。

11.A

12.D程序首先將數(shù)組a中的元素1、2、3分別寫入了d1.dat文件中,再將d1.dat文件中的數(shù)據(jù)“123”整體寫到變量n的空間中,所以輸出的數(shù)據(jù)為123。故本題答案為D選項(xiàng)。

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

14.Aprintf函數(shù)參數(shù)包括格式控制字符串和輸出參數(shù),其中格式控制字符串中除了格式控制字符外,其他字符原樣輸出。本題中的printf(“%+-6d%+-6d”,a,b);”,在%和格式控制字符d之間,“+”號(hào)表示輸出的數(shù)字帶正負(fù)號(hào)號(hào)表示輸出數(shù)據(jù)向左對(duì)齊,“6”表示輸出寬度,如果輸出數(shù)據(jù)的寬度不夠6,那么左對(duì)齊,右邊補(bǔ)空格。所以本題輸出+1234-5678(中間有一個(gè)空格,最后有一個(gè)空格)。本題答案為A選項(xiàng)。

15.D數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是指數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)空間中的存放形式,一種數(shù)據(jù)結(jié)構(gòu)可以根據(jù)需要采用不同的存儲(chǔ)結(jié)構(gòu),用的存儲(chǔ)結(jié)構(gòu)有順序和鏈?zhǔn)浇Y(jié)構(gòu)。用不同的存儲(chǔ)結(jié)構(gòu),其處理的效率是不同的。

16.C解析:sort函數(shù)的功能實(shí)際上是對(duì)數(shù)組中奇數(shù)位置上的數(shù)進(jìn)行從大到小排序。排序后的結(jié)果應(yīng)該為9,2,7,4,5,6,3,8,1,10。

17.BB選項(xiàng)的特點(diǎn)是順序存儲(chǔ)結(jié)構(gòu)的特點(diǎn),即數(shù)組的特點(diǎn)。

18.Bif-else控制結(jié)構(gòu)中,else總是與最近的未配對(duì)的if匹配。本題的執(zhí)行過程為:如果輸入整數(shù)小于3則不進(jìn)行任何操作,否則判斷該整數(shù)是否不等于l0,若為真則進(jìn)行輸出。因此程序輸出的數(shù)據(jù)為大于3且不等于l0的整數(shù)。

19.Dgetmax函數(shù)接收兩個(gè)整型變量x、y,使用條件運(yùn)算符返回x和y中的較大值。main函數(shù)首先輸入a、b、c、d4個(gè)整數(shù)值,然后通過調(diào)用getmax函數(shù),輸出它們的最大值。假設(shè)x、y是整數(shù),選項(xiàng)A中,首先執(zhí)行“getmax(a,b)”,返回a、b中的較大值X,再執(zhí)行“getmax(x,c)”,返回x、c中的較大值y,最后執(zhí)行“getmax(y,d)”,返回y、d中的較大值,滿足題意,正確;選項(xiàng)B中,首先執(zhí)行“getmax(a,b)”,返回a、b的較大值X,再執(zhí)行“getmax(c,d)”,返回c、d中的較大值y,最后執(zhí)行“getmax(x,y)”,返回x、y中的較大值,正確;選項(xiàng)C中,首先執(zhí)行“getmax(c,d)”,返回c、d的較大值X,再執(zhí)行“getmax(b,x)”,返回b、x中的較大值y,最后執(zhí)行“getmax(a,y)”,返回a、y中的較大值,正確;選項(xiàng)D中,首先執(zhí)行“getmax(a,b)”,返回a、b的較大值X,再執(zhí)行“getmax(c,d)”,返回c、d中的較大值y,最后執(zhí)行逗號(hào)表達(dá)式“(x,y)”,返回值為7,不滿足題意。故本題答案為D選項(xiàng)。

20.B

21.外模式外模式解析:外模式由概念模式推導(dǎo)而出,給出了每個(gè)用戶的局部數(shù)據(jù)描述,即數(shù)據(jù)視圖。

22.1020

23.\0'n++\\0'\r\nn++解析:第1個(gè)循環(huán)是求字符串a(chǎn)的長(zhǎng)度,并存儲(chǔ)在變量num中,循環(huán)條件要控制是否取到字符串末尾的'\\0'。第2個(gè)循環(huán)通過兩個(gè)變量num和n的改變,將b字符串連接到a字符串后面,并將新的字符串長(zhǎng)度記錄到num中。

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

25.cc解析:該題考查以下兩個(gè)知識(shí)點(diǎn):

(1)用一個(gè)指定的標(biāo)識(shí)符(即名字)來(lái)代表一個(gè)字符串,它的一般形式為#define標(biāo)識(shí)符字符串

(2)在MYSWAP宏定義中,利用中間變量z來(lái)交換x和y的值,所以要實(shí)現(xiàn)a和b的交換,只需通過中間變量即可,所以,此處應(yīng)填c。

26.無(wú)限無(wú)限解析:分析程序“while(s)”語(yǔ)句后面有一個(gè)“;”不能執(zhí)行后面的語(yǔ)句,只是執(zhí)行空語(yǔ)句,所以s=12保持不變,因此,沒有條件限制的能循環(huán)無(wú)限次(即死循環(huán))。

27.軟件測(cè)試的目標(biāo)是在精心控制的環(huán)境下執(zhí)行程序,以發(fā)現(xiàn)程序中的錯(cuò)誤,給出程序可靠性的鑒定;調(diào)試也稱排錯(cuò),它是一個(gè)與測(cè)試有聯(lián)系又有區(qū)別的概念。具體來(lái)說(shuō),測(cè)試的目的是暴露錯(cuò)誤,評(píng)價(jià)程序的可靠性,而調(diào)試的目的是發(fā)現(xiàn)錯(cuò)誤的位置,并改正錯(cuò)誤。\r\n\r\n

28.概念概念

29.傳染性或傳播性傳染性或傳播性

30.s[i]<'0'‖s[i]>9或!(s[i]>='0'&&s[i]<='9')或!(isdigit(s[i]))isdigit(s[i])==0或s[i]>'9'‖s[i>'0'或!(s[i]<='9'&&s[i]>='0')或*(s+i)<'0'‖*(s+i)>'9'或!(*(s+i)>='0'&&*(s+i)<=9或!(isdigit(*(s+i)))或*(s+i)>='9'&&*(s+i)<='0'!(*(s+i)<='9'&&*(s+i)>='0'或iss[i]<'0'‖s[i]>9,或\r\n!(s[i]>='0'&&s[i]<='9')或!(isdigit(s[i]))\r\nisdigit(s[i])==0或s[i]>'9'‖s[i>'0'或\r\n!(s[i]<='9'&&s[i]>='0')或*(s+i)<'0'‖*(s+i)>'9'或\r\n!(*(s+i)>='0'&&*(s+i)<=9或!(isdigit(*(s+i)))或\r\n*(s+i)>='9'&&*(s+i)<='0'\r\n!(*(s+i)<='9'&&*(s+i)>='0'或is解析:本題考核的知識(shí)點(diǎn)是字符指針變量作為函數(shù)的參數(shù)以及與字符串有關(guān)的算法。從一個(gè)字符串中刪除某字符的方法是從字符串的第一個(gè)字符開始一一判斷該字符是否是要?jiǎng)h除的字符,若不是則把它放到結(jié)果字符串中,若是則不放入結(jié)果字符串中。本題的第一個(gè)空應(yīng)判斷a[i]是否為數(shù)字字符,只有在不是數(shù)字字符的情況下才存入結(jié)果字符串,所以應(yīng)填入s[i]<'0'‖s[i]>'9'。最后應(yīng)在結(jié)果字符串的末尾填上字符串結(jié)束標(biāo)志“\\0”。

31.x[0]x[0]x[0],x[0]解析:函數(shù)f()通過for循環(huán)逐個(gè)比較數(shù)組x中的元素,循環(huán)結(jié)束后,p0和p1分別表示最大值和最小值在數(shù)組中的下標(biāo)位置,然后按照題意將最大值x[p0]和數(shù)組的最后一個(gè)元素x[n-1]交換位置,再將最小值x[p1]和第一個(gè)元素(x[0])進(jìn)行交換,所以空白處應(yīng)該填入x[0]。

32.12341234解析:在%與格式符之間插入一個(gè)整形數(shù)來(lái)指這輸出寬度,并不影響數(shù)據(jù)的完整性,當(dāng)插入的寬度小于實(shí)際的寬度時(shí),則實(shí)際的寬度輸出。

33.

34.一對(duì)多(或1∶N)一對(duì)多(或1∶N)解析:兩個(gè)實(shí)體集間的聯(lián)系實(shí)際上是實(shí)體集間的函數(shù)關(guān)系,這種函數(shù)關(guān)系可以有3種,即一對(duì)一(1∶1)的聯(lián)系、一對(duì)多(1∶N)或多對(duì)一(N∶1)的聯(lián)系和多對(duì)多(N∶N)的聯(lián)系。

35.O(2)

36.66解析:條件運(yùn)算符的優(yōu)先級(jí)高于賦值運(yùn)算符,因此本題先計(jì)算關(guān)系表達(dá)式(*ptr+y)<x)?*(ptr+y):x的值,再賦給變量z。當(dāng)y=0時(shí),*(ptr+y)=2,而x=8,(*(ptr+y)<x)條件為真,則整個(gè)條件表達(dá)式的值為*(ptr+y)=2,所以z=2;當(dāng)y-1時(shí),*(ptr+y)=4,(*(ptr+y)<x)條件為真,則整個(gè)條件表達(dá)式的值為*(ptr+y)=4,所以z=4;當(dāng)y=2時(shí),*(ptr+y)=6,(*(ptr+y)<x)條件為真,則整個(gè)條件表達(dá)式的值為*(ptr+y)=6,所以z=6;循環(huán)結(jié)束。因此輸出z的結(jié)果為6。

37.abcabc解析:字符串的結(jié)束標(biāo)記'\\0',當(dāng)輸出一個(gè)存放在字符數(shù)組中的字符串時(shí),只需輸出到'\\0'為止,而不管其后有什么數(shù)據(jù)。本題給字符數(shù)組s的元素s[3]賦值為'\\0',故只能輸出3個(gè)字符“abc”。

38.計(jì)劃計(jì)劃解析:瀑布模型是B.W.Boehm于1976年提出的。它將軟件生存周期劃分為計(jì)劃、開發(fā)、運(yùn)行3個(gè)時(shí)期,每個(gè)時(shí)期又分為若干個(gè)階段。

39.gae

40.80。80。解析:p=a+2使指針p指向數(shù)組a的第三個(gè)元素,即a[2],(p+2)[3]使p再移動(dòng)5個(gè)單位,則指向了數(shù)組元素a[7],它的值為80。

41.B解析:此題為數(shù)據(jù)庫(kù)的基本概念,可以對(duì)照辦工軟件的電子表格進(jìn)行如下理解:選擇:我們根據(jù)某條件選擇出一行或多行元組(一個(gè)元組即為二維表中的一行)。投影:按字段(也稱屬性,比如學(xué)生關(guān)系(學(xué)號(hào),姓名,出生年月,性別),學(xué)號(hào)、姓名…都是屬性)選取一列或多列(一個(gè)二維表中所有元組在某一列或幾列上截取出來(lái))。連接:2個(gè)或2個(gè)以上的表連接組成一張新的表,通常有條件連接。比如學(xué)生關(guān)系(學(xué)號(hào),姓名,系號(hào)),又有一張系表(系號(hào),系名,主任),2張表可以合并為一張這樣的表(學(xué)號(hào),姓名,系號(hào),系名,主任)。

42.B解析:字長(zhǎng)是指CPU可以同時(shí)處理二進(jìn)制的位數(shù),是由CPU的型號(hào)和類型決定的。

43.C解析:數(shù)據(jù)庫(kù)不是一個(gè)獨(dú)立的系統(tǒng),它需要操作系統(tǒng)的支持,選項(xiàng)A錯(cuò)誤;設(shè)計(jì)數(shù)據(jù)庫(kù)的目的是設(shè)計(jì)出滿足實(shí)際應(yīng)用需求的實(shí)際關(guān)系模型,選項(xiàng)B錯(cuò)誤;數(shù)據(jù)庫(kù)技術(shù)的主要目的是有效地管理和存取大量的數(shù)據(jù)資源,包括:提高數(shù)據(jù)的共享性,使多個(gè)用戶能夠同時(shí)訪問數(shù)據(jù)庫(kù)中的數(shù)據(jù);減小數(shù)據(jù)的冗余,以提高數(shù)據(jù)的一致性和完整性;提供數(shù)據(jù)與應(yīng)用程序的獨(dú)立性,從而減少應(yīng)用程序的開發(fā)和維護(hù)代價(jià),選項(xiàng)C正確。數(shù)據(jù)庫(kù)系統(tǒng)中,數(shù)據(jù)的物理結(jié)構(gòu)和邏輯結(jié)構(gòu)可以相互獨(dú)立,選項(xiàng)D錯(cuò)誤。

44.A

45.B

46.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)開發(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)特性)。

47.C解析:軟件設(shè)計(jì)遵循軟件工程的基本目標(biāo)和原則,建立了適用于在軟件設(shè)計(jì)中應(yīng)該遵循的基本原理和與軟件設(shè)計(jì)有關(guān)的概念。①抽象是一種思維工具,就是把事物本質(zhì)的共同特性抽出來(lái)而不考慮其他細(xì)節(jié)。②模塊是指可以單獨(dú)命名且可編址的元素。如高級(jí)語(yǔ)言中的過程、函數(shù)、子程序等。③信息隱蔽是指在一個(gè)模塊內(nèi)包含的信息(過程或數(shù)據(jù)),對(duì)于不需要這些信息的其他模塊來(lái)說(shuō)是不能訪問的。④模塊獨(dú)立性是指每個(gè)模塊只完成系統(tǒng)要求的獨(dú)立的子功能,并且與其他模塊的聯(lián)系最少且接口簡(jiǎn)單。因此,本題的正確答案是C。

48.D解析:本題考查靜態(tài)變量的使用方法和for循環(huán)。在函數(shù)調(diào)用時(shí),static變量在函數(shù)調(diào)用結(jié)束后所作的所有變化均不保持,所以當(dāng)i=1時(shí),第2次進(jìn)入f函數(shù)時(shí)c=5,所以最終main函數(shù)中c的值為5。

49.C(10)C)解析:DB即數(shù)據(jù)庫(kù)(Database),是統(tǒng)一管理的相關(guān)數(shù)據(jù)的集合;DBMS即數(shù)據(jù)庫(kù)管理系統(tǒng)(DatabaseManagementSystem),是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,為用戶或應(yīng)用程序提供訪問DB的方法;DBS即數(shù)據(jù)庫(kù)系統(tǒng)(DatabaseSystem)由如下5部分組成,數(shù)據(jù)庫(kù)(數(shù)據(jù))、數(shù)據(jù)庫(kù)管理系統(tǒng)(軟件)、數(shù)據(jù)庫(kù)管理員(人員)、系統(tǒng)平臺(tái)之一——硬件平臺(tái)(硬件)、系統(tǒng)平臺(tái)之二——軟件平臺(tái)(軟件)。

50.C解析:data是一結(jié)構(gòu)體變量,a是它的成員,因此引用a域的正確方法是:data.a,取它的地址賦值給指針變量p的語(yǔ)句應(yīng)該是:p=&data.a。選項(xiàng)A將a的地址直接賦給了p,而忽略了a為結(jié)構(gòu)體內(nèi)部的一個(gè)成員,不是一單獨(dú)的變量,故選項(xiàng)A不正確;選項(xiàng)B在p=data.a表達(dá)式中右邊為一個(gè)結(jié)構(gòu)體變量的成員不是地址,而左邊為一指針應(yīng)該將一地址賦給它,故選項(xiàng)B不正確。選項(xiàng)D表達(dá)式*p=data.a是將結(jié)構(gòu)體變量中的成員a的值賦給指針p所指向的變量值,而不是使指針p指向data中的a域,故選項(xiàng)D不正確。

51.D解析:程序第1次執(zhí)行for循環(huán)時(shí),i=0,兩條if語(yǔ)句中的表達(dá)式都不成立,執(zhí)行i++;s+=i;此時(shí)i為1,s為1第2次循環(huán),兩條if語(yǔ)句中的表達(dá)式也不成立,執(zhí)行i++,s+=i,此時(shí)i為2,s為3;……;當(dāng)i=3時(shí),執(zhí)行continue,結(jié)束本輪循環(huán),不執(zhí)行i++;繼續(xù)執(zhí)行下一輪循環(huán),這樣一來(lái)i值始終為3,繼續(xù)continue,無(wú)終止條件,進(jìn)入死循環(huán)。

52.B解析:p本身就是一個(gè)字符型指針變量,返回p也就是返回變量p中存放的地址值。

53.A解析:通常,將軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過程稱為軟件生命周期。它可以分為軟件定義、軟件開發(fā)及軟件運(yùn)行維護(hù)3個(gè)階段。

54.D解析:本題考查的是文件操作函數(shù).題目中fseek(fp,0L,SEEK_SET)的作用將文件指針定位到文件開始。feof(fp)的作用是判斷文件指針是否已到文件結(jié)尾,因此選項(xiàng)A不對(duì)。ftell(fp)的作用是獲取當(dāng)前文件指針的位置,因此選項(xiàng)B不對(duì)。fgetc(fp)的作用是從文件中讀取一個(gè)字節(jié),因此選項(xiàng)C不對(duì)。rewind(中)的作用是將文件指針重定位到文件開頭,所以應(yīng)該選擇D。

55.D數(shù)據(jù)處理是指將數(shù)據(jù)轉(zhuǎn)換成信息的過程,故選項(xiàng)A敘述錯(cuò)誤。數(shù)據(jù)的物理獨(dú)立性是指數(shù)據(jù)的物理結(jié)構(gòu)的改變,不會(huì)影響數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu),故選項(xiàng)B敘述錯(cuò)誤。關(guān)系中的行稱為元組,對(duì)應(yīng)存儲(chǔ)文件中的記錄,關(guān)系中的列稱為屬性,對(duì)應(yīng)存儲(chǔ)文件中的字段,故選項(xiàng)C敘述錯(cuò)誤。所以本題選D。

56.A解析:軟件工程的第一個(gè)階段是軟件分析階段。軟件分析階段的工作是由軟件分析員和用戶一起來(lái)做的。軟件分析的結(jié)果是分析人員寫出的分析報(bào)告,該分析報(bào)告實(shí)際上就是軟件系統(tǒng)的系統(tǒng)總體設(shè)計(jì)方案。

57.D解析:可以用以下三種形式來(lái)引用結(jié)構(gòu)體變量中的成員:結(jié)構(gòu)體變量名.成員名、指針變量名->成員名和(*指針變量名).成員名。選項(xiàng)D)中“&st.m”取的是結(jié)構(gòu)體中成員的地址而不是結(jié)構(gòu)的地址。

58.C解析:數(shù)組名x為該數(shù)組的首地址即第1個(gè)元素的地址,x+2表示數(shù)組第3個(gè)元素的值地址。x[6]表示數(shù)組中長(zhǎng)度為6,數(shù)組元素的下標(biāo)從0到5,沒有x[6]。&為取地址符,取得的是元素的地址。*為間接訪問運(yùn)算符,其運(yùn)算對(duì)象為地址或存放地址的指針變量。*(x+2)為取數(shù)組第3個(gè)元素的值,因此只有選項(xiàng)C正確引用了數(shù)據(jù)元素,選項(xiàng)C正確。

59.B

60.B解析:本題考查帶參數(shù)的宏定義及應(yīng)用方法,這種宏不只是進(jìn)行字符串的替換,還要進(jìn)行參數(shù)的替換。

格式為:#define宏名(參數(shù)表)字符串

我們先看一個(gè)簡(jiǎn)單的帶參數(shù)的宏定義:#defineX(A,B)A*B*B并且在程序中有語(yǔ)句:y=X(4,3);經(jīng)過

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論