2021年陜西省咸陽市全國計算機等級考試C語言程序設計測試卷(含答案)_第1頁
2021年陜西省咸陽市全國計算機等級考試C語言程序設計測試卷(含答案)_第2頁
2021年陜西省咸陽市全國計算機等級考試C語言程序設計測試卷(含答案)_第3頁
2021年陜西省咸陽市全國計算機等級考試C語言程序設計測試卷(含答案)_第4頁
2021年陜西省咸陽市全國計算機等級考試C語言程序設計測試卷(含答案)_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2021年陜西省咸陽市全國計算機等級考試C語言程序設計測試卷(含答案)學校:________班級:________姓名:________考號:________

一、單選題(20題)1.有以下程序:#include<stdio.h>main(){inta=1,b=2,c=3,d=4,r=0;if(a!=1)r=1;if(b==2)r=2;elseif(c!=3)r=3;elseif(d==4)r=4;printf(“%d\n”,r);}程序運行后的輸出結果是()。

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

2.下列哪一種圖的鄰接矩陣是對稱矩陣()。

A.有向圖B.無向圖C.AOV網D.AOE網

3.有以下程序:voidsum(int*a){a[0]=a[1];}main(){intaa[10]={1,2,3,4,5,6,7,8,9,10},i;for(i=1;i>0;i--)sum(&aa[i]);print("%d\n",aa[0]);}程序運行后的輸出結果是______。

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

4.若在線性表中采用折半查找法查找元素,該線性表應該()A.元素按值有序B.構采用順序存儲結C.元素按值有序且采用順序存儲結構D.元素按值有序且采用鏈式存儲結構

5.數據表A中有10000個元素,如果僅要求求出其中最大的10個元素,則采用()最節(jié)省時間。

A.堆排序B.希爾排序C.快速排序D.希爾排序

6.在n個結點的線性表的數組實現(xiàn)中,算法的時間復雜度是O(1)的操作是()。

A.訪問第i(1<=i<=n)個結點和求第i個結點的直接前驅(1<i<=n)

B.在第i(1<=i<=n)個結點后插入一個新結點

C.刪除第i(1<=i<=n)個結點

D.以上都不對

7.采用表結構來表示數據和數據間聯(lián)系的模型是()。

A.層次模型B.概念模型C.網狀模型D.關系模型

8.有以下程序

#include<stdio.h>

#include<string.h>

typedefstrlIct{charname[9];charsex;floatscore[2];}STU;

STUf(STUa)

{STUb={"Zhao",'m',85.0,90.0);inti;

strcpy(aname,b.name);

sex:b.sex;

for(i=0;i<2;i++)a.score[i]=b.score[i];

returna;

}

main

{STUc="Qian",'f',95.0,92.0},d;

d=f(c).printf("%s,%c,%2.0f,%2.0f",d.Name,d.sex,d.score[0],d.score[1]);

}

程序的運行結果是()。A.A.Qian,f,95,92

B.Qian,m,85,90

C.Zhao,m,85,90

D.Zhao,f,95,92

9.有以下程序段:#include<stdio.h>intj;floaty;charname[50];scanf(“%2d%f%s”,&j,&y,name);當執(zhí)行上述程序段時,從鍵盤上輸入555667777abc后,y的值為()。

A.566.0B.55566.0C.7777.0D.566777.0

10.下列鏈表中,其邏輯結構屬于非線性結構的是()

A.雙向鏈表B.帶鏈的棧C.二叉鏈表D.循環(huán)鏈表

11.以下程序的輸出結果是()。unionmyun{struct{intx,y,z;)u;intk:}a;main{a.u.x=4;a.u.y=5;a.u.z=6;k=0;printf(%d\n",a.u.x);}A.4B.5C.6D.0

12.某二叉樹的先序序列和后序序列正好相同,則該二叉樹可能是______的二叉樹。

A.高度大于1的左單支B.高度大于1的右單支C.最多只有一個結點D.既有左孩子又有右孩子

13.有以下程序:

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

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

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

A.一個邏輯數據結構只能有一種存儲結構

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

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

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

15.第

22

閱讀下面程序,則程序執(zhí)行后的結果為

#include"stdio.h"

main()

{inta=4,b=6,c=7;

doubled,fun(int,int,int);

d=fun(a,b,c);

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

doublefun(inta,intb,intc)

{doubles;

s=a%b*c;

returns;}

A.27B.27.000000C.28D.28.000000

16.某堆棧的輸入序列為a,b,c,d,下面的四個序列中,不可能是它的輸出序列的是()。

A.a,c,b,dB.b,c,d,aC.c,d,b,aD.d,c,a,b

17.定義下列結構體(聯(lián)合)數組:structst{charname[15];intage;}a[10]={"ZHA0",14,"WANG",15,"LIU",16,"ZHANG",17);執(zhí)行語句printf("%d,%C",a[2].age,*(a[3].name+2))的輸出結果為()。A.15,AB.16,HC.16,AD.17,H

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

A.向量屬于線性結構B.二叉鏈表是二叉樹的存儲結構C.棧和隊列是線性表D.循環(huán)鏈表是循環(huán)隊列的鏈式存儲結構

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

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

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

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

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

20.下列哪個算法是對一個list排序的最快方法()

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

二、2.填空題(20題)21.以下程序的功能是:處理由學號和成績組成的學生記錄,N名學生的數據已在主函數中放入結構體數組s中,它的功能是:把分數最高的學生數據放在h所指的數組中,注意:分數高的學生可能不只一個,函數返回分數最高學生的人數。請?zhí)羁铡?/p>

#include<stdio.h>

#defineN16

typedefstruct

{charnum[10];

ints;

}STREC;

intfun(STREC*a,STREC*b)

{inti,j=0,max=a[0].s;

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

if(max<a[i].s)max=a[i].s;

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

if(【】)b[j++]=a[i];

returnj;

}

main()

{STRECs[N]={{"GA005",85},{"GA003",76},{"GA002",69},{"GA004",85},

{"GA001",91},{"GA007",72},{"GA008",64},{"GA006",87},

{"GA015",85},{"GA013",91},{"GA012",64},{"GA014",91},

{"GA011",66},{"GA017",64},{"GA018",64},{"GA016",72}

};

STRECh[N];

inti,n;FILE*out;

n=fun(s,h);

printf("The%dhighestscore;\n",n);

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

printf("%s%4d\n",h[i].num,h[i].s);

printf("\n");

out=fopen("out15.dat","w");

fprintf(out,"%d\n",n);

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

fprintf(out,"%4d\n",h[i].s);

fclose(out);

}

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

main()

{

chara[]="Language",b[]"Programe";

char*p1,*p2;

intk;

p1=a,p2=b;

for(k=0;k<=7;k++)

if(*(p1+k==*(p2+k))printf("%c",*(p1+k));

}

23.下面程序的運行結果是【】。

main()

{inti=0,j=10,k=2,s=0;

for(;;)

{i+=k;

if(i>j)

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

break;}

s+=i;}}

24.下述程序的輸出結果是【】。

#include<stdio.h>

intfun(intx)

{intp;

if(x==0||x==1)

return3;

else

p=x-fun(x-2);

returnp;}

voidmain()

{printf("\n%d",fun(9));}

25.為了建立如圖所示的存儲結構(即每個結點含兩個域,data是數據域,next是指向結點的指針域)。請?zhí)羁铡?/p>

structlink{chardata;【】;}node;

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

27.存儲300個16×16點陣的漢字信息需要【】字節(jié)。

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

#definePOWER(x)((x)*(x))

main()

{inti=1;

primtf("%d,%d",POWER(i++),i);

}

29.數據庫系統(tǒng)中實現(xiàn)各種數據管理功能的核心軟件是______。

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

#include<string.h>

main()

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

31.下列循環(huán)的循環(huán)次數是______。

intk=2;

while(k=0)

printf["%d",k);

k--;

printf("\n");

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

33.下列程序將二維數組a的行和列元素互換后存放到另一個二維數組b中。請?zhí)羁铡?/p>

main()

{inta[2][3]={{1,2,3},{4,5}},b[3][2],i,j;

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

{for(j=0;j<3;j++)

}

}

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

35.以下函數的功能是刪除字符串s中的所有數字字符。請?zhí)羁铡?/p>

vioddele(char*s)

{intn=0,i;

for(i=0;s[i];i++)

if(______)

s[n++];s[i];

s[n]=______;

}

36.已有文本文件test.txt,其中的內容為:Hello,everyone!。以下程序中,文件test.txt已正確為“讀”而打開,由文件指針fr指向該文件,則程序的輸出結果是【】。

#include<stdio.h>

main()

{

FILE*fr;charstr[40];

fgets(str,5,fr);

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

fclose(fr);

}

37.下面的程序實現(xiàn)的是從指針p所指向的地址的n個數中,找出最大的和最小的數據,請?zhí)羁铡?/p>

fun(int*p,intn)

{int*q;

intmax,min;

max=min=*p;

for(q=p;______;q++)

if(*q>max)max=*q;

elseif(*q<min)min=*q;}

38.軟件是程序、數據和【】的集合。

39.閱讀下面程序,則程序的執(zhí)行結果為【】。

#include"stdio.h"

main()

{inta=30,b=20,z;

z=fun(a+b,a-b);

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

fun(inta,intb)

{intz;

z=a/b;

returnz;}

40.有如下圖所示的雙鏈表結構,請根據圖示完成結構體的定義:

structaa

{intdata;

【】}node;

三、1.選擇題(20題)41.若已建立下面的鏈表結構,指針p、s分別指向圖中所示的結點,則不能將s所指的結點插入到鏈表末尾的語句組是()

A.s->next=NULL;p=p->next;p->next=s;

B.p=p->next;s->next=p->next;p->next=s;

C.p=p->next;s-next=p;p->next=s;

D.p=(*p).next;(*s).next=(*p).next;(*p).next=s;

42.以下不能定義為用戶標識符的是()。

A.scanfB.VoidC.3comD.int

43.______是構成C語言程序的基本單位。

A.函數B.過程C.子程序D.子例程

44.下列關于C語言數據文件的敘述中正確的是A.文件由ASCII碼字符序列組成,C語言只能讀寫文本文件

B.文件由二進制數據序列組成,C語言只能讀寫二進制文件

C.文件由記錄序列組成,可按數據的存放形式分為二進制文件和文本文件

D.文件由數據流形式組成,可按數據的存放形式分為二進制文件和文本文件

45.電子郵件是()

A.網絡信息檢索服務

B.通過Web網頁發(fā)布的公告信息

C.通過網絡實時交互的信息傳遞方式

D.一種利用網絡交換信息的非交互式服務

46.擁有PC機并以撥號方式接入網絡的用戶需要配置()

A.CD-ROMB.ModemC.電話機D.鼠標

47.若有定義:“inta[2][3];”,則對a數組的第i行第j列元素的正確引用為()。

A.*(*(a+i)+j)B.(a+i)[j]C.*(a+i+j)D.*(a+i)+j

48.已定義下列函數:intfun(int*p){return*p;)fun函數返回值是()。

A.不確定的值B.一個整數C.形參p中存放的值D.形參p的地址值

49.設函數中有整型變量a,為保證其在未賦初值的情況下初值為0,應選擇的存儲類別是()。

A.staticB.registerC.autoD.auto或register

50.以下說法中,不正確的是

A.C程序中必須有一個main()函數,從main()函數的第一條語句開始執(zhí)行

B.非主函數都是在執(zhí)行主函數時,通過函數調用或嵌套調用而執(zhí)行

C.C程序中的main()函數必須放在程序的開始位置

D.C程序中的main()函數位置可以任意指定

51.下列選項中,不是一個算法的基本特征的是()。

A.完整性B.可行性C.有窮性D.擁有足夠的情報

52.以下合法的賦值語句是()

A.x=y=100B.d--;C.x+y;D.c=int(a+b);

53.下列選項中非法的字符常量是()。

A.'\t'B.'\039'C.','D.'\n'

54.對存有重要數據的5.25英寸軟盤,防止計算機病毒感染的方法是()

A.不要與有病毒的軟盤放在一起B(yǎng).在寫保護口貼上膠條C.保持軟盤清潔D.定期對軟格化式

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

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

56.有以下程序:main(){chara[]="abcdefg",b[10]="abedefg";printf("%d%d\n",sizeof(A),sizeof(B));}執(zhí)行后輸出結果是()。

A.77B.88C.810D.1010

57.有定義語句:intb;charc[10];則正確的輸入語句是()。

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

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

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

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

58.將E-R圖轉換到關系模式時,實體與聯(lián)系都可以表示成________。

A.屬性B.關系C.鍵D.域

59.

有以下程序:

main

{intx=102,y=012;

printf("%2d,%2d\n",x,y);

}

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

A.10,01B.02,12C.102,10D.02,10

60.待排序的關鍵碼序列為(33,18,9,25,67,82,53,95,12,70),要按關鍵碼值遞增的順序排序,采取以第一個關鍵碼為基準元素的快速排序法,第一趟排序后關鍵碼33被放到第()個位置。

A.3B.5C.7D.9

四、選擇題(20題)61.

現(xiàn)有以下結構體說明和變量定義,如圖所示,指針p、q、r分別指定一個鏈表中連續(xù)的3個結點。

structnode

{bardata;

structnode*next;}*p,*q,*r;

現(xiàn)要將q和r所指結點交換前后位置,同時要保持鏈表的結構,下列不能完成此操作的語句是()。

A.q->next=r->next;P>next=r;r->next=q;

B.q->next=r;q->next=r->next;r->next=q;

C.q->next=r->next;r->next=q;P->next=r:

D.q->next=q;P->next=r;q->next=r->next;

62.下列SQL語句中,用于修改表結構的命令式是A.A.Alter

B.Create

C.Update

D.Insert

63.在軟件設計中,不屬于過程設計工具的是()。

A.PDL(過程設計語言)B.PAD圖C.N-S圖D.DFD圖

64.

65.若在定義語句:inta,b,c,*p=&c;之后,接著執(zhí)行以下選項中的語句,則能正確執(zhí)行的語句是()。

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

B.scanf("%d%d%d",a,b,c):

C.scanf("%d",p);

D.scanf("%d",&p);

66.若有定義:“inta[2][3];”,則對a數組的第i行第j列元素的正確引用為()。

A.*(*(a+i)+j)B.(a+i)[j]C.*(a+i+j)D.*(a+i)+j

67.(23)在深度為5的滿二叉樹中,葉子結點的個數為______。

A.32

B.31

C.16

D.15

68.

69.有以下程序,程序中庫函數islower(ch)用以判斷ch中的字母是否為小寫字母:

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

A.abcdEFg!B.AbCdEFg!C.abcdEFG!D.aBcDEFG!

70.在單鏈表中,增加頭結點的目的是()。A.A.方便運算的實現(xiàn)B.使單鏈表至少有一個結點

C.標識表結點中首結點的位置

D.說明單鏈表是線性的鏈式存儲實現(xiàn)

71.

72.

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

char*p1="abcd",*p2="ABCD",str[50]="xyz";

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

printf("%s",str);

A.xyabcABB.abcABzC.ABabczD.xycdBCD

74.以下選項中非法的字符常量是()。

A.\101B.\65C.\xffD.\019

75.

76.

77.若k是int類型變量,且有以下for語句:

for(k=-1;k<O;k++)printf("****\n");

下面關于語句執(zhí)行情況的敘述中正確的是()。、

A.循環(huán)體執(zhí)行一次

B.循環(huán)體執(zhí)行兩次

C.循環(huán)體一次也不執(zhí)行

D.構成無限循環(huán)‘

78.

79.關系模型允許定義三類數據約束,下列不屬于數據約束的是()。A.A.實體完整性約束B.參照完整性約束C.域完整性約束D.用戶自定義的完整性約束

80.

五、程序改錯題(1題)81.下列給定程序中函數fun的功能是:用遞歸算法計算斐波拉契數列中第n項的值。從第l項起,斐波拉契數列為:1,1,2,3,5,8,13,21,…例如,若給n輸入7,則該項的斐波拉契數值為l3。請改正程序中的錯誤,使它能得出正確結果。注意:不要改動main函數,不得增行或刪行,也不得更改程序的結構!試題程序:#include<stdio.h>longfun(intg){//****found****switch(g);{case0:return0;//****found****casel:case2:return1;}return(fun(g-1)+fun(g-2));}voidmain{longfib;intn;printf("Inputn:");scanf("%d",&n);printf("n=%d\n",n);fib=fun(n);printf("fib=%d\n\n",fib);}

六、程序設計題(1題)82.使用VC++2010打開考生文件夾下prog1中的解決方案。此解決方案的項目中包含一個源程序文件prog1.c在此程序中,編寫函數intfun(),其功能是求出小于或等于lim的所有素數,將其存放在aa數組中,并返回所求出的素數的個數。注意:部分源程序在文件prog1.c中。請勿改動主函數main()和其他函數中的任何內容,僅在函數fun()的花括號中填入你編寫的若干語句。試題程序:1#include<conio.h>2#include<stdio.h>3#include<stdlib.h>4#defineMAX1005intfun(intlim,intaa[MAX])6{78}9voidmain()10{11FILE*wf;12intlimit,i,sum;13intaa[MAX];14system("CLS");15printf("輸入一個整數:");16scanf("%d",&limit);17sum=fun(limit,aa);18for(i=0;i<sum;i++)19{20if(i%10==0&&i!=0)/*每行輸出10個數*/21printf("\n");22printf("%5d",aa[i]);23}24/******************/25wf=fopen("out.dat","w");26sum=fun(15,aa);27for(i=0;i<sum;i++)28{29if(i%10==0&&i!=0)/*每行輸出10個數*/30fprintf(wf,"\n");31fprintf(wf,"%5d",aa[i]);32}33fclose(wf);34/******************/35}

參考答案

1.D第1個if語句是單獨的一條語句,所以執(zhí)行完第1個if語句后,r的值仍為初值0。第2個if語句與后續(xù)的兩個elseif都是嵌套的,所以只會執(zhí)行其中的一個語句,即“if(b==2)r=2;”這條語句。故本題答案為D選項。

2.B

3.D解析:C語言覿定,實參變量對形參變量的數據傳遞是“值傳遞”,只由實參傳給形參,而不能由形參傳回來給實參。函數調用結束后,形參單元被釋放,實參單元仍保留并維持原值。本題要求輸出aa[0]的值,結果應為1。

4.C

5.B

6.A

7.D關系模型采用二維表來表示,簡稱表。本題答案為D選項。

8.Cf函數的功能是對形參a的各個成員用結構體變量b的各個成員進行賦值后,然后返回變量a。

9.Ascanf是格式輸入函數,即按用戶指定的格式從鍵盤上把數據輸入指定的變量中。其中,在百分號(%)與格式碼之間的整數用于限制從對應域讀入的最大字符數。所以j的值為55,y的值為566.0,字符數組name的值為7777abc。故本題答案為A選項。

10.C數據的邏輯結構是描述數據之間的關系,分兩大類:線性結構和非線性結構。線性結構是n個數據元素的有序(次序)集合,指的是數據元素之間存在著“一對一”的線性關系的數據結構。常用的線性結構有:線性表,棧,隊列,雙隊列,數組,串。非線性結構的邏輯特征是一個結點元素可能對應多個直接前驅和多個后驅。常見的非線性結構有:樹(二叉樹等),圖(網等),廣義表。

11.D因為a是結構體變量,最后一次輸入的值為結構體中的值,即a中的任何一個值都為0。

12.C

13.B第一次執(zhí)行外循環(huán)i的值為1,滿足條件,判斷第一次內循環(huán),j的值為3,不滿足條件,跳出內循環(huán)。第二次執(zhí)行外循環(huán)i的值為2,同理也不滿足內循環(huán)條件,跳出內循環(huán)。第三次執(zhí)行外循環(huán)i的值為3,此時進入內循環(huán)判斷條件時,條件成立,執(zhí)行m=m%j,m的值為1,跳出內循環(huán),跳出外循環(huán)打印m的值。

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

15.D

16.D

17.C本題考查結構體數組。a[2].age為結構體aEZ]的age成員,即a[3].name為指向結構體a[3]的name成員的第一個元素的指針,即指向“2”,(a[3].name+2)將指針后移兩位指向第三個元素“A”,*(a[3].name+2)是取指針所指向地址的內容。

18.D循環(huán)鏈表是線性表的一種鏈式存儲結構,循環(huán)隊列是隊列的一種順序存儲結構。因此D選項敘述錯誤。本題答案為D選項。

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

20.A

21.max==a[i].smax==a[i].s解析:該程序使用循環(huán)嵌套,第1個for語句的作用是找出最大值。第2個循環(huán)的作用是找出與max相等的成績,也即最高成績的學生,并存入b中。

22.gaegae解析:本題定義了兩個字符串數組a[],b[],字符型指針變量p1和p2,且分別指向字符串數組a和b,執(zhí)行for循環(huán),當if(*p1+k)=*(p2+k))條件為真,執(zhí)打輸出*(p1+k)對應的字符。即當k=0時,*(p1+k)對應的字符串數組a中的字符L,*(p2+k)對應的字符串數組b中的字符P,因此if(*(p1+k)=*(p2+k))條件為假,不執(zhí)行printf語句,依此類推,將字符串數組a和b中對應位置上的字符一一比較,如果對應位置上的字符相同,則輸出該字符。

23.3030解析:題目中for(;;)表示:for循環(huán)的初始化表達式,條件表達式和修正表達式都省略了,表示進行for循環(huán)和for循環(huán)的終止都沒有限制。注意:while循環(huán)的執(zhí)行原理。

24.77解析:本題考查的是函數的遞歸調用。x=0或x=1是遞歸的終止條件,然后用回代的方法從一個已知值推出下一個值,直到計算出最終結果。

25.structlink*next

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

27.800800解析:一個16x16點陣的字形碼需要16x16/8=32字節(jié)的存儲空間,所以300個漢字信息需要9600個字節(jié)。

28.111,1解析:POWER(i++)中先引用i的值1,再將i的值加1,POWER(i++)=1*1=1。

29.數據庫管理系統(tǒng)數據庫管理系統(tǒng)解析:數據庫管理系統(tǒng)是數據庫的管理機構,它是一種系統(tǒng)軟件,負責數據庫中的數據組織、數據操縱、數據維護、控制及保護和數據服務等。

30.99解析:本題要輸出的結果是字符串'IBM\\n012\\1\\\\'的長度,'IBM'是3個字符,\'\\n\'是1個字符,'012'又是3個字符,最后的\'\\1\'和\'\\\\\'都是1個字符。所以最終字符串的長度應該是3+1+3+1+1=9。故本題應該填9。

31.00解析:解答本題需要注意表達式“k=0”,它是賦值表達式而不是關系表達式,不論k為何值,表達式k=0總會使k為0,所以不能進入循環(huán)。

32.繼承繼承

33.b[j][i]=a[i][j]b[j][i]=a[i][j]解析:本題考查二維數組的基本知識。它是要將一個二維數組,的行和列元素互換后存放到另一個二維數組b中,只要將數組a的行標和列標互換,然后賦給數組b即可。

34.調試調試

35.s[i]<'0'‖s[i]>9或!(s[i]>='0'&&s[i]<='9')或!(isdigit(s[i]))isdigit(s[i])==0或s[i]>'9'‖s[i>'0'或!(s[i]<='9'&&s[i]>='0')或*(s+i)<'0'‖*(s+i)>'9'或!(*(s+i)>='0'&&*(s+i)<=9或!(isdigit(*(s+i)))或*(s+i)>='9'&&*(s+i)<='0'!(*(s+i)<='9'&&*(s+i)>='0'或iss[i]<'0'‖s[i]>9,或\r\n!(s[i]>='0'&&s[i]<='9')或!(isdigit(s[i]))\r\nisdigit(s[i])==0或s[i]>'9'‖s[i>'0'或\r\n!(s[i]<='9'&&s[i]>='0')或*(s+i)<'0'‖*(s+i)>'9'或\r\n!(*(s+i)>='0'&&*(s+i)<=9或!(isdigit(*(s+i)))或\r\n*(s+i)>='9'&&*(s+i)<='0'\r\n!(*(s+i)<='9'&&*(s+i)>='0'或is解析:本題考核的知識點是字符指針變量作為函數的參數以及與字符串有關的算法。從一個字符串中刪除某字符的方法是從字符串的第一個字符開始一一判斷該字符是否是要刪除的字符,若不是則把它放到結果字符串中,若是則不放入結果字符串中。本題的第一個空應判斷a[i]是否為數字字符,只有在不是數字字符的情況下才存入結果字符串,所以應填入s[i]<'0'‖s[i]>'9'。最后應在結果字符串的末尾填上字符串結束標志“\\0”。

36.HellHell解析:該函數有3個參數,第三個參數是文件指針指向要讀取數據的文件,第二個參數是一個整數(假設為n),表示從文件中讀取n-1個字符并在其后加一個'\\0',第一個參數為存放讀取的字符串的內存區(qū)的起始地址,讀取的數據保存在其中??梢姳绢}的輸出結果為Hell。

37.

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

39.55解析:函數調用的時候,函數名字必須與所調用的函數名完全一致,形參與實參類型要一致,在沒有給出函數返回值類型的情況下,默認為整形,當返回值為整型的函數放到主函數后面時,可以不需要事先說明就調用這個函數。return既可以返回一個普通常量,也可以返回一個指針變量。

40.structaa*lhead*rchild;structaa*lhead,*rchild;解析:結構體對鏈表的定義。

41.C

42.D解析:標識符是C語言中用來表示變量名、數組名、函數名、指針名、結構名、聯(lián)合名、枚舉常數名、用戶定義的數據類型名、語句標號等用途的字符序列。標識符由1~32個字符組成,第一個字符必須是字母或下劃線,后面的字符可以是字母、數字或下劃線。標識符不能與C關鍵字相同,并區(qū)分大小寫。選項D)錯誤,因為int是C語言中的關鍵字。

43.A解析:C程序是由函數構成的。—個C源程序至少包含—個main函數,也可以包含—個main函數和若干個其他函數,因此,函數是C程序的基本單位。

44.D解析:C語言把文件看成是一個字符(字節(jié))的序列,即由一個一個字符(字節(jié))的數據順序組成。根據數據的組織形式,可分為ASCII文件和二進制文件。ASCII文件又稱文本文件,它的每一個字節(jié)放一個ASCII代碼,代表一個字符。二進制文件是把內存中的數據按其在內存中的存儲形式原樣輸出到磁盤上存放。

45.D解析:電子郵件是利用Internet網傳送信件,不是檢索服務,由于信件只發(fā)給收信人,所以不是公告信息,并不是一發(fā)信就必須要收信人立即接收,而是信件存放在郵箱中,收信人在需要的時候再取出。

46.B

47.A解析:本題考查如何通過地址來引用數組元素。通過地址來引用數組元素的方法有下列5種:

①a[i][j];②*(a[i]+j);③*(*(a+i)+j);④*(a[i])[j];⑤*(&a[0][0]+3*i+j)。

48.B解析:由函數intfun(int*p){return*p;}的定義可知,返回值為整型指針變量p所指向的數據。

49.A

50.C解析:main()函數的作用,以及main()函數在程序中出現(xiàn)的位置。一個完整的C語言程序有且僅有一個主函數(main()函數)。程序總從main()函數的第一條語句開始執(zhí)行,到main()函數的最后—條語句結束,其他函數都是在執(zhí)行main()函數時,通過函數調用或嵌套調用而得以執(zhí)行的。C語言規(guī)定,main()函數在程序中的位置是任意的。

51.A解析:作為一個算法,一般應該具有下列4個特征:(1)可行性,即考慮到實際的條件能夠達到一個滿意的結果;(2)確定性,算法中的每一個步驟都必須是有明確定義的,(3)有窮性,一個算法必須在有限的時間內做完;(4)擁有足夠的情報。

52.B解析:選項A的結尾沒用‘;’,所以不是一條語句:選項C中的表達式不會改變任何變量的內容,也不是合法的賦值語句;選項D有語法錯誤,int應該加上括號。所以,4個選項中只有選項B符合題意,運行后d的內容被減一。

53.B水平制表符中,'\t'表示的是橫向跳若干格;選項B中,'\039'錯誤,'\039'是八進制形式表的字符,最大數為7,但其中出現(xiàn)'9',','是字符逗號;選項D中,'\n'表示的是換行。

54.B

55.A解析:這是一個遞歸函數。遞歸的結束條件是,n=1或者n=2。按照程序順序,即可得出本題結果為1。

56.C解析:本題中定義兩個字符型數組,其中a省略了長度,定義了b的長度為10,并賦初值分別為“abcdefg”和“abcdefg”。所以a的長度為賦值給它的字符串的字符個數7加上一個結束轉義字符,即a的長度為7+1為8。定義時b的長度定義為10,故b的長度為lo,因此最后通過函數sizeom求得的數組a和數組b的長度分別為8和10,所以,4個選項中選項c符合題意。

57.B解析:scanf函數中格式控制后面是地址表列,不能用變量名。數組名c代表數組在內存的首地址,&b代表變量b的首地址,選項B)正確。

58.B解析:關系數據庫邏輯設計的主要工作是將\ue008E-R\ue009圖轉換成指定RDBMS中的關系模式。首先,從E-R圖到關系模式的轉換是比較直接的,實體與聯(lián)系都可以表示成關系,E-R圖中屬性也可以轉換成關系的屬性,實體集也可以轉換成關系。

59.C解析:本題中,“printf('%2d,%2d\\n',x,y)”表示以逗號隔開輸出兩個十進制整數,每個整數域寬是2。而在C語言中規(guī)定:當域寬小于實際寬度時域寬不起作用,按實際寬度輸出,因此最后的輸出值為102和10(y的初值012表示八進制整數12,等于十進制的10)。所以,4個選項中選項C符合題意。

60.BB.【解析】快速排序的基本思想是:從表中選取一個元素(如本題中的33),將表中小于此元素的移到前面,大于此元素的移到后面,結果把線性表分割成兩部分(兩個子表),此元素插入到其分界線的位置處。然后分別對兩個子表再次分割……本題中33作為分割的中界線,第一趟排序后排在比它小的18、9、25、12后面。

61.D由題目ee線性鏈表的定義可知,要將q和r所指的結點交換前后位置,只要使q指向r的后一個結點,p指向r結點,r指向q結點即可。而在選項D由,r->next=q,這時r指向的節(jié)點為q;p->nextr,這時p指向的節(jié)點為r;q->next=r->next,因為r節(jié)點已經指向q,所以執(zhí)行這個語句后q又指向q,所以選項D不正確。

62.A本題主要考查SQL中一些基本的命令。SQL常用的語句包括:Select、Insert、Update、Delete、Create、Alter和Drop等。

在SQL語言中使用率最高的是Select,這個命令的作用是從表中查找出滿足條件的記錄。

Insert命令的作用是對數據表進行插入操作。

Update命令的作用是對數據表進行更新操作。

Delete命令的作用是對數據表中的數據進行刪除操作。

Create命令的作用是創(chuàng)建數據表。

Alter命令的作用是修改表的結構。

Drop命令的作用是用來

溫馨提示

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

最新文檔

評論

0/150

提交評論