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

下載本文檔

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

文檔簡介

2021年四川省綿陽市全國計算機等級考試C語言程序設計知識點匯總卷(含答案)學校:________班級:________姓名:________考號:________

一、單選題(20題)1.最大容量為n的循環(huán)隊列,隊尾指針是rear,隊頭是front,則隊空的條件是()。

A.(rear+1)MODn=front

B.rear=front

C.rear+1=front

D.(rear-l)MODn=front

2.

3.由3個結點可以構造出______種不同形態(tài)的二叉樹。

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

4.在10000個int型變量中找出最大的100個,使用下列排序算法中哪一種用時最快()

A.冒泡排序B.快速排序C.歸并排序D.堆排序

5.執(zhí)行以下程序后,a,b的值分別為main(){ina,b,k=4,m=6,*p1=&k,*p2=&m;a=p1==&m;b=(*p1)/(*p2)+7;printf("a=%d\n",a);printf("b=%d\n",b);}

A.-1,5B.1,6C.0,7D.4,10

6.已知大寫字母A的ASCII值是65,小寫字母a的ASCII值是97。下列不能將變量c中的大寫字母轉換為對應小寫字母的語句是()。

A.c=(‘A’,+c)%26-‘a(chǎn)’B.c=c+32C.c=c-‘A’+‘a(chǎn)’D.c=(c-‘A’)%26+‘a(chǎn)’

7.

8.帶有頭節(jié)點的單向鏈表head,其3個數(shù)據(jù)節(jié)點A、B、C的連接關系如下圖所示:節(jié)點類型的定義為structlink{doubledt;structlink*next;};若指針P指向A節(jié)點,在不改變P指向的前提下,以下選項中不能訪問C節(jié)點數(shù)據(jù)成員dt的表達式是()。A.*(*p).next->next->dt

B.p->next->next->dt

C.(*(*(*p).next).next).dt

D.(*(p->next->next)).dt

9.程序運行后的輸出結果是()。#include<stdio.h>#include<stdlib.h>main(){int*a,*b,*c;a=b=c(int*)malloc(sizeof(int));*a=1;*b=2;*c=3;a=b;printf(“%d,%d,%d\n”,*a,*b,*c);}A.1.1.3B.2.2.3C.1.2.3D.3.3.3

10.在有序雙向鏈表中定位刪除一個元素的平均時間復雜度為()

A.O(1)B.O(N)C.O(logN)D.O(N*logN)

11.軟件生命周期中的活動不包括()

A.軟件維護B.市場調研C.軟件測試D.需求分析

12.有以下程序:#include<stdio.h>voidfun(doublex,double*y,double*z){*y=*y-1.0;*z=*z+x;}main(){doublea=2.5,b=9.0,*pa,*pb;pa=&a;pb=&b;fun(b-a,pa,pb);printf(“%f\n”,a);}程序運行后的輸出結果是()。

A.8.000000B.9.000000C.1.500000D.10.500000

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

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

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

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

16.在軟件開發(fā)中,需求分析階段產(chǎn)生的主要文檔是()。A.軟件集成測試計劃B.軟件詳細設計說明書C.用戶手冊D.軟件需求規(guī)格說明書

17.

18.設ch是char型變量,值為'A',則表達式ch=(ch>='A'&&ch<='Z')?ch+32:ch的值是()。

A.ZB.aC.zD.A

19.若有以下說明和定義:則對函數(shù)fun的正確調用語句是()。A.(*a)(&c);B.a=a(x);C.b=*b(x);D.fun(b);

20.在下列運算符中,優(yōu)先級最低的是()。A.||B.!=C.<D.+

二、2.填空題(20題)21.C語言用于結構化程序設計的3種基本結構是______、選擇結構和循環(huán)結構。

22.在面向對象方法中,類之間共享屬性和操作的機制稱為______。

23.下面程序的功能是輸出數(shù)組中最大的數(shù),由a指針指向該元素。請?zhí)羁铡?/p>

main()

{ints[]={6,7,2,13,9,1,12,10,5,8,4,3,11),*a,*b;

for(【】)

if(*a<*b)a=b;

printf("%d",*a);

}

24.在兩種基本測試方法中,【】測試的原則之一是保證所測模塊中每一個獨立路徑至少要執(zhí)行一次。

25.關系模型的3類完整性指的是【】、參照完整性、用戶定義的完整性。

26.以下程序的功能是從名為filea.dat的文本文件中逐個讀入字符并顯示在屏幕上。請?zhí)羁铡?/p>

#include<stdio.h>

main()

{FILE*fp;charch;

fp=fopen(【】);

ch=fgetc(fp);

while(!feof(fp)){putchar(ch);ch=fgetc(fp);}

putchar('\n');fclose(fp);

}

27.在面向對象方法中,類之間共享屬性和方法的機制稱為______。

28.在進行模塊測試時,要為每個被測試的模塊另外設計兩類模塊:驅動模塊和承接模塊(樁模塊),其中【】的作用是將測試數(shù)據(jù)傳送給被測試的模塊,并顯示被測試模塊所產(chǎn)生的結果。

29.執(zhí)行以下程序后的輸出結果是【】。

main()

{inta=10;

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

}

30.以下程序的功能是:利用指針向三個整型變量,并通過指針運算找出三個數(shù)中最大值,輸出到屏幕上。請?zhí)羁?/p>

main()

{intx,y,z,max,*px,*py,*pz,*pmax;

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

px=&x;py=&y;pz=&z;pmax=&max;

if(*pmax<*py)*pmax=*py;

if(*pmax<*pz)*pmax二*pz;

printf("max=%d\n",max);}

31.在關系模型中,若屬性A是關系R的主碼,屬性A的取值不能為空,稱為約束。

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

33.數(shù)據(jù)元素之間______的整體稱為邏輯結構。

34.下面函數(shù)的功能是:找出一維數(shù)組元素中最大的值和它所在的下標,最大的值和它所在的下標通過形參傳回。數(shù)組元素中的值已在主函數(shù)中賦予。主函數(shù)中x是數(shù)組名,n是x中的數(shù)據(jù)個數(shù),max存放最大值,index存放最大值所在元素的下標。請?zhí)羁铡?/p>

#include<stdlib.h>

#include<stdio.h>

voidfun(inta[],intn,int*max,int*d)

{intI;

*max=a[0];

*d=0;

for(I=0;【】;I++)

if(*max<【】)

{*max=a[I];*d=i;}}

main()

{inti,x[20],max,index,n=10;

randomize();

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

{x[i]=rand()%50;printf("%4d",x[i]);}

printf("\n");

fun(x,n,&max,&index);

printf("Max=%5d,Index=%4d\n",max,index);}

35.設有以下定義變量的語句,并且已賦確定的值,則表達式“W*X+Z-y”所求得的數(shù)據(jù)類型為【】。

charw;intx;floaty;double2;

36.以下程序運行后的輸出結果是______。

main()

{intx=1,y=0,a=0,b=0;

switch(x)

{case1:switch(y)

{case0:a++;break;

case1:b++;break;

}

case2:a++;b++;break;

}

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

}

37.長度為n的順序存儲線性表中,當在任何位置上插入一個元素概率都相等時,插入一個元素所需移動元素的平均個數(shù)為【】。

38.在軟件測試中,動態(tài)測試和靜態(tài)測試手段只能發(fā)現(xiàn)程序中的錯誤,而不能證明程序中不存在錯誤,只有【】證明才有可能證明程序的正確性。

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

40.有以下程序:

intf(intn)

{if(n==1)return1;

elsereturnf(n-1)+1;}

main()

{inti,j=0;

for(i=1;i<3;i++)j+t(i);

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

}

程序運行后的輸出結果是【】。

三、1.選擇題(20題)41.在深度為5的滿二叉樹中,結點的個數(shù)為

A.32B.31C.16D.15

42.已知字母A的ASCII代碼值為65,若變量kk為char型,以下不能正確判斷出kk中的值為大寫字母的表達式是

A.kk>=′A′&&kk<=′Z′

B.!(kk>=′A′||kk<=′Z′)

C.(kk+32)>=′a′&&(kk+32)<=′Z′

D.isalpha(kk)&&(kk<91)

43.設x為int型變量,則執(zhí)行以下語句后,x的值為______。x=10;x+x-=x-x;

A.10B.20C.40D.30

44.有以下函數(shù)定義:voidfun(intn,doublex){......}若以下選項中的變量都已正確定義并賦值,則對函數(shù)fun正確調用語句是______。

A.fun(inty,doublem);

B.k=fun(10,12.5);

C.fun(x,n);

D.voidfun(n,x);

45.對建立良好的程序設計風格,下列描述正確的是()。

A.程序應該簡單、清晰、可讀性好B.符號名的命名只需要符合語法C.充分考慮程序的執(zhí)行效率D.程序的注釋可有可無

46.利用E-R模型進行數(shù)據(jù)庫的概念設計,可以分成3步:首先設計局部E-R模型,然后把各個局部E-R模型綜合成一個全局的模型,最后對全局E-R模型進行(),得到最終的E-R模型。

A.簡化B.結構化C.最小化D.優(yōu)化

47.在面向對象方法中,實現(xiàn)信息隱蔽是依靠()。

A.對象的繼承B.對象的多態(tài)C.對象的封裝D.對象的分類

48.下面的程序main(){intx=3,y=0,z=0;if(x=y+z)printf("***");elseprintf("####");}_______。

A.有語法錯誤不能通過編譯B.輸出****C.可以通過編譯,但是不能通過連接,因而不能運行D.輸出####

49.關系數(shù)據(jù)庫管理系統(tǒng)能實現(xiàn)的專門關系運算包括()。

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

50.有如下程序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);}該程序輸出結果是______。

A.0B.0.25C.0.5D.1

51.若有條件表達式(exp)?a++:b--,則以下表達式中能完全等價于表達式(exp)的是

A.(exp==0)B.(exp!=0)C.(exp==1)D.(exp!=1)

52.在下列關于C語言的局部變量和全局變量所采取的存儲類別的敘述中,錯誤的一條是()

A.對于動態(tài)局部變量來說,一旦離開函數(shù),其值就消失

B.對于靜態(tài)局部變量來說,離開函數(shù),其值仍保留

C.對于寄存器變量來說,一旦離開函數(shù),其值就消失

D.靜態(tài)外部變量既可在本文件中引用,又可在其他文件中引用

53.以下程序的功能是:建立一個帶有頭結點的單向鏈表,并將存儲在數(shù)組中的字符依次轉存到鏈表的各個結點中,請從與下劃線處號碼對應的一組選項中選擇出正確的選項。

#include<stdlib.h>

structnode

{chardata;structnode*next;};

(48)CreatList(char*s)

{structnode*h,*p,*q;

h=(structnode*)malloc(sizeof(Structnode));

p=q=h;

while(*s!=‘\0’)

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

p->data=(49);

q->next=p;

q=(50);

s++;

}

p->next=0;

returnh;

}

main()

{charstr[]="linklist";

structnode*head;

head=CreatList(str);

}

A.char*B.stmctnodeC.strumnode*D.char

54.運行以下程序后,如果從鍵盤上輸入6514<回車>,則輸出結果為______。main(){intm,n;printf("Enterm,n:");scanf("%d%d",&m,&n);while(m!=n){while(m>n)m-=n;while(n>m)n-=m;}printf("m=%d\n",m);}

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

55.若有定義:inta[2][3];,以下選項中對a數(shù)組元素正確引用的是

A.a[2][!1]B.a[2][3]C.a[0][3]D.a[1>2][!1]

56.下列敘述中正確的是

A.C語言中既有邏輯類型也有集合類型

B.C語言中沒有邏輯類型但有集合類型

C.C語言中有邏輯類型但沒有集合類別

D.C語言中既沒有邏輯類型也沒有集合類型

57.下列敘述中正確的是A.C語言中既有邏輯類型也有集合類型

B.C語言中沒有邏輯類型但有集合類型

C.C語言中有邏輯類型但沒有集合類型

D.C語言中既沒有邏輯類型也沒有集合類型

58.若有以下定義:intt[3][2];,能正確表示t數(shù)組元素地址的表達式是______。

A.&t[3][2]B.t[3]C.t[1]D.*t[2]

59.在結構化設計方法中生成的結構圖(SC)中,帶有圓圈的小箭頭表示()。

A.模塊B.數(shù)據(jù)的流向C.模塊間的信息傳遞D.模塊之間的調用關系

60.詳細設計中,可用于描述詳細設計的工具有()

A.程序流程圖,SC圖、PAD圖和PDL

B.程序流程圖、N-S圖、PAD圖和PDL

C.數(shù)據(jù)流程圖、N-S圖、PAD圖和PDL

D.程序流程圖、BS圖、PAD圖和PDL

四、選擇題(20題)61.

對下述程序的判斷中,正確的是()。

#include<stdio.h>

main()

{char*p,s[256];

p=s;

while(strcmp(s,"theend"))

{printf("Inputthestrin9:");

gets(s);

while(*p)

putchar(*p++);

}}

A.此程序循環(huán)接收字符串并輸出,直到接收到字符串“theend”為止

B.此程序循環(huán)接收字符串,接收到字符串“theend”則輸出,否則程序終止

C.此程序循環(huán)接收字符串并輸出,直到接收字符串“theend”為止,但因為代碼有錯誤,程序不能正常工作

D.此程序循環(huán)接收字符串并將其連接在一起,直到接收字符串“theend”為止,輸出連接在一起的字符串

62.棧和隊列的共同特點是()。

A.都是先進先出B.都是先進后出C.只允許在端點處插入和刪除元素D.沒有共同點

63.

64.以下程序執(zhí)行后sum的值是()。main{inti,sum;for(i=1;i<6;i++)sum+=i:printf("1%d\n",sum):}A.15B.14C.不確定D.0

65.數(shù)據(jù)結構作為計算機的一門學科,主要研究數(shù)據(jù)的邏輯結構、對各種數(shù)據(jù)結構進行的運算,以及()

A.數(shù)據(jù)的存儲結構B.計算方法C.數(shù)據(jù)映像D.邏輯存儲

66.

67.C語言結構體類型變量在程序執(zhí)行期間,()。

A.所有成員一直駐留在內(nèi)存中B.沒有成員駐留在內(nèi)存中C.部分成員駐留在內(nèi)存中D.只有一個成員駐留在內(nèi)存中

68.

69.下列關于C語言文件的敘述中正確的是()。

A.文件由一系列數(shù)據(jù)依次排列組成,只能構成二進制文件

B.文件由結構序列組成,可以構成二進制文件或文本文件

C.文件由數(shù)據(jù)序列組成,可以構成二進制文件或文本文件

D.文件由字符序列組成,其類型只能是文本文件

70.

71.

72.有以下程序#include<stdio.h>main(){inti,j,m=55;for(i=1;i<=3;i++)for(j=3;j<=i;j++)m=m%j;printf(“%d\n”,m);}程序的運行結果是()A.1B.0C.2D.3

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

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

74.對于現(xiàn)實世界中事物的特征,在實體一聯(lián)系模型中使用()。A.屬性描述B.關鍵字描述C.二維表格描述D.實體描述

75.有以下語句:Charb[B];intC;,則正確的輸入語句是()。

A.

B.

C.

D.

76.

77.軟件開發(fā)中需求分析的主要任務是()。

A.定義和描述目標系統(tǒng)“做什么”B.獲取需求C.給出軟件解決方案D.需求評審

78.sizeof(float)是

A.一個雙精度表達式B.一個整型表達式

C.一種函數(shù)調用D.一個不合法的表達式

79.(6)在結構化方法中,用數(shù)據(jù)流程圖(DFD)作為描述工具的軟件開發(fā)階段是()

A.可行性分析

B.需求分析

C.詳細設計

D.程序編碼

80.若有下列定義,則對a數(shù)組元素地址的正確引用是()。inta[5],*p=a;

A.p+5B.*a+1C.&a+1D.&a[0]

五、程序改錯題(1題)81.下列給定程序中,函數(shù)fun的功能是:計算整數(shù)n的階乘。請改正程序中的錯誤,使它能得出正確的結果。注意:不要改動main函數(shù),不得增行或刪行,也不得更改程序的結構。試題程序:

六、程序設計題(1題)82.請編一個函數(shù)fun(char*str),該函數(shù)的功能是把字符串中的內(nèi)容逆置。例如,字符串中原有的字符串為asdfg,則調用該函數(shù)后,串中的內(nèi)容為gfdsa。請勿改動main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號中填入所編寫的若干語句。試題程序:

參考答案

1.B

2.B

3.C難易程度:易

4.B

5.C解析:inta,b,k=4,m=6,*p1=&k,*p2=&m;聲明整型變量a,b,k,m和指針p1,p2,并分別將4和6賦給k和m,將k和m的地址賦給P1和p2;a=p1==&m;等價于a=(p1==&m);將p1是否等于地址m的值(0)賦給變量a,b=(*p1)/(*p2)+7;該句的含義是將后面表達式的的值7賦給變量b。

6.A根據(jù)題意可知,小寫字母比與之對應的大寫字母的ASCII值大32。A選項中字符W加變量c再對字母個數(shù)26取余,不能轉換為對應的小寫字母。故本題答案為A選項。

7.D

8.Alink結構體中的next是鏈表中下一個節(jié)點的地址。由于p當前指向節(jié)點A,因此p->next是B的地址。p->next->next是C的地址,訪問C的節(jié)點數(shù)據(jù)成員dt可以使用C的地址訪問,即p->next->next->dt,選項B正確?;蛘呤褂媒庖谩?”運算符:(*p)表示節(jié)點A,(*p).next表示B的地址,*((*p).next)表示節(jié)點B,(*((*p).next)).next表示C的地址,*((*((*p).next)).next)表示節(jié)點C,所以C的數(shù)據(jù)成員dt可以表示為(*((*(*p).next).next)).dt,因為“.”運算符優(yōu)先級高于“*”運算符,所以也可以寫為(*(*(*p).next).next).dt,選項C正確。同理,也可以既使用指針運算符,又使用解引用運算符來訪問C的節(jié)點數(shù)據(jù)成員dt,即(*(p->next->next)).dt,選項D正確。選項A中,*p表示A節(jié)點,(*p).next表示節(jié)點B的地址,由于“->”運算符的優(yōu)先級高于“*”運算符,因此先執(zhí)行“->”,即表達式(*p).next->next->dt引用了C節(jié)點的數(shù)據(jù)成員dt,然后再執(zhí)行解引用運算“*”,這是錯誤的。故本題答案為A選項。

9.D

10.B

11.B【答案】:B

【知識點】:軟件生命周期

【解析】:一個軟件產(chǎn)品或軟件系統(tǒng)要經(jīng)歷孕育、誕生、成長、成熟、衰亡等階段,一般稱為軟件生命周期。它把整個軟件生存周期劃分為若干階段,使得每個階段有明確的任務,使規(guī)模大,結構復雜和管理復雜的軟件開發(fā)變的容易控制和管理。通常,軟件生存周期包括可行性分析與開發(fā)項計劃、需求分析、設計(概要設計和詳細設計)、編碼、測試、維護等活動,可以將這些活動以適當?shù)姆绞椒峙涞讲煌碾A段去完成。故選B。

12.Cmain函數(shù)定義兩個double類型的變量a、b,分別賦初值為2.5、9.0。另外定義兩個double類型的指針變量pa、pb,其中pa指向a,pb指向b。然后將b-a、pa、pb傳給函數(shù)fun,此時x的值為6.5,y指向a,z指向b?!?y=*y-1.0;”是將變量a的值減去1.0賦給a,a的值為1.5;“*z=*z+x;”是將變量b的值加上6.5賦給b,b的值為15.5。fun函數(shù)執(zhí)行完畢后,輸出a的值為1.5。故本題答案為C選項。

13.A由于a==l和a!=1兩者互斥,即總有一個為真,因此二者的或也必定為真。

14.C在C語言中,二維數(shù)組的名字表示的是二維數(shù)組的地址,表達式*(W+1)表示的是二維數(shù)組的第一行的第二個元素。在其前面再加上*(*(w+1))就是錯誤的表達式。

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

16.D需求分析階段的工作可以概括為:需求獲取、需求分析、編寫需求規(guī)格說明書、需求評審四個方面。所以選擇D。

17.D

18.B

19.A題干中,函數(shù)fun接收一個整型指針參數(shù),返回值為int類型。main函數(shù)首先定義一個函數(shù)指針a,將函數(shù)fun的地址賦給a,所以a是指向函數(shù)fun的指針,可以通過a調用函數(shù)fun。選項A中,通過a調用函數(shù)fun,可以使用(*a),接收的參數(shù)是整型變量c的地址,正確;選項B中,參數(shù)x是一個數(shù)組,錯誤;選項C中,調用b函數(shù),由于程序沒有給出函數(shù)b的定義,因此這里調用b是錯誤的,而且函數(shù)b是沒有參數(shù)的,這里調用b的時候傳入了參數(shù),所以C錯誤;選項D中,由于b是一個函數(shù),不能作為整型指針變量傳給fun函數(shù),因此D錯誤。本題答案為A選項。

20.A

21.順序結構順序結構解析:結構化程序有3種摹本結構,即順序結構、選擇結構(包括if語句和switch語句)和循環(huán)結構(包括for語句、while語句、do…while語句)。

22.繼承繼承

23.a=sb=s+1;b-s<sizeof(s)/sizeof(s[0]);b++a=s,b=s+1;b-s<sizeof(s)/sizeof(s[0]);b++解析:題目要求輸出數(shù)組中最大的數(shù),所以要遍歷整個數(shù)組,而指針a用來指向最大數(shù),所以循環(huán)變量只有使用指針b。for初始化時,應該先讓a指向第1個數(shù),然后讓b指向第2個數(shù),故循環(huán)初始化語句應該為a=s,b=s+1或其他等價表達式。因為要使b遍歷整個數(shù)組,故循環(huán)條件應該為b-s<sizeof(s)/sizeof(s[0])或其他等價表達式。最后每次循環(huán)應該讓b往后移動一位,故for的第3條語句應該是++b、b++或其他等價形勢。所以本題應填a=s,b=s+1;b-s<sizeof(s)/sizeof(s[0]);b++或其他等價語句。

24.白盒或白箱或白盒子或WhiteBox白盒或白箱或白盒子或WhiteBox解析:本題考查軟件工程的測試。測試一般有兩種方法:黑盒測試和白盒測試。黑盒測試不考慮程序的內(nèi)部邏輯結構和處理過程,只著眼于程序的外部特性。用黑盒測試來發(fā)現(xiàn)程序中的錯誤,必須用所有可能的輸入數(shù)據(jù)來檢查程序能否都能產(chǎn)生正確的輸出。白盒測試是在了解程序內(nèi)部結構和處理過程的基礎上,對程序的所有路徑進行測試,檢查路徑是否都能按預定要求正確工作。因此,劃線處應填入“白盒(箱)”或“WhiteBox”。

25.實體完整性實體完整性解析:關系模型中的完整性是指數(shù)據(jù)庫中數(shù)據(jù)的正確性和一致性。為了維護數(shù)據(jù)庫中數(shù)據(jù)與現(xiàn)實世界的一致性,關系數(shù)據(jù)庫的插入、刪除、修改操作必須遵循3類完整性規(guī)則。關系模型的3類完整性指的是實體完整性、參照完整性和用戶定義的完整性。

26.“filea.dat”“r”“filea.dat”,“r”解析:考查對文件的操作。fopen函數(shù)的調用方式通常為fopen(文件名,使用文件方式)。本題中要求程序可以打開filea.dat文件,并且是要讀取文件中的內(nèi)容,所以空白處應當填入'filea.dat','r'。

27.繼承繼承解析:在面向對象的程序設計方法中,某些屬性和方法是可以共享的,由于類從父類中繼承而來,這樣提高了軟件的可重用性。

28.驅動模塊驅動模塊解析:在進行模塊測試時,要為每個被測試的模塊另外設計兩類模塊:驅動模塊和承接模塊(樁模塊)。其中,驅動模塊相當于被測試模塊的主程序,它接收測試數(shù)據(jù),并傳給被測試模塊,輸出實際測試結果。承接模塊通常用于代替被測試模塊調用的其他模塊,其作用僅做少量的數(shù)據(jù)操作,是一個模擬子程序,不必將子模塊的所有功能帶入。

29.a=14a=14解析:逗號表達式的值是以逗號分隔的最后一個表達式的值。所以題目中的語句a=(3*5,a+4);就等價于a=a+4;。故本題輸出結果是a=14。

30.

31.實體完整性實體完整性

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

33.邏輯關系邏輯關系

34.I<na[I]I<n,a[I]解析:該程序直接使用形參max和d,由于它們都是指針變量,所以要引用它們所指向的變量時,要對它們進行指針運算,即*號運算。

35.double或雙精度型double或雙精度型

36.21

37.n/2性表的任何位置插入一個元素的概率相等,即概率為p=1/(n+1),則插入一個元素時所需移動元素的平均次數(shù)為E=1/(n+1)(n-i+1)=n/2。

38.程序正確性程序正確性

39.概念(或概念級)概念(或概念級)

40.33解析:i=1時,f(1)=1,j=j+f(1)=0+1=1;i=2時,f(2)=f(1)+1=1+1=2:j=j+f(2)=1+3=3;此時循環(huán)結束,程序運行后的輸出結果是3。

41.B解析:二叉樹有如下性質:深度為m的二叉樹最多有2的m次方再減1個結點,也就是2m-1=25-1=32-1=31。由此可知答案為B。

42.B解析:C語言的字符以其ASCII碼的形式存在,所以要確定某個字符是大寫字母,只要確定它的ASCII碼在'A'和'Z'之間就可以了,選項A)和C)符合要求。函數(shù)isalpha用來確定一個字符是否為字母,大寫字母的ASCII碼值的范圍為65到90,所以如果一個字母的ASCII碼小于91,那么就能確定它是大寫字母。

43.B解析:賦值運算符按照“從右往左”的結合順序。因此,先執(zhí)行x-=x-x,即x=x-(x-x)=10;再執(zhí)行x+=x,即x=x+x=20,故正確選項為B。

44.C解析:函數(shù)調用的一般形式為:函數(shù)名(實參表列);,實參與形參的個數(shù)應相等,類型應一致,在調用函數(shù)時,不要指定其返回類型,對于返回類型為void的函數(shù),不能作為賦值表達式的組成部分,所以選C。

45.A解析:“清晰第一,效率第二”,在考慮到程序的執(zhí)行效率的同時,一定要保證程序清晰、可讀;對符號名的命名,除了要符合語法要求外,還要具有一定的含義;程序的注釋可以幫助程序員理解程序,不是可有可無的。

46.D解析:在概念設計中按照模塊的劃分畫出每個模塊的E-R圖,然后把這些圖合成一張E-R圖作為全局模型,最后應該對全局E-R圖進行優(yōu)化,看看是否有重復和不合理的地方。不能只是進行簡單的合并。

47.C解析:通常認為,面向對象方法具有封裝性、繼承性、多態(tài)性幾大特點。就是這幾大特點,為軟件開發(fā)提供了一種新的方法學。

封裝性:所謂封裝就是將相關的信息、操作與處理融合在一個內(nèi)含的部件中(對象中)。簡單地說,封裝就是隱藏信息。這是面向對象方法的中心,也是面向對象程序設計的基礎。

繼承性:子類具有派生它的類的全部屬性(數(shù)據(jù))和方法,而根據(jù)某一類建立的對象也都具有該類的全部,這就是繼承性。繼承性自動在類與子類間共享功能與數(shù)據(jù),當某個類作了某項修改,其子類會自動改變,子類會繼承其父類所有特性與行為模式。繼承有利于提高軟件開發(fā)效率,容易達到一致性。

多態(tài)性:多態(tài)性就是多種形式。不同的對象在接收到相同的消息時,采用不同的動作。例如,一個應用程序包括許多對象,這些對象也許具有同一類型的工作,但是卻以不同的做法來實現(xiàn)。不必為每個對象的過程取一過程名,造成復雜化,可以使過程名復用。同一類型的工作有相同的過程名,這種技術稱為多態(tài)性。

經(jīng)過上述分析可知,在面向對象方法中,實現(xiàn)信息隱蔽是依靠對象的封裝。正確答案是選項C。

48.D解析:本題的考查點是運算符在表達式中的處理原則。本題中把y+z的值賦給x,由于y和z都等于0,所以x的值也為0,表達式值為false,輸出####。if語句中if后面的表達式—般為邏輯或關系表達式,但也可以是任意的數(shù)值類型。

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

50.C解析:本題考查的是if...else語句的使用。x=2.0,符合第二個IF語句的條件x<10.0,所以執(zhí)行y=1.0/x語句,即y=1.0/2.0=0.500000。

51.B解析:條件運算符要求有3個操作對象,稱三目(元)運算符,它是C語言中惟一的一個三目運算符。條件表達式的一般形式為:表達式17表達式2:表達式3其求解順序是:先求解表達式1,若為非O(真)則求解表達式2,此時表達式2的值就作為整個條件表達式的值。若表達式1的值為0(假),則求解表達式3,表達式3的值就是整個條件表達式的值。并且注意++、--的用法。

52.B

53.C

54.C解析:分析程序可知,該程序實現(xiàn)的功能是對數(shù)m,n求其最大公約數(shù)。在本題中m與n的值分別為65與14,其最大公約數(shù)為1,故其輸出結果為m=1。

55.D解析:C語言中數(shù)組下標是從0開始的,所以二維數(shù)組a[2][3]的第一維下標取值為0、1;第二維的下標取值為0、1、2,因而選項A)、B)、C)都是錯誤的,選項D)表示數(shù)組元素a[0][0]。

56.D解析:本題考核的知識點是c語言數(shù)據(jù)類型.在C語言中沒有邏輯類型,邏輯類型用整型來表示,故選項A和選項C不正確;C語言中沒有集合類型,故選項B不正確。所以,D選項為所選。

57.D解析:在C語言中沒有邏輯類型,邏輯類型用整型來表示,故選項A和選項C不正確,C語言中沒有集合類型,故選項B不正確。所以,D選項為所選。

58.C解析:選項A和B兩個表達式都越界了;選項D中,*t[2]是目標變量,即—個整型值,而不是地址值。

59.C解析:在結構化設計方法中生成的結構圖(SC)中,包括以下4種成分:模塊(用矩形框表示)、調用(帶有箭頭的連線)、模塊間信息傳遞(帶有圓圈的小箭頭)、輔助符號(如菱形符號表示有條件的選擇,循環(huán)調用符號表示循環(huán)調用下層模塊等)。

60.B

61.C

\n外部變量在編譯時由系統(tǒng)分配永久的內(nèi)存空間,所以外部變量的類型不是自動存儲類別。

\n

62.C解析:考查棧和隊列概念的掌握。棧和隊列都是一種特殊的操作受限的線性表,只允許在端點處進行插入和刪除。二者的區(qū)別是:棧只允許在表的一端進行插入或刪除操作,是一種'后進先出'的線性表;而隊列只允許在表的一端進行插入操作,在另一端進行刪除操作,是一種'先進先出'的線性表。模塊之間的耦合程度反映了模塊的獨立性,也反映了系統(tǒng)分解后的

溫馨提示

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

評論

0/150

提交評論