2022-2023年內(nèi)蒙古自治區(qū)巴彥淖爾市全國計算機等級考試C語言程序設(shè)計知識點匯總卷(含答案)_第1頁
2022-2023年內(nèi)蒙古自治區(qū)巴彥淖爾市全國計算機等級考試C語言程序設(shè)計知識點匯總卷(含答案)_第2頁
2022-2023年內(nèi)蒙古自治區(qū)巴彥淖爾市全國計算機等級考試C語言程序設(shè)計知識點匯總卷(含答案)_第3頁
2022-2023年內(nèi)蒙古自治區(qū)巴彥淖爾市全國計算機等級考試C語言程序設(shè)計知識點匯總卷(含答案)_第4頁
2022-2023年內(nèi)蒙古自治區(qū)巴彥淖爾市全國計算機等級考試C語言程序設(shè)計知識點匯總卷(含答案)_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2022-2023年內(nèi)蒙古自治區(qū)巴彥淖爾市全國計算機等級考試C語言程序設(shè)計知識點匯總卷(含答案)學(xué)校:________班級:________姓名:________考號:________

一、單選題(20題)1.對于循環(huán)隊列()。

A.無法判斷隊列是否為空B.無法判斷隊列是否為滿C.隊列不可能滿D.以上說法都不對

2.以下敘述中正確的是()。

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

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

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

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

3.

4.下面關(guān)于線性表的敘述中,錯誤的是哪一個()。

A.線性表采用順序存儲,必須占用一片連續(xù)的存儲單元

B.線性表采用順序存儲,便于進(jìn)行插入和刪除操作

C.線性表采用鏈?zhǔn)酱鎯Γ槐卣加靡黄B續(xù)的存儲單元

D.線性表采用鏈?zhǔn)酱鎯?,便于進(jìn)行插入和刪除操作

5.

6.若有語句“typedefstructTT{charc;inta[4];}CIN;”,則下列敘述中正確的是()。

A.CIN是structTT類型的變量

B.TT是struct類型的變量

C.可以用TT定義結(jié)構(gòu)體變量

D.可以用CIN定義結(jié)構(gòu)體變量

7.有以下語句:intb;charc[10];,則正確的輸入語句是______。

A.scanf("%d%s",&b,&c);

B.scanf("%d%s",&b,c);

C.scanf("%d%s",b,c);

D.scanf("%d%s",b,&c);

8.若有定義“inta[2][3],*p[3];”,則以下語句中正確的是()。

A.p=a;B.p[0]=a;C.p[0]=&a[1][2];D.p[1]=&a;

9.已知shortint類型變量占用兩個字節(jié),若有定義:shortintx[10]={0,2,4};,則數(shù)組x在內(nèi)存中所占字節(jié)數(shù)是()。

A.3B.6C.10D.20

10.有下列程序:main{inti,j,x=0;for(i=0,i<2;i++){x++;for(j=0;j<=3;j++){if(j%2)continue;x++:}x++:}printf("x=%d\n",x);}程序執(zhí)行后的輸出結(jié)果是()。A.x=4B.x=8C.x=6D.x=12

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

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

12.下面不能正確表示a*b/(c*d)的表達(dá)式是()。

A.(a*b)/c*dB.a*b/(c*d)C.a/c/d*bD.a*b/c/d

13.下列條件語句中,輸出結(jié)果與其他語句不同的是()。

A.if(a)printf("%dn",x);elseprint[("%d\n",y)

B.if(a=0)pritf("%dn",y);elseprint[("%d\n",x)

C.if(a!一0)printf("%dn",x);elseprint[("%a\n",y)

D.if(a=O)print[("%dn",x);elseprintf("%d\n",y)

14.有以下程序:

程序運行后的輸出結(jié)果是()。A.AaB.AbC.abD.Ba

15.有以下程序#definef(x)x*xmain(){inti;i=f(4+4)/f(2+2);printf(“%d\n”,i);}執(zhí)行后輸出結(jié)果是()A.28B.22C.16D.4

16.順序查找不論在順序線性表中還是在鏈?zhǔn)骄€性表中的時間復(fù)雜度為()。

A.O(n)B.O(n^2)C.O(n^1/2)D.O(1og2n)

17.

18.判斷char型變量c1是否為小寫字母的正確表達(dá)式為()。

A.'a'<=c1<='Z'

B.(c1>=A)‖c1<=z)

C.('a'=>c1‖("z"<=c1)

D.(c1>='a')&&(c1<='z')

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

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

20.設(shè)有宏定義“#defineIsDIV(k,n)((k%n==1)?1:0)”,且變量m已正確定義并賦值,則宏調(diào)用“IsDIV(m,5)&&IsDIV(m,7)”為真時所要表達(dá)的是()。

A.判斷m是否能被5和7整除

B.判斷m被5和7整除是否都余1

C.判斷m被5或者7整除是否余1

D.判斷m是否能被5或者7整除

二、2.填空題(20題)21.以下程序的功能是調(diào)用函數(shù)fun計算:m=1-2+3-4+…+9-10,并輸出結(jié)果。請?zhí)羁铡?/p>

intfun(intn)

{

intm=0,f=1,i;

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

{

m+=i*f;

f=______;

}

returnm;

}

main()

{printf(“m=%d\n”,______)};

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

#include<string.h>

typedefstructstudent{

charname[10];

longsno;

floatscore;

}STU;

main()

STUa={"Zhangsan",2001,95},b={"Shangxian",2002,90},

c={"Anhua",2003,95},d,*p=&d;

d=a;

if(strcmp(,)>0)d=b;

if(strcmp(,)>0)d=c;

printf("%1d%s\n",d.sno,p->name);

}

23.在C語言中,可以利用【】,將一個表達(dá)式的值轉(zhuǎn)換成指定的類型。

24.對于軟件測試,從是否需要執(zhí)行被測軟件的角度,可以分為靜態(tài)測試和動態(tài)測試。代碼檢查屬于______測試。

25.下程序的輸出結(jié)果是【】。

#include<stdio.h>

#defineMAX_COUNT4

voidfun()

main()

{intcount;

for(count=1;count<=MAX_COUNT;coun++)fun();

}

voidfun()

{staicinti;

i+=2;

printf(”%d,i);

}

26.在索引查找或分塊查找中,首先查找【】,然后再查找相應(yīng)的【】,整個索引查找的平均查找長度等于查找索引表的平均查找長度與查找相應(yīng)子表的平均查找長度之和。

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

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

main()

{

charc1,c2;

for(c1='0',c2='9';c1<c2;c1++,c2--)

printf("%c%c",c1,c2);

printf("\n");

}

29.按照邏輯結(jié)構(gòu)分類,結(jié)構(gòu)可以分為線性結(jié)構(gòu)和非線性結(jié)構(gòu),棧屬于______。

30.一個項目具有一個項目主管,一個項目主管可管理多個項目,則實體“項目主管”與實體“項目”的聯(lián)系屬于【】。

31.若x,y和z均是int型變量,則執(zhí)行下面表達(dá)式后的x值為【】。

x=(y=4)+(z=2)

32.以下sstrcpy()函數(shù)實現(xiàn)字符串復(fù)制,即將t所指字符串復(fù)制到s所指內(nèi)存空間中,形成一個新字符串s。請?zhí)羁铡?/p>

voidsstrcpy(char*s,char*t)

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

main()

{charstrl[100],str2[]="abcdefgh";

sstrcpy(str1,str2);

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

}

33.若有定義語句chars[100],d[100];intj=0,i=0;且s中已賦字符串,請?zhí)羁找詫崿F(xiàn)拷貝。(注:不使用逗號表達(dá)式)

whi1e()s[i]){d[j]=【】:j++;}

d[j]=0;

34.在面向?qū)ο蟮姆椒ㄖ校琠_____描述的是具有相似屬性與操作的一組對象。

35.以下程序的輸出結(jié)果是【】。

main()

{

intarr[]={30,25,20,15,10,5},*p=arr;

p++;

printf("%d\n",*(p+3));

}

36.測試的目的是暴露錯誤,評價程序的可靠性;而______的目的是發(fā)現(xiàn)錯誤的位置并改正錯誤。

37.有以下程序段,且變量已正確定義和賦值。

for(s=1.0,k=1;k<=n;k++)s=s+1.0/(k*(k/1));

printf("s=%f\n\",s);

請?zhí)羁?,使下面程序段的功能與之完全相同。

s=1.0;k=1;

while(【】){s=s+1.0/(k*(k+1));【】;}

printf("s-=%f\n\n",s);

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

39.數(shù)據(jù)模型是數(shù)據(jù)庫系統(tǒng)中用于提供信息表示和操作手段的結(jié)構(gòu)形式。實際數(shù)據(jù)庫系統(tǒng)中所支持的數(shù)據(jù)模型主要有層次模型、網(wǎng)狀模型和【】3種。

40.現(xiàn)有兩個C程序文件T18.c和myfun.c同在TC系統(tǒng)目錄(文件夾)下,其中T18.c文件如下:

#include<stdio.h>

#include"myfun.c"

main()

{fun();printf("\n");}

myfun.c文件如下:

voidfun()

{chars[80],c;intn=0;

while((c=getchar())!=′\n′)s[n++]=c;

n--;

while(n>=0)printf("%c",s[n--]);

}

當(dāng)編譯連接通過后,運行程序T18時,輸入Thank!,則輸出結(jié)果是【】。

三、1.選擇題(20題)41.在執(zhí)行完下列的C語句段之后,則B的值是()。chara='A';intb;B=((34&&56)&&(a<'b'));

A.0B.1C.TRUED.FALSE

42.下列程序的執(zhí)行結(jié)果是()。#include<stdio.h>main(){inta,b,c;a=b=2;c=(a++)-1;printf("%Ad,%d",a,C);c+=-a+++(++B);printf("%d,%d",a,C);}

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

43.在瀏覽WWW時,如果連接到一個安全的站點,應(yīng)當(dāng)以()開頭來書寫統(tǒng)一資源定位器。

A.shttp://B.http:s//C.http://D.https//

44.下面可以作為C語言用戶標(biāo)識符的一組是

A.voiddefineWORD

B.a3_b3_123IF

C.for--abccase

D.2aD0sizeof

45.使計算機病毒傳播范圍最廣的媒介是________

A.硬磁盤B.軟磁盤C.內(nèi)部存儲器D.互聯(lián)網(wǎng)

46.設(shè)有下列二叉樹:

對此二叉樹后序遍歷的結(jié)果為

A.ABCDEFB.DBEAFCC.ABDECFD.DEBFCA

47.有以下程序unionmyun{struct{intx,y,z;}u;intk;}a;main(){a.u.x=4;a.u.y=5;a,u.z=6;a.k=0;printf("%d\n",a.u.x);}程序運行后的輸出結(jié)果是()

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

48.在下列敘述中,錯誤的一條是()

A.形式參數(shù)是局部變量

B.不同函數(shù)中,可以使用相同名字的變量

C.主函數(shù)main中定義的變量在整個文件或程序中有效

D.在―個函數(shù)內(nèi)部,可在復(fù)合語句中定義變量,這些變量只在本復(fù)合語句中有效

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

A.strcpy(str1,"HELLO1");

B.strcpy(str2,"HELLO2");

C.strcpy(str3,"HELLO3");

D.strcpy(str4,"HELLO4");

50.設(shè)intx=7,則~x的值是()。

A.-8B.-7C.-1D.1

51.在面向?qū)ο蟮某绦蛟O(shè)計中,能表示類之間相似性質(zhì)的機制是()。

A.繼承B.封裝C.分類D.動態(tài)連接

52.下列不屬于軟件工程的3個要素的是______。

A.工具B.過程C.方法D.環(huán)境

53.若有如下程序:#definePI3.1415926#defineA(r)2*PI*rmain(){floata,1;a=3.0;1=A(a);printf("r=%.2f,1=%.2f\n",a,1);}則程序運行后的輸出結(jié)果是()

A.r=3.001=18.85

B.3.00,18.85

C.r=3.0000001=18.8495555

D.r=3.01=18.8495555

54.以下程序的輸出結(jié)果是()。mam(){charcf[3][5]={"AAAA","BBB","CC");printf("\"%s\"n",cf[1]);}

A.AAAAB.BBBC.BBBCCD.CC

55.在數(shù)據(jù)庫設(shè)計中,將E-R圖轉(zhuǎn)換為關(guān)系模式的過程屬于()。

A.需求分析階段B.邏輯設(shè)計階段C.概念設(shè)計階段D.物理設(shè)計階段

56.以下敘述中正確的是()。

A.調(diào)用printf函數(shù)時,必須要有輸出項

B.使用putchar函數(shù)時,必須在之前包含頭文件stdio.h

C.在C語言中,整數(shù)可以以十二進(jìn)制、八進(jìn)制或十六進(jìn)制的形式輸出

D.調(diào)用getchar函數(shù)讀入字符時,可以從鍵盤上輸入字符所對應(yīng)的ASCⅡ碼

57.C語言中共用體類型變量在程序運行期間()

A.最后一次存放的成員起作用,其他成員都已失去作用

B.已存放的一部分成員在內(nèi)存中起作用

C.已存放的成員沒有一個在內(nèi)存中起作用

D.已存放的所有成員在內(nèi)存中都起作用

58.設(shè)有如下定義:structsk{intm;floatx;}data,*q;若要使q指向data中的m域,正確的賦值語句是()。

A.q=&data.m;

B.*q=data.m;

C.q=(structsk*)&data.m;

D.q=(structsk*)data.m;

59.請選出正確的程序段______。

A.int*pscanf(""%d"",p);……

B.int*s,k;*s=100;……

C.int*s,k;char*p,c;s=&k;p=&c;*p='a';……

D.int*s,k;char*p,e;s=&k;p=&c;s=p;*s=1;……

60.下列程序的輸出結(jié)果是______。main(){chara[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5;printf("%d",*--p);}

A.非法B.a[4]的地址C.5D.3

四、選擇題(20題)61.

62.下面不屬于軟件工程三要素的是()。

A.方法B.環(huán)境C.工具D.過程

63.有以下程序:

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

A.zB.0C.元素eh[5]的地址D.字符Y的地址

64.函數(shù)調(diào)用strcat(strcpy(str1,str2),str3)的功能是()。

A.將字符串str1復(fù)制到字符串str2中后再連接到字符串str3之后

B.將字符串str1連接到字符串str2之后再復(fù)制到字符串str3之后

C.將字符串str2復(fù)制到字符串str1之后再將字符串str3連接到字符串str1之后

D.將字符串str2連接到字符串str1之后再將字符串strl復(fù)制到字符串str3中

65.設(shè)有:

inta=1,b=2,c=3,d=4,m=2,n=2;

執(zhí)行(m=a>b)&&(n=c>d)后,n的值是

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

66.以下敘述中錯誤的是()。A.可以通過typedef增加新的類型

B.可以用typedef已存在的類型用一個新的名字來代表

C.用pypedef義新的類型名后,原有類型名仍有效

D.用pypedef以為各種類型起別名,但不能為變量起別名

67.

68.有以下程序段:intx=3;do{printf("%d",x-=2);)while(!(--x));其輸出結(jié)果是()。A.1B.30C.1-2D.死循環(huán)

69.

70.

71.

72.

73.以下程序中函數(shù)f的功能是:當(dāng)na9為1時,進(jìn)行由小到大排序;當(dāng)na9為0時,進(jìn)行由大到小排序。

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

A.1,2,3,4,5,6,7,8,9,10,

B.3,4,5,6,7,2,1,8,9,10,

C.5,4,3,2,1,6,7,8,9,10,

D.10,9,8,7,6,5,4,3,2,1,

74.

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

inta=5;

floatx=3.14;

a*=x*(‘E’-‘A’);

printf(“%f\n”,(float)a);

A.62.000000B.62.800000C.63.000000D.62

76.

77.

78.

79.

80.

五、程序改錯題(1題)81.以下程序可把輸入的十進(jìn)制數(shù)以十六進(jìn)制數(shù)的形式輸出。請在橫線上填上適當(dāng)?shù)膬?nèi)容并把橫線刪除,使它能得出正確的結(jié)果。注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:

六、程序設(shè)計題(1題)82.使用VC++2010打開考生文件夾下prog1中的解決方案。此解決方案的項目中包含一個源程序文件prog1.c。在此程序中,請編寫函數(shù)fun(),其功能是找出一維整型數(shù)組元素中最大的值及其所在的下標(biāo),并通過形參傳回。數(shù)組元素中的值已在主函數(shù)中賦予。主函數(shù)中x是數(shù)組名,n表示x中的元素個數(shù),max存放最大值,index存放最大值所在元素的下標(biāo)。注意:部分源程序給出如下。請勿改動主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號中填入你編寫的若干語句。試題程序:#include<time.h>#include<stdlib.h>#include<stdio.h>voidfun(inta[],intn,int*max,int*d){}voidmain(){ inti,x[20],max,index,n=10; srand((unsigned)time(NULL)); for(i=0;i<=n;i++) { x[i]=rand()%50; printf(“%4d”,x[i]); /*輸出一個隨機數(shù)組*/ } printf(n\nH); fun(xfnf&max,&index); printf(“Max=%5d,Index=%4d\n”,max,index);}

參考答案

1.D

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

3.C

4.B

5.C

6.DCIN為結(jié)構(gòu)體類型名,而不是結(jié)構(gòu)體變量。故本題答案為D選項。

7.B解析:b是整型數(shù),在輸人語句中要加取地址符,而c是數(shù)組名,本身就是數(shù)組的首地址,因此不用加取地址符。

8.CA選項錯誤,因為p是指向一個指針數(shù)組,而數(shù)組名相當(dāng)于常量,不能重新賦值。B選項錯誤,因為p[0]是一個int指針,也就是int*,而a是一個指向指針的指針int**。C選項正確,因為p[0]是int*,a[1][2]是int,&a[1][2]是int*,類型吻合。D選項錯誤,因為a作為數(shù)組名,不能取地址,即使能取,P[1]是int*,&a是int***,類型不吻合。故本題答案為C選項。

9.D

10.B在第1次外層for循環(huán)中,首先x++得到x=1。進(jìn)入到內(nèi)層for循環(huán),只有循環(huán)j的值為奇數(shù)時,變量x的值才自加1,所以在內(nèi)層for循環(huán)執(zhí)行過程中,變量x的值自加兩次,當(dāng)退出內(nèi)層for循環(huán)時,x=3,然后執(zhí)行x++,得到x=4。在進(jìn)入執(zhí)行第2次外層for循環(huán)中,首先x++得到x=5。進(jìn)入到內(nèi)層for循環(huán),只有循環(huán)變量j的值為奇數(shù)時,變量x的值才自加1,所以在內(nèi)層for循環(huán)執(zhí)行過程中,變量X的值自加1兩次,當(dāng)退出內(nèi)層for循環(huán)時,x=7,然后執(zhí)行x++,得到x=8,所以打印輸出變量x的值為8。

11.D

12.A

13.D主要考查if判斷語句,A選項if(a),如果a為真,則輸出X,否則輸出Y。B選項if(a==0),如果a恒等于0,則輸出Y,否則輸出X。C選項a(!=o),如果a不等于0,則輸出X,否則輸出y。D選項if(a==0),如果a恒等于0,則輸出X,否則輸出y。由以上結(jié)論可知,輸出結(jié)果不同的為D選項。

14.B函數(shù)fun將形參b賦給形參a,使得a和b都指向原b所指向的地址,然后對該地址的值執(zhí)行自增1;main函數(shù)中p1指向ch1,p2指向ch2。通過fun函數(shù)的調(diào)用,將ch2的值完成自增1,字符’a’自增1后變成字符’b’,所以程序輸出:Ab。本題答案為B選項。

15.A解析:f(4+4)/f(2+2)=4+4*4+4/2+2*2+2=28。

16.A

17.C

18.D解析:C語言規(guī)定,字符常量在程序中要用單引號括起來。判斷c1是否為小寫字母的充要條件c1>='a'和c1<='z',用邏輯與(&&)來表示。A選項的這種形式在C語言中沒有,所以選項D)正確.

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

20.B邏輯與運算兩邊運算對象的值都為真時,結(jié)果才為真。所以需要m能被5和7整除都余1。故本題答案為B選項。

21.-f或f*-1或-1*f或f*(-1)或(*1)*f。fun(10)-f或f*-1或-1*f或f*(-1)或(*1)*f。\r\nfun(10)解析:本題考核的知識點是C程序的簡單應(yīng)用。本題要求調(diào)用fun()函數(shù)計算m的值,故在主函數(shù)中的空格處應(yīng)該填調(diào)用fun()函數(shù)的語句。fun()函數(shù)有一個形參n,為每次參加計算的值的個數(shù),故在主函數(shù)中的空格處應(yīng)該填fun(10),回到fun()函數(shù),函數(shù)用到了一個for循環(huán),共循環(huán)n次,當(dāng)循環(huán)第i次的時候,m的值等于m=1-2+……+[(-1)的i-1次方]*1所以在fun()函數(shù)的空格處應(yīng)該填使f改變符號的語句,故應(yīng)填*f或f*-1或-1*f或f*(-1)或(-1)*f。

22.2002Shangxian2002Shangxian解析:本題中首先定義一個結(jié)構(gòu)體類型STU,該結(jié)構(gòu)體由一個長度為10的字符型數(shù)組、一個long型變量和一個float型變量組成。接著在主函數(shù)中用STU定義了4個結(jié)構(gòu)體變量a、b、c、d,并且給a、b、c賦初值,然后定義了一個結(jié)構(gòu)體指針p,并讓它指向變量do將變量a的值賦給變量d,接著通過兩個if語句比較結(jié)構(gòu)體變量a、b、c的成員name大小。第一個if語句將結(jié)構(gòu)體變量和結(jié)構(gòu)體變量中較小的那個賦值給結(jié)構(gòu)體變量d,第二個if語句將結(jié)構(gòu)體變量和結(jié)構(gòu)體變量較大的那個賦給結(jié)構(gòu)體變量do比較通過函數(shù)strcmp實現(xiàn)。strcmp()函數(shù)有兩個參數(shù),分別為被比較的兩個字符串。如果第一個字符串大于第二個字符串返回值大于0,若第一個小于第二個返回值小于0,相等時返回值為0。字符串比較大小的標(biāo)準(zhǔn)是從第一個字符開始依次向右比較,遇到某一個字符大,該字符所在的字符串就是較大的字符串,如果遇到某一個字符小,該字符所在的字符串就是較小的字符串。程序中第一個if語句strcmp(,)>0為真,故將b的值賦給d,第二個if語句strcmp(,)>0為假,故不執(zhí)行后面的語句,最后d的值為b的值,因此輸出d.sn0和p->name的值為2002Shangxian。

23.強制類型轉(zhuǎn)換強制類型轉(zhuǎn)換

24.靜態(tài)靜態(tài)解析:靜態(tài)測試包括代碼檢查、靜態(tài)結(jié)構(gòu)分析,代碼質(zhì)量度量等。靜態(tài)測試不實際運行軟件。

25.2468(若字符間有空格扣1分)2468(若字符間有空格扣1分)

26.索引表塊索引表\r\n塊

27.概念(或概念級)概念(或概念級)

28.09182736450918273645解析:題目中為for循環(huán)定義了兩個字符型循環(huán)變量c1和c2,循環(huán)開始時分別初始化為字符‘0’和‘9’,然后每次循環(huán)結(jié)束給c1增1、c2減l,循環(huán)條件為c1<c2,即讓c1的值依次為‘0’、‘1’、‘2’…,c2的值依次為‘9’、‘8’、‘7’…,直到兩個數(shù)相遇時結(jié)束循環(huán)。又因為該循環(huán)的循環(huán)體每次按字符形式輸出c1和c2的值。所以最終的輸出結(jié)果為:0918273645。

29.線性結(jié)構(gòu)線性結(jié)構(gòu)解析:數(shù)據(jù)的邏輯結(jié)構(gòu)是指數(shù)據(jù)元素之間的邏輯關(guān)系,分為線性結(jié)構(gòu)和非線性結(jié)構(gòu)。常見的線性結(jié)構(gòu)有線性表、棧和隊列等,常見的非線性結(jié)構(gòu)有樹、二叉樹等。

30.一對多一對多解析:由于一個項目主管可以管理多個項目,而一個項目只能有一個項目主管,“項目主管”這個實體與“項目”這個實體的管理關(guān)系屬于一對多。

31.6

32.*t++*t++解析:要使sstrcpy函數(shù)實現(xiàn)字符串復(fù)制,必須將t字符串中的每個字符逐個復(fù)制到s字符串中,可以使用*s=*t;s++;t++,也可以寫成*s++=*t++,因此空格處填*t++。

33.s[i++]s[i++]解析:本題中為了能實現(xiàn)字符串的拷貝,需要使字符數(shù)組s從頭到尾依次遍歷其所有元素。本題應(yīng)使用i的自增后置來實現(xiàn)。

34.類類解析:在面向?qū)ο蟮姆椒ㄖ校丫哂邢嗤瑢傩院头椒ǖ膶ο蠓Q為類,類是對象的抽象,對象是類的實例。

35.1010解析:整型指針最初被賦的值是數(shù)組arr的頭指針,即指向數(shù)組的第一個元素30,p++后,指針指向數(shù)組的下一個元素,即*p=arr[1]=25,在執(zhí)行*(p+3)時,則相當(dāng)于a[1+3],即10。因此,輸出應(yīng)為100。

36.調(diào)試調(diào)試

37.k<=n或n>=kk++k<=n或n>=k\r\nk++解析:while語句和for語句的作用都是循環(huán)控制語句的執(zhí)行,兩者之間是可以互相轉(zhuǎn)換的。將while(EXP)轉(zhuǎn)換為for語句可以寫成for(;EXP;);將for(EXP1;EXP2;EXP3)轉(zhuǎn)換為while語句可以寫成:EXP1;while(EXP2){...EXP3;}。故本題的兩個空分別應(yīng)填寫for語句的第2和第3個表達(dá)式。即k<=n或n>=k和k++。當(dāng)然也可寫成與之等價的其他形式。

38.軟件開發(fā)

39.關(guān)系模型關(guān)系模型

40.!knahT!knahT解析:此程序是一道次序顛倒題,即輸入'Thank!',則輸出'!knahT'。

41.B解析:本題考查C語言3個知識點:①將一個字符賦給一個字符變量時,并不是將該字符本身存儲到內(nèi)存中,而是將該字符對應(yīng)的ASCII碼存儲到內(nèi)存單元中;②大寫字母的ASCII碼值小于其對應(yīng)小寫字母的ASCII碼值;③只要邏輯與運算符&&的兩個運算對象都為非零,返回值就是1。

42.A解析:本題主要考查自加運算符(++、--)的使用。①前綴變量“++i,--i”,在使用i之前,先使i的值加1或者減1,再使用此時的表達(dá)式的值參與運算;②后綴變量“i++、i--”,先使用此時的表達(dá)式的值參與運算,在使用i之后,再使i的值加1或者減1。題中計算表達(dá)式c=(a++)-1時先使用a的值進(jìn)行計算,結(jié)果為c=2-1=1,然后將a的值加1,即執(zhí)行完此語句后a的值是3,表達(dá)式c+=-a+++(++B)等價于c=c+(-a++)+(++B),c=1+(-3)+3=1,此時a=4,b=3。

43.C

44.B解析:在C語言中,合法的標(biāo)識符可以由字母、數(shù)字和下劃線組成,其中關(guān)鍵字不能作為用戶的標(biāo)識符,且開頭的第一個字符必須為字母或下劃線。選項A中void為關(guān)鍵字;選項C中for和case為關(guān)鍵字;選項D中sizeof為關(guān)鍵字。

45.D

46.D解析:二叉樹的遍歷分為先序、中序、后序三種不同方式。本題要求后序遍歷,其遍歷順序應(yīng)該為:后序遍歷左子樹->,后序遍歷右子樹->,訪問根結(jié)點。按照定義,后序遍歷序列是DEBFCA,故答案為D。

47.D

48.C

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

50.A解析:本題主要考查按位求反運算和C語言中正負(fù)數(shù)的表示,“0”代表正數(shù),“1”代表負(fù)數(shù);x=7的二進(jìn)制為00111,第一個0代表正數(shù),~x為11000,第一個1代表負(fù)數(shù),值為8。

51.A解析:在面向?qū)ο蟮某绦蛟O(shè)計中,繼承是表示類之間相似性的機制。

52.D解析:本題考查了軟件工程的基本概念。軟件工程包括3個要素,即方法、工具和過程。方法是完成軟件工程項目的技術(shù)手段;工具支持軟件的開發(fā)、管理和文檔生成;過程支持軟件開發(fā)的各個環(huán)節(jié)的控制和管理。

53.A

54.B解析:二維字符數(shù)組可以看成由若干個一維字符數(shù)組組成,每行是一個一維字符數(shù)組。本題首先定義了一個數(shù)組ch[3][5],并給它們按行賦初值,即相當(dāng)于給eh[0]賦值“AAAA”,給ch[1]賦值“BBB”,給eh[2]賦值“BBB”,最后輸出轉(zhuǎn)義字符“?!?、ch[1]和轉(zhuǎn)義字符“\\”,因此輸出為“BBB”。所以,4個選項中B為所選。

55.BB?!窘馕觥繑?shù)據(jù)庫設(shè)計階段主要包括需求分析、概念設(shè)計、邏輯設(shè)計和物理設(shè)計。其中邏輯設(shè)計的主要工作是將E-R圖轉(zhuǎn)換為關(guān)系模式。

56.B

57.A

58.C利用強制類型轉(zhuǎn)換(structsk*)把整數(shù)型地址&data.m轉(zhuǎn)換成結(jié)構(gòu)體變量指針賦給結(jié)構(gòu)體指針變量q。

59.C解析:本題的選項A)和B)犯了同樣的錯誤,即指針變量在定義后并沒有指向具體的變量。也就是說,指針變量中沒有確定的地址值,它的值是不可預(yù)見的,所指的單元也是不可預(yù)見的,因此不能進(jìn)行賦值操作。另外,在選項D)

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論