2022-2023年廣東省清遠市全國計算機等級考試C語言程序設計真題二卷(含答案)_第1頁
2022-2023年廣東省清遠市全國計算機等級考試C語言程序設計真題二卷(含答案)_第2頁
2022-2023年廣東省清遠市全國計算機等級考試C語言程序設計真題二卷(含答案)_第3頁
2022-2023年廣東省清遠市全國計算機等級考試C語言程序設計真題二卷(含答案)_第4頁
2022-2023年廣東省清遠市全國計算機等級考試C語言程序設計真題二卷(含答案)_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2022-2023年廣東省清遠市全國計算機等級考試C語言程序設計真題二卷(含答案)學校:________班級:________姓名:________考號:________

一、單選題(20題)1.有以下程序:intfun(intn){if(n==1)return1;elsereturn(n+fun(n-1));}main(){intx;scanf("%if",&x);x=fun(x);printf("%d\n",x);}執(zhí)行程序時,給變量X輸入10,程序的輸出結果是()。A.55B.54C.65D.45

2.下列能正確進行字符串賦值的是()。A.B.C.D.

3.若有以下程序段

intm=0xabc,n=0xabc;

m-=n;

printf("%x\n",m);

執(zhí)行后的輸出結果是A.A.0X0

B.0x0

C.0

D.0xABC

4.由兩個棧共享一個存儲空間的好處是______。

A.減少存取時間,降低下溢發(fā)生的幾率

B.節(jié)省存儲空間,降低上溢發(fā)生的幾率

C.減少存取時間,降低上溢發(fā)生的幾率

D.節(jié)省存儲空間,降低下溢發(fā)生的幾率

5.下列程序的輸出結果是()structabc{inta,b,c;};main(){structabcs[2]={{1,2,3},{4,5,6}};intt;t=s[0].a+s[1].b;printf("%d\n",t);}

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

6.以下程序的輸出結果是

longfun(intn)

{longs;

if(n==1||n==2)s=2;

elses=n-fun(n-1);

returns;}

main()

{printf("%ld\n",fun(3));}

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

7.有以下程序:#include<stdio.h>main(){intx=8;for(;x>0;x--){ if(x%3) { printf(“%”d,x--); continue; }printf(“%d,”,--x);}}程序的運行結果是()。

A.7,4,2,B.8,7,5,2,C.9,7,6,4,D.8,5,4,2,

8.以下關于typedef的敘述錯誤的是()。A.用tyFedef可以增加新類型

B.typedef只是將已存在的類型用一個新的名字來代表

C.用typedef可以為各種類型說明一個新名,但不能用來為變量說明一個新名

D.用typedef為類型說明一個新名,通??梢栽黾映绦虻目勺x性

9.采用鄰接表存儲的圖的廣度優(yōu)先遍歷算法類似于二叉樹的()。A.A.先序遍歷B.中序遍歷C.后序遍歷D.按層遍歷

10.設有如下定義:intx=10,y=3,z;則語句printf("%d\n",z=(x%y,x/y));的輸出結果是()。

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

11.在單鏈表中,增加頭結點的目的是______。

A.方便運算的實現(xiàn)B.使單鏈表至少有一個結點C.標識表結點中首結點的位置D.說明單鏈表是線性表的鏈式存儲實現(xiàn)

12.有以下程序:#include<stdio.h>main(){inta=10,b=11;if(++a==b++) printf(“T”);else printf(“F”);printf(“a=%d,b=%d\n”,a,b);}程序運行后的輸出結果是()。

A.Fa=11,b=11B.Fa=10,b=12C.Ta=10,b=11D.Ta=11,b=12

13.帶有頭節(jié)點的單向鏈表head,其3個數(shù)據(jù)節(jié)點A、B、C的連接關系如下圖所示:節(jié)點類型的定義為structlink{doubledt;structlink*next;};若指針P指向A節(jié)點,在不改變P指向的前提下,以下選項中不能訪問C節(jié)點數(shù)據(jù)成員dt的表達式是()。A.*(*p).next->next->dt

B.p->next->next->dt

C.(*(*(*p).next).next).dt

D.(*(p->next->next)).dt

14.

15.以下說法正確的是()。

A.函數(shù)可以返回另一個函數(shù)的整個函數(shù)體

B.函數(shù)返回值只能是基本數(shù)據(jù)類型的數(shù)值或指針

C.函數(shù)返回值可以是一個指向函數(shù)的指針

D.函數(shù)返回值可以是一個數(shù)組,同時返回多個值

16.C語言提供的合法關鍵字是()

A.switchB.cherC.caseD.default

17.有以下程序:

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

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

18.用向量和單鏈表示的有序表均可使用折半查找方法來提高查找速度()A.是B.否

19.有下列程序:程序執(zhí)行后的輸出結果是()。A.Zhao,m,85,Zhao,m,85

B.Sun,f,90,Zhao,m,85

C.Zhao,m,85,Sun,f,90

D.Sun,f,90,Sun,f,90

20.若主調(diào)用函數(shù)類型為double,被調(diào)用函數(shù)定義中沒有進行函數(shù)類型說明,而return語句中的表達式類型為float型,則被調(diào)函數(shù)返回值的類型是()。

A.int型B.float型C.double型D.由系統(tǒng)當時的情況而定

二、2.填空題(20題)21.軟件測試按功能劃分的方法劃分,通常分為【】測試方法和黑盒測試方法。

22.設有下面的程序段:chars[]="china";char*p;p=S;則下列敘述正確的是

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

main()

{

inta[]={2,4,6},*ptr=&a[0],x=8,y,z;

for(y=0;y<;y++)

z=(*(ptr+y)<x?*(ptr+y);x;

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

}

24.以下程序的定義語句中,x[1]的初值是(),程序運行后輸出的內(nèi)容是()。#include<stdio.h>main(){intx[]={1,2,3,4,5,6,7,8,9,10,1l,12,13,14,15,16},*p[4],i;for(i=0;i<4;i++){p[i]=&x[2*i+1],printf("q%d”,p[i][0]);}printf("\n");}

25.數(shù)據(jù)庫系統(tǒng)的主要特點為數(shù)據(jù)集成性、數(shù)據(jù)的高______和低冗余性、數(shù)據(jù)獨立性和數(shù)據(jù)統(tǒng)一管理和控制。

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

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

main()

{

intp=30;

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

}

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

intt(intx,inty,intcp,intdp)

{cp=x*x+y*y;

dp=x*x-y*y;

}

main()

{inta=4,b=3,c=5,d=6;

t(a,b,c,d);

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

}

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

30.通常將軟件產(chǎn)品從提出、實現(xiàn)、使用維護到不再使用的過程稱為【】。

31.媒體在計算機領域中的含義,是指存儲信息的實體和【】。

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

main()

{inti;

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

{if(i>4)

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

break;}

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

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

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

}

34.以下程序的功能是從名為filea.dat的文本文件中逐個讀入字符并顯示在屏幕上。請?zhí)羁铡?/p>

majn()

{FILE*fp;charch;

fp=fopen(______);

ch=fgetc(fp);

whle(!feof(fp)){putchar(ch);ch=f8etc(fp);}

putchar('\n');fclose(fp);

}

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

fun(intx)

{staticinta=3;

a+=x;

return(a);

}

main()

{intk=2,m=1,n;

n=fun(k);

n=fun(m);

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

}

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

#defineS(x)4*X*x+1

main()

{inti=6,j=8;

printf("%d\n",S(i+i));

}

37.以下程序運行后的輸出結果是()。

main()

{intm=011,n=11;

printf("%d%d\ff",++m,n++);

}

38.下面程序的功能是:計算1~10之間的奇數(shù)之和與偶數(shù)之和,請?zhí)羁铡?/p>

#include<stdio.h>

main()

{inta,b,c,i;

a=c=0;

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

{a+=i;

【】;

c+=b;}

printf("偶數(shù)之和=%d\n",a);

printf("奇數(shù)之和=%d\n",c-11);}

39.對下列二叉樹進行中序遍歷的結果為【】。

40.若定義#definePI3.14159,則執(zhí)行完下列程序后輸出結果是______。

#definePI3.14159;printf("PI=%f",PI);

三、1.選擇題(20題)41.以下與函數(shù)fseek(fp,0L,SEEK_SE乃有相同作用的是()。

A.feof(fp)B.ftell(fp)C.fgetc(fp)D.rewind(fp)

42.下列選項中,不能用作標識符的是A._1234_B._1_2C.int_2_D.2_int_

43.樹是結點的集合,它的根結點數(shù)目是()。

A.有且只有1B.1或多于1C.0或1D.至少2

44.關于結構化程序設計原則和方法的描述錯誤的是()。

A.選用的結構只準許有一個入口和一個出口

B.復雜結構應該用嵌套的基本控制結構進行組合嵌套來實現(xiàn)

C.不允許使用GOTO語句

D.語言中所沒有的控制結構,應該采用前后一致的方法來模擬

45.下列字符數(shù)組初始化語句中,不正確的是()。

A.charc[]='goodmoming';

B.charc[20]="goodmorning";

C.charc[]={'a','b','c','d'};

D.charc[]={"goodmoming"};

46.在16位C編譯系統(tǒng)上,若定義longa;,則能給a賦40000的正確語句是

A.a=20000+20000;B.a=4000*10;C.a=30000+10000;D.a=4000L*1OL;

47.對下述程序的判斷中,正確的是

#include<stdio.h>

voidmain()

{char*p,s[128];

p=s;

while(strcmp(s,"End"))

{printf("Inputastring:");gets(s);

while(*p)

putchar(*p++);}}

A.此程序循環(huán)接收字符串并輸出,直到接收字符串"End"為止

B.此程序循環(huán)接收字符串,接收到字符串"End"則輸出,否則程序終止

C.此程序循環(huán)接收字符串并輸出,直到接收字符串"End"為止,但因為代碼有錯誤,程序不能正常工作

D.此程序循環(huán)接收字符串并將其連接在一起,直到接收字符串"End"為止,輸出連接在一起的字符串

48.下列程序的輸出結果是_____。main(){intn=4;while(n--)printf("%d",--n);}

A.20B.31C.321D.210

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

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

50.有以下程序:main(){charch[]="uvwxyz",*pc;pc=ch;printf("%c\n",*(pc+5));}程序運行后的輸出結果是()。

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

51.標準庫函數(shù)fgets(s,n,file)的功能是()。

A.從文件file中讀取長度為n的字符串存入字符數(shù)組s中

B.從文件file中讀取長度不超過n-1個字符的字符串放到字符數(shù)組s中

C.從文件file中讀取n個字符串存入字符數(shù)組s中

D.從文件file中讀取長度為n-1個字符的字符串存入字符數(shù)組s中

52.下列程序的輸出結果是()。main(){inta,b,d=25;a=d/10%9;b=a&&(-1);printf("%d,%d\n",a,b);}

A.6,1B.2,1C.6,0D.2,0

53.有下列二叉樹,

對此二叉樹前序遍歷的結果為()。

A.ACFHIBEDGB.ABCDEFGHIC.ABDEGCFHID.ABCDEFHGI

54.設有以下語句typedefstructTT{charc;inta[4];}CIN;則下面敘述中正確的是______。A.可以用TT定義結構體變量

B.TT是struct類型的變量

C.可以用CIN定義結構體變量

D.CIN是structTT類型的變量

55.以下四組用戶自定義標識符中,全部合法的一組是()。

A._mainencludesin

B.If-maxturbo

C.txtREAL3COM

D.intk_2_001

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

A.可以通過typedef增加新的類型

B.可以用tyPedef將已存在的類型用新的名字來表示

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

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

57.有以下程序intf(intn){if(n==1)return1;elsereturnf(n-1)+1;}main(){inti,j=0;for(i=1;i<3;i++)j+=f(i);printf("%d\n",j);}程序運行后的輸出結果是

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

58.關系代數(shù)運算是以______為基礎的運算。

A.關系運算B.謂詞運算C.集合運算D.代數(shù)運算

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

A.在C程序中,APH和aph是兩個不同的變量

B.C程序中的變量,代表內(nèi)存中的一個存儲單元,它的值可以根據(jù)需要隨時修改

C.在C程序中,無論是整數(shù)還是實數(shù),都能準確無誤地表示

D.在C程序中,一個正整數(shù)可以用十進制、八進制和十六進制的形式來表示

60.下列敘述中,不正確的是

A.算法的執(zhí)行效率與數(shù)據(jù)的存儲結構有關

B.算法的空間復雜度是指執(zhí)行這個算法所需要的內(nèi)存空間

C.算法的有窮性是指算法必須能在執(zhí)行有限個步驟之后終止

D.算法的時間復雜度是指執(zhí)行這個算法所需要的時間

四、選擇題(20題)61.

62.有以下程序

63.在滿足實體完整性約束的條件下()。

A.一個關系中廊該有一個或多個候選關鍵字

B.一個關系中只能有一個候選關鍵字

C.一個關系中必須有多個候選關鍵字

D.一個關系中可以沒有候選關鍵字

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

A.屬性

B.關系

C.鍵

D.域

65.數(shù)據(jù)庫管理系統(tǒng)是()。

A.操作系統(tǒng)的一部分B.在操作系統(tǒng)支持下的系統(tǒng)軟件C.一種編譯系統(tǒng)D.一種操作系統(tǒng)

66.有以下程序

main()

{chara[]={’a’,’b’,’c’,’d’,’e’,’f’,’g’,’h’,’\0’};

inti,j;

i=sizeof(a);

j=strlen(a);

printf("%d,%d\b",i,j);

}

程序運行后的輸出結果是

A.9,9B.8,9C.1,8D.9,8

67.

68.概要設計中要完成的事情是()。

A.系統(tǒng)結構和數(shù)據(jù)結構的設計B.系統(tǒng)結構和過程的設計C.過程和接口的設計D.數(shù)據(jù)結構和過程的設計

69.

70.

71.若調(diào)用fputc函數(shù)輸出字符成功,則其返回值是()。

A.EOFB.1C.0D.輸出的字符

72.

73.

74.假定已建立以下鏈表結構,且指針p和q已指向如下圖所示的結點:

則以下選項中,可將q所指結點從鏈表中刪除并釋放該結點的語句組是

A.(*p).next=(*q).next;free(p);B.p=q->next;free(q);

C.p=q;free(q);D.p->next=q->next;free(q);

75.

有以下程序,其中函數(shù)f的功能是將多個字符串按字典順序排序()。

#include<string.h>

voidf(char*p[],intn)

{char*t;inti,j;

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

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

if(strcmp(p[i],p[j]>0){t=p[i];p[i]=p[j];p[j]

=t;}

}

main

{char*P[5]={"abe","aabdfg","abbd","dcd-

be","cd"};

f(p,5);

printf("%d\n",strlen(p[1]));

}

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

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

76.專門的關系運算不包括下列的()運算。

A.連接運算B.選擇運算C.投影運算D.并運算

77.C語言中,合法的字符串常量是()。

A."M"B.\tC.100D.MUST

78.按照c語言規(guī)定的用戶標識符命名規(guī)則,不能出現(xiàn)在標識符中的是()。A.連接符B.大寫字母C.數(shù)字字符D.下劃線

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

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

80.

五、程序改錯題(1題)81.下列給定的程序中,函數(shù)proc()的功能是:計算并輸出k以內(nèi)最大的10個能被13或17整除的自然數(shù)之和。k的值由主函數(shù)傳人,若k的值為600,則函數(shù)的值為5671。請修改程序中的錯誤,使它能得出正確的結果。注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結構。試題程序:

六、程序設計題(1題)82.N名學生的成績已在主函數(shù)中放人一個帶頭節(jié)點的鏈表結構中,h指向鏈表的頭節(jié)點。請編寫函數(shù)fun,其功能是:求出平均分,并由函數(shù)值返回。

例如,若學生的成績是:8576698591726487,則平均分應當是:78.625。注意:部分源程序在文件PROGl.C中。

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

參考答案

1.A函數(shù)fun()通過遞歸調(diào)用實現(xiàn)的功能為n+(n-1)+…+1,故程序的輸出結果為55。

2.C選項A、B的空間不夠;選項D中字符串存儲要有結束符ˊ\0ˊ,且要占用一個空間,printf用來輸出字符,不能輸入字符串。

3.C本題考查C語言中的數(shù)據(jù)輸出格式。

題目中定義了兩個整型變量m、n,對這兩個變量賦值,輸入的數(shù)值為十六進制整數(shù),并且有m=n。進行m-n運算后,將減法所得到的值賦給m,并將m值輸出。其中printf的格式字符選用的格式字符為x,即以十六進制形式輸出整數(shù)。注意,0x是表示該數(shù)為十六進制的標志,輸出數(shù)據(jù)時,數(shù)據(jù)前面不會自動加上進制的標志。

4.B解析:常常一個程序中要用到多個棧,為了不發(fā)生上溢錯誤,就必須給每個棧分配一個足夠大的存儲空間。但實際中,很難準確地估計,若每個棧都分配過大的存儲空間,勢必造成系統(tǒng)空間緊張;若讓多個棧共用一個足夠大的連續(xù)存儲空間,則可利用棧的動態(tài)特性使他們的存儲空間互補。

5.D

6.A解析:該題考查的是遞歸函數(shù)的調(diào)用,題中讀fun函數(shù)進行了遞歸調(diào)用,第1次調(diào)用:fun(3)n=3s=3-fun(2);第二次調(diào)用時:fun(2)n=2s=2返回第一次調(diào)用后,s=3-2=1。

7.Dcoutimie語句的作用是跳出循環(huán)體中剩余的語句而進行下一次循環(huán)。第1次循環(huán),x的值為8,循環(huán)體中if條件成立,輸出X的值8后將x減1,再執(zhí)行continue語句,跳出本次循環(huán)。第2次循環(huán),x的值為6,不滿足循環(huán)體內(nèi)的if條件,執(zhí)行輸出“--x”的操作,即輸出5后跳出循環(huán)。第3次循環(huán),x的值為4,滿足循環(huán)體內(nèi)的if條件,執(zhí)行輸出“x--”的操作,即輸出4后將x值減一,執(zhí)行continue語句,跳出本次循環(huán)。第4次循環(huán),x的值為2,滿足循環(huán)體內(nèi)的if條件,執(zhí)行輸出“x--”的操作,輸出2后將x減1,執(zhí)行continue語句,跳出本次循環(huán)。在進行for條件表達式中第3個表達式“x--”的操作后,x的值為0,不滿足條件,結束循環(huán)。所以運行結果為8,5,4,2,。故本題答案為D選項。

8.A用typedef沒有增加新類型,所以選擇A)。

9.D

10.D

11.A\nA?!窘馕觥款^結點不僅標識了表中首結點的位置,而且根據(jù)單鏈表(包含頭結點)的結構,只要掌握了表頭,就能夠訪問整個鏈表,因此增加頭結點的目的是為了便于運算的實現(xiàn)。

\n

12.D自增運算符是將運算對象的值增1,它有前綴形式“++a”和后綴形式“b++”。其中“++a”表示首先將a的值自增1,然后表達式“++a”的值就是自增后a的值;而“b++”表示首先將b的值作為表達式的值,然后再將b的值自增1。本題中,a的初值為10,b的初值為11,則表達式“++a==b++”,等價于“11==11”,條件為真,所以輸出“T”。if語句執(zhí)行完后,a的值為11,b的值為12,輸出“a=11,b=12”。故本題答案為D選項。

13.Alink結構體中的next是鏈表中下一個節(jié)點的地址。由于p當前指向節(jié)點A,因此p->next是B的地址。p->next->next是C的地址,訪問C的節(jié)點數(shù)據(jù)成員dt可以使用C的地址訪問,即p->next->next->dt,選項B正確?;蛘呤褂媒庖谩?”運算符:(*p)表示節(jié)點A,(*p).next表示B的地址,*((*p).next)表示節(jié)點B,(*((*p).next)).next表示C的地址,*((*((*p).next)).next)表示節(jié)點C,所以C的數(shù)據(jù)成員dt可以表示為(*((*(*p).next).next)).dt,因為“.”運算符優(yōu)先級高于“*”運算符,所以也可以寫為(*(*(*p).next).next).dt,選項C正確。同理,也可以既使用指針運算符,又使用解引用運算符來訪問C的節(jié)點數(shù)據(jù)成員dt,即(*(p->next->next)).dt,選項D正確。選項A中,*p表示A節(jié)點,(*p).next表示節(jié)點B的地址,由于“->”運算符的優(yōu)先級高于“*”運算符,因此先執(zhí)行“->”,即表達式(*p).next->next->dt引用了C節(jié)點的數(shù)據(jù)成員dt,然后再執(zhí)行解引用運算“*”,這是錯誤的。故本題答案為A選項。

14.C

15.C函數(shù)的返回值是通過return語句返回的,返回值是一個表達式,不限于基本數(shù)據(jù)類型或指針,也可以是結構體類型等,但不能是數(shù)組,選項A、B、D錯誤;函數(shù)的返回值可以是一個指向函數(shù)的指針,選項C正確。故本題答案為C選項。

16.C

17.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。

18.N

19.D程序定義結構體類型STU,main函數(shù)定義結構體STU變量b,并將b的地址賦給指針變量a。調(diào)用函數(shù)f,傳入a。在函數(shù)f中,定義了STU變量c,并將c的地址賦給d,再用d指向的值賦給a指向的地址,接著輸出a指向的值,也就是c的值:Sun,f,90。由于函數(shù)f的調(diào)用通過指針參數(shù)a修改了變量b的值,因此a指向的值也就是b的值等價于c:Sun,f,90。本題答案為D選項。

20.A

21.白盒白盒解析:軟件測試的方法分為白盒測試方法和黑盒測試方法。

22.D

23.66解析:條件運算符的優(yōu)選級高于賦值運算符,因此本題先計算關系表達式(*ptr+y)<x)*(ptr+y):x的值,再賦給變量z。當y=0時,*(ptr+y)=2,而x=8,(*(ptr+y)<x)條件為真,則整個條件表達式的值為*(ptr+y)=2,所以z=2;當y=1時,*(ptr+y)=4,(*ptr+y)<x)條件為真,則整個條件表達式的值為*(ptr+y)=4,所以z=4:當y=2時,*(ptr+y)=6,(*(ptr+y)<x條件為真,則整個條件表達式的值為*(ptr+y)=6,所以z=6;循環(huán)結束。因此輸出z的結果為6。

24.2246822468解析:p為指向數(shù)組的指針變量,數(shù)組x[1]為數(shù)組x[]的第二個元素,值為2;進入for循環(huán)i=0時,p[0]=&x[1]…直到循環(huán)完畢,指針分別指向數(shù)組x[]中的第2、4、6、8個元素,所以第二個空白處應填2468。

25.共享性共享性解析:數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)能被不同的應用程序使用,實現(xiàn)了數(shù)據(jù)的高度共享,從而降低了數(shù)據(jù)的冗余,這也是數(shù)據(jù)庫的主要目的。

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

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

28.5656解析:本題中a,b,c,d是實參,x,y,cp,dp是形參。C語言規(guī)定,實參變量對形參變量的數(shù)據(jù)傳遞是“值傳遞”,即單向傳遞,只由實參傳給形參,而不能由形參傳回來給實參。在內(nèi)存中,實參單元與形參單元是不同的單元。在調(diào)用函數(shù)時,給形參分配存儲單元,并將實參對應的值傳遞給形參,調(diào)用結束后,形參單元被釋放,實參中元仍保留并維持原值。因此,程序的輸出結果是56。

29.類類解析:在面向?qū)ο蟮姆椒ㄖ?,把具有相同屬性和方法的對象稱為類,類是對象的抽象,對象是類的實例。

30.軟件生命周期軟件生命周期解析:軟件產(chǎn)品從考慮其概念開始,到該軟件產(chǎn)品不再使用為止的整個時期都屬于軟件生命周期,一般包括可行性研究與需求分析、設計、實現(xiàn)、測試、交付使用以及維護等。

31.載體載體

32.1351\r\n3\r\n5解析:本題考查了for循環(huán)語句的使用,break語句用在本題中是結束for循環(huán)直接跳出循環(huán)體外。當i=1時,因為if語句條件不滿足,所以直接執(zhí)行printf('%d\\n',i++);輸出1,同時i自加1;執(zhí)行第二次for循環(huán)時,i=3;同樣的if語句條件不滿足,所以直接執(zhí)行printf('%d\\n',i++);輸出3,同時i自加1;執(zhí)行第三次for循環(huán)時,i=5,if語句條件滿足,所以執(zhí)行printf('%d\\n',i),輸出5,然后break語句跳出了for循環(huán)。

33.gaegae解析:主函數(shù)中定義了字符數(shù)組a和b,其初值分別為Language和Programe,然后定義了兩個指針變量p1和p2,并讓它們指向a和b。通過分析可知下面的for循環(huán)中,每循環(huán)一次就將pl+k和p2+k所指向的字符進行比較,如果相等,輸出該字符,循環(huán)共執(zhí)行8次,顯然Language和Programe中只有字符gae相等,所以最后輸出為gae。

34.

35.6

36.8181解析:,解此類題一定要注意宏替換與函數(shù)調(diào)用的區(qū)別。宏替換是字面上的,在編譯期間就完成了,它只是將實參字符串替換蚌宏中形參出現(xiàn)的位置,得到的新串來替換掉宏調(diào)用.。而函數(shù)是將實參先計算好,然后將值賦給形參,再執(zhí)行函數(shù)體,整個過程在程序運行時發(fā)生。所以本題的宏調(diào)用s(1+1)將被替換成表達式4*i+j*i+j+1等于4*6+8*6+8+1=24+48+8+1=81。所以本題輸出81。

37.10111011解析:賦值表達式m=011中的常數(shù)011為八進制,++m后以十進制數(shù)格式“%d”輸出為10。

38.b=i+1b=i+1解析:本題考查了for循環(huán)語句的執(zhí)行過程。i+=2是修正表達式,執(zhí)行一次循環(huán)體后i的值就增加2,i的初始值為0,每次加2之后和累加至a,所以a的值就是1~10之間的偶數(shù)之后;b的值是1~11之間的奇數(shù)和,但在輸出b值時c去掉多加的11,即為1~10之間的奇數(shù)之和。

39.ACBDFEHGPACBDFEHGP解析:中序遍歷方法的遞歸定義;當二叉樹的根不為空時,依次執(zhí)行如下3個操作:①按中序遍歷左子樹。②訪問根結點。③技中序遍歷右子樹。根據(jù)遍歷規(guī)則來遍歷本題中的二叉樹。首先遍歷F的左子樹,同樣按中序遍歷。先遍歷C的左子樹,即結點A,然后訪問C,接著訪問C的右子樹,同樣按中序遍歷C的右子樹,先訪問結點B,然后訪問結點D,因為結點D沒有右子樹,因此遍歷完C的右子樹,以上就遍歷完根結點F的左子樹。然后訪問根結點F,接下來遍歷F的右子樹,同樣按中序遍歷。首先訪問E的左子樹,E的左子樹為空,則訪問結點E,然后訪問結點E的右子樹,同樣按中序遍歷。首先訪問G的左子樹,即H,然后訪問結點G,最后訪問G的右子樹P。以上就把整個二叉樹遍歷一遍,中序遍歷的結果為ACBDFEHGP。因此,劃線處應填入“ACBDFEHGP”。

40.PI=3.14159PI=3.14159解析:本題先定義了一個宏名PI,以后在程序中出現(xiàn)PI都用3.14159替代,但是C語言規(guī)定:雙引號中的宏名是不進行替換的。

41.D解析:題目中fseek(fp,0L,SEEK_SET)的作用將文件指針定位到文件開始。feof(fp)的作用是判斷文件指針是否已到文件結尾,因此選項A不對。ftell(fp)的作用是獲取當前文件指針的位置,因此選項B不對。fgetc(fp)的作用是從文件中讀取一個字節(jié),因此選項C不對。rewind(fp)的作用是將文件指針重定位到文件開頭,所以應該選擇D。

42.D解析:本題考核的知識點是用戶的標識符。在C語言中,合法的標識符由字母、數(shù)字和下劃線組成,并且第一個字符必須為字母或者下劃線,如:acd,d_ad、_adf124,_124等都是合法的標識符號.而2asdf、_sd/=都不是合法的標識符.在C語言中大寫字母和小寫字母被認為是兩個不同的字符,如:ACD和acd是兩個不同的標識符號。選項D中用下劃線作為第一個字符,這是不合法的,故選項D不正確,所以,4個選項中選項D符合題意。

43.A樹形結構是一類重要的非線性數(shù)據(jù)結構。樹是n(n≥0)個結點的集合,對應任意一棵非空樹,它具有以下幾點重要的性質(zhì)。

①有且僅有一個特定的稱為根的結點。

②當n>1時,其余結點可分為m(m>0)個互不相交的有限集T1,T2,…,TM,其中每一個集合本身又是一棵樹,稱為子樹。

因此,本題的正確答案有且只有一個。

44.C解析:限制使用GOTO語句是結構化程序設計的原則和方法之一,但不是絕對不允許使用GOTO語句。其他3項為結構化程序設計的原則。

45.A解析:本題考查兩個概念:①用單引號括起來的一個字符常量只能存放一個字符;②C語言中沒有字符串變量,只能用字符數(shù)組來存儲字符串。

選項A)中一個單引號內(nèi)放了若干個字符是錯誤的:選項B)和選項D)選項中將一個字符串賦值給一個字符數(shù)組是允許的。

46.D解析:由于20000+20000、4000*10及30000+10000都是整型表達式,故運算的結果仍然是整型,表達式運算的結果超出了整型數(shù)據(jù)的范圍,不正確.而D是長整型運算,不會超出長整型的范圍。所以,4個選項中D為所選.

47.B解析:此題考查了字符串輸入函數(shù)gets和字符串比較函數(shù)strcmp,另外還有字符輸出函數(shù)putchar。gets從標準輸入設備中讀入全部字符,包括空格,直到遇到回車符為止。strcmp是字符串比較函數(shù),即strcmp(字符串1,字符串2),如果字符串1=字符串2,則函數(shù)值為0;如果字符串1>字符串2,則函數(shù)值為一正整數(shù);如果字符串1<字符串2,則函數(shù)值為一負整數(shù)。putchar(c)函數(shù)將字符c輸出到標準輸出設備上。

48.A

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

50.A解析:字符指針pc指向字符串數(shù)組ch的首地址,*(pc+5)就是pc[5]的值。

51.B解析:字符串輸入函數(shù)fgets()的調(diào)用形式為:fgets(s,n,fp)。fgets函數(shù)參數(shù)說明:“s”可以是一個字符數(shù)組名,也可以是指向字符串的指針;“n”為要讀取的最多的字符個數(shù);“fp”是指向該文件的文件型指針。fgets函數(shù)的功能是:從fp所指向的文件中讀取長度不超過n-1個字符的字符串,并將該字符串放到字符數(shù)組s中;讀入字符串后會自動在字符串末尾加入“'\\0'”結束符,表示字符串結束。

52.B解析:算術運行符“/”、“%”的優(yōu)先級處于同一級,并且兩者的結合性都是從左到右。所以算術表達式運算過程為:a=25/10%9=2%9=2:當邏輯運算符“&&”兩邊的值都是非零時,邏輯表達式的值才為真(即為1)。所以b=2&&(-1)=1。

53.C解析:對二叉樹的前序遍歷是指先訪問根結點,然后訪問左子樹,最后訪問右子樹,并且,在訪問左、右子樹時,先訪問根結點,再依次訪問其左、右子樹。

54.C解析:將題目中的定義語句去掉前面的typedef和后面的CIN(分號保留),就是一條完整的結構體定義語句,其中struct是說明符,TT是結構體名,大括號里面的是結構體成員的定義。此時要聲明該結構體變量時需要使用struct加結構體名一起來聲明,structTT一起構成一個結構體類型,就好像字符類型char。若只去掉前面的typedef,就是一條結構體定義同時聲明個結構體變量CIN的語句,因為CIN的前面部分是structTT的完整寫法,可以看作是structTT。C語言允許用typedef說明一種新類型名,其語法格式為:

typedef類型名標識符;

以后就可以用該標識符來代替被說明的類型名了。因此,當前面存在typedef時,該語句就變成了給structTT的定義一個新的名稱CIN。所以,此時的CIN是一個結構體類型,它相當于structTT,即可以和char一樣單獨用來聲明該結構體變量,而TT只是一個結構體名,不能單獨用來聲明變量。所以,4個選項中C符合題意。

55.A解析:C語言規(guī)定標識符只能由字母、數(shù)字和下劃線三種符號組成,而且第一個字符必須是字母或下劃線。D)中的-max不合法,'-'既不是字母、數(shù)字,也不是下劃線;C)中的3COM第一個字符為數(shù)字,不合法;D)中的int和C語言的關鍵字重名,不合法。

56.A解析:選項A)錯誤,原因是typedef可以聲明新的類型名來代替已有的類型名,但卻不能增加新的類型。

57.B解析:主函數(shù)中for循環(huán)執(zhí)行兩次,i=1和i=2。調(diào)用函數(shù)f(1),返回值為1,j=1;調(diào)用函數(shù)f(2),計算表達式f(n-1)+1的值時遞歸調(diào)用f(1),返回值為2,j=3。所以B為所選。

58.C解析:關系代數(shù)是以集合代數(shù)為基礎女發(fā)展起來的,它是以關系代數(shù)作為運算對象的一組高級運算的集合。它的基本操作是并、交、差、笛卡爾積,另外還包括針對數(shù)據(jù)庫環(huán)境專門設計的操作,包括對關系進行垂直分割(投影)、水平分割(選擇)、關系的結合(連接)等。

59.C

60.D解析:算法的時間復雜度是指執(zhí)行算法所需要的計算工作量。

61.C

62.Af函數(shù)將數(shù)組字符串轉(zhuǎn)換為對應的整數(shù),遇見不是數(shù)字字符停止,所以答案選擇A)。

63.A實體完整性約束要求關

溫馨提示

  • 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

提交評論