2021年遼寧省本溪市全國計算機等級考試C語言程序設(shè)計知識點匯總卷(含答案)_第1頁
2021年遼寧省本溪市全國計算機等級考試C語言程序設(shè)計知識點匯總卷(含答案)_第2頁
2021年遼寧省本溪市全國計算機等級考試C語言程序設(shè)計知識點匯總卷(含答案)_第3頁
2021年遼寧省本溪市全國計算機等級考試C語言程序設(shè)計知識點匯總卷(含答案)_第4頁
2021年遼寧省本溪市全國計算機等級考試C語言程序設(shè)計知識點匯總卷(含答案)_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2021年遼寧省本溪市全國計算機等級考試C語言程序設(shè)計知識點匯總卷(含答案)學(xué)校:________班級:________姓名:________考號:________

一、單選題(20題)1.若有定義intx=3,y=2和floata=2.5,b=3.5,則表達式:(x+y)%2+(int)a/(int)b的值是()。

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

2.隊列的“先進先出”特性是指()。

A.最早插入隊列中的元素總是最后被刪除

B.當(dāng)同時進行插入、刪除操作時,總是插入操作優(yōu)先

C.每當(dāng)有刪除操作時,總是要先做一次插入操作

D.每次從隊列中刪除的總是最早插入的元素

3.現(xiàn)有定義inta;doubleb;floatc;chark;,則表達式a/b+c-k值的類型為:

A.intB.doubleC.floatD.char

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

A.X+1=yB.++X.Y=X一一C.X=X+10=X+YD.double(X)/10

5.在C語言中,函數(shù)返回值的類型最終取決于()。

A.函數(shù)定義時在函數(shù)首部所說明的函數(shù)類型

B.return語句中表達式值的類型

C.調(diào)用函數(shù)時主調(diào)函數(shù)所傳遞的實參類型

D.函數(shù)定義時形參的類型

6.若棧采用順序存儲方式存儲,現(xiàn)兩棧共享空間V[1m],top[1]、top[2]分別代表第1和第2個棧的棧頂,棧1的底在V[1],棧2的底在V[m],則棧滿的條件是()。

A.|top[2]-top[1]|=0

B.top[1]+1=top[2]

C.top[1]+top[2]=m

D.top[1]=top[2]

7.以下選項中,非法的字符常量是______。

A.'t\'B.'\17'C.\nD.'\xaa'

8.下面程序段的時間復(fù)雜度為()。

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

9.

10.有以下函數(shù):intaaa(char*s){char*t=s;while(*t++);t--;return(t-s);}以下關(guān)于aaa函數(shù)功能敘述正確的是()。

A.將串s復(fù)制到串tB.比較兩個串的大小C.求字符串s的長度D.求字符串s所占字節(jié)數(shù)

11.設(shè)x=011050,則x=x&01252的值是()。A.0000001000101000

B.1111110100011001

C.0000001011100010

D.1100000000101000

12.如果最常用的操作是取第i個結(jié)點及其前驅(qū),最節(jié)省時間的存儲方式是()。

A.單鏈表B.雙向鏈表C.單循環(huán)鏈表D.順序表

13.下述函數(shù)功能是______。intfun(char*x){char*y=x;while(*y++);returny-x-1;}

A.求字符串的長度B.求字符串存放的位置C.比較兩個字符串的大小D.將字符串x連接到字符串y后面

14.

15.以下敘述中錯誤的是()

A.在C程序中,APH和aph是兩個不同的變量

B.C程序中的變量,代表內(nèi)存中的一個存儲單元,它的值可以根據(jù)需要隨時修改

C.在C程序中,無論是整數(shù)還是實數(shù),都能準(zhǔn)確無誤地表示

D.在C程序中,一個正整數(shù)可以用十進制、八進制和十六進制的形式來表示

16.下面程序的時間復(fù)雜為()A.O(n)B.O(n^2)C.O(n^3)D.O(n^4)

17.

18.

19.若某鏈表最常用的操作是在最后一個結(jié)點之后插入一個結(jié)點或刪除最后一個結(jié)點。則采用()存儲方式最節(jié)省運算時間。

A.單鏈表B.雙鏈表C.單循環(huán)鏈表D.帶頭結(jié)點的雙循環(huán)鏈表

20.以下選項中與“if(a==l)a=b;elsea++;”語句功能不同的switch語句是()。

A.switch(a){casel:a=b;break;default:a++;}

B.switch(a==l){case0:a=b;break;casel:a++;}

C.switch(a){default:a++;break;casel:a=b;}

D.switch(a==l){casel:a=b;break;case0:a++;}

二、2.填空題(20題)21.在面向?qū)ο蠓椒ㄖ?,類之間共享屬性和操作的機制稱為______。

22.以下程序的運行結(jié)果是______。

structNode}

intx;

charch;

};

fun(structNode*sn)

}statick=1;

sn->x=20;

Sn->ch='a'+k++;

}

main()

{inti;

staticstructNodest=}10,'a'};

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

fun(&st);

printf("%d,%c\n",st.x,st.ch);

}

23.mysulen函數(shù)的功能是計算str所指字符串的長度,并作為函數(shù)值返回。請?zhí)羁铡?/p>

intmystrlen(Char*str)

{inti;

for{i=0;!='\0';i++);

return(______);

}

24.若x和y都是double型變量,且x的初值為3.0,y的初值為2.0,則表達式pow(y,fabs(x))的值為【】。

25.有以下程序,若運行時從鍵盤輸入:18,11<回車>,則程序的輸出結(jié)果是【】。

main()

{inta,b;

printf("Entera,b:");scanf("%d,%d",&a,&b);

while(a!=b)

{while(a>b)a-=b;

while(b>a)b-=a;

}

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

}

26.深度為5的滿二叉樹中,葉子結(jié)點的個數(shù)為______。

27.若有如下程序:

#include"stdio.h"

main()

{chars[30];

Strcpy(&S[0],"adc");

Strcpy(&S[1],"def");

strcpy(&S[2],"gh");;

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

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

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

29.\13'在內(nèi)存中占1個字節(jié),"\12"在內(nèi)存中占______個字節(jié)。

30.下述函數(shù)用于統(tǒng)計一行字符中的單詞個數(shù),單詞之問用空格分隔。

word_num(str)

charstr[];

{inti,num=0,word=0;

fot(i=0;str[i]!=【】;i++)

if【】=='')word=0;

elseif(word==0)

{

word=1;

【】;

}

return(num);

}

31.在計算機軟件系統(tǒng)的體系結(jié)構(gòu)中,數(shù)據(jù)庫管理系統(tǒng)位于用戶和【】之間。

32.實體之間的聯(lián)系可以歸結(jié)為一對一的聯(lián)系,一對多的聯(lián)系與多對多的聯(lián)系。如果一個學(xué)校有許多學(xué)生,而一個學(xué)生只屬于一個學(xué)校,則實體集學(xué)校與實體集學(xué)生之間的聯(lián)系屬于【】的聯(lián)系。

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

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

(2)將m的第i個二進制位置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);

}

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

main()

{inta,b,c;

a=10;b=20;c=(a%b<1)||(a/b>1);

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

}

35.想通過以下輸入語句給x賦值2,給y賦值3,則輸入數(shù)據(jù)的形式應(yīng)該是______。

intx,y;

scanf("x=%d,y=%d",&x,&y);

36.軟件產(chǎn)品從提出、實現(xiàn)、使用維護到停止使用退役的過程稱為()。

37.診斷和改正程序中錯誤的工作通常稱為【】。

38.設(shè)x、y、z均為int型變量,請寫出描述“x或y中至少有一個小于z”的表達式______。

39.若已知a=10,b=20,則表達式!a<b的值為【】。

40.若有程序:

main()

{inti,j;

scanf('i=%d,j=%d";&i,&j);

printf("i=%d,j=%d\n",i,j);

}

要求給i賦10,給j賦20,則應(yīng)該從鍵盤輸入上【】。

三、1.選擇題(20題)41.當(dāng)運行以下程序時,從鍵盤輸入AhaMA(空格)Aha<CR>,則下面程序的運行結(jié)果是#include<stdio.h>main(){chars[80],c='a';inti=0;scanf("%s",s);while(s[i]!='\n\){if(s[i]]==c)s[i]-32;elseif(s[i]==c-32)s[i]=s[i]+32;i++;}puts(s);}

A.ahaMaB.AbAMaC.A11AMa[空格]ahaD.ahAMa[空格]ahA

42.棧底至棧頂依次存放元素A、B、C、D,在第五個元素E入棧前,棧中元素可以出棧,則出棧序列可能是

A.ABCEDB.DCBEAC.DBCEAD.CDABE

43.下列數(shù)據(jù)結(jié)構(gòu)中,不是線性結(jié)構(gòu)的是()。

A.線性鏈表B.帶鏈的隊列C.帶鏈的棧D.二叉鏈表

44.在面向?qū)ο蠓椒ㄖ校粋€對象請求另一對象為其服務(wù)的方式是通過發(fā)送()。A.調(diào)用語句B.命令C.口令D.消息

45.設(shè)intb=2;,則表達式(b<<2)/(b>>1)的值是______。

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

46.“年齡在18—25之間”這種約束是屬于數(shù)據(jù)庫當(dāng)中的()

A.原子性措施B.一致性措施C.完整性措施D.安全性措施

47.以下不合法的用戶標(biāo)識符是______。A.j2KEYB.DoubleC.4dD._8_

48.有以下程序main(){inti,n=0;for(i=2;i<5;i++){do{if(i%3)continue;n++;}while(!i);n++;}printf("n=%d\n",n);}程序執(zhí)行后的輸出結(jié)果是

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

49.有以下程序:#include<stdio.h>main(){printf("%d\n",NULL);}程序運行后的輸出結(jié)果是()。

A.0B.1C.-1D.NULL沒定義,出錯

50.軟件測試與排錯是兩類相互聯(lián)系而又性質(zhì)不同的活動,在下述項目中,不具有排錯活動特征的項目是______。

A.修改程序B.運用推理和歸納的方法C.了解程序細(xì)節(jié)D.運用測試實例

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

A.執(zhí)行算法程序所需要的時間B.算法程序的長度C.算法執(zhí)行過程中所需要的基本運算次數(shù)D.算法程序中的指令條數(shù)

52.關(guān)系代數(shù)運算是以______為基礎(chǔ)的運算。

A.關(guān)系運算B.謂詞運算C.集合運算D.代數(shù)運算

53.主程序調(diào)用findmax函數(shù)求出數(shù)組中最大元素在數(shù)組中的下標(biāo),()中需填寫的內(nèi)容是。#include<stdio.h>findmax(int*s,intt,int*k){intp;for(p=0,*k=p;p<t;p++)if(s[p]>s[*k])();}main(){inta[10],i,k;for(i=0;i<10;i++)scanf("%d",&a[i]);findmax(a,10,&k);printf("%d%d\n",k,a[k]);}

A.k=pB.*k=pC.k=p-sD.*k=p-s

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

A.在面向?qū)ο蟮某绦蛟O(shè)計中,各個對象之間具有密切的聯(lián)系

B.在面向?qū)ο蟮某绦蛟O(shè)計中,各個對象都是公用的

C.在面向?qū)ο蟮某绦蛟O(shè)計中,各個對象之間相對獨立,相互依賴性小

D.上述三種說法都不對

55.有如下程序main(){intx=1,a=0,b=0;switch(x){case0:b++;case1:a++;case2:a++;b++;}printf("a=%d,b=%d\n",a,B);}程序運行后的輸出結(jié)果是()

A.a=2,b=1B.a=1,b=1C.a=1,b=0D.a=2,b=2

56.在以下一組運算符中,優(yōu)先級最高的運算符是()

A.<=B.=C.%D.&&

57.有如下程序

main()

{floatx=2.0,y;

if(x<0.0)y=0.0;

elseif(x>10.0)y=1.0/x;

elsey=1.0;

printf("%f\n",y);}

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

A.0.000000B.0.250000C.0.500000D.1.000000

58.已知、棵二叉樹的后序遍歷序列是dabec,中序遍歷序列是debac,則它的前序遍歷序列是()。

A.acbedB.decabC.deabcD.cedba

59.在數(shù)據(jù)管理技術(shù)的發(fā)展過程中,可實現(xiàn)數(shù)據(jù)共享的是()

A.人工管理階段B.文件系統(tǒng)階段C.數(shù)據(jù)庫系統(tǒng)階段D.系統(tǒng)管理階段

60.在軟件生命周期中,能準(zhǔn)確地確定軟件系統(tǒng)必須做什么和必須具備哪些功能的階段是()。A.概要設(shè)計B.詳細(xì)設(shè)計C.可行性分析D.需求分析

四、選擇題(20題)61.

62.下列字符串是標(biāo)識符的是()。

A.aaB.a-classC.intD.LINE1

63.

64.以下能正確定義一維數(shù)組的選項是()。

A.

B.

C.

D.

65.

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

int

data;structnode

*next;

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

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

67.

68.

69.在Internet中,域名服務(wù)器的主要功能是實現(xiàn)()的轉(zhuǎn)換。

A.IP地址到域名(主機名字)B.域名到IP地址C.主機IP地址和路由器IP地址之間D.路由器IP地址之問

70.以下關(guān)于宏的敘述中正確的是()。

A.宏替換沒有數(shù)據(jù)類型限制

B.宏定義必須位于源程序中所有語句之前

C.宏名必須用大寫字母表示

D.宏調(diào)用比函數(shù)調(diào)用耗費時間

71.

72.

73.

74.計算機能直接執(zhí)行的程序是()。

A.源程序B.目標(biāo)程序C.匯編程序D.可執(zhí)行程序

75.

若有定義和語句:

int**pp),*P,a=20,b=10;

pp=&p;p=&a;p=&b;printf("%d,%d\n",*P,*PP);

則輸出結(jié)果是()。

A.20,10B.20,20C.10,20D.10,10

76.有以下程序程序運行后的輸出結(jié)果是()

A.3,5,3,5B.3,5,5,3C.5,3,3,5D.5,3,5,3

77.(49)按條件f對關(guān)系R進行選擇,其關(guān)系代數(shù)表達式為()

A.R|X|R

B.R|X|Rf

C.бf(R)

D.∏f(R)

78.

79.在結(jié)構(gòu)化方法中,軟件功能分別屬于下列軟件開發(fā)中的(

)階段。A.詳細(xì)設(shè)計B.需求分析C.總體設(shè)計D.編程調(diào)試

80.

五、程序改錯題(1題)81.下列給定程序中proc()函數(shù)的功能是:將n個無序整數(shù)按從小到大排序。請修改程序中的錯誤,使它能得出正確的結(jié)果。注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:

六、程序設(shè)計題(1題)82.假定輸人的字符串中只包含字母和*號。請編寫函數(shù)proc,它的功能是:將字符串中

的前導(dǎo)*號全部刪除,中間和后面的*號不刪除。

例如,若字符串中的內(nèi)容為****a*bc*def*g****,刪除后,字符串中的內(nèi)容則

應(yīng)當(dāng)是a*bc*def*g****。

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

請勿改動main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc的花括號中填入所編

寫的若干語句。

試題程序:

#include<stdio.h>

#include<conio.h>

voidproc(char*str)

{

}

voidmain

{

charstr[81];

printf("Enterastring:kn");

gets(str);

proc(str);

printf("Thestringafterdeleted:kn");

puts(str);}

參考答案

1.D

2.D

3.B解析:雙目運算中兩邊運算量類型轉(zhuǎn)換規(guī)律:

運算數(shù)1運算數(shù)2轉(zhuǎn)換結(jié)果類型

短整型長整型短整型->長整型

整型長整型整型->長整型

字符型整型字符型->整型

有符號整型無符號整型有符號整型->無符號整型

整型浮點型整型->浮點型

在a/b的時候,a、b的類型不一致,根據(jù)類型轉(zhuǎn)換規(guī)則,把整型轉(zhuǎn)換成double類型,之后的加、減類似。轉(zhuǎn)化規(guī)則為char,short->int->unsigned->long->double←float。

4.BA選項中不能將變量Y賦給表達式,c選項中錯誤與A選項一樣,D選項中強制類型轉(zhuǎn)換表達式應(yīng)寫成(doub1e)x/10。

5.A解析:在C語言中,應(yīng)當(dāng)在定義函數(shù)時指定函數(shù)值的類型。凡不加類型說明的函數(shù),默認(rèn)按整型處理。在定義函數(shù)時對函數(shù)值說明的類型一般應(yīng)該和return語句中的表達式類型一致。如果函數(shù)值的類型和return語句中的表達式類型不一致,則以函數(shù)值的類型為準(zhǔn),由系統(tǒng)自動進行轉(zhuǎn)換,即函數(shù)類型決定返回值的類型。

6.B

7.C解析:C語言中字符常量是以單引號括起來的單個字符,或以“\\”與三位八進制數(shù)值或兩位十六進制數(shù)值代替單個字符。

8.A

9.B

10.Caaa函數(shù)中,首先定義了一個字符指針t指向形參s,然后通過一個while循環(huán)讓指針t不斷遞增,直到t指向字符串結(jié)束標(biāo)識處。當(dāng)t指向結(jié)束標(biāo)識處時,由于后綴“運算符,它還會被再遞增1,因此“t--”語句讓它回到結(jié)束標(biāo)識處。最后返回t-s,s還是指向字符串第1個字符處,而t指向了字符串結(jié)尾,故返回值為字符串的長度。故本題答案為C選項。

11.A本題考查按位與運算,按位與就是相同為1,不同為0,把x=011050化成二進制為0001001000101000,把01252化成二進制為0000001010101010,兩者相與得0000001000101000。

12.D

13.A解析:在函數(shù)體內(nèi)定義一字符型指針并指向形參,然后遍歷其中各字符直到NULL,最后返回字符串首尾地址的差值,即字符串的長度。

14.D

15.C

16.B

17.C

18.B

19.D

20.B題中當(dāng)a的值為l時,關(guān)系表達式a==l的值為真,即1,因此程序?qū)⑻D(zhuǎn)到easel執(zhí)行a++操作,與題干程序剛好相反。

21.繼承繼承

22.20c。20,c。解析:函數(shù)fun的功能是給結(jié)構(gòu)體指針變量所指的結(jié)構(gòu)體變量的各成員賦值,主函數(shù)兩次調(diào)用函數(shù)fun,第一次調(diào)用,實參st兩個成員的值是20和字符b,調(diào)用結(jié)束時,靜態(tài)局部變量k沒有釋放,值為2:第二次調(diào)用,實參st兩個成員的值是20和字符c,調(diào)用結(jié)束時,靜態(tài)局部變量k沒有釋放,值為3;因此,輸出結(jié)果是20和c。

23.*(srt+i)或str[i]i*(srt+i)或str[i]\r\ni解析:求str指向的字符串長度的算法是:用一個變量i表示字符串中字符的位置,一開始賦值為0,取出i位置的字符,判斷是否為'\\0',若不是則i的值加1,如此循環(huán)直到取出的字符是'\\0'為止,此時i的值就是字符串的長度。由此可知,第一個空處應(yīng)填第i位置上的字符*(str+i);第二個空格應(yīng)該填字符串的長度i。

24.88解析:fabs函數(shù)功能是求x的絕對值,計算結(jié)果為double型。pow功能是計算x的y次方的值,計算結(jié)果同樣為double型。所以本題表達式相當(dāng)于2.0的3.0次方,結(jié)果為8.000000。

25.1111解析:首先,程序通過scanf()函數(shù)將18和11分別讀入到變量a和b中。然后,因為a!=b為真,進入外層while循環(huán)。此時a>b為真,執(zhí)行a-=b;,a的值變?yōu)?8-11=7:接下來b>a也為真,執(zhí)行b-=a;,b的值變?yōu)?1-7=4。此時a!=b還是為真,第2次進入外層循環(huán)。a>b為真,執(zhí)行a-=b;,a的值變?yōu)?-4=3。b>a為真,執(zhí)行b-=a;,b的值變?yōu)?-3=1接下來a!=b為真第3次進入外層循環(huán)。a>b為真,執(zhí)行a-=b,a的值變?yōu)?-1=2。b>a為假,不執(zhí)行b-=a;;然后第4次進入外層循環(huán),a>b為真,執(zhí)行a-=b,a的值變?yōu)?-1=1。b>a為假,不執(zhí)行b-=a;此時a和b均為1了,a!=b條件為假,外層循環(huán)結(jié)束。故本題輸出的結(jié)果是11。

26.1616解析:滿二叉樹的葉子結(jié)點都在最后一層,即第4層,且第4層的結(jié)點達到最大數(shù),即25-1=16。

27.adghadgh解析:函數(shù)strcpy是字符串復(fù)制函數(shù)。第一次將'adc'復(fù)制到以&s[0]為起始地址的存儲空間中,第二次將'def'復(fù)制到以&s[1]為起始地址的存儲空間中,“dc”將被覆蓋,變?yōu)椤癮def”,第三次將“gh”復(fù)制到以&s[2]為起始地址的存儲空間中,“ef”將被覆蓋,變?yōu)椤癮dgh”。

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

29.22解析:'\\13':表示八進制數(shù)13表示的ASCII字符,是一個字符,占一個字節(jié);而”\\12”是個字符串,除了八進制數(shù)12表示的ASCII字符占一個字節(jié)外,還有在字符串的末尾加上串結(jié)束標(biāo)志“'\\0'”,所以共有2個字節(jié)。

30.\0'或0或NULLstr[i]num++或num=num+1或num+=1\\0'或0或NULL\r\nstr[i]\r\nnum++或num=num+1或num+=1解析:觀察題目要求,可以知道以下幾點:①for循環(huán)的結(jié)束條件應(yīng)當(dāng)是:str[i]已是字符串的最后一個字符;②str[i]代表字符串str中的第i+1個字符;③整型變量num的值是要記錄的單詞的個數(shù)。C語言中規(guī)定字符串的最后一個字符是一個隱含的字符串結(jié)束符“\\0”,所以在題中第一個空中應(yīng)填寫“\\0”;題中第二個空應(yīng)填寫“str[i]”,以判斷當(dāng)前位置的字符是否為空格;題中第三個空中應(yīng)當(dāng)填寫“num++”,通過變量num的加1累加得到字符串中的單詞個數(shù)。

31.操作系統(tǒng)或OS操作系統(tǒng)或OS解析:數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫的機構(gòu),它是一種系統(tǒng)軟件,負(fù)責(zé)數(shù)據(jù)庫中的數(shù)據(jù)組織、數(shù)據(jù)操縱、數(shù)據(jù)維護、控制及保護和數(shù)據(jù)服務(wù)。位于用戶和操作系統(tǒng)之間。

32.一對多一對多解析:實體之間的聯(lián)系可以歸結(jié)為一對一、一對多與多對多。如果一個學(xué)校有許多學(xué)生,而一個教師只歸屬于一個學(xué)生,則實體集學(xué)校與實體集學(xué)生之間的聯(lián)系屬于一對多的聯(lián)系。

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

34.1020010200解析:a的初值為10,b的初值為20,因此“a%b”結(jié)果為10,“(a%b<1)”為假,“a/b”的結(jié)果為0,“(a/b>1)”為假,所以“(a%b<1)||(a/b>1)”的值為0(假),c的值為0。

35.x=2y=3。x=2,y=3。解析:使用scanf函數(shù)輸入數(shù)據(jù),普通字符必須原樣輸入,本題的普通字符為'x'、'='、','、'y'正確的輸入格式是x=2,y=3。

36.軟件生命周期軟件生命周期解析:軟件產(chǎn)品從提出、實現(xiàn)、使用維護到停止使用退役的過程稱為軟件生命周期。在國家標(biāo)準(zhǔn)“計算機軟件開發(fā)規(guī)范”中,把軟件生命周期劃分為8個階段,即可行性研究與計劃、需求分析、概要設(shè)計、詳細(xì)設(shè)計、實現(xiàn)、綜合測試、確認(rèn)測試、使用與維護,對每個階段,都明確規(guī)定了該階段的任務(wù)、實施方法、實施步驟和完成標(biāo)志,其中特別規(guī)定了每個階段需要產(chǎn)生的文檔。

37.程序調(diào)試程序調(diào)試解析:程序調(diào)試的任務(wù)是診斷和改正程序中的錯誤。程序調(diào)試與軟件測試不同,軟件測試是盡可能多地發(fā)現(xiàn)軟件中的錯誤。先要發(fā)現(xiàn)軟件的錯誤,然后借助于調(diào)試工具找出軟件錯誤的具體位置。軟件測試貫穿整個軟件生命期,而調(diào)試主要在開發(fā)階段。

38.x<z‖y<zx<z‖y<z解析:本題考查邏輯運算符和邏輯表達式。x或y中至少有一個小于z,即x<z或y<z,是“或”的關(guān)系。

39.11解析:計算表達式!a<b,先計算!a,因a的值為10,!a的值為0,而關(guān)系表達式0<20為真,所以表達式!a<b的值為1。

40.i=10j=20i=10,j=20解析:該函數(shù)的第一個參數(shù)是格式字符串,主要由兩類字符組成,一類是非格式符要求原樣輸入,一類是格式符對應(yīng)要輸入的變量,所以本題中應(yīng)該原樣輸入i=,j=,后面分別給變量10和20,故空格處應(yīng)該填入i=10,j=20。

41.A解析:本題主要考查的知識點是大寫字母比它對應(yīng)的小寫字母ASCII碼值小32,并且字符可以看作整數(shù)進行算術(shù)運算等操作。

42.B解析:棧操作原則上“后進先出”,棧底至棧頂依次存放元素A、B、C、D,則表明這4個元素中D是最后進棧,B、C處于中間,A最早進棧。所以出棧時一定是先出D,再出C,最后出A。

43.D解析:線性鏈表是線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu),帶鏈的棧與帶鏈的隊列分別是棧與隊列的鏈?zhǔn)酱鎯Y(jié)構(gòu)。線性表屬于線性結(jié)構(gòu),棧與隊列是特殊的線性表,因此也屬于線性結(jié)構(gòu)。二叉鏈表是二叉樹的鏈?zhǔn)酱鎯Y(jié)構(gòu),二叉樹屬于非線性結(jié)構(gòu)。

44.D解析:面向?qū)ο蟮氖澜缡峭ㄟ^對象與對象間彼此的相互合作來推動的,對象間的這種相互合作需要一個機制協(xié)助進行,這樣的機制稱為消息。消息是一個實例與另一個實例之間傳遞的信息,它請求對象執(zhí)行某一處理或回答某一要求的信息,它統(tǒng)一了數(shù)據(jù)流和控制流。

45.D

46.C解析:本題主要考查數(shù)據(jù)庫的各種特性。其中數(shù)據(jù)庫的完整性是指數(shù)據(jù)的正確性和相容性(如學(xué)生的學(xué)號必須惟一,性別只能是女或男等),數(shù)據(jù)庫是否具備完整性關(guān)系到數(shù)據(jù)庫系統(tǒng)能否真實反映現(xiàn)實世界,因此維護數(shù)據(jù)庫的完整性是非常重要的。根據(jù)題意分析可知這種約束屬于數(shù)據(jù)庫中的完整性措施。

47.C解析:C語言規(guī)定標(biāo)識符只能由字母、數(shù)字和下劃線三種符號組成,而且第—個字符必須是字母或下劃線。大寫字母和小寫字母被認(rèn)為是兩個不同的字符,用戶在定義標(biāo)識符時應(yīng)做到“見名知意”,且不允許使用關(guān)鍵字作標(biāo)識符。

48.D解析:本題考核的知識點是do…while結(jié)構(gòu)和算術(shù)運算符%的應(yīng)用。do…while的結(jié)構(gòu)形式為:do循環(huán)體while(條件表達式),當(dāng)程序執(zhí)行到do后,先執(zhí)行循環(huán)體一次,然后才對條件表達式進行計算、判斷。若條件表達式的值為真,則重復(fù)執(zhí)行一次循環(huán)體;否則退出,與while結(jié)構(gòu)相比,do…while結(jié)構(gòu)至少要執(zhí)行一次循環(huán)體;運算符%是求模運算,即求兩個數(shù)相除的余數(shù)。continue語句的作用時結(jié)束本次循環(huán),即跳過本次循環(huán)中余下尚未執(zhí)行的語句,接著再一次進行循環(huán)的條件判定。本題中,當(dāng)i=2時,執(zhí)行如循環(huán)。由于if表達式的條件為真,執(zhí)行continue語句,結(jié)束本次循環(huán),判斷while循環(huán)條件為假,故退出while循環(huán),執(zhí)行n++,此時n的值為1,當(dāng)i=3時,執(zhí)行do循環(huán).由于if(3%3)為假,執(zhí)行下面的n++語句,此時n的值為2,結(jié)束本次循環(huán),繼續(xù)判斷while循環(huán)條件為假,故退出while循環(huán),執(zhí)行n++語句,此時n的值為3;當(dāng)i=4時,執(zhí)行如循環(huán)。由于if(4%3)為真,執(zhí)行continue語句,結(jié)束本次循環(huán),繼續(xù)判斷while循環(huán)條件為假,故退出while循環(huán),執(zhí)行n++,此時n的值為4;當(dāng)i=5時,退出for循環(huán),因此最后輸出的n的值為4,所以,4個選項中選項D符合題意。

49.A解析:在C語言中NULL的ASCII碼值為0,而輸出函數(shù)要求以整形格式輸出,故最后的輸出數(shù)為0。所以,4個選項中選項A符合愿意。

50.D解析:測試和排錯是互相聯(lián)系但又是性質(zhì)不同的兩類活動,排錯的主要特征包括;修改程序錯誤,推理和歸納,了解程序細(xì)節(jié)。而“運用測試實例”是具有測試活動的特征。

51.C解析:算法的時間復(fù)雜度實際上就是執(zhí)行算法程序所需要的計算工作量。為了客觀地反映算法性能,在度量算法的時間復(fù)雜度時,應(yīng)該與編寫算法程序所使用的程序設(shè)計語言、執(zhí)行算法程序時所使用的計算的工具以及程序員的水平無關(guān)。選項A錯誤,因為同一算法程序在運行速度不同的計算機上運行時,其計算時間是不同的。選項B錯誤,因為算法所編寫的程序長度往往與程序設(shè)計語言以及程序員的水平有關(guān),同一個算法,用不同的程序設(shè)計語言或者不同的程序員所編寫出的程序其長度可能會大不相同。選項D錯誤,因為根據(jù)一個算法所編制出的程序之中,其指令條數(shù)往往與程序設(shè)計語言以及程序員的水平有關(guān),不能用算法程序中的指令條數(shù)來度量算法的時間復(fù)雜度。所以,本題正確答案為C。

52.C解析:關(guān)系代數(shù)是以集合代數(shù)為基礎(chǔ)女發(fā)展起來的,它是以關(guān)系代數(shù)作為運算對象的一組高級運算的集合。它的基本操作是并、交、差、笛卡爾積,另外還包括針對數(shù)據(jù)庫環(huán)境專門設(shè)計的操作,包括對關(guān)系進行垂直分割(投影)、水平分割(選擇)、關(guān)系的結(jié)合(連接)等。

53.B解析:數(shù)組元素可以通過數(shù)組首地址和下標(biāo)的方式來引用,數(shù)組元素的下標(biāo)是從0開始的,也可以將數(shù)組首地址賦給一個指針變量,通過指針和下標(biāo)的方式來引用數(shù)組元素。注意:通過數(shù)組的首地址引用數(shù)組元素。

54.C解析:在面向?qū)ο蟮某绦蛟O(shè)計中,對象是面向?qū)ο蟮能浖幕灸K,它是由數(shù)據(jù)及可以對這些數(shù)據(jù)施加的操作所組成的統(tǒng)一體,而且對象是以數(shù)據(jù)為中心的,操作圍繞對其數(shù)據(jù)所需做的處理來設(shè)置,沒有無關(guān)的操作。從模塊的獨立性考慮,對象內(nèi)部各種元素彼此結(jié)合得很緊密,內(nèi)聚性強。由于完成對象功能所需要的元素(數(shù)據(jù)和方法)基本上都被封裝在對象內(nèi)部,它與外界的聯(lián)系自然就比較少,所以,對象之間的耦合通常比較松。所以,選項A與B錯誤,選項C正確。

55.A

56.C

57.D解析:本題考查if語句中的一種表達方式,即:if卐lseif叀

該表達式的語句是:

if(表達式1)

語句1

elseif(表達式2)

語句2

elseif(表達式3)

語句3

else

語句4

本題執(zhí)行elsey=1.0,并且以'%f'輸出。

58.D解析:依據(jù)后序遍歷序列可確定根結(jié)點為c,由中序遍歷序列可知其左子樹由deba構(gòu)成,右子樹為空;又由左子樹的后序遍歷序列可知其根結(jié)點為e,由中序遍歷序列可知其左子樹為d,右子樹由ba構(gòu)成,如圖所示。由此可知該二叉樹的前序遍歷序列為選項D)。

59.C解析:本題考查了考生對數(shù)據(jù)庫基礎(chǔ)知識的記憶。數(shù)據(jù)庫技術(shù)的主要目的是有效地管理和存取數(shù)據(jù)資源,包括提供數(shù)據(jù)的共享性,使多個用戶能夠同時訪問數(shù)據(jù)庫中的數(shù)據(jù);減少數(shù)據(jù)的冗余度,以提交數(shù)據(jù)的一致性和完整性;提供數(shù)據(jù)與應(yīng)用程序的獨立性,從而減少應(yīng)用程序的開發(fā)和維護代價。數(shù)據(jù)庫的人工管理階段和文件系統(tǒng)階段,數(shù)據(jù)都不能實現(xiàn)共享,出現(xiàn)數(shù)據(jù)冗余現(xiàn)象。選項D)的說法是錯誤的。

60.D通常,將軟件產(chǎn)品從提出、實現(xiàn)、使用維護到停止使用退役的過程稱為軟件生命周期。也就是說:軟件產(chǎn)品從考慮其概念開始,到該軟件產(chǎn)品不能使用為止的整個時期都屬于軟件生命周期。

軟件生命周期的主要活動階段為:

①可行性研究和計劃制定。確定待開發(fā)軟件系統(tǒng)

溫馨提示

  • 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

提交評論