2022-2023年浙江省杭州市全國計算機等級考試C語言程序設(shè)計測試卷一(含答案)_第1頁
2022-2023年浙江省杭州市全國計算機等級考試C語言程序設(shè)計測試卷一(含答案)_第2頁
2022-2023年浙江省杭州市全國計算機等級考試C語言程序設(shè)計測試卷一(含答案)_第3頁
2022-2023年浙江省杭州市全國計算機等級考試C語言程序設(shè)計測試卷一(含答案)_第4頁
2022-2023年浙江省杭州市全國計算機等級考試C語言程序設(shè)計測試卷一(含答案)_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2022-2023年浙江省杭州市全國計算機等級考試C語言程序設(shè)計測試卷一(含答案)學(xué)校:________班級:________姓名:________考號:________

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

2.下列程序的輸出結(jié)果是()。main(){inta=4,b=5,c;if(a<B){c=a*b;printf("%d,%d,%d\n",b,a,C);}else{c=b/a;printf("%d,%d,%d\n",b,a,C);}}

A.4,5,12B.20C.5,4,20D.12

3.結(jié)構(gòu)化程序所要求的基本結(jié)構(gòu)不包括A.順序結(jié)構(gòu)B.GOTO跳轉(zhuǎn)C.選擇(分支)結(jié)構(gòu)D.重復(fù)(循環(huán))結(jié)構(gòu)

4.有以下程序:#include<stdio.h>intfun{staticintx=1;x+=1;returnX;}main{inti,S=1;for(i=1;i<=S;i++)s+=fun;printf("%d\n",s);}程序運行后的輸出結(jié)果是()。A.11B.21C.6D.120

5.以下程序是用來計算兩個非負(fù)數(shù)之間的最大公約數(shù):我們假設(shè)x,y中最大的那個數(shù)的長度為n,基本運算時間復(fù)雜度為O(1),那么該程序的時間復(fù)雜度為()A.O(1)B.O(logn)C.O(n)D.O(n^2)

6.數(shù)據(jù)庫設(shè)計包括兩個方面的設(shè)計內(nèi)容,它們是()。

A.概念設(shè)計和邏輯設(shè)計B.模式設(shè)計和內(nèi)模式設(shè)計C.內(nèi)模式設(shè)計和物理設(shè)計D.結(jié)構(gòu)特性設(shè)計和行為特性設(shè)計

7.廣義表(a,b,c,d)的表頭是()。

A.aB.(a)C.(b,c,d)D.((b,c,c))

8.下面是有關(guān)C語言字符數(shù)組的描述,其中錯誤的是()。

A.不可以用賦值語句給字符數(shù)組名賦字符串

B.可以用輸入語句把字符串整體輸入給字符數(shù)組

C.字符數(shù)組中的內(nèi)容不一定是字符串

D.字符數(shù)組只能存放字符串

9.有以下程序:

#include<stdio.h>,

main()

{intS;

scanf("%d",&s);

while(s>O)

{switch(s)

{casel:printf("%d",s+5);

case2:printf("%d",s+4);break;

case3:printf("%d",s+3);

default:("%d",s+1);break;

}

scanf("%d",&s);

}

}

運行時,若輸入123450<回車>,由輸出結(jié)果是()。

A.6566456B.66656C.66666D.6666656

10.棧這種數(shù)據(jù)結(jié)構(gòu)一般應(yīng)用在()。

A.遞歸調(diào)用B.子程序調(diào)用C.表達(dá)式求值D.A,B,C

11.給定下列代碼:已知n是一個整數(shù):foo()時間復(fù)雜度為O(1),上述代碼的時間復(fù)雜度是()A.O(logn)B.O(n)C.O(n*log(n))D.O(log(n)^2)

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

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

13.有以下程序:main{intnum[4][4]={1,2,3,4},{5,6,7,8},{9,10,11,12,},{13,14,15,16}},i,j;for(i=0;i<4;i++){for(j=0;j<i;j++)printf("%4c",);for(j=________;J<4;j++)printf("%4d",num[i][j]);printf("\n");}}若要按以下形式輸出數(shù)組右上半三角1234678111216則在程序下劃線處應(yīng)填入的是()。A.i-1B.iC.i+1D.4一i

14.有如下定義#defineD2intx=5;floaty=3.83;charC='D';則下面選項中錯誤的是

A.x++;B.y++;C.c++;D.D++;

15.設(shè)有以下語句:inta=1,b=2,c;c=a^(b<<2);執(zhí)行后,c的值為()。A.6B.7C.8D.9

16.

17.下列程序的運行結(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

18.判斷一個棧ST(最多元素為Maxsize)為滿的條件是()。

A.ST->top!==-1

B.ST->top==-1

C.ST->top!==Maxsize-1

D.ST->top==Maxsize-1

19.如果某圖的鄰接矩陣是對角線元素均為零的上三角矩陣,則此圖是_______

A.有向完全圖B.連通圖C.強連通圖D.有向無環(huán)圖

20.

二、2.填空題(20題)21.若線性表的長度經(jīng)常發(fā)生變化,那么該線性表應(yīng)采用的存儲結(jié)構(gòu)是【】。

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

FILE*myf;longfl;

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

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

fclose(myf);

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

23.需求分析的最終結(jié)果是產(chǎn)生【】。

24.設(shè)y為血型變量,請寫出描述“y是偶數(shù)”的表達(dá)式______。

25.設(shè)x、y、z為整型變量,且x=2,y=3,z=4,當(dāng)執(zhí)行以下語句后,x的值是______。

x*=(y++)+(--z);

26.結(jié)構(gòu)化程序設(shè)計的3種基本結(jié)構(gòu)分別是順序、選擇和______。

27.#define命令出現(xiàn)在程序中函數(shù)的外面,宏名的有效范圍為______。

28.語句“int(*ptr)();”的含義是______是指向函數(shù)的指針,該函數(shù)返回一個int型數(shù)據(jù)。

29.數(shù)據(jù)庫系統(tǒng)的三級模式分別為【】模式、內(nèi)部級模式與外部級模拭。

30.已有定義如下:

structnode

{intdata;

structnode*next;

}*p;

以下語句調(diào)用malloc函數(shù),使指針p指向一個具有structnode類型的動態(tài)存儲空間。請?zhí)羁铡?/p>

p=(structnode*)malloc(【】);

31.下面程序的功能是:輸出100以內(nèi)能被3整除且個位數(shù)為9的所有整數(shù),清填空。main(){inti,j;for(i=0;();i++){j=i*10+9;if(j%3!=0)continue;printf("%d",j);}}

32.設(shè)有以下定義和語句,sizeof(a)的值是【】,sizeof(b)的值是【】。

struct{intday;Charmonth;intyear;}a,*b;

b=&a;

33.執(zhí)行以下程序后的輸出結(jié)果是()。

main()

{inta=10;

a=(3*5,a+4);printf("a=%d\n",A);

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

main()

{

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

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

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

35.若有以下程序

main()

{chara;

a='H'-'A'+'0';

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

}

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

36.如果兩個8位二進(jìn)制數(shù)00010101與01000111相加,其結(jié)果用十進(jìn)制表示為【】。

37.某二叉樹中度為2的結(jié)點有18個,則該二叉樹中有【】個葉子結(jié)點。

38.十進(jìn)制數(shù)53轉(zhuǎn)換為十六進(jìn)制數(shù)為【】。

39.要使以下程序段輸出10個整數(shù),請?zhí)钊胍粋€整數(shù);

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

40.軟件開發(fā)環(huán)境是全面支持軟件開發(fā)全過程的【】集合。

三、1.選擇題(20題)41.執(zhí)行以下程序段后,m的值為______。inta[2][3]={{1,2,3},{4,5,6}};intm,*p;p=&a[0][0];m=(*p)*(*(p+2))*(*(p+4));

A.15B.14C.13D.12

42.希爾排序?qū)儆?)。A.A.交換排序B.歸并排序C.選擇排序D.插入排序

43.以下程序輸出的結(jié)果為______。main(){char*alpha[6]={"ABCD","EFGH","IJKL","MNOP","QRST","UVWX"};char**p;inti;p=alpha;for(i=0,i<4;i++)prntf("%s",p[i]);}

A.ABCDEFGHIJKLB.ABCDC.ABCDEFGHIJKLMNOPD.AEIM

44.若有說明: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;

45.在數(shù)據(jù)庫設(shè)計中,將E-R圖轉(zhuǎn)換成關(guān)系數(shù)據(jù)模型的過程屬于()A.需求分析階段B.邏輯設(shè)計階段C.概念設(shè)計階段D.物理設(shè)計階段

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

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

47.在下面語句中,其含義為“p為指向含n個元素的一維數(shù)組的指針變量”的定義語句是()

A.intp[n]B.int*p();C.int*p(n);D.int(*p)[n]

48.在16位C編譯系統(tǒng)上,若定義longa;,則能給a賦值40000的正確語句是()

A.a=20000+20000;B.a=4000*10;C.a=30000+10000;D.a=4000L*10L;

49.若有定義;intw[3][5];,則以下不能正確表示該數(shù)組元素的表達(dá)式是()。A.*(*w+3)B.*(w+1)[4]C.*(*(w+1))D.*(&w[0][0]+1)

50.若已定義:inta[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;其中0≤i≤9,則對a數(shù)組元素不正確的引用是______。

A.a[p-a]B.*(&a[i])C.p[i]D.a[10]

51.若int類型數(shù)據(jù)占兩個字節(jié),則下列語句的輸出結(jié)果為()intx=-1;printf("%u\n",x);

A.-1B.32767C.65535D.65536

52.已知inta=1,b=3則a^b的值為

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

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

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

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

A.無確切的值B.形參p中存放的地址值C.一個臨時存儲單元的地址D.形參p自身的地址值

55.定義如下變量和數(shù)組:intk;inta[3][3]={9,8,7,6,5,4,3,2,1};則下面語句的輸出結(jié)果是()。for(k=0;k<3;k++)printf("%d",a[k][k]);

A.753B.951C.963D.741

56.下列語句段中,正確的是()。

A.struct{intx;floaty;inta[2];unsignedb[3];charname[10];};

B.structstu{unsigneda[3];unsignedb[4];}x;int*p=&x.a;

C.structstu{inta;floatx[4];}y={1,1.0};floatdata=y.x;

D.structnd{inta,b;unsignedc[2]=5;};

57.以下正確的說法是______。

A.實參和與其對應(yīng)的形參各占用獨立的存儲單元

B.實參和與其對應(yīng)的形參共用一個存儲單元

C.只有當(dāng)實參和與其對應(yīng)的形參同名時才共用存儲單元

D.型參是虛擬的,函數(shù)在沒有被調(diào)用時,不占用存儲單元

58.6.C語言中下列敘述正確的是()

A.不能使用do-while語句構(gòu)成的循環(huán)

B.do-while語句構(gòu)成的循環(huán),必須用break語句才能退出

C.do-while語句構(gòu)成的循環(huán),當(dāng)while語句中的表達(dá)式值為非零時結(jié)束循環(huán)

D.do-while語句構(gòu)成的循環(huán),當(dāng)while語句中的表達(dá)式值為零時結(jié)束循環(huán)

59.下面敘述正確的是______。A.算法的執(zhí)行效率與數(shù)據(jù)的存儲結(jié)構(gòu)無關(guān)

B.算法的空間復(fù)雜度是指算法程序中指令(或語句)的條數(shù)

C.算法的有窮性是指算法必須能在執(zhí)行有限個步驟之后終止

D.以上三種描述都不對

60.C語言中()

A.不能使用do-while語句構(gòu)成的循環(huán)

B.do-while語句構(gòu)成的循環(huán)必須用break語句才能退出

C.do-while語句構(gòu)成的循環(huán),當(dāng)while語句中的表達(dá)式值為非零時結(jié)束循環(huán)

D.do-while語句構(gòu)成的循環(huán),當(dāng)while語句中的表達(dá)式值為零時結(jié)束循環(huán)

四、選擇題(20題)61.

62.有以下程序:

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

A.0B.一12C.一20D.10

63.算法的時間復(fù)雜度是指()。

A.算法所處理的數(shù)據(jù)量B.算法的執(zhí)行時間C.算法在執(zhí)行過程中所需要的基本運算次數(shù)D.算法程序中的語句或指令條數(shù)

64.有以下程序:

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

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

65.

66.

67.

68.以下不合法的字符常量是()。

A."、、"B.’\”’C.’\018’D.\xcc"

69.軟件設(shè)計中劃分模塊的一個準(zhǔn)則是()。

A.低內(nèi)聚低耦合B.高內(nèi)聚低耦合C.低內(nèi)聚高耦合D.高內(nèi)聚高耦臺

70.程序調(diào)試的目的是

A.發(fā)現(xiàn)程序中的錯誤B.改正程序中的錯誤C.驗證程序的正確性D.改善軟件的性能

71.運算符________的優(yōu)先級最高。

A.[]B.+=C.?:D.++

72.下列敘述中錯誤的是()。

A.一種數(shù)據(jù)的邏輯結(jié)構(gòu)可以有多種存儲結(jié)構(gòu)

B.數(shù)據(jù)的存儲結(jié)構(gòu)與數(shù)據(jù)處理的效率無關(guān)

C.數(shù)據(jù)的存儲結(jié)構(gòu)與數(shù)據(jù)處理的效率密切相關(guān)

D.數(shù)據(jù)的存儲結(jié)構(gòu)在計算機中所占的空間不一定是連續(xù)的

73.

74.

75.以下程序段中的變量已正確定義:

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

A.********B.****C.**D.*

76.

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

A.程序執(zhí)行的效率與數(shù)據(jù)的存儲結(jié)構(gòu)密切相關(guān)

B.程序執(zhí)行的效率只取決于程序的控制結(jié)構(gòu)

C.程序執(zhí)行的效率只取決于所處理的數(shù)據(jù)量

D.以上三種說法都不對

78.若有定義語句:“inta=10;doubleb=3.14;”,則表達(dá)式A+a+b值的類型是()。

A.charB.intC.doubleD.float

79.下面不屬于需求分析階段任務(wù)的是()。

A.確定軟件系統(tǒng)的功能需求B.確定軟件系統(tǒng)的性能需求C.制定軟件集成測試計劃D.需求規(guī)格說明書評審

80.

五、程序改錯題(1題)81.下列給定的程序中,proc()函數(shù)的功能是:將str所指字符串中每個單詞的最后一個字母改成大寫(這里的“單詞”是指有空格隔開的字符串)。

例如,若輸人:Howdoyoudo,則輸出:HoWdOyoUd0。

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

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

試題程序:

六、程序設(shè)計題(1題)82.使用VC++2010打開考生文件夾下prog1中的解決方案。此解決方案的項目中包含一個源程序文件prog1.c。在此程序中,請編寫函數(shù)fun(),其功能是將一個數(shù)字字符串轉(zhuǎn)換成與其面值相同的長整型整數(shù)??烧{(diào)用strlen函數(shù)求字符串的長度。例如,在鍵盤輸入字符串2345210,函數(shù)返回長整型整數(shù)2345210。注意:部分源程序存放在文件prog1.c中,請勿改動主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()指定的部位填入所編寫的若干語句。試題程序:

參考答案

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

2.C解析:本題考查ifelse語句。第一個if語句,先判斷條件,發(fā)現(xiàn)a<b成立,執(zhí)行下列的復(fù)合語句,得c=a*b=20,b、a的值不變。

3.BB【解析】1966年Boehm和JaCopini證明了程序設(shè)計語言僅僅使用順序、選擇和重復(fù)三種基本控制結(jié)構(gòu)就足以表達(dá)出各種其他形式結(jié)構(gòu)的程序設(shè)計方法。

4.B本題考查靜態(tài)變量,C語言中靜態(tài)變量的生存期是從程序的開始到結(jié)束。本題中靜態(tài)變量x,隨著每次進(jìn)入循環(huán)不斷增長5次,返回的值分別為2、3、4、5、6。所以S=1+2+3+4+5+6=21,選B。

5.B

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

7.A

8.D\n用來存放字符量的數(shù)組稱為字符數(shù)組。字符數(shù)組也可以是二維或多維數(shù)組,對一個字符數(shù)組,如果不作初始化賦值,則必須說明數(shù)組長度,還可用printf函數(shù)和scarlf函數(shù)一次性輸出/輸入一個字符數(shù)組中的字符串,而不必使用循環(huán)語句逐個地輸入/輸出每個字符。通常用一個字符數(shù)組來存放一個字符串。所以D選項不正確。

\n

9.A\n根據(jù)題意,當(dāng)s=1時,輸出65;當(dāng)s=2時,輸出6;當(dāng)S=3時,則輸出64;當(dāng)S=4時,輸出5;當(dāng)s=5時,輸出6;當(dāng)s=0時,程序直接退出。所以最后答案為6566456,A選項正確。

\n

10.D

11.B

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

13.B本題中要求輸出右上半角的數(shù),對角線上的數(shù)的下標(biāo)相同,所以j=i。

14.D解析:C語言中++運算符的對象可以是整型、實型和字符型,但不可是常量,本題中D為常量。

15.D本題考查兩個知識點,按位異或左移把b左移2位化成二進(jìn)制c=a(b<<2)=a^(000010<<2)=a^001000=0000001^O01000=9,故選擇D。

16.A

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

18.D

19.D

20.A

21.鏈?zhǔn)酱鎯Y(jié)構(gòu)鏈?zhǔn)酱鎯Y(jié)構(gòu)

22.fopenfopen解析:C語言中的文件分為:ASCII文件與二進(jìn)制文件。文件在使用前打開,使用后要關(guān)閉。

打開文件的函數(shù)為:fopen(),調(diào)用形式為:fP=fopen(”文件名”,”使用文件方式”);

關(guān)閉文件的函數(shù)為:folose(),調(diào)用形式為:foclose(fp);其中fp為文件指針。

23.需求規(guī)格說明書需求規(guī)格說明書解析:軟件需求規(guī)格說明書是需求分析階段的最后成果,是軟件開發(fā)中的重要文檔之一。需求規(guī)格說明書包括正確性、無歧義性、完整性、可驗證性、一致性、可理解性、可修改性和可追蹤性等。

24.(y%2)==0(y%2)==0解析:因符合偶數(shù)的條件是對2取余為0,所以要描述y是偶數(shù)的表達(dá)式是(y%2)==0。

25.12。12。解析:表達(dá)式x*=(y++)+(--z)相當(dāng)于先進(jìn)行z的自減運算,再執(zhí)行x=x*(y+z),最后y自加。因此,變量x的值為12,y和z的值分別是4和3。

26.重復(fù)(循環(huán))重復(fù)(循環(huán))解析:結(jié)構(gòu)化程序設(shè)計包括3種基本的結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)和重復(fù)結(jié)構(gòu)(循環(huán)結(jié)構(gòu)),利用這3種結(jié)構(gòu)就足以表達(dá)出各種其他形式結(jié)構(gòu)的程序設(shè)計方法。其中利用循環(huán)結(jié)構(gòu),可以簡化大量的程序執(zhí)行。

27.從定義到本源文件結(jié)束從定義到本源文件結(jié)束解析:C語言規(guī)定,宏名的有效范圍為從定義宏到本源程序結(jié)束。

28.ptrptr解析:本題考查函數(shù)指針的概念。函數(shù)指針的定義格式是:類型標(biāo)識符(*指針變量名)()。注:“類型標(biāo)識符”為函數(shù)返回值的類型。

29.概念或概念級概念或概念級解析:數(shù)據(jù)庫系統(tǒng)在其內(nèi)部具有三級模式及二級映射,三級模式分別是概念級模式、內(nèi)部級模式和外部級模式。概念模式是數(shù)據(jù)庫系統(tǒng)中全局?jǐn)?shù)據(jù)邏輯結(jié)構(gòu)的描述,是全體用戶(應(yīng)用)公共數(shù)據(jù)視圖。

內(nèi)模式式又稱物理模式,它給出了數(shù)據(jù)庫物理存儲結(jié)構(gòu)與物理存取方法,如數(shù)據(jù)存儲的文件結(jié)構(gòu)、索引、集簇及hash等存取方式與存取路徑,內(nèi)模式的物理性主要體現(xiàn)在操作系統(tǒng)及文件級上,它還未深入到設(shè)備級上(如磁盤及磁盤操作)。

外模式也稱子模式或用戶模式,它是用戶的數(shù)據(jù)視圖,也就是用戶所見到的數(shù)據(jù)模式,它由概念模式推導(dǎo)而出。

30.sizeof(structnode)或4sizeof(structnode)或4解析:malloc(sizeof(struetnode))的作用是開辟一個長度為sizeof(struetnode)的內(nèi)存區(qū)。(structnode*)的作用是使malloc返回的指針轉(zhuǎn)換為指向structnode類型數(shù)據(jù)的指針。

31.i<10i<10解析:分析程序,當(dāng)(i=0,1,2,…)時,“j=i*10+9”語句的運行結(jié)果是(9,39,69,99)個位數(shù)為9的所有整數(shù);題中要求是100以內(nèi)的整數(shù),所以i<10;“if(j%3!=0)continue;”語句的功能是當(dāng)條件不能被3整除時,繼續(xù)循環(huán)不執(zhí)行操作,直到能被3整除時輸出該數(shù),即輸出的數(shù)滿足條件100以內(nèi)能被3整除且個位數(shù)為9。

32.52

33.a=14a=14解析:在“逗號表達(dá)式(表達(dá)式1,表達(dá)式2)”中,其運算方法是先求表達(dá)式1的值,然后求表達(dá)式2的值,整個逗號表達(dá)式的值是表達(dá)式2的值。首先3*5=15,a=10,a+4=14,最后輸出的運算結(jié)果為14。

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

35.77解析:本題考核的知識點是字符類型變量的運算。字符型數(shù)據(jù)可作為整型參加算術(shù)運算,其值為其對應(yīng)的ASCII碼。'H'-'A'的結(jié)果是7,加'0'后是'7'的ASCII碼,所以輸出的是字符'7'。

36.92

37.1919解析:根據(jù)二叉樹的性質(zhì):在任意一棵二叉樹中,度為。的結(jié)點(即葉子結(jié)點)總是比度為2的結(jié)點多一個。本題中度為2的結(jié)點數(shù)為18,故葉子結(jié)點數(shù)為18+1=19個。

38.35

39.18或1918或19

40.軟件工具軟件工具

41.A

42.D解析:希爾排序的基本思想是把記錄按照下標(biāo)的一定增量進(jìn)行分組,對每組記錄使用插入排序,隨著增量逐漸減小,所分成的組包含的記錄越來越多,到增量的值減小到1時,整個數(shù)據(jù)合成一組,構(gòu)成一組有序記錄,故其屬于插入排序方法。

43.C解析:alpha[0]指向“ABCD'’的首地址;alpha[1]指向“EFGH'’的首地址;alpha[2]指向“IJKL”的首地址,依此類推。當(dāng)初行p=alpha后,p指向指針數(shù)組alpha的首地址。for循環(huán)中輸出了4個字符串。

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

45.B數(shù)據(jù)庫應(yīng)用系統(tǒng)的邏輯設(shè)計包括數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計、數(shù)據(jù)庫事務(wù)概要設(shè)計和應(yīng)用程序概要設(shè)計三方面。數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計的主要步驟為:將E—R圖轉(zhuǎn)換為初始關(guān)系模式,對初始關(guān)系模式進(jìn)行優(yōu)化,檢查關(guān)系表對數(shù)據(jù)庫事務(wù)的支持性,確定關(guān)系模式完整性約束,設(shè)計基于關(guān)系模式的用戶視圖。

46.A解析:本題考核的知識點是數(shù)組的定義、賦初值以及函數(shù)調(diào)用的組合應(yīng)用.本題中函數(shù)sum(int*A)的作用是:將形參a所指的數(shù)組中的第二個元素的值a[1]賦給第一個元素a[0]。主函數(shù)中定義一個長度為10的整型數(shù)組并賦初值,接著執(zhí)行一個for循環(huán),該循環(huán)共執(zhí)行了3次.當(dāng)i=2時,調(diào)用函數(shù)sum(&aa[2]),主函數(shù)中將&aa[2]作為實參傳給行參a,所以此時形參a所指的數(shù)組的第一個元素和第二個元素分別為aa[2]和aa[3],故執(zhí)行完該函數(shù)后將aa[3]的值賦給aa[2],即aa[1]=aa[3]=4,當(dāng)i=1時,調(diào)用函數(shù)sum(&aa[1]),主函數(shù)中將&aa[1]作為實參傳給行參a,所以此時形參a所指的數(shù)組的第一個元素和第二個元素分別為aa[1]和aa[2],故執(zhí)行完該函數(shù)后將aa[2]的值賦給aa[1],即aa[1]=aa[2]=4;當(dāng)i=0時;調(diào)用函數(shù)sum(&aa[0]),,主函數(shù)中將&aa[0]作為實參傳給行參a,所以此時形參a所指的數(shù)組的第一個元素和第二個元素分別為aa[0]和aa[1],故執(zhí)行完該函數(shù)后將aa[1]的值賦給aa[0],即aa[0]=aa[1]=4;故最后輸出的aa[0]的值為4,所以,4個選項中選項A符合題意。

47.D

48.D

49.B通過—維數(shù)組名或指向維數(shù)組元素的指針來引用數(shù)組元素有兩種寫法:a[i]和*(a+i),它們是等價的。這是一種運算符之間的等價轉(zhuǎn)換,就好像a-(b-C)等價于a-b+c一樣。知道了這種轉(zhuǎn)換,我們可以將之?dāng)U展到二維數(shù)組甚至任意維數(shù)組上來。因為[]運算符的結(jié)合性是從左至右的,所以w[i][j]等價于(w[i][j],此時可以先將任意一個[]運算符轉(zhuǎn)換為指針形式為:(*(w+i)[j]或*(w[i]+j),或者同時轉(zhuǎn)換:*(*(w+i)+j)。上述幾種形式都完全等價于w[i][j]。選項A中,*(*w+3)可以看成*(*(w+0)+3),即w[0][3],是正確的。選項B小,因為[]運算符的優(yōu)先級高于*運算符,所以*(w+1)[4]等價于*((w+1)[4]等價于*(*((w+1)+4)),即*(*(w+5)+0),它等價于w[5][0],很明顯它超過數(shù)組的范圍了,故不正確。選項C等價于w[1][0],是下確的。選項D中,&w[0][0]是數(shù)組w第1個元素的地址,它等價于&*(*(w+0)+0),外面的&和*可以抵消,就好像先乘以個數(shù),然后再除以這個數(shù)一樣。所以,&w[0][0]等價于*(w+0)+0。即*w。所以原式就變?yōu)?(*w+1)等價于w[0][1],這個也是合法的。綜上所述,本題應(yīng)該選擇B。

50.D解析:通常,引用一個數(shù)組元素可以用下標(biāo)法,如a[P-a]形式,或指針法,如*(&a[i])的形式。本題中a[9]=9,a[10]顯然超出了數(shù)組范圍,注意,數(shù)組的下標(biāo)是從0開始的。

51.C

52.C解析:^是按位異或運算,如果對應(yīng)位不同則結(jié)果為1,相同則為0。

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

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

55.B解析:本題中的二維數(shù)組的每個元素就是一個由3個元素構(gòu)成的一維數(shù)組,根據(jù)條件for(k=0;k<3;++)和要求的a[k][k]可以得出本題的答案應(yīng)該是951。

56.A解析:本題主要考查的知識點是結(jié)構(gòu)類型的概念和定義,結(jié)構(gòu)定義的一般形式:

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

{數(shù)據(jù)類型成員名1;

數(shù)據(jù)類型成員名2;

數(shù)據(jù)類型成員名n;

};

struct為關(guān)鍵字,是結(jié)構(gòu)的標(biāo)識符;{}中包圍的是組成該結(jié)構(gòu)的成員項;每個成員的數(shù)據(jù)類型既可以是簡單的數(shù)據(jù)類型,也可以是復(fù)雜的數(shù)據(jù)類型。整個定義作為一個完整的語句,用分號結(jié)束。結(jié)構(gòu)類型名稱是可以省略的,此時定義的結(jié)構(gòu)稱為無名結(jié)構(gòu)。

57.D解析:形參在個數(shù)和類型上要與實參匹配,形參在未被調(diào)用之前,不占用存儲單元。

58.D解析:本題考查do-while語句。C語言支持do-while語句,選項A)錯誤;do-while構(gòu)成的循環(huán),當(dāng)while語句中的表達(dá)式值為零時結(jié)束循環(huán),故選項B)、C)都是錯誤的。

59.C解析:算法的執(zhí)行效率與數(shù)據(jù)的邏輯結(jié)構(gòu)和存儲結(jié)構(gòu)都有很緊密的關(guān)系。算法的空間復(fù)雜度是指執(zhí)行該算法需要的內(nèi)存空間,并非算法程序中指令的條數(shù)。算法一般應(yīng)該具有以下4個特征:可行性、確定性、有窮性和擁有足夠情報。其中,有窮性是指算法必須能在執(zhí)行有限個步驟之后終止,否則可能失去實際意義。

60.D

61.B

62.C本題考在宏定義,宏定義只是做簡單的替換,所以本題中SUB(a+b)·c=(a+b)一(a+b)·e=一20,所以答案為C選項。

63.C一個算法的時間復(fù)雜度是指執(zhí)行這個算法所需的極端工作量。

64.D本題考查位運算符,題目中將a向左移兩位,左移兩位表示乘以4,所以答案為8,選項D正確。

65.B

66.A

67.D

68.C轉(zhuǎn)義字符中,八進(jìn)制的表示形式為\ddd,但是八進(jìn)制中不能包含數(shù)字8,所以C選項不合法。

69.B一般較優(yōu)秀的軟件設(shè)計,應(yīng)盡量做到高內(nèi)聚,

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論