2022-2023年遼寧省撫順市全國計算機(jī)等級考試C語言程序設(shè)計測試卷(含答案)_第1頁
2022-2023年遼寧省撫順市全國計算機(jī)等級考試C語言程序設(shè)計測試卷(含答案)_第2頁
2022-2023年遼寧省撫順市全國計算機(jī)等級考試C語言程序設(shè)計測試卷(含答案)_第3頁
2022-2023年遼寧省撫順市全國計算機(jī)等級考試C語言程序設(shè)計測試卷(含答案)_第4頁
2022-2023年遼寧省撫順市全國計算機(jī)等級考試C語言程序設(shè)計測試卷(含答案)_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

2022-2023年遼寧省撫順市全國計算機(jī)等級考試C語言程序設(shè)計測試卷(含答案)學(xué)校:________班級:________姓名:________考號:________

一、單選題(20題)1.

2.在Internet中,域名服務(wù)器的主要功能是實現(xiàn)()的轉(zhuǎn)換。

A.IP地址到域名(主機(jī)名字)B.域名到IP地址C.主機(jī)IP地址和路由器IP地址之間D.路由器IP地址之問

3.數(shù)據(jù)在計算機(jī)存儲器內(nèi)表示時,如果元素在存儲器中的相對位置能反映數(shù)據(jù)元素之間的邏輯關(guān)系,則稱這種存儲結(jié)構(gòu)為()。

A.存儲結(jié)構(gòu)B.邏輯結(jié)構(gòu)C.順序存儲結(jié)構(gòu)D.鏈?zhǔn)酱鎯Y(jié)構(gòu)

4.若有定義語句:char*s1="OK",*s2="ok";,以下選項中,能夠輸出"OK"的語句是A.A.if(strcmp(s1,s2)==0)puts(s1);

B.if(strcmp(s1,s2)!=0)puts(s2);

C.if(strcmp(s1,s2)==1)puts(s1);

D.if(strcmp(s1,s2)!=0)puts(s1);

5.數(shù)據(jù)庫管理系統(tǒng)中負(fù)責(zé)數(shù)據(jù)模式定義的語言是()。A.數(shù)據(jù)定義語言B.數(shù)據(jù)管理語言C.數(shù)據(jù)操縱語言D.數(shù)據(jù)控制語言

6.圖的深度優(yōu)先遍歷類似于二叉樹的_______。

A.先序遍歷B.中序遍歷C.后序遍歷D.層次遍歷

7.從堆中刪除一個元素的時間復(fù)雜以為____。

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

8.

9.標(biāo)準(zhǔn)庫函數(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中

10.

11.

12.表示關(guān)系a≤b≤c的C語言表達(dá)式為()。

A.(a<=B)&&(b<=C)

B.(a<=B)and(b<=C)

C.(a<=b<=C)

D.(a<=B)&(b<=C)

13.下列算法中,()算法用來求圖中某頂點到其他頂點所有頂點之間的最短路徑。

A.DijkstraB.FloyedC.PrimD.Kruskal

14.以下敘述中不正確的是

A.預(yù)處理命令行都必須以#號開始

B.在程序中凡是以#號開始的語句行都是預(yù)處理命令行

C.宏替換不占用運(yùn)行時間,只占編譯時間

D.在以下定義是正確的:#definePI3.1415926;

15.

16.

17.在有向圖G的拓?fù)湫蛄兄校繇旤cVi在頂點Vj之前,則下列情形不可能出現(xiàn)的是()。

A.G中有弧

B.G中有一條從Vi到Vj的路徑

C.G中沒有弧

D.G中有一條從Vj到Vi的路徑

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

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

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

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

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

19.以下關(guān)于C語言的敘述中正確的是()。

A.C語言中的注釋不可以夾在變量名或關(guān)鍵字的中間

B.C語言中的變量可以在使用之前的任何位置進(jìn)行定義

C.在C語言算術(shù)表達(dá)式的書寫中,運(yùn)算符兩側(cè)的運(yùn)算數(shù)類型必須一致

D.C語言的數(shù)值常量中夾帶空格不影響常量值的正確表示

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

A.在C程序中,每行中只能寫一條語句

B.若a是實型變量,C程序中允許賦值a=10,因此實型變量中允許存放整型數(shù)

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

D.在C程序中,%是只能用于整數(shù)運(yùn)算的運(yùn)算符

二、2.填空題(20題)21.下列程序的輸出結(jié)果是【】。

main()

{inta=1,b=2;

a=a+b;b=a-b,a=a-b;

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

}

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

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

main()

{inti=6,j=8;

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

}

23.最簡單的交換排序方法是______。

24.若a的值為1,則表達(dá)式!a‖++a的值是______。

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

intm=13;

intfun(intx,inty)

{intm+3;

return(x*y-m);

}

main()

{inta=7,b,5;

prntf("%d\n",fun(a,B)/m);

}

26.面向?qū)ο蟮某绦蛟O(shè)計方法中涉及的對象是系統(tǒng)中用來描述客觀事物的一個______。

27.設(shè)x和y均為int型變量,且x=1,y=2,則表達(dá)式2.0+x/y的值為_______。

28.在一棵二叉樹上第6層的結(jié)點個數(shù)最多是【】。

29.語句“int(*ptr)();”的含義是______是指向函數(shù)的指針,該函數(shù)返回一個int型數(shù)據(jù)。

30.下列程序的功能是對輸入的一行字符中的數(shù)字字符的字面值累加,輸出此累加和,請?zhí)羁铡?/p>

#include<stdio.h>

#include<ctype.h>

main()

{charc;

inta,s=0;

while(______)

if(isdigit(C))

{a=c-'0';s+=a;}

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

}

31.若有以下程序:

main()

{int,p,a=5;

if(P=a!=0)

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

else

printf("%d\n",p+2);

}

執(zhí)行后輸出結(jié)果是【】。

32.【】(黑箱或白箱)測試方法完全不考慮程序的內(nèi)部結(jié)構(gòu)和內(nèi)部特征。

33.軟件測試是保證軟件質(zhì)量的重要手段,而軟件測試的主要和重要的測試方法是通過測試數(shù)據(jù)和【】的設(shè)計來實現(xiàn)。

34.下面的程序?qū)崿F(xiàn)的是從指針p所指向的地址的n個數(shù)中,找出最大的和最小的數(shù)據(jù),請?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;}

35.設(shè)有下列的程序段;

charstr[]="Hello";

char*ptr;

ptr=str;

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

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

37.漢字系統(tǒng)中,字庫中的漢字是以【】碼存在。

38.某二叉樹中度為2的結(jié)點有18個,則該二叉樹中有【】個葉子結(jié)點。

39.若a是int型變量,且a的初值為4,則計算a+=a-=a*a表達(dá)式后a的值為______。

40.在先左后右的原則下,根據(jù)訪問根結(jié)點的次序,二叉樹的遍歷可以分為三種;前序遍歷、【】遍歷和后序遍歷。

三、1.選擇題(20題)41.十進(jìn)制數(shù)555的十六進(jìn)制數(shù)表示形式為______。

A.220B.22AC.22BD.22C

42.模塊本身的內(nèi)聚是模塊獨立性的重要性度量因素之一。在7類內(nèi)聚中,具有最強(qiáng)內(nèi)聚的一類是__________。

A.順序性內(nèi)聚B.過程性內(nèi)聚C.邏輯性內(nèi)聚D.功能性內(nèi)聚

43.判斷字符型變量chr為小寫字母的表達(dá)式是______。

A.'a'<=chr<='z'

B.(chr>='a')||(chr<='z')

C.(chr>=A)&&(chr<=z)

D.(chr>='a')&&(chr<='z')

44.以下對一維實型數(shù)組a的正確定義的是______。

A.floata(10);

B.intn=10;floata[n];

C.intn;floata[n];scanf("%d",&n);

D.#defineSIZE10floata[SIZE];

45.若有以下說明和語句:intc[4][5],(*p)[5];p=e;能夠正確引用c數(shù)組元素的是()。

A.p+1B.*(p+3)C.*(p+1)+3D.*(p[0]+2)

46.不是面向?qū)ο蟪绦蛟O(shè)計的可維護(hù)性的優(yōu)點的是()

A.用面向?qū)ο蟮姆椒ㄩ_發(fā)的軟件穩(wěn)定性比較好B.易于移植C.易于和調(diào)試D.用面向?qū)ο蟮姆椒ㄩ_發(fā)的軟件比較容易理解

47.用樹形結(jié)構(gòu)來表示實體之間聯(lián)系的模型稱為()。

A.關(guān)系模型B.層次模型C.網(wǎng)狀模型D.數(shù)據(jù)模型

48.

若有下列定義和語句:

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

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

則輸出結(jié)果是()。

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

49.X、Y、Z被定義為int型變量,若從鍵盤給X、Y、Z輸入數(shù)據(jù),正確的輸入語句是______。

A.INPUTX,Y,Z;

B.scanf("%d%d%d",&X,&Y,&Z);

C.scanf("%d%d%d",X,Y,Z);

D.read("%d%d%d",&X,&Y,&Z);

50.在下列選項中,沒有構(gòu)成死循環(huán)的程序段是_____。

A.inti=100;while(1){i=i%100+1;if(i>100)break;}

B.for(;;);

C.intk=1000;do{++k;}while(k>=1000);

D.ints=36:while(s);--s;

51.以下程序#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.yzabcABCD.xyabcABC

52.下列程序的輸出結(jié)果是()。#include<stdio.h>voidp(int*x){printf("%d",++*x);}voidmain(){inty=3;p(&y);}

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

53.有如下程序:main{intx=1,a=0,b=0;switch(x){case0:b++;case1:a++;case2:a++.b++;}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

54.下面程序的運(yùn)行結(jié)果是#include<stdio.h>voiddelch(char*s){inti,j;char*a;a=S;for(i=0,j=0;a[i]!='\0';i++)if(a[i]>='0'&aa[i]<='9'){s[j]=a[i];j++;}s[j]='\0';}main(){char*item="a34bC";delch(item);printf("\

A.abcB.34C.a34D.a34bc

55.若有以下定義和語句:inta[]={1,2,3,4,5,6,7,8,9,10),*p=a;則值為3的表達(dá)式是______。

A.P+=2,*(p++)B.p+=2,*++pC.p+=3,*p++D.p+=2,++*p

56.已知、棵二叉樹的后序遍歷序列是dabec,中序遍歷序列是debac,則它的前序遍歷序列是()。

A.acbedB.decabC.deabcD.cedba

57.以下程序的輸出結(jié)果是______。#include<stdio.h>voidprt(int*x,int*y,int*z){printf("%d,%d,%d\n",++*x,++y,*(z++));}inta=10,b=40,c=20;main(){prt(&a,&b&c);prt(&a,&b,&c);}

A.11,42,3112,22,41

B.11,41,2012,42,20

C.11,21,4011,21,41

D.11,41,2112,42,22

58.有如下函數(shù)調(diào)用語句:func(rec1,rec2+rec3,(rec4,rec5));該函數(shù)調(diào)用語句中,含有的實參個數(shù)是______。

A.3B.4C.5D.有語法錯

59.設(shè)有定義:intk=1,m=2;floatf=7;則下列選項中錯誤的表達(dá)式是()。

A.k=k>=kB.-k++C.k%int(f)D.k>=f>=m

60.以下敘述中不正確的是

A.在不同的函數(shù)中可以使用相同的名字的變量

B.函數(shù)中的形式參數(shù)是局部變量

C.在一個函數(shù)內(nèi)定義的變量只在本函數(shù)范圍內(nèi)有效

D.在一個函數(shù)內(nèi)的復(fù)合語句中定義的變量在本函數(shù)范圍內(nèi)有效

四、選擇題(20題)61.若執(zhí)行以下程序時從鍵盤上輸入9,則輸出結(jié)果是()。main(){intn;scanf(”%d”,&n);if(n++<10)printf(”/%d\n”,n);elseprintf(”%d\n”,n--);}A.11B.10C.9D.8

62.

63.

64.設(shè)a=l,b=2,c=3,d=4,則表達(dá)式:“a<b?a:b<b?a:c<d?a:d”的結(jié)果為()。A.4B.3C.2D.1

65.

66.有以下程序:

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

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

67.

68.

69.若有定義:char*st=”howareyou”;,下列程序段中正確的是()。

A.

B.

C.

D.

70.有以下程序

71.沒有以下語句

則Z的二進(jìn)制值是()。

A.00010100B.00011011C.00011100D.00011000

72.下面描述中錯誤的是()。

A.系統(tǒng)總體結(jié)構(gòu)圖支持軟件系統(tǒng)的詳細(xì)設(shè)計

B.軟件設(shè)計是將軟件需求轉(zhuǎn)換為軟件表示的過程

C.數(shù)據(jù)結(jié)構(gòu)與數(shù)據(jù)庫設(shè)計是軟件設(shè)計的任務(wù)之一

D.PAD圖是軟件詳細(xì)設(shè)計的表示工具

73.下列關(guān)于數(shù)據(jù)流圖的描述正確的是()。

A.數(shù)據(jù)流圖是描述數(shù)據(jù)處理過程的工具

B.數(shù)據(jù)流圖間接支持系統(tǒng)的功能建模

C.數(shù)據(jù)流圖中帶箭頭的線段表示控制流

D.數(shù)據(jù)流圖是軟件詳細(xì)設(shè)計的工具

74.下列函數(shù)的功能是()。

A.將a所指字符串賦給b所指空間

B.使指針b指向a所指字符串

C.將a所指字符串和b所指字符串進(jìn)行比較

D.檢查a和b所指字符串中是否有‘、O’

75.有以下程序:

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

A.y=一1B.Y=0C.y=1D.while構(gòu)成無限循環(huán)

76.有三個關(guān)系R、S和T如下:由關(guān)系R和s通過運(yùn)算得到關(guān)系T,則所使用的運(yùn)算為()。

A.并B.自然連接C.笛卡兒積D.交

77.下列定義數(shù)組的語句中,正確的是()。

A.intN=10;intx[N]:

B.#defineNl0;intx[N];

C.intx[0..10];

D.intx[];

78.

79.

80.

五、程序改錯題(1題)81.下列給定程序中函數(shù)proc的功能是:取出長整型變量s中偶數(shù)位上的數(shù),依次構(gòu)成一個新數(shù)放在t中。例如,當(dāng)s中的數(shù)為l23456789時,t中的數(shù)為2468。請修改程序中的錯誤,使它能得出正確的結(jié)果。注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:

六、程序設(shè)計題(1題)82.編寫函數(shù)fun,其功能是:求出1~1000之間能被7或11整除,但不能同時被7和11整除的所有整數(shù),并將其放在a所指的數(shù)組中,通過n返回這些數(shù)的個數(shù)。

注意:部分原程序在文件PROGl.C中。

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

參考答案

1.D

2.B在Internet中,把域名翻譯為IP地址的軟件稱為域名系統(tǒng)DNS,運(yùn)行域名系統(tǒng)的主機(jī)稱為域名服務(wù)器。域名服務(wù)器的主要功能是實現(xiàn)入網(wǎng)主機(jī)名字和IP地址的轉(zhuǎn)換。

3.C

4.D解析:strcmp(s1,s2)的作用是比較字符串s1和s2。參數(shù)str1,str2如果相同,則返回0,如果str1大于str2則返回一個正整數(shù),如果str1小于str2則返回一個負(fù)整數(shù)。本題中s1,s2不相同,A)選項不會輸出任何字符,B)選項輸出ok,C)選項不輸出任何字符,D)選項會輸出OK。

5.AA。數(shù)據(jù)定義語言(DDL)是集中負(fù)責(zé)數(shù)據(jù)庫模式定義與數(shù)據(jù)庫對象定義的語言。數(shù)據(jù)操縱語言(DML)是指用來查詢、添加、修改和刪除數(shù)據(jù)庫中數(shù)的語句。數(shù)據(jù)控制語言(DCL)是用來設(shè)置或者更改數(shù)據(jù)為用戶或角色權(quán)限的語句。據(jù)此,本題正確答案為選項A。

6.A

7.B

8.D

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

10.A

11.D

12.A解析:本題考查邏輯與運(yùn)算符&&。在C語言中使用運(yùn)算符“&&”連接兩個表達(dá)式,也可以表示邏輯與運(yùn)算符。在C語言中不允許出現(xiàn)a<=b<=c這種格式。

13.A

14.D解析:帶參數(shù)的宏定義如下:#define宏名(參數(shù))字符串。本題中,宏定義的作用是指定用標(biāo)識符PI來代替“3.1415926”這個字符串,但宏定義不是C語句,不必在行末加分號。

15.C

16.A

17.D若G中有一條從Vj到Vi的路徑,則圖的拓?fù)湫蛄兄许旤cVj在頂點Vi之前。設(shè)G(V,E)是一個具有n個頂點的有向圖,V中頂點的序列v1,v2,…,vn稱為一個拓?fù)湫蛄?,?dāng)且僅當(dāng)該頂點滿足下列條件:若在有向圖G中,從頂點vi在vj有一條路徑,則在拓?fù)湫蛄兄许旤cvi必須排在頂點vj之前。

18.A解析:本題考查C語言的綜合基礎(chǔ)知識。構(gòu)成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)使用的格式。

19.B解析:C語言中注釋可以放在任何位置,選項A錯誤;C語言中的變量只要在使用之前定義即可,位置可以是使用前的任何位置,故選項B正確;C語言中兩側(cè)數(shù)據(jù)類型可以不一致,系統(tǒng)可進(jìn)行強(qiáng)制類型轉(zhuǎn)換,選項C錯誤;C語言數(shù)值常量中不允許存在空格,選項D錯誤。

20.D

21.21

22.8181解析:將S(i+j)展開來有:S(i+j)=S(6+8)=4×6+8×6+8+1=81。

23.冒泡排序冒泡排序解析:交換排序是指借助數(shù)據(jù)元素之間的互相交換進(jìn)行排序的一種方法。冒泡排序是一種最簡單的交換排序方法,它是通過相鄰元素之間的相互交換逐步將線性表變成有序。

24.11解析:邏輯運(yùn)算中,非1即0,非0即1,!a=0,++a為邏輯1,所以0和1相或結(jié)果為1。

25.22解析:本題變量m既是外部變量(值是13),又是fun函數(shù)的局部變量(值為3)。函數(shù)fun(x*y-m)的值為7*5-3=32,在main函數(shù)中,fun(a,b)/m中的m應(yīng)取外部變量的值13,因此輸出2。

26.實體實體

27.2.0。2.0。解析:x和y為整數(shù),運(yùn)算符“/”在這里是整型除,整除后值為0。

28.3232解析:根據(jù)二叉樹的性質(zhì),在二叉樹的第k層上,最多有2的k-1次方個結(jié)點。所以,第6層的結(jié)點數(shù)最多為32。

29.ptrptr解析:本題考查函數(shù)指針的概念。函數(shù)指針的定義格式是:類型標(biāo)識符(*指針變量名)()。注:“類型標(biāo)識符”為函數(shù)返回值的類型。

30.(c=getchar())!='\n'(c=getchar())!='\\n'解析:分析題目可知,程序中運(yùn)用函數(shù)c=getchar()從標(biāo)準(zhǔn)輸入設(shè)備讀取下一個字符,而且是一行的字符(即沒有換行),所以條件為(c=getchar())!='\\n'。

31.11解析:首先計算if語句后面的表達(dá)式,根據(jù)運(yùn)算符的優(yōu)先級可知,先算“a!=0”,該值為1,再把1賦值給p,結(jié)果為1(真),執(zhí)行其后的printf語句,輸出的值為1。

32.黑箱黑箱解析:本題考查了軟件測試中的黑箱測試。黑箱測試是根據(jù)程序規(guī)格說明所規(guī)定的功能來設(shè)計測試用例,它不考慮程序的內(nèi)部結(jié)構(gòu)和處理過程。常用的黑箱測試技術(shù)分為等價類劃分、邊界分析、錯誤猜測以及因果圖等。

33.測試實例測試實例解析:進(jìn)行軟件測試時,應(yīng)精心設(shè)計測試實例和選擇測試數(shù)據(jù),以對系統(tǒng)進(jìn)行全面測試。

34.q<p+nq<p+n解析:考查對于函數(shù)的地址傳遞的掌握情況。通過地址傳遞可以在被調(diào)函數(shù)中對調(diào)用函數(shù)中的變量進(jìn)行引用。

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

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

37.字形字形

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

39.-24-24解析:本題考查賦值運(yùn)算符a+=b等價于a=a+b;a-=a*a等價于a=a-a*a=4-4*4=-12;a+=a,即a=a+a=-24。

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

41.C解析:本題考查不同進(jìn)制數(shù)間的轉(zhuǎn)換,(555)10=(1000101011)2=(22B)16。

42.D解析:內(nèi)聚性是一個模塊內(nèi)部各元素間彼此結(jié)合的緊密程度的度量。內(nèi)聚是從功能角度來度量模塊內(nèi)的聯(lián)系。內(nèi)聚共有7類,它們之㈨的內(nèi)聚性由弱到強(qiáng)排列順序為:偶然內(nèi)聚、邏輯內(nèi)聚、時間內(nèi)聚、過程內(nèi)聚、通信內(nèi)聚、順序內(nèi)聚和功能內(nèi)聚。

43.B解析:程序段中定義x值為1,!x值為0,因此循環(huán)執(zhí)行的條件永遠(yuǎn)成立,該循環(huán)是死循環(huán)。

44.D解析:C語言不可動態(tài)定義數(shù)組,必須是整型常量,選項D中的SIZE是符號常量,也是常量,值為10,所以可以用符號常量來定義數(shù)組的長度。

45.D解析:(*p)[5]中p是一個行指針,指向一個包含5個元素的一維數(shù)組,p的值是該一維數(shù)組的首地址。當(dāng)用行指針訪問二維數(shù)組時,行指針每增加1,表示指針指向二維數(shù)組的下一行,此題中的p+i將指向數(shù)組的第i行。選項A)的意思是指向數(shù)組c的第1行,不是引用c數(shù)組的元素;選項B)中p+3是指向數(shù)組元素的第3行,。(P+3)是指第3行第0個元素的地址;選項C)可由對選項A)、選項B)的解釋知,它指的是第1行第3列元素的地址;選項D)中p[0]+2是指第0行第2列元素的地址,再加個*就表示第0行第2列的元素,即c[0][2]。

46.B

47.B解析:在數(shù)據(jù)庫系統(tǒng)中,由于采用的數(shù)據(jù)模型不同,相應(yīng)的數(shù)據(jù)庫管理系統(tǒng)(DBMS)也不同。目前常用的數(shù)據(jù)模型有3種:層次模型、網(wǎng)狀模型和關(guān)系模型。在層次模型中,實體之間的聯(lián)系是用樹結(jié)構(gòu)來表示的,其中實體集(記錄型)是樹中的結(jié)點,而樹中各結(jié)點之間的連線表示它們之間的關(guān)系。所以,本題的正確答案是B。

48.C解析:在C語言中,“%d”表示輸出帶符號的十進(jìn)制整型數(shù);“%x”表示以十六進(jìn)制無符號型輸出整型數(shù)據(jù)(即不帶前導(dǎo)0x或0X);“%o”表示以八進(jìn)制無符號型輸出整型數(shù)據(jù)(即不帶前導(dǎo)0)。

49.B解析:scanf()函數(shù)要求將輸入的數(shù)據(jù)存入變量所在的地址。選項A不是C語言中的輸入語句,故選項A不正確;選項C中輸入的是變量字符串而不是地址字符串,不滿足scanf()函數(shù)要求將輸入的數(shù)據(jù)存入變量所在的地址,故選項C不正確;選項D不是C語言中的輸入語句,故選項D不正確:所以,4個選項中選項B符合題意。

50.C

51.D解析:strcat(p1,p2)將字符串a(chǎn)bcABC放到了*p1所指向的存儲單元中;strcpy在本題將abcABC復(fù)制到str+2所指向的存儲單元中,即覆蓋原str數(shù)組中的字符z及其后的所有字符,故str的值為“xyabcABC”。

52.B解析:本題考查函數(shù)調(diào)用時的參數(shù)傳遞。在函數(shù)調(diào)用時,形參是指向?qū)崊⒌闹羔樧兞?,則printf的執(zhí)行結(jié)果為3+1=4。

53.AC語言規(guī)定case后面跟的必須是整型常量表達(dá)式。進(jìn)入case后,如果沒有遇到break語句就會一直往下執(zhí)行,后面其他case或default分支的語句也會被執(zhí)行到,直到遇到break,或者執(zhí)行到整個switch語句塊的末尾。題目中給出了三個case語句:case0、case1、case2。當(dāng)x為1時,從case1語句開始執(zhí)行,因為沒有break語句,將一直執(zhí)行到函數(shù)末尾結(jié)束,即執(zhí)行case1、case2兩條語句。執(zhí)行完case1時,a=1,b=0;執(zhí)行完case2時,a=2,b=1。

54.B

55.A解析:引用—個數(shù)組元素,可以用:(1)下標(biāo)法,如a[i]形式;(2)指針法,如*(a+i)或*(p+i)。數(shù)組的下標(biāo)從0開始,值為3的數(shù)組元素是a[2]。B、C的內(nèi)容為a[3],D將[2]前自加,結(jié)果為4。

56.D解析:依據(jù)后序遍歷序列可確定根結(jié)點為c,由中序遍歷序列可知其左子樹由deba構(gòu)成,右子樹為空;又由左子樹的后序遍歷序列可知其根結(jié)點為e,由中序遍歷序列可知其左子樹為d,右子樹由ba構(gòu)成,如圖所示。由此可知該二叉樹的前序遍歷序列為選項D)。

57.B解析:由于實參傳送的是變量的地址,所以對形參指針?biāo)赶虻膯卧獌?nèi)容的改變,即對實參內(nèi)容的改變。

58.A解析:本題考查函數(shù)實參的概念。函數(shù)的調(diào)用形式為:函數(shù)名(實參1,實參2,……)其中實參可以是常量、變量或表達(dá)式,題目中ree2+rec3是算術(shù)表達(dá)式,(rec4,rec5)是逗號表達(dá)式。

59.C解析:在C語言中,求余運(yùn)算符“%”兩邊的運(yùn)算對象都應(yīng)為整型數(shù)據(jù),所以需要對變量f進(jìn)行強(qiáng)制類型轉(zhuǎn)換,正確的寫法為k%(int)f。在C語言中,邏輯運(yùn)算符與賦值運(yùn)算符、算術(shù)運(yùn)算符、關(guān)系運(yùn)算符之間從高到低的運(yùn)算優(yōu)先次序是:!(邏輯“非”)、算術(shù)運(yùn)算符、關(guān)系運(yùn)算符、&&(邏輯“與”)、||(邏輯“或”)、賦值運(yùn)算符。根據(jù)運(yùn)算符的優(yōu)先級與結(jié)合性,對于選項A),先計算k>=k的值(為真,即1),再用1對k進(jìn)行賦值。對于選取項B),先計算k++的值,再對其取負(fù)數(shù)。對于選項D),先計算k>=f的值(為假,即0),再用0與出進(jìn)行比較,故最終結(jié)果為0。

60.D解析:C語言在函數(shù)中說明的變量為局部變量,只在函數(shù)內(nèi)起作用但不會影響到其他函數(shù)。所以在不同的函數(shù)中使用相同的函數(shù)名不代表是同一函數(shù),A)項正確。在函數(shù)定義時聲明的參數(shù)只在函數(shù)內(nèi)部起作用,是函數(shù)的局部變量,B)正確。在一個函數(shù)中定義的變量是這個函數(shù)的局部變量,所以只在這個函數(shù)內(nèi)起作用,C)正確。復(fù)合語句中定義的變量其作用域是這個復(fù)合語句,不會擴(kuò)大到整個函數(shù),所以D)項錯誤。注意:函數(shù)的書寫風(fēng)格。

61.B當(dāng)n為9時,此時if語句成立,執(zhí)行n++后,n為10,因此輸出n的值為10,故選擇B選項。

62.D

63.D

64.D在三目運(yùn)算符中,優(yōu)先級相同,按從右到左的結(jié)合性計算,a<b?a:(c<d?a:d)c<d成立所以取值a,同理可得,選擇D選項

65.A

66.A因為fun(intx)是一個遞歸函數(shù),所以主函數(shù)中fun(7)經(jīng)過3次遞歸調(diào)用,其過程可以描述為“fun(7)=7一fun(5)=7一(5一fun(3))=7一(5一(3一fun(1)))=7一(5一(3—3))=7—5=2”,所以最后輸出結(jié)果為2。因此.A選項正確。

67.C

68.C

69.A本題綜合考查字符數(shù)組的賦值和strcpy函數(shù)的用法。C語言不允許用賦值表達(dá)式對字符數(shù)組賦值,如

strcpy函數(shù)的結(jié)構(gòu)是:strcpy(字符數(shù)組1,字符串2)其中,需要注

溫馨提示

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

評論

0/150

提交評論