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

下載本文檔

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

文檔簡介

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

一、單選題(20題)1.有以下程序:#include<stdio.h>main(){inty=10;while(y--);printf(“y=%d\n”,y);}程序運行后的輸出結果是()。

A.y=0B.y=-1C.y=1D.while構成無限循環(huán)

2.甲乙兩個聰明人上街,撿到一張10塊錢的購物卡,兩人就想出一個辦法來分配這張卡。兩個分別將自己出的價格寫在紙上,然后看誰出的價高就給誰,并且那個出價高的人要把出的錢給對方?,F(xiàn)在甲有6塊錢,乙有8塊錢,甲乙雙方都知道對方當前有多少錢并且都希望自己收益高于對方。問最后誰獲得的錢多()

A.甲多B.乙多C.一樣多D.有可能出現(xiàn)有人賠錢的情況

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

A.構成C程序的基本單位是函數(shù)

B.可以在一個函數(shù)中定義另一個函數(shù)

C.main函數(shù)必須放在其他函數(shù)之前

D.C函數(shù)定義的格式是K&R格式

4.在待排序的元素序列基本有序的前提下,效率最高的排序方法是()。A.A.冒泡排序B.選擇排序C.快速排序D.歸并排序

5.下列關于邏輯運算符兩側運算對象的敘述中正確的是()。

A.只能是整數(shù)0或1B.只能是整數(shù)0或非0整數(shù)C.可以是結構體類型的數(shù)據(jù)D.可以是任意合法的表達式

6.有以下程序:#include<stdio.b>voidfun(charc){if(c>X)fun(c-1):printf("%C",c);}traia(){fun(z);}程序運行后的輸出結果是()A.xyzB.wxyzC.xzyD.zvx

7.有以下程序:

程序執(zhí)行后的輸出結果是()。

A.45B.50C.60D.55

8.以下選項中,能用作用戶標識符的是()。

A._0_B.8_8C.voidD.unsigned

9.串的長度是______。A.A.串中不同字符的個數(shù)

B.串中不同字母的個數(shù)

C.串中所含字符的個數(shù)且字符個數(shù)大于零

D.串中所含字符的個數(shù)

10.

11.設有定義“Charp[]={‘1’,‘2’,‘3’},*q=p;”,以下不能計算出一個char型數(shù)據(jù)所占字節(jié)數(shù)的表達式是()。A.sizeof(p)B.sizeof(char)C.sizeof(*q)D.sizeof(p[0])

12.有以下程序:voidsum(inta[]){a[0]=a[-1]+a[1];}main(){inta[10]={1,2,3,4,5,6,7,8,9,10};sum(&a[2]);printf("%d\n",a[2]);}程序運行后的輸出結果是()。

A.6B.7C.5D.8

13.以下程序的功能是()。#include<stdio.h>main(){FILE*fPl;*fp2;fp1:fopen("file1","r");fp2:fopen("file2","w");while(!Feof(fP1))fputc(fgetc(fP1),fp2);fclose(fP1);fclose(fp2);}

A.將磁盤文件的內(nèi)容顯示在屏幕上

B.將兩個磁盤文件合為一個

C.將一個磁盤文件復制到另一個磁盤文件中

D.將兩個磁盤文件合并后送屏幕

14.若有函數(shù)voidfun(doublea[]。int*n){…}以下敘述中正確的是()。A.調(diào)用fun函數(shù)時只有數(shù)組執(zhí)行按值傳送,其他實參和形參之間執(zhí)行按地址傳送

B.形參a和n都是指針變量

C.形參a是一個數(shù)組名,n是指針變量

D.調(diào)用fun函數(shù)時將把double型參數(shù)組元素一一對應地傳送給形參a數(shù)組

15.對矩陣進行壓縮存儲是為了()。

A.方便運算B.方便存儲C.提高運算速度D.減少存儲空間

16.目前以比較為基礎的內(nèi)部排序方法中,其比較次數(shù)與待排序的記錄的初始排列狀態(tài)無關的是()

A.插入排序B.快速排序C.二分插入排序D.冒泡排序

17.下列字符串是標識符的是()。

A.aaB.a-classC.intD.LINE1

18.定義結構體數(shù)組:structstu{intnum;charnameE20];}X[5]={1,"LI",2,"ZHAO",3,"WANG",4,"ZHANG",5,"LIU");for(i=1;i<5;i++)printf("%d%c",x[i].num,x[i].name[2]);以上程序段的輸出結果為()。A.2A3N4A5UB.112A3H4IC.1A2N3A4UD.2H3A4H5I

19.若有定義int?x,y;并已正確給變量賦值,則以下選項中與表達式(x-y)?(x++):(y++)中的條件表達式(x-y)等價的是()。A.(x-y<0|x-y>0)B.(x-y<0)C.(x-y>0).D.(x-y==0)

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

A.一個邏輯數(shù)據(jù)結構只能有一種存儲結構

B.邏輯結構屬于線性結構,存儲結構屬于非線性結構

C.一個邏輯數(shù)據(jù)結構可以有多種存儲結構,且各種存諸結構不影響數(shù)據(jù)處理的效率

D.一個邏輯數(shù)據(jù)結構可以有多種存儲結構,且各種存諸結構影響數(shù)據(jù)處理的效率

二、2.填空題(20題)21.棧中允許進行插入和刪除的一端叫做______。

22.軟件生命周期分為軟件定義期、軟件開發(fā)期和軟件維護期,詳細設計屬于______中的一個階段。

23.數(shù)據(jù)流圖的類型有【】和事務型。

24.【】是數(shù)據(jù)庫設計的核心。

25.某二叉樹中度為2的結點有18個,則該二叉樹中有【】個葉子結點。

26.以下程序的輸出結果是【】。

#include<string.h>

main()

{printf("%d\n",strlen("IBM\n012\1\\"));}

27.常用的黑箱測試有等價類劃分法、【】和錯誤推測法3種。

28.下面程序的運行結果是______。

intf(inta[],intn)

{if(n>1)returna[0]+f(&a[1],n-1);

elsereturna[0];

{

main()

{intaa[3]={1,2.3},s;

s=f(&aa[0],3);

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

}

29.按照“先進先出”的原則組織數(shù)據(jù)的結構是______。

30.下列程序的輸出結果是【】。

main()

{charb[]="Helloyou";

b[5]=0;

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

}

31.數(shù)據(jù)庫保護分為:安全性控制、______、并發(fā)性控制和數(shù)據(jù)的恢復。

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

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

34.下面程序的功能是兩個整數(shù)進行交換,請?zhí)羁铡?/p>

sub(int*x,int*y)

{【】

z=*x;*x=*y;*y=z;

return;}

main()

{intm,n,*t1,*t2;

scanf("%d,%d",&m,&n);

t1=&m;t2=&n;

【】

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

35.以下程序運行后的輸出結果是【】。

main()

{

intp=30;

printf("%d\n",(p/3>0?p/10:p%3));

}

36.軟件工程研究的內(nèi)容主要包括:軟件開發(fā)技術和【】。

37.有下列程序;

#include<stdio.h>

main()

{charc;

while((c=getchar())!=',')putchar(++C);

}

程序運行時,如果從鍵盤輸入:A,B,<CR>,則輸出結果為______。

38.Jackson方法是一種面向【】的結構化方法。

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

inta=5;

fun(intB)

{staticinta=10;

a+=b++;

printf("%d",A);

}

main()

{intc=20;

fun(C),

a+=C++;

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

}

40.下面程序的輸出結果是【】。

#defineMAX3

inta[MAX];

main()

{fun1();{un2(A);printf("\n");}

funl()

{intk,t=0;

for(k=0;k<MAX;k++,t++)a[k]=t+t;

}

fun2(intb[])

{intk;

for(k=0;k<MAX;k++)printf("%d",*(b+k));

}

三、1.選擇題(20題)41.下面程序的輸出結果是

#include<stdio.h>

#include<string.h>

main()

{char*p1="abc",*p2="ABC",str[50]="xyz";

strcpy(str+2,strcat(p1,p2));

printf("%s\n",str);}

A.xyzabcABCB.zabcABCC.xyabcABCD.yzabcABC

42.若希望下列的程序運行后輸出25,程序空白處的正確選項是()。

main()

{inti,j=50,a[]={7,4,10,5,8};

for()

j+=a[i];

primf("%d,j-40);

}

A.i=1;i<4;++iB.i=1;i<3;++iC.i=4;i>2;i--D.i=2;i<4;++i

43.fgetc函數(shù)的作用是從指定文件讀入一個個字符,該文件的打開方式必須是______。

A.只讀B.追加C.讀或讀寫D.以上均正確

44.以下程序的輸出結果是______。main(){inta=3;printf("%d\n",(a+=a-=a*A));}

A.-6B.1C.2D.-12

45.在一個具有n個結點的有序單鏈表中插入一個新結點并仍然有序的時間復雜性為______。

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

46.設有定義:chars[10];inti=0;,以下不能將一行(不超過100個字符)帶有空格的字符串正確讀入的語句或語句組是()。

A.gets(s);

B.scanf("%s",s);

C.while((s[i++]=getchar())!='\n');s[i]='\0';

D.do{scanf("%c",&s[i]);}while(s[i++]!='\n');s[i]='\0';

47.以下程序的輸出結果是main(){intb[3][3]={0,1,2,O,l,2,0,1,2},i,j,t=1;for(i=0;i<3;i++)for(j=i;j<=i;j++)t=t+b[i][b[j][j]];printf("%d\n",t);}

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

48.下列程序的輸出結果是()。

#include<stdio.h>

#defineF(x)2.84+x

#definew(y)printf("%d",(int(y))

#defineP(y)w(y)pmchar('\n'》

main()

{intx=2;

P(F(5)*x);

}

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

49.函數(shù)fseek(pf,OL,SEEK_END)中的SEEK_END代表的起始點是()。

A.文件開始B.文件末尾C.文件當前位置D.以上都不對

50.下列程序的運行結果是______。main(){inta[6],i;for(i=2;i<6;i++){a[i]=4*(i-2*(i>3))%5;printf("%2d",a[i]);}}

A.2323B.1212C.3232D.2222

51.若有定義和語句:int**pp,*p,a=20,b=10;pp=&p;p=&a;p=&b;printf(%d,%d\n",*p,**pp);則輸出結果是()。

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

52.若有以下說明和定義typedefint*INTEGER;INTEGERp,*q;以下敘述正確的是A.p是int型變量

B.p是基類型為int的指針變量

C.q是基類型為int的指針變量

D.程序中可用INTEGER代替int類型名

53.下列敘述中正確的是()。A.實體集之間一對一的聯(lián)系實際上就是一一對應的關系

B.關系模型只能處理實體集之間一對一的聯(lián)系

C.關系模型屬于格式化模型

D.以上三種說法都不對

54.有以下程序:#inelude<stdio.h>main(){inti,j,x=0;for(i=0;i<2;i++){x++;for(j=0;j<=3;j++){fi(j%2)continue;x++;x++;}pfinff("x=%d\n",x);}程序執(zhí)行后的輸出結果是()。

A.x=4B.x=8C.x=6D.x=12

55.下列程序中函數(shù)reverse()的功能是將a所指數(shù)組中的內(nèi)容進行逆置。#include<stdio.h>voidreverse(inta[],intn){inti,t;for(i=0;i<n/2;i++){t=a[i];a[i]=a[a-1-i];a[n-1-i]=t;}main(){intb[10]={1,2,3,4,5,6,7,8,9,10};inti,s=0;reverse(b,10);for(i=0;i<3;i++)s+=b[i];printf("%d\n",s);}程序運行后的輸出結果是()。

A.27B.6C.25D.30

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

A.全局變量的作用域一定比局部變量的作用域大

B.靜態(tài)(statiC)類型變量的生存期貫穿于整個程序的運行期間

C.函數(shù)的形參都屬于全局變量

D.未在定義語句中賦初值的auto變量和static變量的初值都是隨機值

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

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

58.有以下程序:intf1(intx,inty){returnx>y?x:y;}intf2(intx,inty){returnx>y?y:x;}main(){inta=4,b=3,c=5,d,e,f;d=fl(a,b);d=f1(d,c);e=f2(a,b);e=f2(e,c);f=a+b+c-d-e;printf("%d,%d,%d\n",d,f,e);}執(zhí)行后輸出結果是()。

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

59.有以下程序:main(){ints=0,a=1,n;scanf("%d",&n);do{s+=1;a=a-2;}while(a!=n);printf("%d\n",s);}若要使程序的輸出值為2,則應該從鍵盤給n輸入的值是()。

A.-1B.-3C.-5D.0

60.設變量已正確定義并賦值,以下正確的表達式是()。

A.x=y*5=x+z

B.int(15.8%5.

C.x=y+z+5,++y

D.x=25%5.0

四、選擇題(20題)61.

62.

63.有以下程序:

#include<stido.h>

main()

{charc1=′1′,c2=′2′;

c1=getchar();c2=getchar();putchar(c1);putchar(c2);

}

當運行時輸入:a<回車>后,以下敘述正確的是()。

A)變量c1被賦予字符a,c2被賦予回車符

B)程序將等待用戶輸入第2個字符

C)變量c1被賦予字符a,c2中仍是原有字符2

D)變量c1被賦予字符a,c2中將無確定值

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

A.對于double類型數(shù)組,不可以直接用數(shù)組名對數(shù)組進行整體輸入或輸出

B.數(shù)組名代表的是數(shù)組所占存儲區(qū)的首地址,其值不可改變

C.當程序執(zhí)行中,數(shù)組元素的下標超出所定義的下標范圍時,系統(tǒng)將給出“下標越界”的出錯信息

D.可以通過賦初值的方式確定數(shù)組元素的個數(shù)

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

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

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

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

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

A.C語言中的文件是流式文件,因此只能順序存取數(shù)據(jù)

B.打開一個已存在的文件并進行了寫操作后,原有文件中的全部數(shù)據(jù)必定被覆蓋

C.在一個程序中當對文件進了寫操作后,必須先關閉該文件然后再打開,才能讀到第1個數(shù)據(jù)

D.當對文件的讀(寫)操作完成之后,必須將它關閉,否則可能導致數(shù)據(jù)丟失

67.有以下程序:

程序執(zhí)行后的輸出結果是()。

A.20B.25C.45D.36

68.有下列程序段:intn,t=1,S=0;scanf("%d",&n);do{s=s+t;t=t-2;while(t!=n);為使此程序段不陷入循環(huán),從鍵盤輸入的數(shù)據(jù)應該是()。A.任意正奇數(shù)B.任意負偶數(shù)C.任意正偶數(shù)D.任意負奇數(shù)

69.

70.

若有下列定義和語句:

intu=011,v=0x11,w=11;

printf("%o,%x,%d\n",u,v,w);

則輸出結果是()。

A.9,17,11B.9,11,11C.11,11,11D.11,17,11

71.

72.設有定義:

73.

74.有以下程序:

程序運行時,輸入的值在哪個范圍才會有輸出結果()。

A.小于3的整數(shù)B.不等于10的整數(shù)C.大于3或等于10的整數(shù)D.大于3且不等10的整數(shù)

75.

76.下列敘述中正確的是()。A.在switch語句中,不一宗使用break語句

B.在switch語句中,必須使用default

C.break語句必須與swifth語句中的case配對使用

D.break語句只能用于swifth著句

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

A.C程序可以由多個程序文件組成

B.一個c語言程序只能實現(xiàn)一種算法

C.c程序可以由一個或多個函數(shù)組成,

D.一個C函數(shù)可以單獨作為一個C程序文件存在

78.程序運行后的輸出結果是()。A.Qian,f,350,Sun,f,350

B.Qiamf,350,Qian,f,350

C.Qian,f,350,Sun,m,370

D.Zha0,m,290,Sun,m,370

79.

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

A)++x,y=x--B)x+1=y

C)x=x+10=x+yD)double(x)/10

五、程序改錯題(1題)81.下列給定程序中,函數(shù)fun()的功能是:求兩個非零正整數(shù)的最大公約數(shù),并作為函數(shù)值返回。例如,若num1和num2分別為49和21,則輸出的最大公約數(shù)為7;若num1和num2分別為27和81,則輸出的最大公約數(shù)為27。請改正程序中的錯誤,使它能得出正確結果。注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結構!試題程序:

六、程序設計題(1題)82.m個人的成績存放在score數(shù)組中,請編寫函數(shù)proc(),它的功能是:將高于平均分的人數(shù)作為函數(shù)值返回,將高于平均分的分數(shù)放在up所指的數(shù)組中。例如,當score數(shù)組中的數(shù)據(jù)為100,80,76,60,59,48,43,35,59時,函數(shù)返回的人數(shù)應該是4,up中的數(shù)據(jù)應為100,80,76,95。注意:部分源程序給出如下。請勿改動main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號中填入所編寫的若干語句。試題程序:

參考答案

1.B執(zhí)行“y--”直到值為0。退出循環(huán)。由于“y--”是后綴自減運算,先使用再自減,因此退出循環(huán)時,y的值為-1。故本題答案為B選項。

2.C

3.A解析:本題考查C語言的綜合基礎知識。構成C程序的基本單位是函數(shù),一個C程序總是從main函數(shù)開始執(zhí)行,而不論main函數(shù)在整個程序中的位置如何。C語言的函數(shù)定義都是互相平行、獨立的,在定義函數(shù)時,一個函數(shù)內(nèi)不能定義另一個函數(shù)。C函數(shù)定義的一般格式有兩種:傳統(tǒng)格式和現(xiàn)代格式。傳統(tǒng)格式也稱K&R格式,是早期編譯系統(tǒng)使用的格式;現(xiàn)代格式又稱ANSI格式,是現(xiàn)代編譯系統(tǒng)使用的格式。

4.A解析:以下幾種算法的時間復雜度分別為:冒泡排序(n2);選擇排序(n2);快速排序(nlog2n);歸并排序(nlog2n)。當排序元素序列基本有序的情況下,冒泡排序的交換次數(shù)為0,只是順序掃描數(shù)據(jù)而已,所以其效率是最高的。

5.D解析:邏輯運算符兩側的運算對象可以是任意合法的表達式。邏輯表達式的運算結果或者為1(“真”),或者為0(“假”)。

6.A本題考查簡單的遞歸函數(shù),當c>X則會產(chǎn)生遞歸,依次類推,答案選擇A.

7.C內(nèi)部靜態(tài)變量是始終存在的,當函數(shù)被調(diào)用退出后,內(nèi)部靜態(tài)變量會保存數(shù)據(jù),再次調(diào)用該函數(shù)時,以前調(diào)用時的數(shù)值仍然保留著。Fun(a,5)的值是l5,再次調(diào)用后slim=15,所以Fun(b,4)=45,s=45+15=60。

8.AC語言的標識符由字母、數(shù)字、下劃線組成,且第1個字符必須是字母或下劃線。另外,關鍵字不能作為標識符。B選項中以數(shù)字8開頭,所以錯誤。C選項與D選項中用的是關鍵字“void”與“unsigned”,所以錯誤。故本題答案為A選項。

9.D解析:串的長度指的是串中字符的個數(shù),且其字符個數(shù)可以為零。選項D正確。

10.D

11.A根據(jù)題目中的定義可知,“sizeof(p)”計算的是數(shù)組p中所有元素所占用的字節(jié)數(shù),而不是char型數(shù)據(jù)所占的字節(jié)數(shù)。故本題答案為A選項。

12.A解析:在主函數(shù)main()中,語句“sum(&a[2]);”把數(shù)組元素a[0]的地址傳遞給了sun函數(shù)的形參a[],使得sum函數(shù)中的“(a+0)”為主函數(shù)中a[2]的地址,所以a[-1]的值為主函數(shù)中a[1]的值;a[1]的值為主函數(shù)中a[3]的伉,故函數(shù)sum中a[0]=2+4=6,由于此函數(shù)中的a是指向主函數(shù)中的a[2],所以a[2]的值為6。

13.C解析:程序首先定義了兩個文件類型的指針fp1、fp2。為讀打開文件filel,并讓指針fp1指向該文件;為寫打開文件file2,并讓指針fp2指向該文件。循環(huán)執(zhí)行從文件file1中讀取一個字符,輸出到文件file2中,直到文件file1結束。因此程序的功能是將文件file1中的內(nèi)容復制到文件file2中。

14.B\n本題考查函數(shù)中數(shù)組和指針的傳值,數(shù)組a[]在參數(shù)傳遞時,是傳遞的數(shù)組a的首地址,所以形參a和n都是指針變量。。

\n

15.D

16.C

17.A

\nC語言規(guī)定,標識符是由字母、數(shù)字或下劃線組成,并且它的第一個字符必須是字母或者下劃線。int就是表達整型變量類型的標識符,它不能用做變量名和函數(shù)名。

\n

18.A本題主要考查結構體數(shù)組的使用。x[i].num為結構體x[i]中的hum成員,x[i].num[2]是結構體x[i]中name成員的第3個元素。程序執(zhí)行循環(huán)過程時:第1次循環(huán),i=1,輸出x[i].num,x[1].name[2]的值;第2次循環(huán),i=2,輸出x[2].num,x[2].name[2]的值,即3N;第3次循環(huán),i=3,輸出X[3].hum,x[3].name[2]的值,即4A;第4次循環(huán),i=4,輸出x[4].num,x[4].name[2]的值,即5U。

19.A條件表達式:x=表達式1:表達式2:表達式3的含義是:先求解表達式1.若為非0(真),則求解表達式2.將表達式2的值賦給x。若表達式1的值為0(假),則求解表達式3.將表達式3的值賦給x。在本題中與表達式1:(x-y)等價的是(x-y<0|x-y>0)。

20.D數(shù)據(jù)的存儲結構是指數(shù)據(jù)的邏輯結構在計算機存儲空間中的存放形式,一種數(shù)據(jù)結構可以根據(jù)需要采用不同的存儲結構,用的存儲結構有順序和鏈式結構。用不同的存儲結構,其處理的效率是不同的。

21.棧頂棧頂解析:棧是限定在表的一端進行插入和刪除操作的線性表。在表中,允許插入和刪除的一端叫做“棧頂”,不允許插入和刪除的一端叫做“棧底”。

22.軟件開發(fā)軟件開發(fā)解析:軟件生命周期分為3個時期共8個階段:軟件定義期(問題定義、可行性研究和需求分析)、軟件開發(fā)期(系統(tǒng)設計、詳細設計、編碼和測試)、軟件維護期(即運行維護階段)。

23.變換型典型的數(shù)據(jù)流類型有兩種:變換型和事務型。變換型是指信息沿輸入通路進入系統(tǒng),同時由外部形式變換成內(nèi)部形式,進入系統(tǒng)的信息通過變換中心,經(jīng)加工處理以后再沿輸出通路變換成外部形式離開軟件系統(tǒng);在很多軟件應用中,存在某種作業(yè)數(shù)據(jù)流,它可以引發(fā)一個或多個處理,這些處理能夠完成該作業(yè)要求的功能,這種數(shù)據(jù)流就叫做事務。

24.數(shù)據(jù)模型數(shù)據(jù)模型

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

26.99解析:本題的字符串中共有9個字符,它們分別是\'I\'、\'B\'、\'M\'、\'\\n\'、\'0\'、\'1\'、\'2\'、\'\\1\'、\'\\\\\',其中,'\\n'表示換行,'\\\\'表示反斜杠字符'\\',所以本題的最后輸出結果為9。

27.邊界值分析法邊界值分析法解析:黑箱測試方法完全不考慮程序的內(nèi)部結構和內(nèi)部特征,而只是根據(jù)程序功能導出測試用例。常用的黑箱測試有等價類劃分、邊界值分析法和錯誤推測法3種。

28.66解析:經(jīng)過分析將遞歸函數(shù)寫成其數(shù)學表達式如下:

f(&a,n)=a[0]+f(&a[1],n-1)n>1

f(&a,n)=a[0]n=1

本題中定義了一個長度為3的數(shù)組aa并初始化。接著調(diào)用遞歸函數(shù)f,由上面的數(shù)學表達式以計算其返回值s=1+2+3=6,所以空格處應該填6。

29.隊列隊列解析:隊列是一種特殊的線性表,只允許在表的一端插入元素,在表的另一端刪除元素,插入元素的一端叫做“隊尾”,刪除元素的一端叫做“隊頭”,先插入的元素先被刪除,是按先進先出的原則組織數(shù)據(jù)的。

30.HelloHello解析:執(zhí)行b[5]=0;是給數(shù)組的第6個元素賦值為0,即將Hello后的空格變?yōu)?。當輸出字符串時遇到0終止輸出。

31.完整性控制完整性控制

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

33.概念設計階段概念設計階段解析:數(shù)據(jù)庫設計分為以下六個設計階段:需求分析階段、概念設計階段、邏輯設計階段、物理設計階段、實施階段及數(shù)據(jù)庫運行和維護階段。

34.intz;sub(t1t2);

35.33解析:條件表達式的一般形式為;表達式1?表達式2:表達式3條件運算符的執(zhí)行順序:先求解表達式1,若為非0(真)則求解表達式2,此時表達式2的值就作為整個條件表達式的值;若表達式1的值為0(假),則求解表達式3,表達式3的值就是整個條件表達式的值。30/3=10>0,所以執(zhí)行p/10,結果為3。

36.軟件工程管理軟件工程管理解析:軟件工程足指,采用工程的概念、原理、技術和方法指導軟件的開發(fā)與維護:軟件工程學的主要研究對象包括軟件開發(fā)與維護的技術、方法、工具和管理等方面。即軟件工程研究的內(nèi)容主要包括:軟件開發(fā)技術和軟件工程管理。

37.BB解析:因為c是字符類型變量,它只能接收一個字符,所以c=A,字符型變量在參與算術運算的時候是用其相應的ASCII碼參與運算的,這樣++c得到字母B的ASCII碼,用putchar函數(shù)輸出是輸出其相應的字符,所以是B。

38.數(shù)據(jù)結構數(shù)據(jù)結構解析:Jackson方法是—‘種面向數(shù)據(jù)結構的結構化方法。

39.30253025解析:本題考核的知識點是變量的存儲屬性和算術運算的應用。本題涉及了自動變量、靜態(tài)變量和外部變量。外部變量是定義在所有函數(shù)之外的變量,本題中inta=5定義了一個外部變量a,它是一個全局變量,即作用域是從定義的位置開始到本文件的結束;靜態(tài)變量的存儲空間在程序的整個運行期間是固定的(static),本題函數(shù)fun()中staticinta=10定義個一個靜態(tài)變量a,此靜態(tài)變量a是個靜態(tài)的局部變量,即它的值只能在本函數(shù)中使用;自動變量是C程序中使用最多的一種變量,它的建立和撤消都是由系統(tǒng)在程序執(zhí)行過程中自動進行的,auto是自動變量的存儲類別標識符,如果省略auto,系統(tǒng)隱含認為此變量為auto,本題中main()中intc=20定義了一個自動變量c,此自動變量c是個靜態(tài)的局部變量.算術運算中a+=b++相當于a=a+b,b=b+1.所以,在第一個ptine('%d',a)中a=a+b=10+20=30,第二個printf('%d',a)中a=a+c=5+20=25,即輸出3025。

40.24

41.C解析:本題考查的重點是拷貝字符串──使用strcpy()函數(shù),該函數(shù)的調(diào)用方式是:strcpy(字符數(shù)組,字符串),其中'字符串'可以是字符串常量,也可以是字符數(shù)組。函數(shù)的功能是:將'字符串'完整地復制到'字符數(shù)組'中,字符數(shù)組中原有的內(nèi)容被覆蓋。

使用該函數(shù)時注意:①字符數(shù)組必須定義得足夠大,以便容納復制過來的字符串。復制時,連同結束標志\'\\0\'一起復制;②不能用賦值運算符'='將一個字符串直接賦值給一個字符數(shù)組,只能用strcpy()函數(shù)處理。

另外,本題還考查連接字符串的strcat()函數(shù),其調(diào)用方式是:strcat(字符數(shù)組,字符串)。

功能是把'字符串'連接到'字符數(shù)組'中的字符串尾端,并存儲于'字符數(shù)組'中。'字符數(shù)組'中原來的結束標志,被'字符串'的第一個字符覆蓋,而'字符串'在操作中未被修改。

使用該函數(shù)時注意:①由于沒有邊界檢查,編程者要注意保證'字符數(shù)組'定義得足夠大,以便容納連接后的目標字符串;否則,會因長度不夠而產(chǎn)生問題;②連接前兩個字符串都有結束標志\'\\0\',連接后'字符數(shù)組'中存儲的字符串的結束標志\'\\0\'被舍棄,只在目標串的最后保留一個\'\\0\'。

42.D解析:要想使程序輸出是25,則j-40=25,j=65,而j初值是50,所以填入for循環(huán)中的語句,使引用的數(shù)組元素累加為65-50=15即可。

43.D解析:fgetc函數(shù)是指從指定的文件讀入一個字符,該文件必須是以讀或讀寫方式打開的。fgetc函數(shù)的調(diào)用形式為:ch=fgetc(fp);。

44.D解析:賦值運算符的結合方向是自右至左,所以表達式a+=a-=a*a先運算最右邊的a*a得9,再運算a=a-9,即a=3-9,所以此時a的值由3變成了-6,最后運算a=a-+(-6),即a=(-6)+(-6)=-12。

45.B

46.B解析:本題考查標準輸入輸出函數(shù)和循環(huán)語句。gets(s)函數(shù)的作用是將輸入的字符讀入字符串s,直到遇到回車。而scanf()數(shù)接收字符串時的結束標志為回車或者空格。因此選巧

47.B解析:本題中定義了一個二維數(shù)組b并初始化,定義了一個變量t并賦初值1。接著通過一個二重循環(huán)將若干個元素的值加到變量t中。循環(huán)的執(zhí)行步驟是:外層循環(huán)變量i=0時,內(nèi)層循環(huán)變量j=i,執(zhí)行語句“t=t+b[i][b][j][j]]”,相當于t=t+b[0][b][0][0]],由于b[0][0]的值為0,得到t的值為1;依次類推,循環(huán)共執(zhí)行了3次,最后輸出t的值為4。所以,4個選項中B為所選。

48.A解析:本題考查帶參數(shù)的宏的定義及相關運算。P(F(5)*x)=P(2.84+5*2)=P(12.84),調(diào)用w(12.84),輸出(int)(12.84)=12。

49.B解析:SEEK_END代表的是文件末尾,SEEK_SET代表的是文件的開始,SEEK_CUR代表的是文件當前位置。

50.C解析:本題程序的功能是對數(shù)組元素賦值,難點是對表達式4*(i-2*(i>3))%5的分析。

51.D解析:本題考查指針變量的賦值。

**pp是定義了一個指向指針的指針變量,語句pp=&p的意思是將pp指向指針p,*p和**pp都是指針p所指的內(nèi)存空間的內(nèi)容,即b的值。

52.B解析:語句typedef\u3000int\u3000*\u3000INTEGER;定義了一個新類型名INTEGER,因此語句INTEGERp,*\u3000q;就相當于int\u3000*\u3000p,*\u3000*\u3000q;。

53.D解析:實體集之間一對一的聯(lián)系不一定是一一對應的關系。例如,在一個教室中,實體集“學生”與實體集“座位”之間是一對一的聯(lián)系。因為實體集“學生”中的每一個學生最多與實體集“座位”中的一個座位有聯(lián)系(學生坐在該座位上);并且,實體集“座位”中中的每一個座位也最多與實體集“學生”中的一個學生有聯(lián)系(座位上坐著該學生)。但該教室中的學生與座位之間不一定是一一對應的關系,因為有可能某些座位是空的,沒有學生去坐。因此,選項A)中的說法是錯誤的。在關系模型中,由于使用表格數(shù)據(jù)來表示實體之間的聯(lián)系,因此,可以直接描述多對多的實體聯(lián)系。因此,選項B)中的說法也是錯誤的。關系模型是與格式化模型完全不同的數(shù)據(jù)模型,它與層次模型、網(wǎng)狀模型相比有著本質(zhì)的區(qū)別。關系模型是用表格數(shù)據(jù)來表示實體本身及其相互之間的聯(lián)系,它是建立在數(shù)學理論基礎上的。因此,選項C)中的說法也是錯誤的。

54.B解析:本問題要求給出程序執(zhí)行后輸出的x的值。x的初值為0,程序中出現(xiàn)了3次x++,其中外層循環(huán)中出現(xiàn)了兩次,共自增了4次;在內(nèi)層循環(huán)中,當循環(huán)變量為。和2時,x自增,因此共自增了4次,這樣x共自增了8次,所以結果為8。

55.A解析:本題考查函數(shù)調(diào)用時的參數(shù)傳遞.函數(shù)reverse將數(shù)組b進行了逆置,此時的b[10]=(10,9,8,7,6,5,4,3,2,1},后面for語句的功能是將b中的前3個數(shù)累加,將結果放在s中,最后將s輸出,結果s=10+9+8=27。

56.B

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

58.C解析:函數(shù)f1()的作用是返回形參x和y的較大值,函數(shù)f2()的作用是返回形參x和y的較小值,在main()函數(shù)中通過調(diào)用兩次f1()函數(shù),求得a、b、c的最大值并存放在變量d中,通過調(diào)用兩次f2()函數(shù),求得a、b、c的最小值并存放到變量e中。由程序可知d值為5,f的值為4,e的值為3,因此最后輸出的d、f、e的值為5、4、3。所以C選項為所選。

59.B解析:根據(jù)題目要求,最后要使輸出的s值為2,在程序中改變s的值的語句只有循環(huán)體中的s+=1;語句,而初始s的值為0,顯然要使s的值變?yōu)?,該語句必須執(zhí)行兩次,即do-while循環(huán)中的循環(huán)體要執(zhí)行兩次,而在do-while中,首先不執(zhí)行條件而執(zhí)行do后面的循環(huán)體語句,然后再判斷while循環(huán)條件。所以不管循環(huán)判斷條件是否為真s+=1;語句至少執(zhí)行一次,根據(jù)分析,只需要while后面括號的循環(huán)判斷表達式的值為真成立一次且只能為真一次,將4個選項中的內(nèi)容依次代入該程序中不難得到只有n=-3剛好使循環(huán)判斷條件a!=n為真一次。故4個選項中選項B符合題意。

60.C解析:求余運算符'%'兩邊的運算對象必須是整型,而選項B)和D)中'%'兩邊的運算對象有浮點整數(shù)據(jù),所以選項B)和D)是錯誤的表達式。在選項A)中賦值表達式的兩邊出現(xiàn)相同的變量x,也是錯誤的。選項C)是一個逗號表達式,所以正確答案為C)。

61.D

62.C

63.A輸出的格式控制,因為輸入的是a和一個回車符,系統(tǒng)就會將a字符賦給c1,將回車符賦給c2.

64.C解析:在C語言中,除字符數(shù)組外,一個數(shù)組不能通過數(shù)組名對數(shù)姐進行整體引用,因此選項A是對的。數(shù)組名中存放的是一個地址常量,它代表整個數(shù)組的首地址,因此選項B是對的。C語言程序在運行過程中,系統(tǒng)不自動檢驗數(shù)組元素的下標是否越界,因此選項C是錯誤的。C語官規(guī)定可以通過賦初值來定義數(shù)組的大小,這時數(shù)組說明符的一對方括號中可以不指定數(shù)組的大小,因此選項D也是正確的。所

溫馨提示

  • 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

提交評論