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

一、單選題(20題)1.數(shù)據(jù)庫(kù)管理系統(tǒng)DBMS中用來(lái)定義模式、內(nèi)模式和外模式的語(yǔ)言為()。

A.CB.BasicC.DDLD.DML

2.將兩個(gè)字符串連接起來(lái)組成一個(gè)字符串時(shí),選用()函數(shù)。A.strlen()B.strcpy()C.strcat()D.strcmp()

3.當(dāng)一個(gè)函數(shù)無(wú)返回值時(shí),定義它的函數(shù)類(lèi)型應(yīng)是()。

A.voidB.intC.任意D.無(wú)

4.數(shù)據(jù)庫(kù)系統(tǒng)的核心是()。

A.數(shù)據(jù)模型B.數(shù)據(jù)庫(kù)管理系統(tǒng)C.數(shù)據(jù)庫(kù)D.數(shù)據(jù)庫(kù)管理員

5.

6.有以下程序:#include<stdio.h>main(){inta=1,b=0;if(--a)b++;elseif(a==0)b+=2;elseb+=3:print[("%d\n",b);}程序運(yùn)行后的輸出結(jié)果是()。A.0B.1C.2D.3

7.以下說(shuō)法錯(cuò)誤的是()。

A.散列法存儲(chǔ)的思想是由關(guān)鍵字值決定數(shù)據(jù)的存儲(chǔ)地址

B.散列表的結(jié)點(diǎn)中只包含數(shù)據(jù)元素自身的信息,不包含指針

C.負(fù)載因子是散列表的一個(gè)重要參數(shù),它反映了散列表的飽滿程度

D.散列表的查找效率主要取決于散列表構(gòu)造時(shí)選取的散列函數(shù)和處理沖突的方法

8.對(duì)于順序存儲(chǔ)的線性表,訪問(wèn)結(jié)點(diǎn)和增加、刪除結(jié)點(diǎn)的時(shí)間復(fù)雜度為()。

A.O(n)O(n)B.O(n)O(1)C.O(1)O(n)D.O(1)O(1)

9.有定義語(yǔ)句:inta=1,b=2,c=3,x;,則以下選項(xiàng)中各程序段執(zhí)行后,x的值不為3的是A.if(c<a)x=1;elseif(b<a)x=2;elsex=3;

B.if(a<3)x=3;elseif(b<a)x=2;elsex=1;

C.if(a<3)x=3;if(a<2)x=2;if(a<1)x=1;

D.if(a<b)x=b;if(b<c)x=c;if(c<a)x=a;

10.將發(fā)送端數(shù)字脈沖信號(hào)轉(zhuǎn)換成模擬信號(hào)的過(guò)程稱(chēng)為

A.鏈路傳輸B.調(diào)制C.解調(diào)D.數(shù)字信道傳輸

11.設(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

12.設(shè)有以下語(yǔ)句:charstr1[]="string"mstr2[8],*str3,*str4=="string";則______不是對(duì)庫(kù)函數(shù)的正確調(diào)用。

A.strcpy(str1,"HELLO1");

B.strcpy(str2,"HELLO2");

C.strcpy(str3,"HELLO3");

D.strcpy(str4,"HELLO4");

13.

14.

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

A.為了建立一個(gè)關(guān)系,首先要構(gòu)造數(shù)據(jù)的邏輯關(guān)系

B.表示關(guān)系的二維表中各元組的每一個(gè)分量還可以分成若干數(shù)據(jù)項(xiàng)

C.一個(gè)關(guān)系的屬性名表稱(chēng)為關(guān)系模式

D.一個(gè)關(guān)系可以包括多個(gè)二維表

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

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

17.對(duì)于n個(gè)元素,下列哪種操作時(shí)間復(fù)雜度不是O(nlogn)()

A.凸包計(jì)算B.LC搜索C.有序序列數(shù)字查找D.基于比較的排序

18.若有定義“intb[8],*p=b;”,則p+6表示()。

A.數(shù)組元素b[6]的值B.數(shù)組元素b[6]的地址C.數(shù)組元素b[7]的地址D.數(shù)組元素b[0]的值加上6

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

A.用戶定義的函數(shù)中可以沒(méi)有return語(yǔ)句

B.用戶定義的函數(shù)中可以有多個(gè)return語(yǔ)句,以便調(diào)用一次返回多個(gè)函數(shù)值

C.用戶定義的函數(shù)中若沒(méi)有return語(yǔ)句,則應(yīng)當(dāng)定義函數(shù)為void類(lèi)型

D.函數(shù)的return語(yǔ)句中可以沒(méi)有表達(dá)式

20.設(shè)有定義“intx[2][3];”,則以下選項(xiàng)中不能表示數(shù)組元素x[0][1]的是()。

A.*(*x+1)B.*(*(x+1)C.(*x)[1]D.*(&x[0][0]+1)

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

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

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

main()

{inta=0;

a+-(a=8);

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

}

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

25.在關(guān)系模型中,把數(shù)據(jù)看成是二維表,每一個(gè)二維表稱(chēng)為一個(gè)【】。

26.計(jì)算圓的周長(zhǎng)、面積和球體積。

#definePI3.1415926

#define【】L=2*PI*R;【】;V=4.0/3.0*PI*R*R*R

main()

{floatr,l,s,v;

printf("inputaradus:");

scanf("%f",&r);

CIRCLE(r,l,s,v);

printf("r=%.2f\nl=%.2f\ns=%.2f\nv=%.2f\n",【】);

}

27.以下函數(shù)sstrcat()的功能是實(shí)現(xiàn)字符串的連接,即將t所指字符串復(fù)制到s所指字符串的尾部。例如:s所指字符串為abed,t所指字符串為efgh,函數(shù)調(diào)用后s所指字符串為abodefgh。請(qǐng)?zhí)羁铡?/p>

#include<string.h>

voidsstrcat(char*s,char*t)

{intn;

n=strlen(s);

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

}

28.以下函數(shù)的功能是計(jì)算s=1+1/2!+1/3!+…+1/n!,請(qǐng)?zhí)羁铡?/p>

doublefun(intn)

{doubles=0.0,fac=1.0;

inti,k=1;

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

{【】;

fac=fac/k

s=s+fac;

}

}

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

30.設(shè)有下列程序:

#include<stdio.h>

#include<string.h>

main()

{inti;

chars[10],t[10];

gets(t);

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

{gets(s);

if(strcmp(t,s)<0)strcpy(t,s);

}

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

}

程序運(yùn)行后,從鍵盤(pán)上輸入(<CR>代表回車(chē)符):DEF<CR>BADEF<CR>QTHRG<CR>,則程

序的輸出結(jié)果是______。

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

32.常用的軟件結(jié)構(gòu)設(shè)計(jì)工具是結(jié)構(gòu)圖(SC),也稱(chēng)程序結(jié)構(gòu)圖。其中,用矩形表示______,用帶空心圓的箭頭表示傳遞的是數(shù)據(jù)。

33.【】是數(shù)據(jù)庫(kù)設(shè)計(jì)的核心。

34.性結(jié)構(gòu)中,隊(duì)列的操作順序是先進(jìn)先出,而棧的操作順序是______。

35.以下說(shuō)明語(yǔ)句中,【】是結(jié)構(gòu)體類(lèi)型名。

typedefstruct

{intn;

charch[8];

}PER;

36.要求使下列程序輸出5個(gè)整數(shù),請(qǐng)?zhí)羁铡?/p>

for(i=0;i<=______;printf("%d\n",i+=2));

37.以下程序段打開(kāi)文件后,先利用fseek函數(shù)將文件位置指針定位在文件末尾,然后調(diào)用ftell函數(shù)返回當(dāng)前文件位置指針的具體位置,從而確定文件長(zhǎng)度,請(qǐng)?zhí)羁铡?/p>

FILE*myf;longfl;

myf=【】("test.t","rb");

fseek(myf,(),SEEK_END)fl+ftell(myf);

fclose(myf);

printf("%ld\n",fl);

38.寫(xiě)出下列程序的輸出結(jié)果______。

main()

{int=0;

while(n++<=1);

printf("%d,",n);

printf("%d",n++);

}

39.下面定義的結(jié)構(gòu)體類(lèi)型包含3個(gè)成員,其中成員變量x用來(lái)存入整型數(shù)據(jù),成員變量y用來(lái)存入實(shí)型數(shù)據(jù),成員變量next是指向自身結(jié)構(gòu)體的指針。請(qǐng)將定義補(bǔ)充完整。

structstu

{intx;

【】

【】next;}

40.該程序運(yùn)行的結(jié)果是【】。

#include<stdio.h>

main()

{unionEXANPLE

{struct

{

intx;

inty;

}in;

inta;

intb;

}e;

e.a=1;

e.b=2;

e.in.x=e.a*e.b;

e.in.y=e.a+e.b;

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

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

}

三、1.選擇題(20題)41.需求分析階段的任務(wù)是確定()

A.軟件開(kāi)發(fā)方法B.軟件開(kāi)發(fā)工具C.軟件開(kāi)發(fā)費(fèi)用D.軟件系統(tǒng)功能

42.數(shù)據(jù)庫(kù)系統(tǒng)可分為三級(jí)模式,下列選項(xiàng)中不屬于數(shù)據(jù)庫(kù)三級(jí)模式的是

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

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

A.0<=x<100B.i=j==0C.(char)(65+3)D.x+1=x+1

44.若有下面的說(shuō)明和定義:unionun{chars[10];longd[3];}ua;struetstd{charc[10];doubled;inta;unionunvb;}a;則printf("%d\n",sizeof(structstd)+sizeof(unionun));輸出的值為_(kāi)_____。

A.34B.52C.54D.64

45.若有說(shuō)明:int*p,m=5,n;以下正確的程序段是

A.p=&n;scanf("%d",&p);

B.p=&n;scanf("%d",*p)

C.scanf("%d",&n);*p=n;

D.p=&n;*p=m;

46.有以下程序:#include<stdlib.h>main(){char*p,*q;p=(char*)malloc(sizeof(char)*20);q=p;scanf("%s%s",p,q);printf("%s%s\n",p,q);}若從鍵盤(pán)輸入:abcdef<回車(chē)>,則輸出結(jié)果是()。

A.defdefB.abcdefC.abedD.dd

47.語(yǔ)句int(*ptr)()的含義是()。

A.(!a==1)&&(!b==0)

B.(a<b)&&!c‖1

C.a&&b

D.a‖(b+b)&&(c-a)

48.有以下程序:#include<stdio.h>main(){inti,j;for(i=3;i>=1;i--){for(j=1;j<=2;j++)printf("%d",i+j);printf("\n");}}程序運(yùn)行的結(jié)果是()。

A.234B.432C.23D.4534554334344523

49.有以下程序:main(){intx=0,y=0,i;for(i=1;++i){if(i%2==0){x++;continue;}if(i%5==0){y++;break;}}printf("%d,%d",x,y);}程序的輸出結(jié)果是()。

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

50.下列句子中,正確的C語(yǔ)言賦值語(yǔ)句是()

A.n++;B.a=b=88C.t=int(x+y);D.a=100,b=200

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

52.下列程序的輸出結(jié)果是#include"stdio.h"#defineM(x,y)x%ymain(){inta,m=12,n=100;a=M(n,m);printf("%d\n",a--);}

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

53.若輸入60和13,以下程序的輸出結(jié)果是()#defineSURPLUS(a,b)((a)%(b))main(){inta,b;scanf("%d,%d",&a,&b);printf("%d\n",SURPLUS(a,b));}

A.60B.13C.73D.8

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

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

55.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是指()。

A.存儲(chǔ)在外存中的數(shù)據(jù)B.數(shù)據(jù)所占的存儲(chǔ)空間量C.數(shù)據(jù)在計(jì)算機(jī)中的順序存儲(chǔ)方式D.數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的表示

56.有以下程序

intadd(inta,intb){return(a+b);}

main()

{intk,(*f)(),a=5,b=10;

f=add;

}

則以下函數(shù)調(diào)用語(yǔ)句錯(cuò)誤的是A.k=(*f)(a,b);B.k=add(a,b);C.k=*f(a,b);D.k=f(a,b);

57.下列說(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í)參與形參的類(lèi)型必須一致

58.對(duì)長(zhǎng)度為n的線性表進(jìn)行順序查找,在最壞情況下所需要的比較次數(shù)為()A.A.log2nB.n/2C.nD.n+l

59.若有說(shuō)明語(yǔ)句:intx=3,y=4,z=5;,則下面的表達(dá)式中,值為0的是______。

A.x&&y

B.x<=y(tǒng)

C.x||++y&&y-z

D.!(x<y&&!z||1)

60.對(duì)如下二叉樹(shù)進(jìn)行后序遍歷的結(jié)果為()。

A.ABCDEFB.DBEAFCC.ABDECFD.DEBFCA

四、選擇題(20題)61.

62.程序流程圖中帶有箭頭的線段表示的是()。

A.圖元關(guān)系B.數(shù)據(jù)流C.控制流D.調(diào)用關(guān)系

63.執(zhí)行語(yǔ)句X=(a=10,b=a--.后,x、a、b的值依次為()。

A.10,10,9

B.10,9,9

C.9,10,9

D.10,9,10

64.(30)關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)能實(shí)現(xiàn)的專(zhuān)門(mén)關(guān)系運(yùn)算包括()

A.排序、索引、統(tǒng)計(jì)

B.選擇、投影、連接

C.關(guān)聯(lián)、更新、排序

D.顯示、打印、制表

65.以下是正確C語(yǔ)言實(shí)型常量的是()。

A..e—1B.e一1C.一1eD.1e一1

66.若有說(shuō)明,double*m,n;則能通過(guò)sCanf語(yǔ)句正確給輸入項(xiàng)讀人數(shù)據(jù)的程序段是()。

A.*m=&n;scanf("%lf",m);

B.m=(double*)malloc(10);scanf("%f",m);

C.m=&n;scanf("%lf",n);

D.m=&n;scanf("%le",m);

67.以下函數(shù)實(shí)現(xiàn)按每行8個(gè)輸出W所指數(shù)組中的數(shù)據(jù):

在橫線處應(yīng)填人的語(yǔ)句是()。

A.if(i/8==0)printf(”\n”);

B.if(i/8==O)continue;

C.if(i%8==0)prinff(’’\n”);

D.if(i%8==0)continue;

68.下列關(guān)于單目運(yùn)算符++、--的敘述中正確的是A.它們的運(yùn)算對(duì)象可以是任何變量和常量

B.它們的運(yùn)算對(duì)象可以是char型變量和int型變量,但不能是float型變量

C.它們的運(yùn)算對(duì)象可以是int型變量,但不能是double型變量和float型變量

D.它們的運(yùn)算對(duì)象可以是char型變量、int型變量和float型變量

69.

70.以下描述中正確的是()。

A.由于do-while循環(huán)中循環(huán)體語(yǔ)句只能是一條可執(zhí)行語(yǔ)句,所以循環(huán)體內(nèi)不能使用復(fù)合語(yǔ)句

B.do-while循環(huán)由do開(kāi)始,用while結(jié)束,在while(表達(dá)式.后面不能寫(xiě)分號(hào)

C.在do-while循環(huán)體中,是先執(zhí)行一次循環(huán),再進(jìn)行判斷

D.do-while循環(huán)中,根據(jù)情況可以省略while

71.

72.若文件指針fp已正確指向文件,ch為字符型變量,以下不能把字符輸出到文件中的語(yǔ)句是()。

A.fget(f0,ch);

B.foutc(ch,fo);

C.fprinff(fp,”%c”,ch);

D.fwrite(&ch,sizeof(ch),1,fp);

73.在滿足實(shí)體完整性約束的條件下()。

A.一個(gè)關(guān)系中廊該有一個(gè)或多個(gè)候選關(guān)鍵字

B.一個(gè)關(guān)系中只能有一個(gè)候選關(guān)鍵字

C.一個(gè)關(guān)系中必須有多個(gè)候選關(guān)鍵字

D.一個(gè)關(guān)系中可以沒(méi)有候選關(guān)鍵字

74.

75.若有定義語(yǔ)句:“intyear=2009,*p=&year;”,以下不能使變量year中的值增至2010的語(yǔ)句是()。

A.*p+=1;

B.(*p)++;

C.++(*p);

D.*++P

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

A.++kB.k+=1C.k++D.k+1

77.有以下程序

structSTU

{

charname[10];

intnum;

intScore;

};

main()

{

structSTUs[5]={{"YangSan",20041,703},

{"LiSiGuo",20042,580},

{"WangYin",20043,680},

{"SunDan",20044,550},

{"Penghua",20045,537}},*p[5],*t;

inti,j;

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

p[i]=&s[i];

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

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

if(p[i]->Score>p[j]->Score)

{

t=p[i];

p[i]=p[j];

p[j]=t;

}

printf("%d%d\n",s[1].Score,p[1]->Score);

}

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

A.550550B.580550

C.680680D.580680

78.以下語(yǔ)句中存在語(yǔ)法錯(cuò)誤的是()。

79.程序調(diào)試的任務(wù)是()。

A.設(shè)計(jì)測(cè)試用例B.驗(yàn)證程序的正確性C.發(fā)現(xiàn)程序中的錯(cuò)誤D.診斷和改正程序中的錯(cuò)誤

80.

有以下程序

#include<stdio.h>

#include<string.h>

typedefstrlIct{charname[9];charsex;floatscore[2];}STU;

STUf(STUa)

{STUb={"Zhao",m,85.0,90.0);inti;

strcpy(aname,b.name);

sex:b.sex;

for(i=0;i<2;i++)a.score[i]=b.score[i];

returna;

}

main

{STUc="Qian",f,95.0,92.0},d;

d=f(c).printf("%s,%c,%2.0f,%2.0f",d.Name,d.sex,d.score[0],d.score[1]);

}

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

A.Qian,f,95,92

B.Qian,m,85,90

C.Zhao,m,85,90

D.Zhao,f,95,92

五、程序改錯(cuò)題(1題)81.下列給定程序中函數(shù)fun的功能是:用遞歸算法計(jì)算斐波拉契數(shù)列中第n項(xiàng)的值。從第l項(xiàng)起,斐波拉契數(shù)列為:1,1,2,3,5,8,13,21,…例如,若給n輸入7,則該項(xiàng)的斐波拉契數(shù)值為l3。請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確結(jié)果。注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!試題程序:#include<stdio.h>longfun(intg){//****found****switch(g);{case0:return0;//****found****casel:case2:return1;}return(fun(g-1)+fun(g-2));}voidmain{longfib;intn;printf("Inputn:");scanf("%d",&n);printf("n=%d\n",n);fib=fun(n);printf("fib=%d\n\n",fib);}六、程序設(shè)計(jì)題(1題)82.使用VC++2010打開(kāi)考生文件析下prog1中的解決方案。此解決方案的項(xiàng)目中包含一個(gè)源程序文件prog1.c。在此程序中,請(qǐng)編寫(xiě)函數(shù)fun(),tt指向一個(gè)M行N列的二維數(shù)組,求出二維數(shù)組每列中值最大的元素,并依次放入pp所指的一維數(shù)組中。二維數(shù)組中的元素已在主函數(shù)中給出。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入你編寫(xiě)的若干語(yǔ)句。試題程序:#include<stdlib.h>#include<conio.h>#include<stdio.h>#defineM3#defineN4voidfun(inttt[M][N],intpp[N]){}voidmain(){ intt[M][N]={{68,32,54,12},{14,24,88,58},{42,22,44,56}}; intp[N],i,j,k; ystem(“CLS”); printf(“Theoriginaldatais:\n”); for(i=0;i<=""p=""> { for(j=0;j<=""p=""> printf(“%6d”,t[i][j]); printf(“\n”n); } fun(t,p); printf(“\nTheresultis:\n”); for(k=0;k<n;k++)<p=""></n;k++)<> printf(“%4d”,p[k]); printf(“\n”);}

參考答案

1.C解析:選項(xiàng)A)、選項(xiàng)B)顯然不合題意。數(shù)據(jù)定義語(yǔ)言(DataDefinitionLanguage,簡(jiǎn)稱(chēng)DDL)負(fù)責(zé)數(shù)據(jù)的模式定義與數(shù)據(jù)的物理存取構(gòu)建;數(shù)據(jù)操縱語(yǔ)言(DataManipulationLanguage,簡(jiǎn)稱(chēng)DML)負(fù)責(zé)數(shù)據(jù)的操縱,包括查詢及增、刪、改等操作。

2.C將兩個(gè)字符串連接起來(lái)組成一個(gè)字符串,選用strcat函數(shù)來(lái)連接。

3.A

4.B解析:數(shù)據(jù)庫(kù)管理系統(tǒng)是數(shù)據(jù)庫(kù)系統(tǒng)的核心,是負(fù)責(zé)數(shù)據(jù)庫(kù)的建立、使用和維護(hù)的軟件。數(shù)據(jù)庫(kù)管理系統(tǒng)建立在操作系統(tǒng)之上,實(shí)施對(duì)數(shù)據(jù)庫(kù)的統(tǒng)一管理和控制。用戶使用的各種數(shù)據(jù)庫(kù)命令以及應(yīng)用程序的執(zhí)行,最終都必須通過(guò)數(shù)據(jù)庫(kù)管理系統(tǒng)。另外,數(shù)據(jù)庫(kù)管理系統(tǒng)還承擔(dān)著數(shù)據(jù)庫(kù)的安全保護(hù)工作,按照數(shù)據(jù)庫(kù)管理員所規(guī)定的要求,保證數(shù)據(jù)庫(kù)的完整性和安全性。

5.D

6.D

7.B

8.C

9.C解析:選項(xiàng)A),B)考查了多分支結(jié)構(gòu)的用法,選項(xiàng)A)中的程序段執(zhí)行時(shí),c<a,b<a條件均不成立,故執(zhí)行else后的語(yǔ)句,x值為3;選項(xiàng)B)中a<3條件成立,執(zhí)行x=3;而選項(xiàng)C),D)是單分支結(jié)構(gòu)的用法,選項(xiàng)C)中程序段執(zhí)行時(shí),a<3條件成立,x=3,但條件a<2也成立,此時(shí)執(zhí)行x=2,下一個(gè)條件不成立,不再執(zhí)行其后的語(yǔ)句。

10.B

11.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è)。

12.C解析:C語(yǔ)言中:strcpy(st1,st2);,其兩個(gè)參數(shù)均為字符指針或字符數(shù)組,選項(xiàng)C中的目的串指針str3沒(méi)有指向具體有效的存儲(chǔ)單元,故是錯(cuò)誤的調(diào)用。

13.C

14.C

15.C解析:在格式化模型中,要事先根據(jù)應(yīng)用的需要,確定數(shù)據(jù)之間的邏輯關(guān)系,即先對(duì)數(shù)據(jù)進(jìn)行結(jié)構(gòu)化。在關(guān)系模型中,不需要事先構(gòu)造數(shù)據(jù)的邏輯關(guān)系,只要將數(shù)據(jù)按照一定的關(guān)系存入計(jì)算機(jī),也就是建立關(guān)系。所以選項(xiàng)A錯(cuò)誤。對(duì)于一個(gè)表示關(guān)系的二維表,其最基本的要求是表中元組的每一個(gè)分量必須是不可分的數(shù)據(jù)項(xiàng),即不允許表中再有表。所以,選項(xiàng)B、D說(shuō)法是錯(cuò)誤的。一個(gè)關(guān)系的屬性名表稱(chēng)為關(guān)系模式,也就是二維表的表框架,相當(dāng)于記錄型。因此,選項(xiàng)C說(shuō)法正確。

16.D本題考查while循環(huán)。第一次循環(huán),y=y-1,y=2,循環(huán)條件成立,x=1,x++后值為1,x自加變成2,進(jìn)入循環(huán),a=a+1=1,判斷if語(yǔ)句條件是否成立,y<x不成立,接著執(zhí)行下一次循環(huán)。第二次循環(huán),x=2,y-1=1.循環(huán)條件成立,進(jìn)入循環(huán),a=a+1=2,判斷if語(yǔ)句的控制條件是否成立,y<x成立,執(zhí)行break語(yǔ)句。退出循環(huán)。結(jié)果為D。

17.C

18.B指針中存放的是變量的地址,指針也可以進(jìn)行增減運(yùn)算,這時(shí)指針移動(dòng)的最小單位是一個(gè)存儲(chǔ)單元,而不是一個(gè)字節(jié)。所以題中“P+6”指的是將指針向后移動(dòng)了6個(gè)存儲(chǔ)單元,即指向uE63,存放的是b[6]的地址。

19.B函數(shù)的值只能通過(guò)return語(yǔ)句返回主調(diào)函數(shù)。函數(shù)中允許有多個(gè)return語(yǔ)句,但每次只能調(diào)用一個(gè)return語(yǔ)句,因此只能返回一個(gè)函數(shù)值。不返回函數(shù)值的函數(shù),可以明確定義為“空類(lèi)型”,類(lèi)型說(shuō)明符為void。故本題答案為B選項(xiàng)。

20.B選項(xiàng)A中*x等價(jià)于x[0],*x+1等價(jià)于x[0]+1,*(x[0]+1)等價(jià)于x[0][1],正確;選項(xiàng)B中,*(x+1)等價(jià)于x[1],*(*(x+1))等價(jià)于x[1][0],錯(cuò)誤;選項(xiàng)C中,*x等價(jià)于x[0],(*x)[1]等價(jià)于x[0][1],正確;選項(xiàng)D中,&x[0][0]等價(jià)于x[0],&[0][0]+1等價(jià)于x[0]+1,*(x[0]+1)等價(jià)于x[0][1],正確。故本題答案為B選項(xiàng)。

21.共享性共享性解析:數(shù)據(jù)庫(kù)技術(shù)的主要特點(diǎn)有以下幾個(gè)方面:數(shù)據(jù)的集成性,數(shù)據(jù)的高共享性與低冗余性,數(shù)據(jù)的獨(dú)立性,數(shù)據(jù)統(tǒng)一管理與控制。

22.系統(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)部的算法、模塊輸入、輸出及模塊功能。

23.1616解析:在程序中首先將8賦值給變量a,然后在進(jìn)行復(fù)合賦值運(yùn)算。即a=a+a=8+8=16,所以該空格處應(yīng)該填16。

24.一對(duì)多一對(duì)多解析:實(shí)體集“項(xiàng)目主管”與實(shí)體集“項(xiàng)目”的聯(lián)系屬于一對(duì)多的聯(lián)系。

25.關(guān)系關(guān)系解析:在數(shù)據(jù)庫(kù)中,一個(gè)表就是一個(gè)關(guān)系。一個(gè)關(guān)系的邏輯結(jié)構(gòu)就是一張二維表。

26.CIRCLE(RLSV)S=PI*R*Rr1sv

27.*t*t解析:函數(shù)中首先讓n=strlen(s),所以while循環(huán)的循環(huán)條件表達(dá)式中*(s+n)指向字符串s的結(jié)束標(biāo)志'\\0'處,而該處應(yīng)該等于字符串t的第1個(gè)字符,另外循環(huán)體中讓s和t指向下一個(gè)字符,即s+n和t同時(shí)被移動(dòng)到下一個(gè)位置,所以該處應(yīng)該填*t,即t所指內(nèi)容。當(dāng)t指向字符串結(jié)束標(biāo)志'\\0'的時(shí)候,整個(gè)循環(huán)條件表達(dá)式的值也為0(“假”)了,循環(huán)結(jié)束。正好滿足將t所指字符串復(fù)制到s所指的字符串的尾部。

28.k=k*ik=k*i解析:本題中通過(guò)for循環(huán)求s表達(dá)式中每一項(xiàng)的和,表達(dá)式“fac=fac/k;”求的是每一項(xiàng)的值,所以k的值應(yīng)為n!,在求n!的時(shí)候,可以用上次循環(huán)階乘的值乘i,就可以直接得此次n!,故本題填k=k*i。

29.概念概念

30.QTHRGQTHRG解析:函數(shù)strcmp(t,s)用來(lái)比較t和s所指字符串的大小,若t>s,則函數(shù)值大于0;若t=s,則函數(shù)值等于0:若t<s,則函數(shù)值小于0。函數(shù)strcpy(t,s)的功能是,把字符數(shù)組s所指字符串的內(nèi)容復(fù)制到字符數(shù)組t所指存儲(chǔ)空間中。本題中,t[10]='CDEF'。第一次循環(huán),s[10]='BADEF',if語(yǔ)句的控制條件strcmp(t,s)<0不成立,接著執(zhí)行第二次循環(huán),s='QTHRG',if語(yǔ)句的控制條件strcmp(t,s)<0成立,執(zhí)行下列的語(yǔ)句,將字符數(shù)組s所指字符串的內(nèi)容復(fù)制到字符數(shù)組t所指存儲(chǔ)空間中,然后輸出字符數(shù)組t。

31.軟件開(kāi)發(fā)

32.模塊模塊解析:矩形表示的是模塊,箭頭表示的是模塊間的調(diào)用關(guān)系。用帶實(shí)心圓的箭頭表示傳遞的是控制信息,用帶空心圓的箭頭表示傳遞的是數(shù)據(jù)。

33.數(shù)據(jù)模型數(shù)據(jù)模型

34.先進(jìn)后出先進(jìn)后出解析:隊(duì)列和棧都是線性結(jié)構(gòu),但是不同之處在于隊(duì)列的操作順序是先進(jìn)先出,而棧的操作順序是先進(jìn)后出。

35.PERPER解析:本題中,typedef聲明新的類(lèi)型名PER來(lái)代替已有的類(lèi)型名,PER代表上面指定的一個(gè)結(jié)構(gòu)體類(lèi)型,此時(shí),也可以用PER來(lái)定義變量。

36.88解析:本題考查基本的for循環(huán)條件,i+=2表示i每次遞增2,從0開(kāi)始,輸出5個(gè)整數(shù)則需要的條件是i<=8。

37.fopenfopen解析:C語(yǔ)言中的文件分為:ASCII文件與二進(jìn)制文件。文件在使用前打開(kāi),使用后要關(guān)閉。打開(kāi)文件的函數(shù)為:fopen(),調(diào)用形式為:fp=fopen('文件名','使用文件方式');關(guān)閉文件的函數(shù)為:fclose(),調(diào)用形式為:fclose(fp),其中fp為文件指針。

38.333,3解析:本題在while(n++<=1)語(yǔ)句后,直接加了分號(hào),說(shuō)明如果while()的條件為真時(shí),該循環(huán)什么都不做;n++是先取n的當(dāng)前值和I做比較,然后再將n加1。第一次循環(huán),n=0時(shí),循環(huán)條件n++=0<=1成立,執(zhí)行循環(huán),然后得到n=1。第二次循環(huán),n=1時(shí),循環(huán)條件n++=1<=1成立,執(zhí)行循環(huán),然后得到n=2。第三次循環(huán),n=2時(shí),循環(huán)條件n++=2<=1不成立,不執(zhí)行循環(huán),但在判斷循環(huán)條件時(shí)仍將n加1,得到n=3。退出循環(huán)后執(zhí)行printf語(yǔ)句,第二個(gè)printf語(yǔ)句輸出n++,是先輸出n的當(dāng)前值3,然后再將n加1,即程序結(jié)束后得到n=4,但輸出的是3。

39.floaty;structstu*floaty;\r\nstructstu*解析:float定義變量y為實(shí)型變量。要求變量next是指向自身結(jié)構(gòu)體的指針,因此變量next應(yīng)該是結(jié)構(gòu)體stu的指針型變量。

40.4844

41.D解析:結(jié)構(gòu)化分析方法,數(shù)據(jù)流圖,數(shù)據(jù)字典,軟件需求規(guī)格說(shuō)明書(shū)

評(píng)析,需求分析是軟件定義時(shí)期的最后一個(gè)階段,它的基本任務(wù)就是詳細(xì)調(diào)查現(xiàn)實(shí)世界要處理的對(duì)象(組織,部門(mén)、企業(yè)等),充分了解原系統(tǒng)的工作概況,明確用戶的各種需求,然后在此基礎(chǔ)上確定新系統(tǒng)的功能.選項(xiàng)A)軟件開(kāi)發(fā)方法是在總體設(shè)計(jì)階段完成的任務(wù);選項(xiàng)B)軟件開(kāi)發(fā)工具是在實(shí)現(xiàn)階段需完成的任務(wù):選項(xiàng)C)軟件開(kāi)發(fā)費(fèi)用是在可行性研究階段需完成的任務(wù)。

42.A解析:數(shù)據(jù)庫(kù)的三級(jí)模式是指概念模式、內(nèi)模式和外模式,其中外模式又叫子模式,內(nèi)模式又叫物理模式.所以本題答案為A。

43.D解析:選項(xiàng)A)在C語(yǔ)言中是一個(gè)合法的關(guān)系表達(dá)式,但它并不代表數(shù)學(xué)式o<=x<100。計(jì)算0<=x<100時(shí),從左到右結(jié)合,先計(jì)算0<=x,其結(jié)果只能是0或1,然后再比較0<100或1<100。根據(jù)運(yùn)算符的優(yōu)先級(jí),選項(xiàng)B)先判斷j==0是否成立,其結(jié)果只能是0或1,然后再將0或1賦給i。選項(xiàng)C)中,(char)(65+3)為類(lèi)型強(qiáng)制轉(zhuǎn)換,將整數(shù)型數(shù)據(jù)轉(zhuǎn)換為字符型。選項(xiàng)D)是將一個(gè)數(shù)據(jù)賦給一個(gè)表達(dá)式,等號(hào)左邊不合要求,所以錯(cuò)誤。

44.B解析:結(jié)構(gòu)體中的每個(gè)成員分別占用獨(dú)立的存儲(chǔ)空間,因此它所占的內(nèi)存字節(jié)數(shù)是其成員所占字節(jié)數(shù)的總和;共用體變量所占內(nèi)存字節(jié)數(shù)與其成員中占字節(jié)數(shù)最多的那個(gè)成員相等。

45.D解析:“&”是求址運(yùn)算符,“*”是指變量說(shuō)明符。選項(xiàng)A)、B)應(yīng)改為scanf('%d',p);選項(xiàng)C)中指針變量p未指向一確定的內(nèi)存單元,不能為其賦值,并且這樣做很危險(xiǎn),建議不使用。

46.A解析:本題首先定義兩個(gè)字符型指針變量p和q,通過(guò)malloc()函數(shù)申請(qǐng)20個(gè)字符的存儲(chǔ)空間,并把它的首地址賦給p,在把p的值賦給q,p和q指向同一個(gè)存儲(chǔ)區(qū)。在scanf()語(yǔ)句中讀取字符串到p和q指向的字符串,先把“abc”讀取到p指向的存儲(chǔ)區(qū)中,第一個(gè)空格是結(jié)束標(biāo)記,第二個(gè)空格是分隔符,再把“def”存放到q指向的存儲(chǔ)區(qū),把原先的內(nèi)容覆蓋。所以p和q指向的存儲(chǔ)區(qū)中內(nèi)容是“def”,所以最后輸出的def,def所以4個(gè)選項(xiàng)中A正確。

47.A解析:在選項(xiàng)A)中,因?yàn)?a=0,所以關(guān)系表達(dá)式!a==1的值為0,又因?yàn)檫壿嬇c運(yùn)算符“&&”兩邊的表達(dá)式只要一個(gè)等于零,則整個(gè)表達(dá)式為零,所以選項(xiàng)A)正確。在選項(xiàng)B)中,關(guān)系表達(dá)式a<b為真,表達(dá)式(a<b)&&!c為假,而表達(dá)式(a<b)&&!c‖1為真,所以整個(gè)表達(dá)式的值為真。選項(xiàng)C)中,a&&b的結(jié)果為真。在選項(xiàng)D)中,a‖(b+b)&&(c-a)的結(jié)果為真。

48.D解析:本題主要考查for循環(huán)語(yǔ)句的嵌套。外層主循環(huán)執(zhí)行了3次,嵌套的循環(huán)語(yǔ)句每輪執(zhí)行2次,每次輸出i+j的值,推出嵌套循環(huán)語(yǔ)句后換行。

49.A解析:本題考查了continue和break語(yǔ)句用在循環(huán)語(yǔ)句中的作用。break語(yǔ)句的作用是結(jié)束本層循環(huán),而continue語(yǔ)句的作用是結(jié)束本次循環(huán)直接進(jìn)入到下次循環(huán)。

50.A

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

52.C解析:帶參數(shù)的宏定義命令行形式如下:

#define宏名(形參表)替換文本

在編譯的時(shí)候編譯預(yù)處理程序用“替換文本”來(lái)替換宏,即M(n,m)被替換為n%m,之后計(jì)算,將計(jì)算的結(jié)果賦給a。注意,宏替換是在編譯時(shí)由預(yù)處理程序完成的,宏替換不占用運(yùn)行的時(shí)間,而函數(shù)調(diào)用是在程序運(yùn)行時(shí)進(jìn)行的,在函數(shù)的調(diào)用過(guò)程中需要占用一系列的處理時(shí)間。

53.D

54.A解析:和線性表類(lèi)似,棧也有兩種存儲(chǔ)方法,一是順序棧,二是鏈?zhǔn)綏?。棧的順序存?chǔ)結(jié)構(gòu)是利用一組地址連續(xù)的存儲(chǔ)單元一次存儲(chǔ)自棧底到棧頂?shù)臄?shù)據(jù)元素,同時(shí)附設(shè)指針top指示棧頂元素的位置,由于棧的操作是線性表操作的特例,相對(duì)而言,鏈?zhǔn)綏5牟僮鞲子趯?shí)現(xiàn)。注意:這3種運(yùn)算方法在各種存儲(chǔ)結(jié)構(gòu)中的應(yīng)用。

55.D數(shù)據(jù)的邏輯結(jié)構(gòu)是指數(shù)據(jù)元素之間的邏輯關(guān)系的數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)則是數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的物理實(shí)現(xiàn),有時(shí)也稱(chēng)作數(shù)據(jù)的物理結(jié)構(gòu)。兩者的區(qū)別是數(shù)據(jù)的邏輯結(jié)構(gòu)只涉及到數(shù)據(jù)之間抽象的數(shù)學(xué)關(guān)系。存儲(chǔ)結(jié)構(gòu)則涉及到如何在計(jì)算機(jī)中通過(guò)對(duì)數(shù)據(jù)的物理存儲(chǔ)進(jìn)行組織來(lái)表達(dá)數(shù)據(jù)元素之間的邏輯關(guān)系。比如在線性表的順序存儲(chǔ)中是利用物理存儲(chǔ)空間上的連續(xù)性來(lái)表達(dá)線性表中數(shù)據(jù)的前后件關(guān)系;在線性表的鏈?zhǔn)酱鎯?chǔ)中是通過(guò)指針域構(gòu)成的邏輯鏈條來(lái)表達(dá)數(shù)據(jù)的前后件關(guān)系。一般的,一種數(shù)據(jù)的邏輯結(jié)構(gòu)對(duì)應(yīng)的物理實(shí)現(xiàn),即數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)不止一種。因此選項(xiàng)D正確。

56.C答案C

解析:在語(yǔ)句“k=*f(a,b)”中,由于“()”的優(yōu)先級(jí)高于“*”,所以“*f(a,b);”表示其返回類(lèi)型為指針的帶有兩個(gè)整型參數(shù)的函數(shù)。

57.B

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

\n

58.C對(duì)長(zhǎng)度為n的線性表進(jìn)行順序查找,在最壞情況下所需要的比較次數(shù)為n,平均比較次數(shù)為n/2、對(duì)長(zhǎng)度為n的線性表進(jìn)行二分法查找,在最壞情況下所需要的比較次數(shù)為logan。因此選項(xiàng)C正確。

59.D解析:x&&y值為1,x<=y(tǒng)值為1,x||++y&&y-z值為1,!(x<y&&!z||1=值為0。

60.D解析:后序遍歷指在訪問(wèn)根結(jié)點(diǎn)、遍歷左子樹(shù)與遍歷右子樹(shù)這三者中,道先遍歷左子樹(shù),然后遍歷右子樹(shù),最后訪問(wèn)根結(jié)點(diǎn):并且遍歷左、右子樹(shù)時(shí),仍然先遍歷左子樹(shù),然后遍歷右子樹(shù),最后訪問(wèn)根結(jié)點(diǎn)。

61.A

62.C解析:程序流程圖是人們對(duì)解決問(wèn)題的方法、思路或算法的一種描述。其中,圖框表示各種操作的類(lèi)型,圖框中的文字和符號(hào)表示操作的內(nèi)容,流程線表示操作的先后次序。帶箭頭的線段在數(shù)據(jù)流程圖中表示數(shù)據(jù)流。帶箭頭的線段在程序流程圖中表示控制流。題中給出的選項(xiàng)中,在圖元之間用帶有箭頭的線段表示圖元關(guān)系。在模塊之間用帶有箭頭的線段表示調(diào)用關(guān)系。構(gòu)成程序流程圖的基本圖符及含義:→或↓表示控制流;□表示加工步驟;

表示邏輯條件。

63.D表達(dá)式a一一的值為10,a的值遞減為9,所以b=10,x的值為逗號(hào)表達(dá)式的值,x=10。因此x=10,a=9.b=10。

64.B

65.D所謂常量是指在程序運(yùn)行過(guò)程中,其值不能被改變的量。在C語(yǔ)言中,有整型常量、實(shí)型常量、字符常量和字符串常量等類(lèi)型。實(shí)型常量有兩種表示形式:十進(jìn)制小數(shù)形式、指數(shù)形式。指數(shù)形式中e后面的指數(shù)必須是整數(shù),階碼標(biāo)志e之前需要有數(shù)字,由此可知選項(xiàng)A,B,C錯(cuò)誤。答案為D選項(xiàng)

66.D解析:選項(xiàng)A,*m=&n錯(cuò)誤。選項(xiàng)B,輸入

double型,要用%lf或%le,否則數(shù)據(jù)不能正常輸入。

選項(xiàng)C,n是變量,不是指針,scanf("%if",n)錯(cuò)誤。

67.C要按照每行8個(gè)輸出數(shù)據(jù)的話,橫線處語(yǔ)句的功能應(yīng)該為:當(dāng)i是8的倍數(shù)時(shí)(即i%8==0),輸出一個(gè)換行符。因此C選項(xiàng)正確。

68.D本題主要考查自加與自減運(yùn)算符。在C語(yǔ)言中,自加與自減運(yùn)算符具有以下性質(zhì):

(1)自加運(yùn)算符“++”和自減運(yùn)算符“--”的運(yùn)算本身是一種賦值運(yùn)算,其結(jié)果是使運(yùn)算對(duì)象的值增1或減1。

(2)++、--運(yùn)算符是單目運(yùn)算符,運(yùn)算對(duì)象可以是整型變量或字符型變量,也可以是實(shí)型變量,但不能是常量和表達(dá)式。

(3)自加、自減運(yùn)算符無(wú)論是作為前綴還是后綴運(yùn)算符,對(duì)于變量而言,其效果相同,但作為表達(dá)式來(lái)說(shuō),其值不同。

(4)++和--運(yùn)算符的結(jié)合方向是“自右向左”。

(5)不要在一個(gè)表達(dá)式中對(duì)同一個(gè)變量進(jìn)行多次自增或自減運(yùn)算??梢灾辣绢}正確的答案是D。

69.C

70.C解析:do-while語(yǔ)句的一般形式為:do循環(huán)體語(yǔ)句while(表達(dá)式);,其中循環(huán)體語(yǔ)句可以是復(fù)合型語(yǔ)句,但必須用花括號(hào)括起來(lái)。while后必須要有分號(hào)作為語(yǔ)句的結(jié)束,在do-while循環(huán)中,不可以省略while。

71.A

72.A函數(shù)fgete()從文件讀入一個(gè)字符到指定變量。函數(shù)fputc()將指定字符寫(xiě)入審文件中,函數(shù)fprinff(),fwrite()均是寫(xiě)入文件操作函數(shù)。因此選項(xiàng)B,c。D錯(cuò)誤。答案為A選項(xiàng)。

73.A實(shí)體完整性約束要求關(guān)系的主鍵中屬性值不能為空值,因此本題答案為A)。

74.B

75.D

76.A解析:因?yàn)椤癷ntk=0;”,所以B)、C)、D)三個(gè)選項(xiàng)的表達(dá)式的值都等于1,而A)選項(xiàng)的表達(dá)式的值等于0。這是因?yàn)椤発++”這個(gè)表達(dá)式先進(jìn)行取k值的運(yùn)算,然后是k值自加1。故本題答案為A)。

77.B本題實(shí)際上是按成員變量Score的值進(jìn)行由小到大的排序,程序執(zhí)行后,數(shù)組p[5]中各元素分別為:

{{'Penghua',20045,537},

{'SunDan',20044,550},

{'LiSiGuo',20042,580},

{'WangYin',20043,680},

{'YangSan',20041,703}}

所以,p[1]->Score=550,s[1].Score=580。故本題答案為B。

78.A數(shù)組定義后,不能對(duì)數(shù)組整體賦值,ss是二維數(shù)組,因?yàn)閟s[1]是一維字符數(shù)組,即字符串,字符串賦值可以使用“strcpy(ss[1],"right”);”的形式,而選項(xiàng)A)中對(duì)二維數(shù)組中的第“l(fā)”維(相當(dāng)于一個(gè)一維數(shù)組)賦值,是不可以的。選項(xiàng)B)和D)是在定義時(shí)對(duì)數(shù)組同時(shí)進(jìn)行初始化,這是可以的。選項(xiàng)c)中,將字符串在內(nèi)存中的首地址賦給指針數(shù)組的一個(gè)元素,這是可以的。故本題答案為A)。

79.D程序調(diào)試的任務(wù)是診斷和改正程序中的錯(cuò)誤。

80.Cf函數(shù)的功能是對(duì)形參a的各個(gè)成員用結(jié)構(gòu)體變量b的各個(gè)成員進(jìn)行賦值后,然后返回變量a。

81.(1)錯(cuò)誤:switch(g);正確:switch(g)(2)錯(cuò)誤:casel:case2:returnl;正確:casel;case2:returnl;【解析】此題考查C語(yǔ)言的語(yǔ)法規(guī)則,switch(表達(dá)式)后不應(yīng)該帶有“;”,case語(yǔ)句常量后應(yīng)該是“:”。switch語(yǔ)句的一般形式如下:switch(表達(dá)式){case常量表達(dá)式1:語(yǔ)句1;case常量表達(dá)式2:語(yǔ)句2;case常量表達(dá)式n:語(yǔ)句i;default:語(yǔ)句n+1;}

82.voidfun(inttt[M][N],intpp[N]){ inti,j,max; for(j=0;j<=""p=""> { max=tt[0][j]; /*假設(shè)各列中的第1個(gè)元素值最大*/ for(i=0;i<=""p=""> if(tt[i][1]>max)/*如果各列中的其他元素值比最大值大,則將這個(gè)值更大的元素看作當(dāng)前該列中值最大的元素*/ max=tt[i][j]; pp[j]=max; /*將各列的最大值依次放入pp數(shù)組中*/ }}本題函數(shù)fun()的功能是求出二維數(shù)組中每列值最大的元素。首先,假設(shè)各列中的第1個(gè)元素值最大,然后利用行下標(biāo)的移動(dòng)來(lái)依次取得各列中其他元素的值,并與假設(shè)的最大值進(jìn)行比較,如果遇到更大的,則把這個(gè)值更大的元素看作當(dāng)前該列中值最大的元素,繼續(xù)與該列中的其他元素進(jìn)行比較。2021年山東省濰坊市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.數(shù)據(jù)庫(kù)管理系統(tǒng)DBMS中用來(lái)定義模式、內(nèi)模式和外模式的語(yǔ)言為()。

A.CB.BasicC.DDLD.DML

2.將兩個(gè)字符串連接起來(lái)組成一個(gè)字符串時(shí),選用()函數(shù)。A.strlen()B.strcpy()C.strcat()D.strcmp()

3.當(dāng)一個(gè)函數(shù)無(wú)返回值時(shí),定義它的函數(shù)類(lèi)型應(yīng)是()。

A.voidB.intC.任意D.無(wú)

4.數(shù)據(jù)庫(kù)系統(tǒng)的核心是()。

A.數(shù)據(jù)模型B.數(shù)據(jù)庫(kù)管理系統(tǒng)C.數(shù)據(jù)庫(kù)D.數(shù)據(jù)庫(kù)管理員

5.

6.有以下程序:#include<stdio.h>main(){inta=1,b=0;if(--a)b++;elseif(a==0)b+=2;elseb+=3:print[("%d\n",b);}程序運(yùn)行后的輸出結(jié)果是()。A.0B.1C.2D.3

7.以下說(shuō)法錯(cuò)誤的是()。

A.散列法存儲(chǔ)的思想是由關(guān)鍵字值決定數(shù)據(jù)的存儲(chǔ)地址

B.散列表的結(jié)點(diǎn)中只包含數(shù)據(jù)元素自身的信息,不包含指針

C.負(fù)載因子是散列表的一個(gè)重要參數(shù),它反映了散列表的飽滿程度

D.散列表的查找效率主要取決于散列表構(gòu)造時(shí)選取的散列函數(shù)和處理沖突的方法

8.對(duì)于順序存儲(chǔ)的線性表,訪問(wèn)結(jié)點(diǎn)和增加、刪除結(jié)點(diǎn)的時(shí)間復(fù)雜度為()。

A.O(n)O(n)B.O(n)O(1)C.O(1)O(n)D.O(1)O(1)

9.有定義語(yǔ)句:inta=1,b=2,c=3,x;,則以下選項(xiàng)中各程序段執(zhí)行后,x的值不為3的是A.if(c<a)x=1;elseif(b<a)x=2;elsex=3;

B.if(a<3)x=3;elseif(b<a)x=2;elsex=1;

C.if(a<3)x=3;if(a<2)x=2;if(a<1)x=1;

D.if(a<b)x=b;if(b<c)x=c;if(c<a)x=a;

10.將發(fā)送端數(shù)字脈沖信號(hào)轉(zhuǎn)換成模擬信號(hào)的過(guò)程稱(chēng)為

A.鏈路傳輸B.調(diào)制C.解調(diào)D.數(shù)字信道傳輸

11.設(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

12.設(shè)有以下語(yǔ)句:charstr1[]="string"mstr2[8],*str3,*str4=="string";則______不是對(duì)庫(kù)函數(shù)的正確調(diào)用。

A.strcpy(str1,"HELLO1");

B.strcpy(str2,"HELLO2");

C.strcpy(str3,"HELLO3");

D.strcpy(str4,"HELLO4");

13.

14.

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

A.為了建立一個(gè)關(guān)系,首先要構(gòu)造數(shù)據(jù)的邏輯關(guān)系

B.表示關(guān)系的二維表中各元組的每一個(gè)分量還可以分成若干數(shù)據(jù)項(xiàng)

C.一個(gè)關(guān)系的屬性名表稱(chēng)為關(guān)系模式

D.一個(gè)關(guān)系可以包括多個(gè)二維表

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

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

17.對(duì)于n個(gè)元素,下列哪種操作時(shí)間復(fù)雜度不是O(nlogn)()

A.凸包計(jì)算B.LC搜索C.有序序列數(shù)字查找D.基于比較的排序

18.若有定義“intb[8],*p=b;”,則p+6表示()。

A.數(shù)組元素b[6]的值B.數(shù)組元素b[6]的地址C.數(shù)組元素b[7]的地址D.數(shù)組元素b[0]的值加上6

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

A.用戶定義的函數(shù)中可以沒(méi)有return語(yǔ)句

B.用戶定義的函數(shù)中可以有多個(gè)return語(yǔ)句,以便調(diào)用一次返回多個(gè)函數(shù)值

C.用戶定義的函數(shù)中若沒(méi)有return語(yǔ)句,則應(yīng)當(dāng)定義函數(shù)為void類(lèi)型

D.函數(shù)的return語(yǔ)句中可以沒(méi)有表達(dá)式

20.設(shè)有定義“intx[2][3];”,則以下選項(xiàng)中不能表示數(shù)組元素x[0][1]的是()。

A.*(*x+1)B.*(*(x+1)C.(*x)[1]D.*(&x[0][0]+1)

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

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

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

main()

{inta=0;

a+-(a=8);

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

}

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

25.在關(guān)系模型中,把數(shù)據(jù)看成是二維表,每一個(gè)二維表稱(chēng)為一個(gè)【】。

26.計(jì)算圓的周長(zhǎng)、面積和球體積。

#definePI3.1415926

#define【】L=2*PI*R;【】;V=4.0/3.0*PI*R*R*R

main()

{floatr,l,s,v;

printf("inputaradus:");

scanf("%f",&r);

CIRCLE(r,l,s,v);

printf("r=%.2f\nl=%.2f\ns=%.2f\nv=%.2f\n",【】);

}

27.以下函數(shù)sstrcat()的功能是實(shí)現(xiàn)字符串的連接,即將t所指字符串復(fù)制到s所指字符串的尾部。例如:s所指字符串為abed,t所指字符串為efgh,函數(shù)調(diào)用后s所指字符串為abodefgh。請(qǐng)?zhí)羁铡?/p>

#include<string.h>

voidsstrcat(char*s,char*t)

{intn;

n=strlen(s);

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

}

28.以下函數(shù)的功能是計(jì)算s=1+1/2!+1/3!+…+1/n!,請(qǐng)?zhí)羁铡?/p>

doublefun(intn)

{doubles=0.0,fac=1.0;

inti,k=1;

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

{【】;

fac=fac/k

s=s+fac;

}

}

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

30.設(shè)有下列程序:

#include<stdio.h>

#include<string.h>

main()

{inti;

chars[10],t[10];

gets(t);

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

{gets(s);

if(strcmp(t,s)<0)strcpy(t,s);

}

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

}

程序運(yùn)行后,從鍵盤(pán)上輸入(<CR>代表回車(chē)符):DEF<CR>BADEF<CR>QTHRG<CR>,則程

序的輸出結(jié)果是______。

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

32.常用的軟件結(jié)構(gòu)設(shè)計(jì)工具是結(jié)構(gòu)圖(SC),也稱(chēng)程序結(jié)構(gòu)圖。其中,用矩形表示______,用帶空心圓的箭頭表示傳遞的是數(shù)據(jù)。

33.【】是數(shù)據(jù)庫(kù)設(shè)計(jì)的核心。

34.性結(jié)構(gòu)中,隊(duì)列的操作順序是先進(jìn)先出,而棧的操作順序是______。

35.以下說(shuō)明語(yǔ)句中,【】是結(jié)構(gòu)體類(lèi)型名。

typedefstruct

{intn;

charch[8];

}PER;

36.要求使下列程序輸出5個(gè)整數(shù),請(qǐng)?zhí)羁铡?/p>

for(i=0;i<=______;printf("%d\n",i+=2));

37.以下程序段打開(kāi)文件后,先利用fseek函數(shù)將文件位置指針定位在文件末尾,然后調(diào)用ftell函數(shù)返回當(dāng)前文件位置指針的具體位置,從而確定文件長(zhǎng)度,請(qǐng)?zhí)羁铡?/p>

FILE*myf;longfl;

myf=【】("test.t","rb");

fseek(myf,(),SEEK_END)fl+ftell(myf);

fclose(myf);

printf("%ld\n",fl);

38.寫(xiě)出下列程序的輸出結(jié)果______。

main()

{int=0;

while(n++<=1);

printf("%d,",n);

printf("%d",n++);

}

39.下面定義的結(jié)構(gòu)體類(lèi)型包含3個(gè)成員,其中成員變量x用來(lái)存入整型數(shù)據(jù),成員變量y用來(lái)存入實(shí)型數(shù)據(jù),成員變量next是指向自身結(jié)構(gòu)體的指針。請(qǐng)將定義補(bǔ)充完整。

structstu

{intx;

【】

【】next;}

40.該程序運(yùn)行的結(jié)果是【】。

#include<stdio.h>

main()

{unionEXANPLE

{struct

{

intx;

inty;

}in;

inta;

intb;

}e;

e.a=1;

e.b=2;

e.in.x=e.a*e.b;

e.in.y=e.a+e.b;

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

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

}

三、1.選擇題(20題)41.需求分析階段的任務(wù)是確定()

A.軟件開(kāi)發(fā)方法B.軟件開(kāi)發(fā)工具C.軟件開(kāi)發(fā)費(fèi)用D.軟件系統(tǒng)功能

42.數(shù)據(jù)庫(kù)系統(tǒng)可分為三級(jí)模式,下列選項(xiàng)中不屬于數(shù)據(jù)庫(kù)三級(jí)模式的是

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

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

A.0<=x<100B.i=j==0C.(char)(65+3)D.x+1=x+1

44.若有下面的說(shuō)明和定義:unionun{chars[10];longd[3];}ua;struetstd{charc[10];doubled;inta;unionunvb;}a;則printf("%d\n",sizeof(structstd)+sizeof(unionun));輸出的值為_(kāi)_____。

A.34B.52C.54D.64

45.若有說(shuō)明:int*p,m=5,n;以下正確的程序段是

A.p=&n;scanf("%d",&p);

B.p=&n;scanf("%d",*p)

C.scanf("%d",&n);*p=n;

D.p=&n;*p=m;

46.有以下程序:#include<stdlib.h>main(){char*p,*q;p=(char*)malloc(sizeof(char)*20);q=p;scanf("%s%s",p,q);printf("%s%s\n",p,q);}若從鍵盤(pán)輸入:abcdef<回車(chē)>,則輸出結(jié)果是()。

A.defdefB.abcdefC.abedD.dd

47.語(yǔ)句int(*ptr)()的含義是()。

A.(!a==1)&&(!b==0)

B.(a<b)&&!c‖1

C.a&&b

D.a‖(b+b)&&(c-a)

48.有以下程序:#include<stdio.h>main(){inti,j;for(i=3;i>=1;i--){for(j=1;j<=2;j++)printf("%d",i+j);printf("\n");}}程序運(yùn)行的結(jié)果是()。

A.234B.432C.23D.4534554334344523

49.有以下程序:main(){intx=0,y=0,i;for(i=1;++i){if(i%2==0){x++;continue;}if(i%5==0){y++;break;}}printf("%d,%d",x,y);}程序的輸出結(jié)果是()。

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

50.下列句子中,正確的C語(yǔ)言賦值語(yǔ)句是()

A.n++;B.a=b=88C.t=int(x+y);D.a=100,b=200

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

52.下列程序的輸出結(jié)果是#include"stdio.h"#defineM(x,y)x%ymain(){inta,m=12,n=100;a=M(n,m);printf("%d\n",a--);}

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

53.若輸入60和13,以下程序的輸出結(jié)果是()#defineSURPLUS(a,b)((a)%(b))main(){inta,b;scanf("%d,%d",&a,&b);printf("%d\n",SURPLUS(a,b));}

A.60B.13C.73D.8

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

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

55.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是指()。

A.存儲(chǔ)在外存中的數(shù)據(jù)B.數(shù)據(jù)所占的存儲(chǔ)空間量C.數(shù)據(jù)在計(jì)算機(jī)中的順序存儲(chǔ)方式D.數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的表示

56.有以下程序

intadd(inta,intb){return(a+b);}

main()

{intk,(*f)(),a=5,b=10;

f=add;

}

則以下函數(shù)調(diào)用語(yǔ)句錯(cuò)誤的是A.k=(*f)(a,b);B.k=add(a,b);C.k=*f(a,b);D.k=f(a,b);

57.下列說(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í)參與形參的類(lèi)型必須一致

58.對(duì)長(zhǎng)度為n的線性表進(jìn)行順序查找,在最壞情況下所需要的比較次數(shù)為()A.A.log2nB.n/2C.nD.n+l

59.若有說(shuō)明語(yǔ)句:intx=3,y=4,z=5;,則下面的表達(dá)式中,值為0的是______。

A.x&&y

B.x<=y(tǒng)

C.x||++y&&y-z

D.!(x<y&&!z||1)

60.對(duì)如下二叉樹(shù)進(jìn)行后序遍歷的結(jié)果為()。

A.ABCDEFB.DBEAFCC.ABDECFD.DEBFCA

四、選擇題(20題)61.

62.程序流程圖中帶有箭頭的線段表示的是()。

A.圖元關(guān)系B.數(shù)據(jù)流C.控制流D.調(diào)用關(guān)系

63.執(zhí)行語(yǔ)句X=(a=10,b=a--.后,x、a、b的值依次為()。

A.10,10,9

B.10,9,9

C.9,10,9

D.10,9,10

64.(30)關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)能實(shí)現(xiàn)的專(zhuān)門(mén)關(guān)系運(yùn)算包括()

A.排序、索引、統(tǒng)計(jì)

B.選擇、投影、連接

C.關(guān)聯(lián)、更新、排序

D.顯示、打印、制表

65.以下是正確C語(yǔ)言實(shí)型常量的是()。

A..e—1B.e一1C.一1eD.1e一1

66.若有說(shuō)明,double*m,n;則能通過(guò)sCanf語(yǔ)句正確給輸入項(xiàng)讀人數(shù)據(jù)的程序段是()。

A.*m=&n;scanf("%lf",m);

B.m=(double*)malloc(10);scanf("%f",m);

C.m=&n;scanf("%lf",n);

D.m=&n;scanf("%le",m);

67.以下函數(shù)實(shí)現(xiàn)按每行8個(gè)輸出W所指數(shù)組中的數(shù)據(jù):

在橫線處應(yīng)填人的語(yǔ)句是()。

A.if(i/8==0)printf(”\n”);

B.if(i/8==O)continue;

C.if(i%8==0)prinff(’’\n”);

D.if(i%8==0)continue;

68.下列關(guān)于單目運(yùn)算符++、--的敘述中正確的是A.它們的運(yùn)算對(duì)象可以是任何變量和常量

B.它們的運(yùn)算對(duì)象可以是char型變量和int型變量,但不能是float型變量

C.它們的運(yùn)算對(duì)象可以是int型變量,但不能是double型變量和float型變量

D.它們的運(yùn)算對(duì)象可以是char型變量、int型變量和float型變量

69.

70.以下描述中正確的是()。

A.由于do-while循環(huán)中循環(huán)體語(yǔ)句只能是一條可執(zhí)行語(yǔ)句,所以循環(huán)體內(nèi)不能使用復(fù)合語(yǔ)句

B.do-while循環(huán)由do開(kāi)始,用while結(jié)束,在while(表達(dá)式.后面不能寫(xiě)分號(hào)

C.在do-while循環(huán)體中,是先執(zhí)行一次循環(huán),再進(jìn)行判斷

D.do-while循環(huán)中,根據(jù)情況可以省略while

71.

72.若文件指針fp已正確指向文件,ch為字符型變量,以下不能把字符輸出到文件中的語(yǔ)句是()。

A.fget(f0,ch);

B.foutc(ch,fo);

C.fprinff(fp,”%c”,ch);

D.fwrite(&ch,sizeof(ch),1,fp);

73.在滿足實(shí)體完整性約束的條件下()。

A.一個(gè)關(guān)系中廊該有一個(gè)或多個(gè)候選關(guān)鍵字

B.一個(gè)關(guān)系中只能有一個(gè)候選關(guān)鍵字

C.一個(gè)關(guān)系中必須有多個(gè)候選關(guān)鍵字

D.一個(gè)關(guān)系中可以沒(méi)有候選關(guān)鍵字

74.

75.若有定義語(yǔ)句:“intyear=2009,*p=&year;”,以下不能使變量year中的值增至2010的語(yǔ)句是()。

A.*p+=1;

B.(*p)++;

C.++(*p);

D.*++P

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

A.++kB.k+=1C.k++D.k+1

77.有以下程序

structSTU

{

charname[10];

intnum;

intScore;

};

main()

{

structSTUs[5]={{"YangSan",20041,703},

{"LiSiGuo",20042,580},

{"WangYin",20043,680},

{"SunDan",20044,550},

{"Penghua",20045,537}},*p[5],*t;

inti,j;

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

p[i]=&s[i];

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

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

if(p[i]->Score>p[j]->Score)

{

t=p[i];

p[i]=p[j];

p[j]=t;

}

printf("%d%d\n",s[1].Score,p[1]->Score);

}

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

A.550550B.580550

C.680680D.580680

78.以下語(yǔ)句中存在語(yǔ)法錯(cuò)誤的是()。

79.程序調(diào)試的任務(wù)是()。

A.設(shè)計(jì)測(cè)試用例B.驗(yàn)證程序的正確性C.發(fā)現(xiàn)程序中的錯(cuò)誤D.診斷和改正程序中的錯(cuò)誤

80.

有以下程序

#include<stdio.h>

#include<string.h>

typedefstrlIct{charname[9];charsex;floatscore[2];}STU;

STUf(STUa)

{STUb={"Zhao",m,85.0,90.0);inti;

strcpy(aname,b.name);

sex:b.sex;

for(i=0;i<2;i++)a.score[i]=b.score[i];

returna;

}

main

{STUc="Qian",f,95.0,92.0},d;

d=f(c).printf("%s,%c,%2.0f,%2.0f",d.Name,d.sex,d.score[0],d.score[1]);

}

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

A.Qian,f,95,92

B.Qian,m,85,90

C.Zhao,m,85,90

D.Zhao,f,95,92

五、程序改錯(cuò)題(1題)81.下列給定程序中函數(shù)fun的功能是:用遞歸算法計(jì)算斐波拉契數(shù)列中第n項(xiàng)的值。從第l項(xiàng)起,斐波拉契數(shù)列為:1,1,2,3,5,8,13,21,…例如,若給n輸入7,則該項(xiàng)的斐波拉契數(shù)值為l3。請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確結(jié)果。注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!試題程序:#include<stdio.h>longfun(intg){//****found****switch(g);{case0:return0;//****found****casel:case2:return1;}return(fun(g-1)+fun(g-2));}voidmain{longfib;intn;printf("Inputn:");scanf("%d",&n);printf(

溫馨提示

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