2021年遼寧省沈陽市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)測試卷一(含答案)_第1頁
2021年遼寧省沈陽市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)測試卷一(含答案)_第2頁
2021年遼寧省沈陽市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)測試卷一(含答案)_第3頁
2021年遼寧省沈陽市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)測試卷一(含答案)_第4頁
2021年遼寧省沈陽市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)測試卷一(含答案)_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

2021年遼寧省沈陽市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)測試卷一(含答案)學(xué)校:________班級:________姓名:________考號:________

一、單選題(20題)1.以下敘述中正確的是()。

A.文件指針是一種特殊的指針類型變量

B.文件指針的值等于文件當(dāng)前讀寫位置,以字節(jié)為單位

C.文件指針的值等于文件在計(jì)算機(jī)硬盤中的存儲位置

D.調(diào)用fscanf函數(shù)只能向文本文件中寫入任意字符

2.

3.設(shè)計(jì)一個(gè)判別表達(dá)式中左、右括號是否配對出現(xiàn)的算法,采用()數(shù)據(jù)結(jié)構(gòu)最佳。A.線性表的順序存儲結(jié)構(gòu)B.隊(duì)列C.線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)D.棧

4.

5.下面程序的輸出結(jié)果是______。#include<stdio.h>main(){char*p[]={"BOOL","OPK","H","SP"};inti:for(i=3;i>=0;i-,i-)printf("%c",*p[i]);printf("\n");}

A.SOB.SPC.SPOPKD.SHOB

6.簡單的交換排序方法是()。

A.快速排序B.選擇排序C.堆排序D.冒泡排序

7.若有以下定義:chara;intb;floatc;doubled;則表達(dá)式a*b+b-c值的類型為()。A.floatB.intC.charD.double

8.在ASC算法team日常開發(fā)中,常常面臨一些數(shù)據(jù)結(jié)構(gòu)的抉擇,令人糾結(jié)。目前大家在策劃一個(gè)FBI項(xiàng)目(FastBinaryIndexing),其中用到的詞匯有6200條,詞匯長度在10-15之間,詞匯字符是英文字母,區(qū)分大小寫。請?jiān)谙旅鎺讉€(gè)數(shù)據(jù)結(jié)構(gòu)中選擇一個(gè)使檢索速度最快的()

A.二叉搜索樹,比較函數(shù)開銷:1次運(yùn)算/每字符

B.哈希表,hash算法開銷:10次運(yùn)算/每字符

C.鏈表,比較函數(shù)開銷:1次運(yùn)算/每字符

D.TRIE樹,尋找子節(jié)點(diǎn)開銷:1次運(yùn)算/每字符

9.有定義語句intb;charc[10];,則正確的輸入語句是______。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.帶頭結(jié)點(diǎn)的單鏈表head為空的判定條件是()。

A.head=NULLB.head→next=NULLC.head→next=headD.head!=NULL

11.以下程序的輸出結(jié)果是().A.A.0B.29C.31D.無定值

12.數(shù)據(jù)庫管理系統(tǒng)DBMS中用來定義模式、內(nèi)模式和外模式的語言為()。

A.CB.BasicC.DDLD.DML

13.對包含N個(gè)元素的散列表進(jìn)行檢索,平均檢索長度________

A.為o(log2N)B.為o(N)C.不直接依賴于ND.上述三者都不是

14.無向圖中一個(gè)頂點(diǎn)的度是指圖中與該頂點(diǎn)相鄰接的頂點(diǎn)數(shù)。若無向圖G中的頂點(diǎn)數(shù)為n,邊數(shù)為e,則所有頂點(diǎn)的度數(shù)之和為()

A.n*eB.n+eC.2nD.2e

15.微型計(jì)算機(jī)的運(yùn)算器、控制器及內(nèi)存儲器組合在一起,稱之為()

A.ALUB.CPUC.MPUD.主機(jī)

16.廣義表((a))的表尾是()。

A.aB.(a)C.((a))D.()

17.以下程序的輸出結(jié)果是______。#defineSQR(X)X*Xmain(){inta=10,k=2,m=1;a/=SQR(k+m)/SQR(k+m);printf("d\n",a);}

A.16B.2C.9D.1

18.有以下程序:main(){intk=5,n=0;do{switch(k){case1:case3:n+=l;k--;break;defalut:n=0;k--;case2:case4:n+=2;k--;break:}printf("%d",n);}while(k>0&&n<5);}程序運(yùn)行后的輸出結(jié)果是()。A.235B.0235C.02356D.2356

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

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

20.以下對軟件特點(diǎn)描述錯(cuò)誤的是()。

A.軟件的使用存在老化問題B.軟件的復(fù)雜性高C.軟件是一種邏輯實(shí)體,具有抽象性D.軟件的運(yùn)行對計(jì)算機(jī)系統(tǒng)具有依賴性

二、2.填空題(20題)21.在關(guān)系模型中,把數(shù)據(jù)看成一個(gè)二維表,每一個(gè)二維表稱為一個(gè)______。

22.設(shè)在主函數(shù)中有以下定義和函數(shù)調(diào)用語句,且fun函數(shù)為void類型,請寫出fun函數(shù)的首部【】。要求形參名為b。

main()

{doubles[10][22];

intn;

fun(s);

}

23.有以下程序

#include<stdio.h>

main()

{charch1,ch2;intn1,n2;

ch1=getchar();ch2=getchar();

n1=ch1-'()';n2=n1*10+(ch2-'()');

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

}

程序運(yùn)行時(shí)輸入:12<回車>,執(zhí)行后輸出結(jié)果是【】。

24.數(shù)據(jù)庫系統(tǒng)中實(shí)現(xiàn)各種數(shù)據(jù)管理功能的核心軟件稱為【】。

25.閱讀下面程序,則程序的執(zhí)行結(jié)果為【】。

#include"stdio.h"

main()

{inta=30,b=20,z;

z=fun(a+b,a-b);

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

fun(inta,intb)

{intz;

z=a/b;

returnz;}

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

27.設(shè)有下列宏定義:

#defineA2

#defineB(A+3)

則執(zhí)行賦值語句“k=B*20;”(k為int型變量)后,k的值是______。

28.數(shù)據(jù)庫管理系統(tǒng)是位于用戶與______之間的軟件系統(tǒng)。

29.閱讀下面語句,則程序的執(zhí)行結(jié)果是【】。

#include"stdio.h"

main()

{inta=-1,b=1,k;

if((++a<0)&&!(b--<=0))

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

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

30.請用位運(yùn)算實(shí)現(xiàn)下述目標(biāo)(設(shè)16位二進(jìn)制數(shù)的最低位為零位):

(1)輸出無符號正整數(shù)m的第i個(gè)二進(jìn)制位的數(shù)值。

(2)將m的第i個(gè)二進(jìn)制位置1,其余的位不變,然后輸出m。

#include"stdio.h"

【】

main()

{

unsignedk,i,m=0;

scanf("%d%d",&m,&i);

k=【】;

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

k=pow(2,i);

m=【】;

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

}

31.以下程序的功能是建立一個(gè)帶有頭結(jié)點(diǎn)的單向鏈表,鏈表結(jié)點(diǎn)中的數(shù)據(jù)通過鍵盤輸入,當(dāng)輸入數(shù)據(jù)為-1時(shí),表示輸入結(jié)束(鏈表頭結(jié)點(diǎn)的data域不放數(shù)據(jù),表空的條件是ph->next==NULL),請?zhí)羁铡?/p>

#include<stdio.h>

structlist{intdata;structlist*next;};

structlist*creatlist()

{structlist*p,*q,*ph;inta;ph=(structlist*)malloc(sizeof(structlist));

p=q=ph;printf("Inputanintegernumber;entre-1toend:\n");

scanf("%d",&a);

while(a!=-1)

{p=(structlist*)malloc(sizeof(structlist));

【】=a;q->next=p;【】=p;scanf("%d",&a);}

p->next=′\0;return(ph);}

main()

{structlist*head;head=creatlist();}

32.注釋說明了程序的功能,它分為【】注釋和功能性注釋。

33.數(shù)據(jù)流圖的類型有【】和事務(wù)型。

34.排序是計(jì)算機(jī)程序設(shè)計(jì)中的一種重要操作,常見的排序方法有插入排序、______和選擇排序。

35.下面程序的輸出是【】。

main()

{intarr[10],i,k=0;

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

arr[i=i;]

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

k+=arr[i]+i;

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

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

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

main()

{inti,a[10];

a[0]=a[1]=1;

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

a[i]=a[i-2]+a[i-1];

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

{if(i%2==0)printf("\n");

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

}

}

38.在一個(gè)容量為32的循環(huán)隊(duì)列中,若頭指針front=3,尾指針rear=2,則該循環(huán)隊(duì)列中共有______個(gè)元素。

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

#defineMYSWAP(z,x,y){z=x;x=Y;Y=z;}

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

floata=5,b=16,c;

MYSWAP(【】,a,b);

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

main()

{intx=1,y=2,z=3;

printf("%d,",x<y?y:x);

printf("%d,",z<y?x++:y++);

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

}

三、1.選擇題(20題)41.面向?qū)ο蟮脑O(shè)計(jì)方法與傳統(tǒng)的面向過程的方法有本質(zhì)不同,它的基本原理是()。

A.模擬現(xiàn)實(shí)世界中不同事物之間的聯(lián)系

B.強(qiáng)調(diào)模擬現(xiàn)實(shí)世界中的算法而不強(qiáng)調(diào)概念

C.使用現(xiàn)實(shí)世界的概念抽象地思考問題從而自然地解決問題

D.鼓勵(lì)開發(fā)者在軟件開發(fā)的絕大部分中都用實(shí)際領(lǐng)域的概念去思考

42.有以下程序:voidfun(char*a,char*B);{a=b;(*A)++;}main(){charc1='A',c2='a',*p1,*p2;p1=&cl;p2=&c2:fun(p1,p2);printf("%c%c\n",c1,c2);}程序運(yùn)行后的輸出結(jié)果是

A.AbB.aaC.AaD.Bb

43.下列工具中為需求分析常用工具的是()。

A.PADB.PFDC.N—SD.DFD

44.下面是對宏定義的描述,不正確的是______。

A.宏不存在類型問題,宏名無類型,它的參數(shù)也無類型

B.宏替換不占用運(yùn)行時(shí)間

C.宏替換時(shí)先求出實(shí)參表達(dá)式的值,然后代入形參運(yùn)算求值

D.宏替換只不過是字符替代而已

45.下列數(shù)據(jù)結(jié)構(gòu)中,按先進(jìn)后出原則組織數(shù)據(jù)的是

A.線性鏈表B.棧C.循環(huán)鏈表D.順序表

46.在計(jì)算機(jī)內(nèi)部,一切信息存取、處理和傳送的形式是()

A.ASCⅡ碼B.BCD碼C.二進(jìn)制D.十六進(jìn)制

47.有以下程序:main(){intm,n,p;scanf("m=%dn=%dp=%d",&m,&n,&p);print("%d%d%d\n",m,n,p);}若想從鍵盤上輸入數(shù)據(jù),使變量m中的值為123,n中的值為456,p中的值為789,則正確的輸入是()。

A.m=123n=456P=789

B.m=123n=456p=789

C.m=123,n=456,p=789

D.123456789

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

A.C語言編譯時(shí)不檢查語法

B.C語言的子程序有過程和函數(shù)兩種

C.C語言的函數(shù)可以嵌套定義

D.C語言中,根據(jù)函數(shù)能否被其他源文件調(diào)用,被區(qū)分為內(nèi)部函數(shù)和外部函數(shù)

49.下列可用于C語言用戶標(biāo)識符的一組是()。

A.void,define,WORD

B.a3_3,_123,Car

C.For,-abc,IFCase

D.2a,DO,sizeof

50.有以下程序:#include<stdio.h>main(){charc[6];inti=0;for(;i<6;c[i]=getchar(),i++);for(i=0;i<6;i++)putchar(c[i];printf("\n");}如果從鍵盤上輸入:ab<回車>c<回車>def<回車>則輸出結(jié)果為______。

A.abcdefB.abcdC.abcdD.abcdef

51.索引屬于()。

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

52.若有定義inta[2][3];,則對a數(shù)組的第i行第j列(假調(diào)i,j已正確說明并賦值)元素值的正確引用為

A.*(*(a+i)+j)B.(a+i)[j]C.*(a+i+j)D.*(a+i)+j

53.若有定義inta=5,b=7;,則表達(dá)式a%=(b%2)運(yùn)算后,a的值為()。

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

54.八進(jìn)制數(shù)253.74轉(zhuǎn)換成二進(jìn)制數(shù)是()

A.10101011.1111

B.10111011.0101

C.11001011.1001

D.10101111.1011

55.將E-R圖轉(zhuǎn)換到關(guān)系模式時(shí),實(shí)體與聯(lián)系都可以表示成________。

A.屬性B.關(guān)系C.鍵D.域

56.以下能正確定義且賦初值的語句是()。

A.intn1=n2=10;

B.charc=32;

C.floatf=f+1.1;

D.doublex=12.300.5;

57.按照“先進(jìn)先出”組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是()。

A.隊(duì)列B.棧C.雙向鏈表D.二叉樹

58.下面被調(diào)用函數(shù)sub的函數(shù)值的類型是()sub(floatA){floatb;b=a*a+1;returnb;}

A.單精度型B.雙精度型C.空類型D.整型

59.語句“printf("a\bhow\'are\'y\\\bou\n");”的輸出結(jié)果是()。

A.a\bhow\'are\'y\\bou

B.a\bhow\'are\'y\bou

C.how'are'you

D.ahow'are'y\bou

60.下列關(guān)于棧的描述中錯(cuò)誤的是()

A.棧是先進(jìn)后出的線性表B.棧只能順序存儲C.棧具有記憶作用D.對棧的插入與刪除操作中,不需要改變棧底指針

四、選擇題(20題)61.軟件詳細(xì)設(shè)計(jì)生產(chǎn)的圖如右圖:該圖是()。

A.N—S圖B.PAD圖C.程序流程圖D.E—R圖

62.

若希望下列的程序運(yùn)行后輸出25,程序空白處的正確選項(xiàng)是()。

main

{intid=50,a[]=(7,4,10,5,8};

for()

j+=a[i];

printf("%d",j-40);

}

A.i=1;i<4;++i

B.i=l;i<3;++i

C.i=4;i>2;i--

D.i=2;i<4;++i

63.

64.程序設(shè)計(jì)方法要求在程序設(shè)計(jì)過程中()。

A.先編制出程序,經(jīng)調(diào)試使程序運(yùn)行結(jié)果正確后再畫出程序的流程圖

B.先編制出程序,經(jīng)調(diào)試使程序運(yùn)行結(jié)果正確后再在程序中的適當(dāng)位置處加注釋

C.先畫出流程圖,再根據(jù)流程圖編制出程序,最后經(jīng)調(diào)試使程序運(yùn)行結(jié)果正確后再在程序中的適當(dāng)位置處加注釋

D.以上三種說法都不對

65.若a是數(shù)值類型,則邏輯表達(dá)式(a==1)Il(a!=1)的值是()。

A.1B.0C.2D.不知道a的值,不能確定

66.要求以下程序的功能是計(jì)算:s=1+1/2+1/3+…+1/100。

程序運(yùn)行后輸出結(jié)果錯(cuò)誤,導(dǎo)致錯(cuò)誤結(jié)果的程序行是()。

A.s=1.0;

B.

C.S=S+1/n;

D.

67.下列描述錯(cuò)誤的是()。

A.繼承分為多重繼承和單繼承

B.對象之問的通信靠傳遞消息來實(shí)現(xiàn)

C.在外面看不到對象的內(nèi)部特征是基于對象的“模塊獨(dú)立性好”這個(gè)特征

D.類是具有共同屬性、共同方法的對象的集合

68.下列關(guān)于棧的描述中錯(cuò)誤的是()。

A.棧是先進(jìn)先出的線性表B.棧只能順序存儲C.棧具有記憶作用D.對棧的插入刪除操作中,不需要改變棧底指針

69.有以下程序段#include<stdio.h>main(){...while(getchar()!=\n);...}以下敘述中正確的是()。A.此while語句將無限循環(huán)

B.getchar()不可以出現(xiàn)在while語句的條件表達(dá)式中

C.當(dāng)執(zhí)行此while語句時(shí),只有按回車鍵程序才能繼續(xù)執(zhí)行

D.當(dāng)執(zhí)行此while語句時(shí),按任意鍵程序就能繼續(xù)執(zhí)行

70.從循環(huán)體內(nèi)某一層跳出,繼續(xù)執(zhí)行循環(huán)外的語句是:___________。

A.break語句B.return語句C.continue語句D.空語句。

71.有以下程序

#include<stdio.h>

main()

{charb=2;

printf("%d\n",b=b<<3);

}

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

A.4B.8

C.16D.2000

72.設(shè)a=l,b=2,c=3,d=4,則表達(dá)式:“a<b?a:b<b?a:c<d?a:d”的結(jié)果為()。A.A.4B.3C.2D.1

73.

74.

75.高有定義inta;floatb;執(zhí)行scanf("%2d%f",&a,&b);語句時(shí),若從鍵盤輸入876<空格>854.0<回車>,a和b的值分別是()。

A.876和543.000000

B.87和6.000000

C.87和543.000000

D.76和543.000000

76.在一個(gè)C源程序文件中所定義的全局變量,其作用域?yàn)椋ǎ?/p>

A.由具體定義位置和extem說明來決定范圍B.所在程序的全部范圍C.所在函數(shù)的全部范圍D.所在文件的全部范圍

77.

78.

79.

80.

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:在字符串str中找出ASCⅡ碼值最大的字符,將其放在第一個(gè)位置上,并將該字符前的原字符向后順序移動(dòng)。例如,調(diào)用proc()函數(shù)之前給字符串輸入DcybkdGT,調(diào)用后字符串中的內(nèi)容為yDcbkdOT。

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

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

試題程序:

六、程序設(shè)計(jì)題(1題)82.學(xué)生的記錄由學(xué)號和成績組成,M名學(xué)生的數(shù)據(jù)已在主函數(shù)中放人結(jié)構(gòu)體數(shù)組stu中。請編寫函數(shù)proc(),它的功能是:函數(shù)返回指定成績的學(xué)生數(shù)據(jù),指定的成績在主函數(shù)中輸入。若沒找到指定的成績,在結(jié)構(gòu)體變量中給學(xué)號置空串,給成績置-1,作為函數(shù)值返回。注意:部分源程序給出如下。請勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號中填人所編寫的若干語句。試題程序:

參考答案

1.A文件指針實(shí)際上是指向一個(gè)結(jié)構(gòu)體類型的指針。這個(gè)結(jié)構(gòu)體中包含緩沖區(qū)的地址、在緩沖區(qū)中當(dāng)前存取字符的位置、對文件是“讀”還是“寫”、是否出錯(cuò)、是否已經(jīng)遇到文件結(jié)束標(biāo)識等信息。選項(xiàng)A正確,選項(xiàng)B、C錯(cuò)誤;fscanf函數(shù)只能從文本文件中輸入數(shù)據(jù)到內(nèi)存,選項(xiàng)D錯(cuò)誤。故本題答案為A選項(xiàng)。

2.D

3.D

4.B

5.A解析:p[0]存放的是“BOOL\\0”的首地址:p[1]存放的是“OPK\\0”的首址等。在printf語句中輸出的*p[i]表示p[i]字符串的第—個(gè)字符。在for循環(huán)中,i的初值為3,那么輸出的第—個(gè)字符為“S”,接著兩次i--,則輸出的值為*p[1],即字符“O”,所以本題的輸出為SO。

6.D解析:所謂的交換類排序方法是指借助數(shù)據(jù)元素之間的互相交換進(jìn)行排序的一種方法,包括冒泡排序和快速排序,冒泡排序是一種最簡單的交換排序方法,它通過相鄰元素的交換,逐步將線性表變成有序。

7.D在表達(dá)式a*b+d-c中,double的類型最高,C語言中,由低類型自動(dòng)向高類型轉(zhuǎn)換,所以最后的結(jié)果一定是double型。

8.D

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

10.B

11.C

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

13.C

14.D

15.D

16.D

17.D解析:本題考查帶參數(shù)的宏調(diào)用。a/=SQR(k+m)/SQR(k+m)進(jìn)行宏替換后得:a=a/(SQR(k+m)/SQR(k+m))=a/(k+m*k+m/k+m*k+m)=10/(2+1*2+1/2+1*2+1)=10/(2+2+0+2+1)=10/7/1。

18.B本題考查分支語句用法加個(gè)句號因?yàn)樽兞康某跏贾捣謩e為k一5、n一0,所以程序第1次進(jìn)入循環(huán)時(shí),執(zhí)行default語句,輸出0,k減1;這時(shí)n=0、k=4,程序進(jìn)行第2次循環(huán),執(zhí)行case4:這個(gè)分支,結(jié)果是n=2、k=3,打印出2;這時(shí)n=2、k=3,break跳出,程序進(jìn)行第3次循環(huán),執(zhí)行case3:這個(gè)分支,結(jié)果是n=3、k=2,打印出3;這時(shí)n一3、k2,b¨ak跳出,程序然后進(jìn)行第4次循環(huán),執(zhí)行case2:case4:這個(gè)分支,結(jié)果是n=5、k=1,打印出5,break跳出,這時(shí)因?yàn)閚=5不滿足n<5的循環(huán)條件,因此循環(huán)結(jié)束。

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

20.A軟件具有以下特點(diǎn)。①軟件是一種邏輯實(shí)體,具有抽象性。②軟件沒有明顯的制作過程。③軟件在使用期間不存在磨損、老化問題。④對硬件和環(huán)境具有依賴性。⑤軟件復(fù)雜性高,成本高。⑥軟件開發(fā)涉及諸多的社會因素。本題答案為A選項(xiàng)。

21.關(guān)系關(guān)系解析:關(guān)系模型用;維表表示,則每個(gè);維表代表一種關(guān)系。

22.voidfun(doubleb[][22])voidfun(doubleb[][22])解析:程序中為了表示函數(shù)調(diào)用“不帶回值”,可以用“void”定義函數(shù)為“無類型”(或稱“空類型”),這樣系統(tǒng)就保證不使函數(shù)帶回任何值。當(dāng)二維數(shù)組作為形參時(shí),二維數(shù)組的第一維可以省略。

23.1212解析:字符類型的數(shù)據(jù)在內(nèi)存中以相應(yīng)的ASCII碼存放,在C語言中,字符數(shù)據(jù)可以等價(jià)為與其相應(yīng)的ASCII碼的整數(shù),還可以作為整數(shù)參加運(yùn)算。在本題中,n1=h1-0'=1-0=49-48=1,n2=n1*10+(ch2-'0')=1*10+(2-0)=10+2=12。

24.數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)(DBMS)

25.55解析:函數(shù)調(diào)用的時(shí)候,函數(shù)名字必須與所調(diào)用的函數(shù)名完全一致,形參與實(shí)參類型要一致,在沒有給出函數(shù)返回值類型的情況下,默認(rèn)為整形,當(dāng)返回值為整型的函數(shù)放到主函數(shù)后面時(shí),可以不需要事先說明就調(diào)用這個(gè)函數(shù)。return既可以返回一個(gè)普通常量,也可以返回一個(gè)指針變量。

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

27.100100解析:本題考查帶參數(shù)的宏定義及相關(guān)運(yùn)算。運(yùn)算過程為:k=B*20=(A+3)*20=(2+3)*20=100。

28.操作系統(tǒng)操作系統(tǒng)解析:數(shù)據(jù)庫管理系統(tǒng)是幫助用戶創(chuàng)建和管理數(shù)據(jù)庫的應(yīng)用程序的集合。因此,數(shù)據(jù)庫管理系統(tǒng)需要操作系統(tǒng)的支持,為用戶提供服務(wù)。

29.101,0解析:與運(yùn)算兩邊的語句必須同時(shí)為真時(shí),結(jié)果才為真,當(dāng)執(zhí)行完if((++a<0)&&!(b--<=0))時(shí),a,b的值已經(jīng)發(fā)生了變化。

30.#include"math.h"m>>i&1m|k

31.p->dataqp->data,q解析:本題考查的是鏈表這一數(shù)據(jù)結(jié)構(gòu)對結(jié)構(gòu)體變量中數(shù)據(jù)的引用。鏈表的特點(diǎn)是結(jié)構(gòu)體變量中有兩個(gè)域,一個(gè)是數(shù)據(jù),另一個(gè)是指向該結(jié)構(gòu)體變量類型的指針,用以指明鏈表的下一個(gè)結(jié)點(diǎn)。

32.序言性序言性解析:注釋一般分為序言性注釋和功能性注釋。

33.變換型典型的數(shù)據(jù)流類型有兩種:變換型和事務(wù)型。變換型是指信息沿輸入通路進(jìn)入系統(tǒng),同時(shí)由外部形式變換成內(nèi)部形式,進(jìn)入系統(tǒng)的信息通過變換中心,經(jīng)加工處理以后再沿輸出通路變換成外部形式離開軟件系統(tǒng);在很多軟件應(yīng)用中,存在某種作業(yè)數(shù)據(jù)流,它可以引發(fā)一個(gè)或多個(gè)處理,這些處理能夠完成該作業(yè)要求的功能,這種數(shù)據(jù)流就叫做事務(wù)。

34.交換排序交換排序解析:所謂排序是指將一個(gè)無序序列整理成按值非遞減順序排列成的有序序列,常用的排序方法有:交換排序、插入排序和選擇排序。其中交換排序包括冒泡排序和快速排序,插入排序包括簡單插入排序和希爾排序,選擇排序包括直接選擇排序和堆排序。

35.1212解析:本題通過第—個(gè)for循環(huán)將數(shù)組arr[0]-arr[9]分別賦值為0-9,通過第二個(gè)for循環(huán)的三次循環(huán)累加,求出結(jié)果為12,

具體分析如下:

i+1:k=0+arr[1]+1即k=2;

i=2:k=2+arr[2]+2即k=6;

i=3:k=6+arr[3]+3即k=12;

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

37.11<CR>23<CR>5(<CR代表換行)11<CR>23<CR>5(<CR,代表換行)解析:本題通過語句“for(i=2;i<5;i++)a[i]=a[i-2]+a[i-];”將數(shù)組中前面兩項(xiàng)的和賦值給數(shù)組當(dāng)前元素,得到a的值應(yīng)為(1,1,2,3,5)。語句if(i%2==0)pfintf('\\n')是要將數(shù)組中的元素以每行2個(gè)的形式輸出。

38.3131解析:設(shè)隊(duì)列容量為m,如果:rear>front,則隊(duì)列中元素個(gè)數(shù)為rear-front;如果rear<front,則隊(duì)列中元素個(gè)數(shù)為m+(rear-front)。本題rear<front,則m=32+(2-3)=31。

39.cc解析:本題關(guān)鍵在考生是不是了解宏的基本運(yùn)用,在使用宏的時(shí)候明顯少了—個(gè)實(shí)參。在定義宏的時(shí)候變量z是用來做中間變量的,題目中缺的變量就是一個(gè)中間變量c。

40.22132,2,1,3解析:本題考查++,--運(yùn)算符和條件運(yùn)算符的使用。

“表達(dá)式1?表達(dá)式2:表達(dá)式3”的功能是:表達(dá)式1的值若非0,則計(jì)算表達(dá)式2的值,且表達(dá)式2的值為最終結(jié)果;若表達(dá)式1的值為0,則計(jì)算表達(dá)式3的值,且為最終結(jié)果。

本題中,x=1,y=2時(shí),x<y成立,輸出y的值2;y=2,z=3時(shí),z<y不成立,執(zhí)行y++,輸出2后y值增1,所以最后一個(gè)輸出x的值不變?yōu)?,y的值為增加后的3。

41.C解析:面向?qū)ο蟮脑O(shè)計(jì)方法與傳統(tǒng)的面向過程的方法有本質(zhì)不同。它的基本原理是,使用現(xiàn)實(shí)世界的概念抽象地思考問題從而自然地解決問題。它強(qiáng)調(diào)模擬現(xiàn)實(shí)世界中的概念而不強(qiáng)調(diào)算法,它鼓勵(lì)開發(fā)者在軟件開發(fā)的絕大部分中都用應(yīng)用領(lǐng)域的概念去思考。

42.A解析:經(jīng)過分析得知fun()函數(shù)的功能:將形參9指向形參b所指的存儲空間,然后使形參a指向變量的值加1。在主函數(shù)中定義了字符型指針變量p1和p2,并讓它們分另別指向c1和c2.然后將p1、p2作為實(shí)參傳遞給形參a、b.在fun()函數(shù)中,首先讓指針變量p1向p2,然后p1指向的存儲空間的值加1,即讓變量c2加1為“b”,而c1的值沒有被改變,仍然是“A”。所以,4個(gè)選項(xiàng)中選項(xiàng)A符合題意。

43.DD.【解析】需求分析常用的工具有數(shù)據(jù)流圖(DFD.、數(shù)據(jù)字典(DD.、判定樹和判定表。PAD(問題分析圖)、PFD(程序流程圖)、N—S(盒式圖)都是詳細(xì)設(shè)計(jì)的常用工具,不是需求分析的工具。

44.C解析:宏替換實(shí)質(zhì)上就是字符替代,它不可能進(jìn)行計(jì)算,故C錯(cuò)誤。帶參數(shù)的宏與函數(shù)相比,宏在程序編譯之前已經(jīng)將代碼替換到程序內(nèi),執(zhí)行時(shí)不會產(chǎn)生類似于函數(shù)調(diào)用的問題,可以說不占用運(yùn)行時(shí)間。

45.B解析:棧是限定在二端進(jìn)行插入與刪除的線性表。在棧中,允許插入與刪除的一端稱為棧頂,而不允許插入與刪除的另一端稱為棧底。棧頂元素總是最后被插入的元素,從而也是最先能被刪除的元素;棧底元素總是最先被插入的元素,從而也是最后才能被刪除的元素,即棧是按照“先進(jìn)后出”或“后進(jìn)先出”的原則組織數(shù)據(jù)的。注意:隊(duì)列組織數(shù)據(jù)的原則是“先進(jìn)先出”或“后進(jìn)后出”。注意:數(shù)據(jù)結(jié)構(gòu)中,棧和隊(duì)列組織數(shù)據(jù)的原則。

46.D

47.A解析:本題若想使變量m的值為123、n為456、p為789,則應(yīng)該輸入的字符串為:用這三個(gè)數(shù)據(jù)按m、n、p出現(xiàn)在scaaf()函數(shù)中的位置順序替換掉scant()函數(shù)格式控制串中的格式控制符后所得到的格式控制串,即'm=123n=456p=789'。所以,4個(gè)選項(xiàng)十選項(xiàng)A符合題意。

48.D解析:選項(xiàng)A的錯(cuò)誤在于編譯過程中是險(xiǎn)查語法的,若發(fā)現(xiàn)源程序有語法錯(cuò)誤,則系統(tǒng)會提示出錯(cuò)信息;選項(xiàng)B的錯(cuò)誤在于C語言中,子程序的作用是由函數(shù)來完成的,無過程的概念;選項(xiàng)C的錯(cuò)誤在于函數(shù)不可以嵌套定義,但可以嵌套調(diào)用。

49.B解析:C語言規(guī)定標(biāo)識符只能由字母、數(shù)字和下劃線3種字符組成,且第一個(gè)字符必須為字母或下劃線,排除選項(xiàng)C)和D);C語言中還規(guī)定標(biāo)識符不能為C語言的關(guān)鍵字,而選項(xiàng)A)中void為關(guān)鍵字,故排除選項(xiàng)A)。

50.C解析:getchar():此函數(shù)的作用是從終端(或系統(tǒng)隱含指定的輸入設(shè)備)輸入—個(gè)字符。

2.putchar():此函數(shù)的作用是向終端輸出—個(gè)字符,也可以輸出控制字符。

本題在輸入字符時(shí),ab和c后面的回車符分別賦給了c[2]和c[4],所以,正確答案為C。

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

52.A解析:本題考查了二維數(shù)組元素的引用方法。選項(xiàng)A中a+i指向了數(shù)組a的第i+1行,*(a+i)則是第i+1行第0列的地址值,*(a+i)+j指向了數(shù)組a第i+1行,j+1列,*(*(a+i)+j)取到的是數(shù)組a的a[i][j]元素。

53.A解析:本題考查'%'運(yùn)算符的使用。運(yùn)算符'%'要求兩個(gè)運(yùn)算對象都為整型,其結(jié)果是整數(shù)除法的余數(shù)。本題中表達(dá)式ao%=(b%2)等價(jià)于a=a%o(b%2)=5%(7%2)=5%1=0。

54.A

55.B解析:關(guān)系數(shù)據(jù)庫邏輯設(shè)計(jì)的主要工作是將\ue008E-R\ue009圖轉(zhuǎn)換成指定RDBMS中的關(guān)系模式。首先,從E-R圖到關(guān)系模式的轉(zhuǎn)換是比較直接的,實(shí)體與聯(lián)系都可以表示成關(guān)系,E-R圖中屬性也可以轉(zhuǎn)換成關(guān)系的屬性,實(shí)體集也可以轉(zhuǎn)換成關(guān)系。

56.B

57.A隊(duì)列是一種特殊的線性表,只允許在表的一端插八元素,在表的另一端刪除元素,插入元素的一端叫“隊(duì)尾”,刪除元素的一端叫“隊(duì)頭”。先插入的元素先被刪除,是按“先進(jìn)先出”的原則組織數(shù)據(jù)的。

【知識拓展】“隊(duì)列”和“?!倍际且环N特殊的線性表。之所以稱之為“隊(duì)列”,其形式如“排隊(duì)”。要講究“先來后到”,先進(jìn)先出,后進(jìn)后出。

58.D

59.C解析:“\\b”格式符表示退格,功能是將它后面的字母把它前面的字母覆蓋,導(dǎo)致“\\b'’格式符前面的字母不能輸出;“\\'”格式符表示輸出單引號字符;“\\\\”格式符表示輸出反斜線字符。

60.B解析:在棧中,允許插入與刪除的一端稱為棧頂,不允許插入與刪除的另一端稱為棧底。棧頂元素總是最后被插入的元素,從而也是最先能被刪除的元素;棧底元素總是最先被插入的元素,從而也是最后才能被刪除的元素。即棧是按照先進(jìn)后出(FILO,F(xiàn)irstInLastOut)或后進(jìn)先出(LIFO,LastInFirstOut)的原則組織數(shù)據(jù)的,因此,棧也被稱為先進(jìn)后出表或后進(jìn)先出表。由此可以看出,棧具有記憶作用。答案B錯(cuò)在帶鏈的棧的結(jié)點(diǎn)存儲順序與其邏輯順序是可以不一致的。

61.CN—s圖提出了用方框圖來代替?zhèn)鹘y(tǒng)的程序流程圖,所以A不對。PAD圖是問題分析圖,它是繼承程序流程圖和方框圖之后提出的又一種主要用于描述軟件詳細(xì)設(shè)計(jì)的

溫馨提示

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

評論

0/150

提交評論