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

付費下載

下載本文檔

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

文檔簡介

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

一、單選題(20題)1.在位運算中,操作數(shù)每左移兩位,其結(jié)果相當于()。

A.操作數(shù)乘以2B.操作數(shù)除以2C.操作數(shù)除以4D.操作數(shù)乘以4

2.有以下程序#include<stdio.h>intfun(chars[]){intn=0;while(*s<=9&&*s>=0){n=10*n+*s-o;s++;)return(n);}main{chars[10]={6,1,*,4,*,9,*,0,*);printf("%d",fun(s));}程序運行的結(jié)果是()。A.9B.61490C.61D.5

3.若有以下程序段intm=0xabc,n=0xubc;m-=n;printf("%X\n",m);執(zhí)行后輸出結(jié)果是

A.0X0B.0x0C.0D.0XABC

4.要求當A的值為奇數(shù)時,表達式的值為“真”,A的值為偶數(shù)時,表達式的值為“假”,以下不滿足要求的表達式是()。A.A%2==1B.!(A%2==0)C.A%2D.!(A%2)

5.數(shù)據(jù)庫DB、數(shù)據(jù)庫系統(tǒng)DBS、數(shù)據(jù)庫管理系統(tǒng)DBMS之間的關系是()。

A.DB包含DBS和DBMSB.DBMS包含DB和DBSC.DBS包含DB和DBMSD.沒有任何關系

6.下列程序段中完全正確的是()。A.int*p;scanf(“%d”,&p);

B.int*p;scanf(“%d”,p);

C.intk,*p=&k;scanf(“%d”,p);

D.intk,*p;*p=&k;scanf(“%d”,p);

7.

8.設有數(shù)組A[i][j],數(shù)組的每個元素長度為3字節(jié),i的值為8,j的值為10,數(shù)組從內(nèi)存首地址BA開始順序存放,下標從0開始,當以列為主序存放時,元素A[5][8]的存儲首地址為()。

A.BA+141B.BA+180C.BA+222D.BA+225

9.算法分析的目的是()。

A.找出數(shù)據(jù)結(jié)構(gòu)的合理性B.研究算法中的輸入和輸出的關系C.分析算法的效率以求改進D.分析算法的易懂性和文檔性

10.已知8個數(shù)據(jù)元素為(34,76,45,18,26,54,92,65),按照依次插入結(jié)點的方法生成一棵二叉排序樹后,最后2層上的結(jié)點總數(shù)為______。

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

11.

12.

13.在結(jié)構(gòu)化方法中,軟件功能分解屬于下列軟件開發(fā)中的階段是______。

A.詳細設計B.需求分析C.總體設計D.編程調(diào)試

14.有下列程序:main{inty=10;do{y--;}while(--y);printf("%d\n",--y);)當執(zhí)行程序時,輸出的結(jié)果是()。A.-1B.1C.4D.0

15.以下對結(jié)構(gòu)體類型變量的定義中,不正確的是()。

A.typedefstruetaa{intn;floatm;}AA;AAtdl;

B.#defineAAstructaaAA{intn;floatm;}tdl;

C.struct{intn;floatm;}aa;structaatdl;

D.struct{intn;floatm;}tdl;

16.對長度為n的線性表排序,在最壞情況下,比較次數(shù)不是n(n-1)/2的排序方法是()。

A.快速排序B.冒泡排序C.直接插入排序D.堆排序

17.計算機算法必須具備輸入、輸出和()等5個特性。

A.可行性、可移植性和可擴充性B.可行性、確定性和有窮性C.確定性、有窮性和穩(wěn)定性D.易讀性、穩(wěn)定性和安全性

18.堆的形狀是一棵_______。

A.二叉排序樹B.滿二叉樹C.完全二叉樹D.平衡二叉樹

19.若有定義“inta,b,c;”,想通過語句“scanf(“%d,%d%d”,&a,&b,&c);”把1、2、3分別賦給變量a、b、c,則正確的鍵盤輸入是()。

A.1,2,3<Enter>

B.1,2<tab>3<Enter>

C.1<Enter><tab>2<tab>3

D.1<Enter>2<Enter>3

20.將數(shù)組a[0,1,…,m-1]作為循環(huán)隊列SQ的存儲空間,f為隊頭指示,r為隊尾指示,則執(zhí)行出隊操作的語句為()A.f=f+1B.f=(f+1)%mC.r=(r+1)%mD.f=(f+1)%(m+1)

二、2.填空題(20題)21.在C語言中(以16位PC機為例),一個float型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為4;一個double型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為【】。

22.在對文件操作的過程中,若要求文件的位置指針回到文件的開始處,應當調(diào)用的函數(shù)是【】。

23.設x和y均為int型變量,且x=1,y=2,則表達式double(1+x/y)的值為【】。

24.E-mail地址由用戶名和域名兩部分組成,這兩部分的分隔符為【】。

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

#defineP(A)printf("%d",A)

main()

{intj,a[]={1,2,3,4,5,6,7},i=5;

for(j=3;j>1;j--)

{switch(j)

{case1:

case2:P(a[i++]);break;

case3:P(a[--i]);

}

}

}

26.在程序設計階段應該采取______和逐步求精的方法,把一個模塊的功能逐步分解,細化為一系列具體的步驟,繼而用某種程序設計語言寫成程序。

27.與結(jié)構(gòu)化需求分析方法相對應的是【】方法。

28.以下程序的功能是計算:s=1+12+123+1234+12345。請?zhí)羁铡?/p>

main()

{intt=0,s=0,i;

for(i=1;i<=5;i++)

{t=i+______;s=s+t;}

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

}

29.下面程序的輸出走【】。

main()

{enumem{em1=3,em2=1,em3};

char*aa[]={"AA","BB","CC","DD"};

printf("%s%s%s\n",aa[em1],aa[em2],aa[em3]);

}

30.二叉樹的遍歷可以分為三種:前序遍歷、()遍歷和后序遍歷。

31.下列程序執(zhí)行后輸出的結(jié)果是【】。

f(intA)

{staticc=0;

c=a+c++;

return(c);

}

main()

{inta=2,i,k;

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

k=f(a++);

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

}

32.閱讀下列程序,則程序的輸出結(jié)果為【】。

#include"stdio.h"

structty

{intdata;

charc;};

main()

{structtya={30,′x′};

fun(a);

printf("%d%c",a.data,a.c);}

fun(structtyb)

{b.data=20;

b.c=′y′;}

33.在關系模型中,把數(shù)據(jù)看成一個二維表,每一個二維表稱為一個______。

34.在關系模型中,二維表的行稱為______。

35.設有下列的程序段;

charstr[]="Hello";

char*ptr;

ptr=str;

執(zhí)行上面的程序段后,*(ptr+5)的值為______。

36.設i,j,k均是int型變量,則執(zhí)行以下for循環(huán)后,k的值為【】。

for(i=0,j=10;i<=j;i++,j--)

k=i+j;

37.軟件生命周期包括8個階段。為使各時期的任務更明確,又可以分為以下3個時期:軟件定義期、軟件開發(fā)期、軟件維護期。編碼和測試屬于【】期。

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

#include<stdio.h>

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);

}

39.在循環(huán)中,continue語句與break語句的區(qū)別是:______語句只是結(jié)束本次循環(huán),然后進行循環(huán)的條件判定。

40.下面程序把從終端讀入的文本(用@作為文本結(jié)束標志)輸出到一個名為bi.dat的新文件中,請?zhí)羁铡?/p>

#include"stdio.h"

FILE*fp;

main()

{charch;

if((fp=fopen(【】))==NULL)exit(0);

while((ch=getchar())!='@')fputc(ch,fp);

fclose(fp);

}

三、1.選擇題(20題)41.下列有關數(shù)據(jù)庫的描述,正確的是()

A.數(shù)據(jù)庫設計是指設計數(shù)據(jù)庫管理系統(tǒng)

B.數(shù)據(jù)庫技術的根本目標是要解決數(shù)據(jù)共享的問題

C.數(shù)據(jù)庫是一個獨立的系統(tǒng),不需要操作系統(tǒng)的支持

D.數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)的物理結(jié)構(gòu)必須與邏輯結(jié)構(gòu)一致

42.某個C程序中有4個函數(shù)t、u、v和w,執(zhí)行時t調(diào)用了u和v,u調(diào)用了t和w,v調(diào)用了w,w調(diào)用了t和v。以下敘述中正確的是()

A.這4個函數(shù)都間接遞歸調(diào)用了自己

B.除函數(shù)t外,其他函數(shù)都間接遞歸調(diào)用了自己

C.除函數(shù)u外,其他函數(shù)都間接遞歸調(diào)用了自己

D.除函數(shù)v和w外,其他函數(shù)都間接遞歸調(diào)用了自己

43.以下程序的輸出結(jié)果是______。longfun(intn){longs;if(n==1||n==2)s=2;elses=n-fun(n-1);relums;}main(){printf("%ld\nt",fun(3));}

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

44.下列關于棧的描述正確的是()。

A.在棧中只能插入元素而不能刪除元素

B.在棧中只能刪除元素而不能插入元素

C.棧是特殊的線性表,只能在一端插入或刪除元素

D.棧是特殊的線性表,只能在一端插入元素,而在另一端刪除元素

45.有以下程序:#include<stdio.h>#definef(x)x*xmain(){inti;i=f(4+4)/f(2+2);priatf("%d\n",i);}執(zhí)行后的輸出結(jié)果是()。

A.28B.22C.16D.4

46.若已包括頭文件<stdio.h>和<string.h>,運行下列程序段時輸出結(jié)果是()。inti=0;chars1[10]="ABCD",s2[10]="EFG";strcat(s1,s2);while(s2[i++]!='\0')s2[i]=s1[i];puts(s2);

A.ABCB.ABCDEFC.EBCDEFGD.CBD

47.請選出以下程序的輸出結(jié)果()#include<stdio.h>sub(x,y,z)intx,y,*z;{*2=y(tǒng)-x;}main(){inta,b,c;sub(10,5,&A);sub(7,a,&B);sub(a,b,&C);printf("%d,%d,%d\n",a,b,C);}

A.5,2,3B.-5,-12,-7C.-5,-12,-17D.5,-2,-7

48.下面程序段的輸出為#nclude"stdio.h"main(){printf("%d\n",12<<2);}

A.0B.47C.48D.24

49.結(jié)構(gòu)化程序設計的基本原則不包括A.多態(tài)性B.自頂向下C.模塊化D.逐步求精

50.有以下程序:voidsort(inta[],intn){inti,j,t;for(i=0;i<n-1;i+=2)for(j=i+2;j<n;j+=2)if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;}}main(){intaa[10]={1,2,3,4,5,6,7,8,9,10},i;sort(aa,10);for(i=0;i<10;i++)printf("%d",aa[i]);printf("\n");}其輸出結(jié)果是

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

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

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

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

51.下列4項中,必須進行查詢優(yōu)化的是______。A.A.關系數(shù)據(jù)庫B.網(wǎng)狀數(shù)據(jù)庫C.層次數(shù)據(jù)庫D.非關系模型

52.有以下程序段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

53.以下程序的輸出結(jié)果是#include<stdio.h>inta[3][3]={1,2,3,4,5,6,7,8,9,},*p;main(){p=(int*)malloc(sizeof(int));f(p,a);printf("%d\n”,*p);free(p);}f(int*s,intp[][3]){*s=p[1][1];}

A.1B.4C.7D.5

54.在C語言中,函數(shù)中變量的隱含存儲類別是______。

A.autoB.staticC.externD.無存儲類別

55.以下程序運行后,輸出結(jié)果是______。fun(int**s,intp[2][3]){**s=p[1][1];}main(){inta[2][3]={1,3,5,7,9,11},*p;p=(int*)malloc(sizeof(int));fun(&p,a);printf("%d\n",*p);}

A.1B.7C.9D.11

56.有以下程序:#include<stdio.h>floatf1(floatn){returnn*n;}floatf2(floatn){return2*n;}main(){float(*p1)(float),(*p2)(float),(*t)(float),y1,y2;p1=f1;p2=f2;y1=p2(p1(2.0));t=p1;p1=p2;p2=t;y2=p2(p1(2.0));prinff("%3.0f,%3.Of\n",y1,y2);}程序運行后的輸出結(jié)果是()。

A.8,16B.8,8C.16,16D.4,8

57.下列正確的變量聲明是()

A.intm;n;k;

B.unsignedintm,n,k;

C.doubleintm,n,k;

D.intm,n,k

58.下列敘述中正確的是______。

A.C程序中注釋部分可以出現(xiàn)在程序中任何合適的地方

B.花括號""{""和""}""只能作為函數(shù)體的定界符

C.構(gòu)成C程序的基本單位是函數(shù),所有函數(shù)名都可以由用戶命名

D.分號是C語句之間的分隔符,不是語句的一部分

59.有以下程序:main(){inti=1,j=1,k=2;if((j++||k++)&&i++)printf("%d,%d,%d\n",i,j,k);}執(zhí)行后輸出結(jié)果是()。

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

60.具有3個結(jié)點的二叉樹有

A.2種形態(tài)B.4種形態(tài)C.7種形態(tài)D.5種形態(tài)

四、選擇題(20題)61.(46)面向?qū)ο蟮脑O計方法與傳統(tǒng)的的面向過程的方法有本質(zhì)不同,它的基本原理是()

A.模擬現(xiàn)實世界中不同事物之間的聯(lián)系

B.強調(diào)模擬現(xiàn)實世界中的算法而不強調(diào)概念

C.使用現(xiàn)實世界的概念抽象地思考問題從而自然地解決問題

D.鼓勵開發(fā)者在軟件開發(fā)的絕大部分中都用實際領域的概念去思考

62.語句:“printf("%d",(a=)&&(b=-2));”的輸出結(jié)果是()。A.A.無輸出B.結(jié)果是不確定C.-1D.1

63.結(jié)構(gòu)化程序設計所規(guī)定的三種基本控制結(jié)構(gòu)是()。

A.for、while、switchB.輸入、輸出、處理C.順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)D.主程序、子程序、函數(shù)

64.

65.有以下定義語句,編譯時會出現(xiàn)編譯錯誤的是()。

66.設有如下三個關系表:

67.對長度為n的線性表排序,在最壞情況下,比較次數(shù)不是n(n-1)/2的排序方法是

A.插入排序B.冒泡排序C.直接插入排序D.堆排序

68.設變量a、b、c、d和y都已正確定義并賦值。若有以下if語句

if(a<b)

if(c==d)y=0;

Elsey=1;

該語句所表示的含義是()。

A.

B.

C.

D.

69.

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

main

{intx=f;printf("%c\n",A+(x-a+1));}

A.GB.HC.ID.J

70.

71.設A為存放(短)整型的一維數(shù)組,如果A的首地址為P,那么A中第i個元素的地址為()。

A.P+i*2B.P+(i-1)*2C.P+(i-1)D.P+i

72.有以下程序:

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

A.321,cbaB.abc,123C.123,abcD.lbe,a23

73.以下程序的功能是

#include<stdio.h>

main()

{FILE*fp1;*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.將兩個磁盤文件合并后送屏幕

74.

75.有以下程序:

#include<stdio.h>

#include<strin9.h>

main()

{printf{"%d\n",strlen("%d\n",strlen("ATS\n012\|"));}

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

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

76.若有定義:“inta=4,b=5;floatx=3.4,y=2.1;”,則下列表達式的值為()。(float)(a+b)/2+(int)x%(int)y;

A.5.5B.55C.5.500000D.55.00000

77.

下列程序的運行結(jié)果是()。

#include<stdio.h>

#defineADD(x)x+x

main

{intm=1,n=2,k=3;

intS=ADD(m+n)*k;

printf("s=%d",s);

}

A.sum=18B.sum=10C.sum=9D.sum=25

78.

79.執(zhí)行語句X=(a=10,b=a--.后,x、a、b的值依次為()。

A.10,10,9

B.10,9,9

C.9,10,9

D.10,9,10

80.

五、程序改錯題(1題)81.下列給定程序中,函數(shù)proc()的作用是:將字符串str中的大寫字母都改為對應的小寫字母,其他字符不變。例如,若輸入“abD,dFAD”,則輸出“abd,dfad”。請修改函數(shù)proc()中的錯誤,使它能得出正確的結(jié)果。注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:

六、程序設計題(1題)82.請編寫函數(shù)proc,該函數(shù)的功能是:將M行N列的二維數(shù)組中的數(shù)據(jù),按行的順序依次放到一維數(shù)組中,一維數(shù)組中數(shù)據(jù)的個數(shù)存放在形參n所指的存儲單元中。

例如,若二維數(shù)組中的數(shù)據(jù)為

13233343

14243444

15253545

則一維數(shù)組中的內(nèi)容應該是132333431424344415253545。

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

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

試題程序:

#include<stdio.h>

voidproc(int(*s)[103,int*b,int*n,intrain.intnn)

{}

voidmain

{

intarr[10][10]={{33,33,33,33),{44,44,44,44},

{55,55,55,55}),i,j;

inta[l00]={o),n=o;

printf("Thematrix:\n");

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

{

for(j=0;j<4;j++)

printf("%3d",arr[i][j]):

printf("\n");

}

proc(arr,a,&n,3,4):

printf("TheAarray:\n");

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

printf("%3d",a[i]):

printf("\n\n");

}

參考答案

1.D解析:本題主要考查左移、右移對數(shù)據(jù)值的影響,左移n位相當于乘以2的n次冪,右移n位相當于除以2的n次冪。

2.C在fun函數(shù)中,while循環(huán)的功能是逐個取字符數(shù)組s的字符判斷其是否是數(shù)字。若是則將這些數(shù)字組成一個數(shù)保存到變量n中,并返回變量n的值。

3.C解析:C語言中的自反賦值運算符?!癿-=n”相當于“m=m-n”,兩個相等的數(shù)相減,其值為0。

4.D

5.C(10)C)解析:DB即數(shù)據(jù)庫(Database),是統(tǒng)一管理的相關數(shù)據(jù)的集合;DBMS即數(shù)據(jù)庫管理系統(tǒng)(DatabaseManagementSystem),是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,為用戶或應用程序提供訪問DB的方法;DBS即數(shù)據(jù)庫系統(tǒng)(DatabaseSystem)由如下5部分組成,數(shù)據(jù)庫(數(shù)據(jù))、數(shù)據(jù)庫管理系統(tǒng)(軟件)、數(shù)據(jù)庫管理員(人員)、系統(tǒng)平臺之一——硬件平臺(硬件)、系統(tǒng)平臺之二——軟件平臺(軟件)。

6.CA選項中,沒有對指針進行初始化,屬于無效指針,并且在“scanf(“%d”,&p);”中無須再進行取地址操作;B選項中,沒有對指針進行初始化,屬于無效指針;D選項中,語句“*p=&k;”書寫錯誤,應為“P=&k;”。故本題答案為C選項。

7.A

8.A

9.C

10.B

11.C

12.B

13.C解析:軟件系統(tǒng)結(jié)構(gòu)的總體設計包括:基于功能層次結(jié)構(gòu)建立系統(tǒng)、按功能劃分成模塊的層次結(jié)構(gòu)、確定每個模塊的功能、建立與已確定的軟件需求的對應關系、確定模塊間的調(diào)用關系和模塊間的接口、評估模塊劃分的質(zhì)量等方面。詳細設計的任務是:在使用程序設計語言編制程序以前,對所采用算法的邏輯關系進行分析,設計出全部必要的過程細節(jié),并給予清晰的表達。需求分析是指用戶對目標軟件系統(tǒng)在功能、行為、性能、設計約束等方面的期望。需求分析的任務是發(fā)現(xiàn)需求、求精、建模和定義需求,通常包括:功能需求、性能需求、環(huán)境需求、可靠性需求、安全保密要求、用戶界面需求、資源使用需求、成本消耗需求、開發(fā)進度需求等。編程調(diào)試的任務是診斷和改正程序中潛在的錯誤。綜上所述。軟件功能分解只能發(fā)生在總體設計階段。

14.A本題考查do-while循環(huán)。當--y是0(即y是o)時結(jié)束循環(huán),輸出--y,先將y的值減1再輸出Y的值。

15.C解析:定義結(jié)構(gòu)體類型的變量有如下幾種方法:

①定義結(jié)構(gòu)體類型的同時,定義結(jié)構(gòu)體類型的變量,如:

stractaa

{…}tdl;

選項B)中將宏名AA用宏體structaa替換后,與該定義形式一樣,因此是正確的。在這一定義形式中,結(jié)構(gòu)體類型名aa是可以省略的,因此,D)項也是正確的。

②先定義結(jié)構(gòu)體類型,然后再定義結(jié)構(gòu)體類型的變量,形式如下:

structaa

{…};

strnctaatdl;

這種定義形式也可演變?yōu)椋合扔妙愋投x語句typedef將該結(jié)構(gòu)體類型定義成一個類型名AA,然后直接用該類型名AA定義一個結(jié)構(gòu)體變量(這時不再需要使用關鍵字struct)。因此選項A)正確。

16.D各種排序方法中最壞情況下需要比較的次數(shù)分別為:冒泡排序n(n-1)/2、快速排序n(n-1)/2、簡單插入排序n(n-1)/2、希爾排序0(n1.5)、簡單選擇排序n(n-1)/2、堆排序O(nlog2n)

17.B

18.C

19.B題干中,格式輸入函數(shù)scanf的格式控制字符串中,第1個%d與第2個%d之間有一個逗號。所以輸入的第1個整數(shù)和第2個整數(shù)之間必須要有一個逗號,選項C、D錯誤;輸入的第2個整數(shù)和第3個整數(shù)之間需要間隔符,可以使用<Tab>鍵、<Enter>鍵、空格符。故本題答案為B選項。

20.B

21.88解析:在一般系統(tǒng)中,一個float型數(shù)據(jù)在內(nèi)存中占4個字節(jié)(32位),一個double型數(shù)據(jù)占8個字節(jié)。

22.rewind()或fseek()rewind()或fseek()

23.11解析:本題考查兩個知識點:一是x/y的值為整型,即為0;二是數(shù)1是double類型。

24.@

25.5555解析:分析程序執(zhí)行過程,第一次循環(huán)時,i=3,i=5,因為switch(3),所以執(zhí)行case3,調(diào)用P(a[--i])=P(a[4])=P(5),輸出5:第二次循環(huán)時,j=2,i=4,因為switch(2),所以執(zhí)行case2,調(diào)用P(a[i++]):P(a[4])=P(5),輸出5,之后i自加等于5。

26.自頂向下自頂向下解析:在程序設計時,應先考慮總體,后考慮細節(jié),逐步使問題具體化,對復雜的問題,應該設計一些子目標作為過渡,上述方法概括為:自頂向下,逐步細化。

27.結(jié)構(gòu)化設計結(jié)構(gòu)化設計解析:與結(jié)構(gòu)化需求分析方法相對應的是結(jié)構(gòu)化設計方法。結(jié)構(gòu)化設計就是采用最佳的可能方法設計系統(tǒng)的各個組成部分以及各個成分之間的內(nèi)部聯(lián)系的技術。

28.t*10或10*tt*10或10*t解析:本題要求累加一系列有規(guī)律的數(shù),從輸出結(jié)果來看,s保存的是最終結(jié)果,而s在循環(huán)體中,每次累加一個t,則說明t在5次循環(huán)中分別等于1.12、123、1234、12345;而t每次循環(huán)等于“填空內(nèi)容”加上循環(huán)變量i,又因為i在5次循環(huán)中分別等于1、2、3、4,5,所以t每次循環(huán)要加的“填空內(nèi)容”應分別為0、10、120,1230,12340,這一系列值正好是前一次t的值的10倍.所以“填空內(nèi)容”應是t*10。

29.DDBBCCDDBBCC解析:C語言對枚舉的定義規(guī)定:在枚舉中聲明的各個枚舉元素,如果沒有明確指出某個枚舉元素的值,它的上一個元素存在并有明確值的情況下,這個枚舉元素的值為其上一個元素的值+1。在本題中,沒有明確說明枚舉元素em3的值,則em3=em2+1=1+1=2,進而可知,在printf()打印函數(shù)中,要打印的數(shù)組元素是aa[3]、aa[1]、aa[2],因此最后的打印結(jié)果應當為“DDBBCC”。

30.中序中序解析:二叉樹的遍歷可以分為三種:前序遍歷、中序遍歷和后序遍歷。前序遍歷是指在訪問根結(jié)點、遍歷左子樹與遍歷右子樹這三者中,首先訪問根結(jié)點,然后遍歷左子樹,最后遍歷右子樹;并且遍歷左、右子樹時,仍然先訪問根結(jié)點,然后遍歷左子樹,最后遍歷右子樹。中序遍歷指在訪問根結(jié)點、遍歷左子樹與遍歷右子樹這三者中,首先遍歷左子樹,然后訪問根結(jié)點,最后遍歷右子樹;并且遍歷左、右子樹時,仍然先遍歷左子樹,然后訪問根結(jié)點,最后遍歷右子樹。后序遍歷指在訪問根結(jié)點、遍歷左子樹與遍歷右子樹這三者中,首先遍歷右子樹,然后訪問根

31.77解析:在程序執(zhí)行時,static變量僅初始化一次,下次使用時將使用上次保存的值。

32.30x30x解析:本題的參數(shù)傳遞屬于值傳遞,所以被調(diào)用函數(shù)內(nèi)不能改變調(diào)用函數(shù)中的數(shù)據(jù)。

33.關系關系解析:關系模型用;維表表示,則每個;維表代表一種關系。

34.元組元組解析:在關系型數(shù)據(jù)庫中,用二維表來表示關系,二維表的表名即關系名,二維表的行稱為關系的元組,二維表的列,稱為關系的屬性。

35.'\0''\\0'解析:本題涉及字符數(shù)組和指針的兩個知識點:①在C語言中,字符型數(shù)組在存放字符串時會自動在末尾加上字符串結(jié)束標識符'\\0'所以題中數(shù)組str有6個元素。②ptr指向數(shù)組str的首地址,ptr+5是指向str[5],*(ptr+5)是引用str[5]的值,即'\\0'。

36.10

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

38.2121解析:本題考查switch語句。首先x=1,執(zhí)行switch(y),因為y=0,所以執(zhí)行case0:a++;break;此時a=1執(zhí)行case2:a++;b++;這時a=2,b=1;最后輸出結(jié)果是21。

39.continuecontinue解析:continue語句只是結(jié)束本次循環(huán),然后進行循環(huán)的條件判定。break語句是終止整個循環(huán)的執(zhí)行,不再進行條件判定。

40.dat""w"或"bi.dat""w+"或"bi.dat""r+"dat','w'或'bi.dat','w+'或'bi.dat','r+'解析:本題的考點是fopen()函數(shù),此函數(shù)的格式是fopen(文件名,使用文件方式),題目的要求是將從鍵盤讀入的文本寫到文件中,因此選擇的打開方式應該是'w'(只寫)。或者是讀寫“r+”或“w+”。

41.BB)【解析】數(shù)據(jù)庫設計的目的實質(zhì)上是設計出滿足

\n實際應用需求的實際關系模型。數(shù)據(jù)庫技術的主要目的是有效地管理和存取大量的數(shù)據(jù)資源,包括:提高數(shù)據(jù)的共享性,使多個用戶能夠同時訪問數(shù)據(jù)庫中的數(shù)據(jù);減小數(shù)據(jù)的冗余,以提高數(shù)據(jù)的一致性和完整性:提供數(shù)據(jù)與應用程序的獨立性,從而減少應用程序的開發(fā)和維護代價。

42.A

43.A解析:這是一個遞歸函數(shù)。遞歸的結(jié)束條件是,n=1或者n=2。按照程用頃序,即可得出本題結(jié)果為1。

44.C解析:根據(jù)數(shù)據(jù)結(jié)構(gòu)對棧的定義及其特點可知:棧是限定只在表尾進行插入或刪除操作的線性表,因此棧是先進后出的線性表,對棧的插入與刪除操作,不需要改變棧底元素。棧是限定只在表尾進行插入或刪除操作的線性表。

45.A解析:程序中的帶參宏定義,替換展開后為i=4+4*4+4/2+2*2+2=4+16+2+4+2=28。

46.C解析:strcat(s1,s2)把s2連接到s1的后面,s1=ABCDEFG,執(zhí)行while(s2[i++]!='\\0')后i的值變?yōu)?,往后執(zhí)行s2[i]=s1[i]時是從把s1的第二位給s2的第二位開始,把s1賦給s2。

47.B

48.C

49.A結(jié)構(gòu)化程序設計方法的主要原則可以概括為:自頂向下,逐步求精,模塊化和限制使用GOTO語句,其中不包括多態(tài)性。

50.C解析:本題考核的知識點是程序中算法的基本分析。sort()函數(shù)作用是將數(shù)組aa中的下標為偶數(shù)的元素按大到小排序.主函數(shù)中首先定義了一個長度為10的數(shù)組并賦值,然后調(diào)用sort()函數(shù),將數(shù)組aa中奇數(shù)個元素的值按大到小排序,因此執(zhí)行完該函數(shù)后,數(shù)組中奇數(shù)個元素的值為9,7、5、3和1,故主函數(shù)中最后通過一個for循環(huán)輸出數(shù)組aa中各元素的值為9、2、7、4、5、6、3、8、1和10,所以,4個選項中選項C符合題意。

51.A解析:關系數(shù)據(jù)模型誕生之后迅速發(fā)展,深受用戶喜愛,但關系數(shù)據(jù)模型也有缺點,其最主要的缺點是由于存取路徑對用戶透明,查詢效率往往不如非關系數(shù)據(jù)模型。因此,為了提高性能,必須對用戶的查詢請求進行優(yōu)化。

52.D解析:在用基本輸出函數(shù)printf時,格式說明與輸出項的個數(shù)應該相同。如果格式說明的個數(shù)少于輸出項的個數(shù),多余的輸出項不予輸出;如果格式說明個數(shù)多于輸出項個數(shù),則對于多余的格式項輸出不定值或0。

53.D解析:本題考查了二維數(shù)組元素引用的方法。題中用動態(tài)存儲分配函數(shù)malloc分配了一個int型數(shù)據(jù)長度大小的內(nèi)存,然后指針p指向了這段內(nèi)存,函數(shù)f()中對p所指向的數(shù)據(jù)進行了賦值,p[1][1]為二維數(shù)組第二行第二列的元素,對應于實參a的元素5,所以輸出結(jié)果為5。

54.A解析:函數(shù)中變量的存儲類別包括auto,static,extern,其中auto為隱含存儲類別,static為靜態(tài)存儲類別,register是寄存器存儲類別。

55.C解析:p是指向整型變量的指針,函數(shù)fun的第一個參數(shù)是指向指針變量的指針,調(diào)用時將p的地址傳給了形參s,函數(shù)體**s=p[1][1]使得s的內(nèi)容是p[1][1]的地址,即實參p里存放的是實參數(shù)組a[1][1]元素的地址,輸出時取指針運算則輸出元素a[1][1]=9。

56.A解析:程序中定義了三個指向函數(shù)的指針變量p1、p2、t,函數(shù)返回值均是float類型。在main函數(shù)中,p1指向了函數(shù)f1,p2指向了函數(shù)f2。語句y1=p2(p1(2.0));先調(diào)用f1函數(shù),將其返回值4.000000傳遞給f2的形參n,并將其函數(shù)返回值8.000000賦值給y1。然后在main函數(shù)中交換p1,p2指針變量的指向,使p1指向了函數(shù)f2,p2指向了函數(shù)f1,執(zhí)行語句y2=p2(p1(2.0));先調(diào)用函數(shù)f2,得到返回值4.000000,將其傳遞給f1函數(shù)的形參n,并將返回值16.000000賦值給y2。在輸出y1,y2時,各浮點數(shù)占3列,小數(shù)位數(shù)為0,即輸出了:8,16。

57.B

58.A解析:C程序中注釋部分用“/*”和“*/”括起來,可以出現(xiàn)在程序中任何合適的地方;花括號“{”和“}”不僅可作為函數(shù)體的定界符,也可作為復合語句的定界符;構(gòu)成C程序的基本單位是函數(shù):一個語句必須在最后出現(xiàn)分號,分號是C語句中不可缺少的部分。

59.C解析:首先計算if語句后面的表達式值,先計算運算符&&前面括號里的||運算。在||運算中先計算j++,值為1(j的值為2),為真,后面的k++將不再計算,k的值依舊為2。計算&&后面的表達式i++,值為1(i的值變?yōu)?)。整個表達式的值為真,所以執(zhí)行后面的輸出語句,最后輸出的i,j和k的值為2、2和2。所以,C選項為所選。

60.D解析:因為二叉樹有左、右子樹之分,所以有3個結(jié)點的二叉樹具有5種不同的形態(tài)。

61.C

62.D因為在邏輯表達式中,兩邊的賦值表達式都成立,即值為1,故選擇D選項。

63.C結(jié)構(gòu)化程序設計的三種基本結(jié)構(gòu)式順序,選擇,和循環(huán)結(jié)構(gòu)。

64.B\r\n

65.AA)選項:再能將一個字符串賦值給一個字符變量,所以選擇A)。

6

溫馨提示

  • 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

提交評論