2021-2022年山東省青島市全國計算機等級考試C語言程序設計預測試題(含答案)_第1頁
2021-2022年山東省青島市全國計算機等級考試C語言程序設計預測試題(含答案)_第2頁
2021-2022年山東省青島市全國計算機等級考試C語言程序設計預測試題(含答案)_第3頁
2021-2022年山東省青島市全國計算機等級考試C語言程序設計預測試題(含答案)_第4頁
2021-2022年山東省青島市全國計算機等級考試C語言程序設計預測試題(含答案)_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2021-2022年山東省青島市全國計算機等級考試C語言程序設計預測試題(含答案)學校:________班級:________姓名:________考號:________

一、單選題(20題)1.下列敘述中正確的是()。A.算法就是程序B.設計算法時只需要考慮數(shù)據(jù)結(jié)構(gòu)的設計C.設計算法時只需要考慮結(jié)果的可靠性D.以上三種說法都不對

2.若變量c為char類型,能正確判斷出c為小寫字母的表達式是A.A.′a′<=c<=′z′c="">=′a′)||(c<=′z′)

B.(′a′>=c)and(′z′>=c)

C.(′a′<=c)and(′z′>=c)

D.(c>=′a′)&&(c<=′z′)

3.深度為5的二叉樹至多有_____個結(jié)點。

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

4.

5.下列程序的輸出結(jié)果是______。#include<stdio.h>main(){inti,j,k,a=3,b=2;i=(--a==b++)?--a;++b;j=a++;k=b;printf("i=%d,j=%d,k=%d\n",i,j,k);}

A.i=2,j=1,k=3B.i=1,j=1,k=2C.i=4,j=2,k=4D.i=1,j=1,k=3

6.以下關于long、int和short類型數(shù)據(jù)占用內(nèi)存大小的敘述中正確的是(),

A.均占4個字節(jié)B.根據(jù)數(shù)據(jù)的大小來決定所占內(nèi)存的字節(jié)數(shù)C.由用戶自己定義D.由C語言編譯系統(tǒng)決定

7.若有定義"int*p[3];",則以下敘述中正確的是()。

A.定義了一個基類型為int的指針變量p,該變量具有3個指針

B.定義了一個指針數(shù)組p,該數(shù)組含有3個元素,每個元素都是基類型為int的指針

C.定義了—個名為*p的整型數(shù)組,該數(shù)組含有3個int類型元素

D.定義了一個可指向一維數(shù)組的指針變量p,所指一維數(shù)組應具有3個int類型元素

8.已定義以下函數(shù)fun(char*p2,char*p1){while((*p2=*p1)!='0'){P1++;p2++;}}函數(shù)的功能是

A.將p1所指字符串復制到p2所指內(nèi)存空間

B.將P1所指字符串的地址賦給指針p2

C.對p1和p2兩個指針所指字符串進行比較

D.檢查P1和p2兩個指針所指字符串中是否有'\0'

9.

10.

11.考慮一個特殊的hash函數(shù)h,能將任一字符串hash成一個整數(shù)k,其概率P(k)=2^(-k),k=1,2,…,∞。對一個未知大小的字符串集合S中的每一個元素取hash值所組成的集合為h(S)。若h(S)中最大的元素Maxh(S)=10,那么S的大小的期望是()

A.1024B.512C.5D.10

12.有以下程序函數(shù)fun只對下標為偶數(shù)的元素進行操作.:

程序運行后的輸出結(jié)果是()。A.A.7,2,5,4,3,6,1,

B.1,6,3,4,5,2,7,

C.7,6,5,4,3,2,1,

D.1,7,3,5,6,2,1,

13.

14.

15.結(jié)構(gòu)化程序的3種基本控制結(jié)構(gòu)是()。

A.遞歸、堆棧和隊列B.過程、子程序和函數(shù)C.順序、選擇和重復D.調(diào)用、返回和轉(zhuǎn)移

16.有1000個無序的整數(shù),希望使用最快的方式找出前50個最大的,最佳的選擇是()

A.冒泡排序B.基數(shù)排序C.堆排序D.快速排序

17.對線性表進行二分法檢索,其前提條件是()。

A.線性表以順序方式存儲,并按關鍵碼值排好序

B.線性表以順序方式存儲,并按關鍵碼的檢索頻率排好序

C.線性表以鏈式方式存儲,并按關鍵碼值排好序

D.線性表以鏈式方式存儲,并按關鍵碼的檢索頻率排好序

18.以下針對相應語句的注釋中,說法錯誤的是()。

A.int*pt[2];/*pt是一個指針數(shù)組名*/

B.int(*pt)[2];/*pt是一維數(shù)組名*/

C.int(*pt)();/*pt是指向函數(shù)的指針*/

D.int*pt();/*pt是一個函數(shù)名*/

19.程序中頭文件typel.h的內(nèi)容是:#defineN5#defineM1N*3程序如下:#include“typel.h”#defineM2N*2main(){inti;i=M1+M2;Printf(“%d\n”,0;}程序編譯后運行的輸出結(jié)果是:

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

20.以下程序的主函數(shù)中調(diào)用了在其面前定義的fun函數(shù)#include<stdio.h>...main(){doublea[15],k;k=fun(a);...}則以下選項中錯誤的fun函數(shù)首部是()。、A.doublefun(doublea[l5])

B.doublefun(double*a)

C.doublefun(doublea[])

D.doublefun(doublea)

二、2.填空題(20題)21.若有以下程序

main()

{chara;

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

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

}

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

22.以下程序的輸出結(jié)果是()。#definePR(ar)printf("ar=%d”,ar)main(){intj,a[]={1,8,3,7,6,13,17,15},*p=a+5;for(j=3;j;j--)switch(j){case1:case2:PR(*p++);break;case3:PR(*(--p));}}

23.下面程序的功能是輸出數(shù)組s中最大元素的下標,請?zhí)羁铡?/p>

main()

{intk,p,s[]={1,-9,7,2,-10,3};

for(p=0,k=p;p<6;p++)

if(s[p]>s[k])【】

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

24.軟件是程序、數(shù)據(jù)和【】的集合。

25.結(jié)構(gòu)化程序設計方法的主要原則可以概括為自頂向下、逐漸求精、【】和限制使用goto語句。

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

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

#defineMCRA(m)2*m

#defineMCRB(n,m)2*MCRA(n)+m

main()

{

inti=2,j=3;

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

}

28.數(shù)據(jù)結(jié)構(gòu)包括數(shù)據(jù)的邏輯結(jié)構(gòu)、數(shù)據(jù)的【】以及對數(shù)據(jù)的操作運算。

29.軟件定義時期主要包括______和需求分析兩個階段。

30.以下程序的功能是對從鍵盤上輸入的兩個字符串進行比較,然后輸出兩個字符串中第一個不相同字符的ASCII碼值之差。請?zhí)羁铡?/p>

#include"stdio.h"

main()

{chara1[20],a2[20];intn=0,t;

scanf("%st",a1);scanf("%s",a2);

while(a1[n]!=a2[n]&&(a1[n]!=【】))

{t=【】;

printf("%d\n",t);n++;}}

31.以下程序中,for循環(huán)體執(zhí)行的次數(shù)是______。

#defineN2

#defineMN+1

#defineKM+1*M/2

main()

{

inti;

for(i-1;i<K;i++)

{...}

...

}

32.若有以下定義:

chara;intb;

floatc;doubled;

則表達式a*b+d-c值的類型為【】。

33.在面向?qū)ο蠓椒ㄖ?,允許作用于某個對象上的操作稱為【】。

34.設Y是int型變量,請寫出判斷Y為奇數(shù)的關系表達式【】。

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

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

#include<stdio.h>

main()

{inta[]={1,2,3,4,5,6},*k[3],i=1;

while(i<4)

{k[i-1]=&a[2*i-1];

printf("%d",*k[i-1]);

i++;

}

}

37.設有定義:FILE*fw;,請將以下打開文件的語句補充完整,以便可以向文本文件readme.txt的最后續(xù)寫內(nèi)容。

fw=fopen("readme.txt",【】);

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

}

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

inti=0,sum=1;

do

{sum+=i++;}

while(i<6);

print("%d\n",sum);

40.數(shù)據(jù)庫設計分為以下6個設計階段:需求分析階段、______、邏輯設計階段、物理設計階段、實施階段、運行和維護階段。

三、1.選擇題(20題)41.辦公自動化(OA)是計算機的一項應用,按計算機應用的分類,它屬于()

A.數(shù)據(jù)處理B.科學計算C.實時控制D.輔助設計

42.下列對于軟件測試的描述中正確的是______。

A.軟件測試的目的是證明程序是否正確

B.軟件測試的目的是使程序運行結(jié)果正確

C.軟件測試的目的是盡可能地多發(fā)現(xiàn)程序中的錯誤

D.軟件測試的目的是使程序符合結(jié)構(gòu)化原則

43.若有以下定義和語句:ihtw[2][3],(*pw)[3];pw=w;則對w數(shù)組元素的非法引用是()

A.*(w[0]+2)B.*(pw+1)[2]C.pw[0][0]D.*(pw[1]+2)

44.請閱讀以下程序:

#include<stdio.h>

main()

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

switch(x)

{case1:

switch(y)

{case0:a++;break;}

case2:

a++,b++;break;}

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

45.數(shù)據(jù)庫設計的根本目標是要解決

A.數(shù)據(jù)共享問題B.數(shù)據(jù)安全問題C.大量數(shù)據(jù)存儲問題D.倘化數(shù)據(jù)維護

46.在C語言程序中()

A.函數(shù)的定義可以嵌套,但函數(shù)的調(diào)用不可以嵌套

B.函數(shù)的定義不可以嵌套,但函數(shù)的調(diào)用可以嵌套

C.函數(shù)的定義和函數(shù)的調(diào)用均不可以嵌套

D.函數(shù)的定義和函數(shù)的調(diào)用均可嵌套

47.有以下語句,則對a數(shù)組元素的引用不正確的是(0≤i≤9)()。inta[10]={0,1,2,3,4,5,6,7,8,9},*P=a;

A.a[P-a]B.*(&a[i])C.P[i]D.*(*(a+i))

48.已知i、j、k為int型變量,若要從鍵盤輸入2、3、4<CR>,使i、j、k的值分別為2、3、4,下列正確的輸入語句是()。

A.scanf("%3d,%3d,%3d",&i,Aj,&k);

B.scanf("%d,%d,%d",&i,&j,&k);

C.scanf("%d%d%d",&i,&J,&k);

D.scanf("i=%d,j=%d,k=%d",&i,&j,&k);

49.若輸入60和13,以下程序的輸出結(jié)果是()#defineSURPLUS(a,b)((a)%(b))main(){inta,b;scanf("%d,%d",&a,&b);printf("%d\n",SURPLUS(a,b));}

A.60B.13C.73D.8

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

A.為了建立一個關系,首先要構(gòu)造數(shù)據(jù)的邏輯關系

B.表示關系的二維表中各元組的每一個分量還可以分成若干數(shù)據(jù)項

C.一個關系的屬性名表稱為關系模式

D.一個關系可以包括多個二維表

51.設變量a是int型,f是float型,i是double型,則表達式10+'a'+i*f的值的數(shù)據(jù)類型為()。

A.intB.floatC.doubleD.不確定

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

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

B.宏替換不占用運行時間

C.宏替換時先求出實參表達式的值,然后代入形參運算求值

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

53.下列描述正確的是()。

A.C語句能嵌套定義函數(shù),但不可以嵌套調(diào)用函數(shù)

B.C語句不能嵌套定義函數(shù),也不可以嵌套調(diào)用函數(shù)

C.C語句能嵌套定義函數(shù),也可以嵌套調(diào)用函數(shù)

D.C語句不能嵌套定義函數(shù),但可以嵌套調(diào)用函數(shù)

54.若x=3,y=z=4,則下列表達式的值分別為()(1)(z>=y(tǒng)>=x)?1:0(2)y+=z,x*=y(tǒng)

A.024B.18C.08D.112

55.下列敘述中,不屬于軟件需求規(guī)格說明書的作用的是()

A.便于用戶,開發(fā)人員進行理解和交流

B.反映出用戶問題的結(jié)構(gòu),可以作為軟件開發(fā)工作的基礎和依據(jù)

C.作為確認測試和驗收的依據(jù)

D.便于開發(fā)人員進行需求分析

56.有以下程序段charch;intk;ch='a';k=12;printf("%c,%d,",ch,ch,k);printf("k=%d\n",k);已知字符a的ASCII碼值為97,則執(zhí)行上述程序段后輸出結(jié)果是

A.因變量類型與格式描述符的類型不匹配輸出無定值

B.輸出項與格式描述符個數(shù)不符,輸出為零值或不定值

C.a,97,12k=12

D.a,97,k=12

57.有以下程序main(){intm[][3]={1,4,7,2,5,8,3,6,9};inti,j,k=2;for(i=0;i<3;i++){printf("%d",m[k][i]);}}執(zhí)行后輸出結(jié)果是

A.456B.258C.369D.789

58.源程序中應包含一些內(nèi)部文檔,以幫助閱讀和理解程序,源程序的內(nèi)部文檔通常包括選擇合適的標識符、注釋和

A.程序的視覺組織B.盡量不用或少用GOTO語句C.檢查輸入數(shù)據(jù)的有效性D.設計良好的輸出報表

59.下列表達式中,可以正確表示的關系是()。

A.(x>=1)10(x<=0)B.x>1‖x=0C.x>=1ORx<=0D.X>=1&&x<=0

60.下面程序的輸出結(jié)果是()main(){inti,j;i=16;j=(i++)+i;printf("%d",j);i=15;printf("%d%d",++i,i);}

A.321615B.3315,15C.3415,16D.341615

四、選擇題(20題)61.下列判斷正確的是()。A.A.chara="ABCD":等價于char*a;*a="ABCD":

B.charstr[10]={"ABCD"}:等價于charstr[10];str[]={"ABCD"};

C.char*s="ABCD":等價于chars;*s="ABCD";

D.charc[5]="ABCD",d[5]="ABCD":等價于charc[5]-d[5]="ABCD";

62.

63.鏈表不具有的特點是A.A.不必事先估計存儲空間

B.可隨機訪問任一元素

C.插入和刪除不需要移動元素

D.所需空間與線性表長度成正比

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

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

65.以下能正確定義字符串的語句是(

)。

66.

67.

68.

69.有三個關系R、S和T如下:

則由關系R和s得到關系T的操作是()。

A.自然連接B.差C.交D.并

70.

71.算法分析最重要的目的是

A.找出數(shù)據(jù)結(jié)構(gòu)的合理性B.找出算法中輸入和輸出之間的關系

C.分析算法的易懂性和可靠性D.分析算法的效率以求改進

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

A.順序存儲結(jié)構(gòu)的存儲一定是連續(xù)的,鏈式存儲結(jié)構(gòu)的存儲空問不一定是連續(xù)的

B.順序存儲結(jié)構(gòu)只針對線性結(jié)構(gòu),鏈式存儲結(jié)構(gòu)只針對非線性結(jié)構(gòu)

C.順序存儲結(jié)構(gòu)能存儲有序表,鏈式存儲結(jié)構(gòu)不能存儲有序表

D.鏈式存儲結(jié)構(gòu)比順序存儲結(jié)構(gòu)節(jié)省存儲空間

73.

74.對線性表進行二分法檢索,其前提條件是()。

A.線性表以順序方式存儲,并按關鍵碼值排好序

B.線性表以順序方式存儲,并按關鍵碼的檢索頻率排好序

C.線性表以鏈式方式存儲,并按關鍵碼值排好序

D.線性表以鏈式方式存儲,并按關鍵碼的檢索頻率排好序

75.在數(shù)據(jù)管理技術(shù)的發(fā)展過程中,經(jīng)歷了人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫系統(tǒng)階段。其中數(shù)據(jù)獨立性最高的階段是()。

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

76.

77.

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

A.-3,-1,1,3,B.-12,一3,0,0C.0,1,2,3,D.一3,-3,一3,一3,

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

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

80.若有以下定義:

chara;intb;

floatc;doubled;

則表達式a*b+d-c值的類型為()。A.A.floatB.intC.charD.double

五、程序改錯題(1題)81.下列給定程序中,函數(shù)proc()的功能是:從字符串str中,刪除所有小寫字母c。請修改程序中的錯誤,使它能得出正確的結(jié)果。注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:

六、程序設計題(1題)82.輸出1—100之間不能被12整除的數(shù)。

參考答案

1.D算法是指解題方案的準確而完整的描述,算法不等于程序,也不等于計算方法,所以A錯誤。設計算法時不僅要考慮對數(shù)據(jù)對象的運算和操作,還要考慮算法的控制結(jié)構(gòu)。故答案為D選項。

2.D

3.C

4.D

5.D

6.D解析:在C語言的標準中,short占2個字節(jié)、long占4個字節(jié),但int的大小和編譯系統(tǒng)相關。例如在Turbo\u3000C\u30002.0中,int占2個字節(jié),但在VisualC++6.0(VC6可以用做C語言編譯器)中占4個字節(jié)。故本題應該選擇D。

7.B解析:指針數(shù)組也是一種數(shù)組,所有有關的概念都適用于它。但它與普通的數(shù)組又有區(qū)別,它的數(shù)組元素是指針類型,只能用來存放地址。其格式為:存儲類型數(shù)據(jù)類型*指針數(shù)組名[長度1],其含義為:定義了一個長度1的數(shù)組,其中數(shù)組元素為相應存儲類型的指針,對比定義可知,選項A、C和D都不正確,所以,4個選項中選項B符合題意。

8.A解析:fun()函數(shù)中聲明了兩個字符串指針作為形參,在其函數(shù)體中用了一個while循環(huán),首先while括號內(nèi)表達式*p2=*p1是將p1所指的內(nèi)容賦值到P2所指的存儲空間中,然后再判斷是否為'\\0',表達式的值為真時,執(zhí)行循環(huán)體,指針p1和指針P2分別下移一位,當p1指向字符'\\0'時,表達式的值為假,循環(huán)結(jié)束,故此函數(shù)的功能是將p1所指字符串復制到p2所指內(nèi)存空間中。

9.D

10.A

11.A

12.A由函數(shù)fun(int*a,intn)中語句if(a[j]>a[k])k=j;可知當前k是記錄數(shù)組中較大數(shù)據(jù)值所在位置的下標變量,所以該函數(shù)的作用是對數(shù)組a中的下標為偶數(shù)位置的數(shù)據(jù)進行從大到小的排序,即對a[0],a[2],a[4],a[6]中的數(shù)據(jù)1,3,5,7進行從大到小的排序,其他位置的數(shù)據(jù)不變,所以答案為A)。

13.C

14.D

15.C1966年Boehm和Jacopini證明了程序設計語言僅僅使用順序、選擇和重復3種基本控制結(jié)構(gòu)就足以表達出各種其他形式結(jié)構(gòu)的程序設計方法。本題答案為C選項。

16.D

17.A解析:對線性表進行二分法檢索,要求線性表是按順序方式存儲的,并按關鍵碼值的大小排好序,而不是按關鍵碼的檢索頻率排序。

18.B選項A定義了一個數(shù)組pt,它包含兩個整型指針元素,所以pt是一個指針數(shù)組名,正確;選項B定義了一個數(shù)組指針Pt,pt指向一個數(shù)組,該數(shù)組包含兩個整型元素,錯誤;選項C定義了一個函數(shù),pt是函數(shù)指針,指向的函數(shù)沒有參數(shù),返回類型為整型,正確;選項D定義了一個函數(shù),函數(shù)名為pt,函數(shù)返回整型指針類型,正確。故本題答案為B選項。

19.C解析:編譯預處理時,用“typel.h”中的內(nèi)容替代命令#include“typel.h”。表達式“i=M1+M2”經(jīng)過宏替換為“i=5*3+5*2”即i=25,所以最后輸出的i的值為25。

20.A由題可知fun的參數(shù)為變量,而a[15]為常量,所以答案為A。

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

22.ar=6ar=6ar=13ar=6ar=6ar=13解析:通過*p=a+5將指針P指向a[5],第1次循環(huán),i=3時,switch(3),執(zhí)行case3,*(-p)-a[4]=6,所以輸出ar=6;第2次循環(huán),j=2時,switch(2),執(zhí)行case2,(*p++)是先引用a[4]的值6,輸出ar=6,再將指針P移位指向a[5];第3次循環(huán),j=1時,switch(1),執(zhí)行case1,case1后沒有break語句,接著執(zhí)行case2,(*p++)是先引用a[5]的值13,輸出ar=13,再將指針P移位指向a[6]。

23.k=p;k=p;解析:為要尋找數(shù)組中的最大元素的下標,需先預設1個臨時最大元素的下標,并順序逐一考查數(shù)組的元素,當發(fā)現(xiàn)當前元素比臨時最大元素更大時,就用當前元素的下標更新臨時最大元素下標。直至考查了數(shù)組的全部元素后,這臨時最大元素下標就是數(shù)組的最大元素下標。通常預設的最大元素下標是數(shù)組的首元素下標,考查是從首元素開始順序向后繼元素考查。程序中,存儲臨時最大元素下標的變量是k,變量p控制順序考查的循環(huán)控制變量。當發(fā)現(xiàn)當前元素s[p]比臨時最大元素s[k)更大時,應該用p更新k。所以在空框處應填入代碼“k=p;”。

24.文檔文檔解析:計算機軟件是計算機系統(tǒng)中與硬件相互依存的另一部分,是包括程序、數(shù)據(jù)以及相關文檔的完整集合。

25.模塊化模塊化解析:結(jié)構(gòu)化程序設計方法的主要原則可以概括為自頂向下、逐步求精、模塊化和限制使用goto語句。自頂向下程序設計時,應先考慮總體,后考慮細節(jié);先考慮全局目標,后考慮局部目標。不要一開始就過多追求眾多的細節(jié),先從最上層總目標開始設計,逐步使問題具體化。

逐步求精:對復雜問題,應設計一些子目標作過度,逐步細化。

模塊化:一個復雜問題,肯定是由若干精簡單的問題構(gòu)成。模塊化是把程序要解決的總目標分解為分目標,再進一步分解為具體的小目標,把每個小目標稱為一個模塊。

限制使用goto語句。

26.軟件開發(fā)

27.1616解析:首先用j和MCRA(i)替換MCRB(n,m)中的參數(shù)n和m,變成2*MCRA(j)+MCRA(i),再用j和i替換MCRA(m)中的參數(shù)m,變成2*2*j+2*i=2*2*3+2*2=16。

28.存儲結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)包括3個方面,即數(shù)據(jù)的邏輯結(jié)構(gòu)、數(shù)據(jù)的存儲結(jié)構(gòu)及對數(shù)據(jù)的操作運算。

29.可行性研究可行性研究解析:軟件生命周期一般包括可行性研究與需求分析、設計、實現(xiàn)、測試、交付使用及維護等,還可以將軟件生命周期分為三個階段:①軟件定義階段:可行性研究和需求分析;②軟件開發(fā)階段:設計、實現(xiàn)和測試;③軟件運行維護階段:交付使用和維護。

30.\0'al[n]-a2[n]或s2[n]-al[n]\\0'\r\nal[n]-a2[n]或s2[n]-al[n]

31.44解析:將程序中所有的宏替換掉可得:M=2+1,K=2+1*2+1/2=4,所以for循環(huán)共循環(huán)了K-1+1次,即4-1+1共4次。

32.double或雙精度型double或雙精度型解析:C語言中,如果運算符兩邊的數(shù)據(jù)類型不同,將進行類型轉(zhuǎn)換,根據(jù)轉(zhuǎn)換規(guī)則,短整型轉(zhuǎn)為長整型;整型轉(zhuǎn)換為實型。注意:數(shù)據(jù)類型的強制轉(zhuǎn)換。

33.方法方法解析:在面向?qū)ο蠓椒ㄖ?,方法是指允許作用于某個對象上的各種操作。

34.Y%2=1或Y%2!=0Y%2=1或Y%2!=0解析:判斷變量是否為奇數(shù)可以用變量與2取模,判斷結(jié)果是為1或下為0。本題具體做法如下:Y%2=1或Y%2!=0。

35.軟件工具軟件工具

36.246

37.aa解析:本題考查的是文件的打開方式。要向文本文件的末尾續(xù)寫內(nèi)容,需要使用方式“a”(追加)打開文件。

38.22132,2,1,3解析:本題考查++,--運算符和條件運算符的使用。

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

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

39.16

40.概念設計階段(數(shù)據(jù)庫概念設計階段)概念設計階段(數(shù)據(jù)庫概念設計階段)

41.A

42.C解析:軟件測試的目的:盡可能地多發(fā)現(xiàn)程序中的錯誤,不能也不可能證明程序沒有錯誤,軟件測試是一個發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。軟件調(diào)試的目的是發(fā)現(xiàn)錯誤的位置,并改正錯誤。

43.A

44.A解析:考查switch語句的使用。switch語句的執(zhí)行過程為:進入switch結(jié)構(gòu)后,對條件表達式進行運算,然后從上至下去找與條件表達式值相匹配的case,以此作為入口,執(zhí)行switch結(jié)構(gòu)中后面的各語句,直到遇到break語句,則跳出switch語句,如果各case都不匹配時,則執(zhí)行default后面的語句。

45.A解析:數(shù)據(jù)庫技術(shù)的根本目標就是要解決數(shù)據(jù)的共享問題,選項A正確。

46.B

47.D解析:本題考查數(shù)組指針的應用。選項D)第一層括號中為數(shù)組a中第i項元素的值,外面再加指針運算符沒有意義。

48.B解析:scanf函數(shù)的調(diào)用形式是:scanf(格式字符串,輸入項地址表)。其中,“格式字符串”是要輸入的變量的格式符;“輸入項地址表”是要輸入的變量的地址。若在格式符中插入了其他字符,則在輸入時要求按一一對應的位置原樣輸入這些字符,其中的逗號也必須輸入。

49.D

50.C解析:在格式化模型中,要事先根據(jù)應用的需要,確定數(shù)據(jù)之間的邏輯關系,即先對數(shù)據(jù)進行結(jié)構(gòu)化。在關系模型中,不需要事先構(gòu)造數(shù)據(jù)的邏輯關系,只要將數(shù)據(jù)按照一定的關系存入計算機,也就是建立關系。所以選項A錯誤。對于一個表示關系的二維表,其最基本的要求是表中元組的每一個分量必須是不可分的數(shù)據(jù)項,即不允許表中再有表。所以,選項B、D說法是錯誤的。一個關系的屬性名表稱為關系模式,也就是二維表的表框架,相當于記錄型。因此,選項C說法正確。

51.C解析:int型、float型、double型的數(shù)據(jù)可以混合,要先轉(zhuǎn)換成同一類型再運算。10+‘a(chǎn)’運算后值的類型為int型,i*f運算后值的類型為double型,最后表達式值的類型為double型。

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

53.D解析:C語句不能嵌套定義函數(shù),但可以嵌套調(diào)用函數(shù)。

54.A

55.D解析:軟件需求規(guī)格說明書SRS,SoftwareRequirementSpecification)是需求分析階段的最后成果,是軟件開發(fā)中的重要文檔之一。它有以下幾個方面的作用,①便于用戶、開發(fā)人員進行理解和交流;②反映出用戶問題的結(jié)構(gòu),可以作為軟件開發(fā)工作的基礎和依據(jù);③作為確認測試和驗收的依據(jù)。

56.D解析:輸出格式控制符%c表示將變量以字符的形式輸出;輸出格式控制符%d表示將變量以帶符號的十進制整型數(shù)輸出,所以第一個輸出語句輸出的結(jié)果為a,97;第二個輸出語句輸出的結(jié)果為k=12。

57.C解析:本題考核的知識點是二維數(shù)組的定義,賦值及數(shù)組元素的引用。變量k的初值為2,循環(huán)執(zhí)行了3次,分別輸出m[2][0]、m[2][1]和m[2][2],其值分別為3,6,9。所以,C選項為所選。

58.A解析:源程序文檔化主要包括三個方面的內(nèi)容:標識符的命名、程序中添加注釋以及程序的視覺組織。

59.A解析:題中要求x的取值是小于等于0或者大于等于1,這說明表達式是或的關系,所以在寫成C語言表達式應是邏輯或的關系,邏輯或運算符是'‖'。

60.A

61.Da=“ABCD”書寫錯誤,因為“=”左邊不能出現(xiàn)常量;數(shù)組名S是代表S數(shù)組首地址常量,而不是變量;字符串只有在定義時維數(shù)可以省略。

62.C

63.B鏈表是一種特殊的線性表,鏈表的存儲結(jié)構(gòu)與順序存儲結(jié)構(gòu)不同,它的存儲區(qū)域可以是任意的存儲單元,對存儲系統(tǒng)中零碎的存儲部分具有更好的應用,在給其分配存儲單元時,不必事先估計整個存儲單元的空間大?。挥捎阪湵淼脑厥峭ㄟ^指針域的指針相連的,用鏈表存儲數(shù)據(jù)時,對其進行插入和刪除操作時,不需要移動其他元素,只需改變其直接前驅(qū)指針域,使其指向該結(jié)點,并將該結(jié)點的指針域修改為指向其直接后繼結(jié)點即可。當然,不管是鏈表還是順序存儲,所需空間與線性表長度都成正比。在鏈式存儲的鏈表結(jié)構(gòu)中,由于后一結(jié)點數(shù)據(jù)被存儲在哪里,只有通過前一結(jié)點的指針域才知道,因此,訪問時只能是逐個訪問,而不能實現(xiàn)隨機訪問。

64.C根據(jù)二叉樹的性質(zhì)及定義,一棵深度為k且有2k-1個結(jié)點的二叉樹為滿二叉樹。滿二叉樹的葉子結(jié)點為最后一層的結(jié)點數(shù),又根據(jù)滿二叉樹的性質(zhì),在滿二叉樹的第i層上至多有2i-1個結(jié)點。因此深度為5的滿二叉樹的葉子結(jié)點數(shù)為25-1=16個。

65.A字符串末尾一定要有結(jié)束標記,雙引號括起來的默認添加了結(jié)束標記,所以選擇A)。

66.D

67.A

68.D

69.B關系T中的元組是R關系中有而

溫馨提示

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

評論

0/150

提交評論