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

下載本文檔

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

文檔簡介

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

一、單選題(20題)1.以下敘述中正確的是()。

A.文件指針是一種特殊的指針類型變量

B.文件指針的值等于文件當前讀寫位置,以字節(jié)為單位

C.文件指針的值等于文件在計算機硬盤中的存儲位置

D.調用fscanf函數只能向文本文件中寫入任意字符

2.

3.設計一個判別表達式中左、右括號是否配對出現的算法,采用()數據結構最佳。A.線性表的順序存儲結構B.隊列C.線性表的鏈式存儲結構D.棧

4.

5.下面程序的輸出結果是______。#include<stdio.h>main(){char*p[]={"BOOL","OPK","H","SP"};inti:for(i=3;i>=0;i-,i-)printf("%c",*p[i]);printf("\n");}

A.SOB.SPC.SPOPKD.SHOB

6.簡單的交換排序方法是()。

A.快速排序B.選擇排序C.堆排序D.冒泡排序

7.若有以下定義:chara;intb;floatc;doubled;則表達式a*b+b-c值的類型為()。A.floatB.intC.charD.double

8.在ASC算法team日常開發(fā)中,常常面臨一些數據結構的抉擇,令人糾結。目前大家在策劃一個FBI項目(FastBinaryIndexing),其中用到的詞匯有6200條,詞匯長度在10-15之間,詞匯字符是英文字母,區(qū)分大小寫。請在下面幾個數據結構中選擇一個使檢索速度最快的()

A.二叉搜索樹,比較函數開銷:1次運算/每字符

B.哈希表,hash算法開銷:10次運算/每字符

C.鏈表,比較函數開銷:1次運算/每字符

D.TRIE樹,尋找子節(jié)點開銷:1次運算/每字符

9.有定義語句intb;charc[10];,則正確的輸入語句是______。A.scallf("%d%s",&b,&c);

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

C.scanf("%d%s",b,c)

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

10.帶頭結點的單鏈表head為空的判定條件是()。

A.head=NULLB.head→next=NULLC.head→next=headD.head!=NULL

11.以下程序的輸出結果是().A.A.0B.29C.31D.無定值

12.數據庫管理系統(tǒng)DBMS中用來定義模式、內模式和外模式的語言為()。

A.CB.BasicC.DDLD.DML

13.對包含N個元素的散列表進行檢索,平均檢索長度________

A.為o(log2N)B.為o(N)C.不直接依賴于ND.上述三者都不是

14.無向圖中一個頂點的度是指圖中與該頂點相鄰接的頂點數。若無向圖G中的頂點數為n,邊數為e,則所有頂點的度數之和為()

A.n*eB.n+eC.2nD.2e

15.微型計算機的運算器、控制器及內存儲器組合在一起,稱之為()

A.ALUB.CPUC.MPUD.主機

16.廣義表((a))的表尾是()。

A.aB.(a)C.((a))D.()

17.以下程序的輸出結果是______。#defineSQR(X)X*Xmain(){inta=10,k=2,m=1;a/=SQR(k+m)/SQR(k+m);printf("d\n",a);}

A.16B.2C.9D.1

18.有以下程序:main(){intk=5,n=0;do{switch(k){case1:case3:n+=l;k--;break;defalut:n=0;k--;case2:case4:n+=2;k--;break:}printf("%d",n);}while(k>0&&n<5);}程序運行后的輸出結果是()。A.235B.0235C.02356D.2356

19.設有定義“intx[2][3];”,則以下選項中不能表示數組元素x[0][1]的是()。

A.*(*x+1)B.*(*(x+1)C.(*x)[1]D.*(&x[0][0]+1)

20.以下對軟件特點描述錯誤的是()。

A.軟件的使用存在老化問題B.軟件的復雜性高C.軟件是一種邏輯實體,具有抽象性D.軟件的運行對計算機系統(tǒng)具有依賴性

二、2.填空題(20題)21.在關系模型中,把數據看成一個二維表,每一個二維表稱為一個______。

22.設在主函數中有以下定義和函數調用語句,且fun函數為void類型,請寫出fun函數的首部【】。要求形參名為b。

main()

{doubles[10][22];

intn;

fun(s);

}

23.有以下程序

#include<stdio.h>

main()

{charch1,ch2;intn1,n2;

ch1=getchar();ch2=getchar();

n1=ch1-'()';n2=n1*10+(ch2-'()');

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

}

程序運行時輸入:12<回車>,執(zhí)行后輸出結果是【】。

24.數據庫系統(tǒng)中實現各種數據管理功能的核心軟件稱為【】。

25.閱讀下面程序,則程序的執(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;}

26.數據元素之間______的整體稱為邏輯結構。

27.設有下列宏定義:

#defineA2

#defineB(A+3)

則執(zhí)行賦值語句“k=B*20;”(k為int型變量)后,k的值是______。

28.數據庫管理系統(tǒng)是位于用戶與______之間的軟件系統(tǒng)。

29.閱讀下面語句,則程序的執(zhí)行結果是【】。

#include"stdio.h"

main()

{inta=-1,b=1,k;

if((++a<0)&&!(b--<=0))

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

elseprintf("%d,%d\n",b,a);}

30.請用位運算實現下述目標(設16位二進制數的最低位為零位):

(1)輸出無符號正整數m的第i個二進制位的數值。

(2)將m的第i個二進制位置1,其余的位不變,然后輸出m。

#include"stdio.h"

【】

main()

{

unsignedk,i,m=0;

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

k=【】;

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

k=pow(2,i);

m=【】;

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

}

31.以下程序的功能是建立一個帶有頭結點的單向鏈表,鏈表結點中的數據通過鍵盤輸入,當輸入數據為-1時,表示輸入結束(鏈表頭結點的data域不放數據,表空的條件是ph->next==NULL),請?zhí)羁铡?/p>

#include<stdio.h>

structlist{intdata;structlist*next;};

structlist*creatlist()

{structlist*p,*q,*ph;inta;ph=(structlist*)malloc(sizeof(structlist));

p=q=ph;printf("Inputanintegernumber;entre-1toend:\n");

scanf("%d",&a);

while(a!=-1)

{p=(structlist*)malloc(sizeof(structlist));

【】=a;q->next=p;【】=p;scanf("%d",&a);}

p->next=′\0;return(ph);}

main()

{structlist*head;head=creatlist();}

32.注釋說明了程序的功能,它分為【】注釋和功能性注釋。

33.數據流圖的類型有【】和事務型。

34.排序是計算機程序設計中的一種重要操作,常見的排序方法有插入排序、______和選擇排序。

35.下面程序的輸出是【】。

main()

{intarr[10],i,k=0;

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

arr[i=i;]

for(1;i<4;i++)

k+=arr[i]+i;

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

36.【】是從二維表列的方向進行的運算。

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

main()

{inti,a[10];

a[0]=a[1]=1;

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

a[i]=a[i-2]+a[i-1];

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

{if(i%2==0)printf("\n");

printf("%d",a[i]);

}

}

38.在一個容量為32的循環(huán)隊列中,若頭指針front=3,尾指針rear=2,則該循環(huán)隊列中共有______個元素。

39.設有如下宏定義

#defineMYSWAP(z,x,y){z=x;x=Y;Y=z;}

以下程序段通過宏調用實現變量a、b內容的交換,請?zhí)羁铡?/p>

floata=5,b=16,c;

MYSWAP(【】,a,b);

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

main()

{intx=1,y=2,z=3;

printf("%d,",x<y?y:x);

printf("%d,",z<y?x++:y++);

printf("%d,%d",x,y);

}

三、1.選擇題(20題)41.面向對象的設計方法與傳統(tǒng)的面向過程的方法有本質不同,它的基本原理是()。

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

B.強調模擬現實世界中的算法而不強調概念

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

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

42.有以下程序:voidfun(char*a,char*B);{a=b;(*A)++;}main(){charc1='A',c2='a',*p1,*p2;p1=&cl;p2=&c2:fun(p1,p2);printf("%c%c\n",c1,c2);}程序運行后的輸出結果是

A.AbB.aaC.AaD.Bb

43.下列工具中為需求分析常用工具的是()。

A.PADB.PFDC.N—SD.DFD

44.下面是對宏定義的描述,不正確的是______。

A.宏不存在類型問題,宏名無類型,它的參數也無類型

B.宏替換不占用運行時間

C.宏替換時先求出實參表達式的值,然后代入形參運算求值

D.宏替換只不過是字符替代而已

45.下列數據結構中,按先進后出原則組織數據的是

A.線性鏈表B.棧C.循環(huán)鏈表D.順序表

46.在計算機內部,一切信息存取、處理和傳送的形式是()

A.ASCⅡ碼B.BCD碼C.二進制D.十六進制

47.有以下程序:main(){intm,n,p;scanf("m=%dn=%dp=%d",&m,&n,&p);print("%d%d%d\n",m,n,p);}若想從鍵盤上輸入數據,使變量m中的值為123,n中的值為456,p中的值為789,則正確的輸入是()。

A.m=123n=456P=789

B.m=123n=456p=789

C.m=123,n=456,p=789

D.123456789

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

A.C語言編譯時不檢查語法

B.C語言的子程序有過程和函數兩種

C.C語言的函數可以嵌套定義

D.C語言中,根據函數能否被其他源文件調用,被區(qū)分為內部函數和外部函數

49.下列可用于C語言用戶標識符的一組是()。

A.void,define,WORD

B.a3_3,_123,Car

C.For,-abc,IFCase

D.2a,DO,sizeof

50.有以下程序:#include<stdio.h>main(){charc[6];inti=0;for(;i<6;c[i]=getchar(),i++);for(i=0;i<6;i++)putchar(c[i];printf("\n");}如果從鍵盤上輸入:ab<回車>c<回車>def<回車>則輸出結果為______。

A.abcdefB.abcdC.abcdD.abcdef

51.索引屬于()。

A.模式B.內模式C.外模式D.概念模式

52.若有定義inta[2][3];,則對a數組的第i行第j列(假調i,j已正確說明并賦值)元素值的正確引用為

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

53.若有定義inta=5,b=7;,則表達式a%=(b%2)運算后,a的值為()。

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

54.八進制數253.74轉換成二進制數是()

A.10101011.1111

B.10111011.0101

C.11001011.1001

D.10101111.1011

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

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

56.以下能正確定義且賦初值的語句是()。

A.intn1=n2=10;

B.charc=32;

C.floatf=f+1.1;

D.doublex=12.300.5;

57.按照“先進先出”組織數據的數據結構是()。

A.隊列B.棧C.雙向鏈表D.二叉樹

58.下面被調用函數sub的函數值的類型是()sub(floatA){floatb;b=a*a+1;returnb;}

A.單精度型B.雙精度型C.空類型D.整型

59.語句“printf("a\bhow\'are\'y\\\bou\n");”的輸出結果是()。

A.a\bhow\'are\'y\\bou

B.a\bhow\'are\'y\bou

C.how'are'you

D.ahow'are'y\bou

60.下列關于棧的描述中錯誤的是()

A.棧是先進后出的線性表B.棧只能順序存儲C.棧具有記憶作用D.對棧的插入與刪除操作中,不需要改變棧底指針

四、選擇題(20題)61.軟件詳細設計生產的圖如右圖:該圖是()。

A.N—S圖B.PAD圖C.程序流程圖D.E—R圖

62.

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

main

{intid=50,a[]=(7,4,10,5,8};

for()

j+=a[i];

printf("%d",j-40);

}

A.i=1;i<4;++i

B.i=l;i<3;++i

C.i=4;i>2;i--

D.i=2;i<4;++i

63.

64.程序設計方法要求在程序設計過程中()。

A.先編制出程序,經調試使程序運行結果正確后再畫出程序的流程圖

B.先編制出程序,經調試使程序運行結果正確后再在程序中的適當位置處加注釋

C.先畫出流程圖,再根據流程圖編制出程序,最后經調試使程序運行結果正確后再在程序中的適當位置處加注釋

D.以上三種說法都不對

65.若a是數值類型,則邏輯表達式(a==1)Il(a!=1)的值是()。

A.1B.0C.2D.不知道a的值,不能確定

66.要求以下程序的功能是計算:s=1+1/2+1/3+…+1/100。

程序運行后輸出結果錯誤,導致錯誤結果的程序行是()。

A.s=1.0;

B.

C.S=S+1/n;

D.

67.下列描述錯誤的是()。

A.繼承分為多重繼承和單繼承

B.對象之問的通信靠傳遞消息來實現

C.在外面看不到對象的內部特征是基于對象的“模塊獨立性好”這個特征

D.類是具有共同屬性、共同方法的對象的集合

68.下列關于棧的描述中錯誤的是()。

A.棧是先進先出的線性表B.棧只能順序存儲C.棧具有記憶作用D.對棧的插入刪除操作中,不需要改變棧底指針

69.有以下程序段#include<stdio.h>main(){...while(getchar()!=\n);...}以下敘述中正確的是()。A.此while語句將無限循環(huán)

B.getchar()不可以出現在while語句的條件表達式中

C.當執(zhí)行此while語句時,只有按回車鍵程序才能繼續(xù)執(zhí)行

D.當執(zhí)行此while語句時,按任意鍵程序就能繼續(xù)執(zhí)行

70.從循環(huán)體內某一層跳出,繼續(xù)執(zhí)行循環(huán)外的語句是:___________。

A.break語句B.return語句C.continue語句D.空語句。

71.有以下程序

#include<stdio.h>

main()

{charb=2;

printf("%d\n",b=b<<3);

}

程序的運行結果是

A.4B.8

C.16D.2000

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

73.

74.

75.高有定義inta;floatb;執(zhí)行scanf("%2d%f",&a,&b);語句時,若從鍵盤輸入876<空格>854.0<回車>,a和b的值分別是()。

A.876和543.000000

B.87和6.000000

C.87和543.000000

D.76和543.000000

76.在一個C源程序文件中所定義的全局變量,其作用域為()。

A.由具體定義位置和extem說明來決定范圍B.所在程序的全部范圍C.所在函數的全部范圍D.所在文件的全部范圍

77.

78.

79.

80.

五、程序改錯題(1題)81.下列給定程序中,函數proc()的功能是:在字符串str中找出ASCⅡ碼值最大的字符,將其放在第一個位置上,并將該字符前的原字符向后順序移動。例如,調用proc()函數之前給字符串輸入DcybkdGT,調用后字符串中的內容為yDcbkdOT。

請修改程序中的錯誤,使它能得到正確結果。

注意:不要改動main()函數,不得增行或刪行,也不得更改程序的結構。

試題程序:

六、程序設計題(1題)82.學生的記錄由學號和成績組成,M名學生的數據已在主函數中放人結構體數組stu中。請編寫函數proc(),它的功能是:函數返回指定成績的學生數據,指定的成績在主函數中輸入。若沒找到指定的成績,在結構體變量中給學號置空串,給成績置-1,作為函數值返回。注意:部分源程序給出如下。請勿改動main()函數和其他函數中的任何內容,僅在函數proc()的花括號中填人所編寫的若干語句。試題程序:

參考答案

1.A文件指針實際上是指向一個結構體類型的指針。這個結構體中包含緩沖區(qū)的地址、在緩沖區(qū)中當前存取字符的位置、對文件是“讀”還是“寫”、是否出錯、是否已經遇到文件結束標識等信息。選項A正確,選項B、C錯誤;fscanf函數只能從文本文件中輸入數據到內存,選項D錯誤。故本題答案為A選項。

2.D

3.D

4.B

5.A解析:p[0]存放的是“BOOL\\0”的首地址:p[1]存放的是“OPK\\0”的首址等。在printf語句中輸出的*p[i]表示p[i]字符串的第—個字符。在for循環(huán)中,i的初值為3,那么輸出的第—個字符為“S”,接著兩次i--,則輸出的值為*p[1],即字符“O”,所以本題的輸出為SO。

6.D解析:所謂的交換類排序方法是指借助數據元素之間的互相交換進行排序的一種方法,包括冒泡排序和快速排序,冒泡排序是一種最簡單的交換排序方法,它通過相鄰元素的交換,逐步將線性表變成有序。

7.D在表達式a*b+d-c中,double的類型最高,C語言中,由低類型自動向高類型轉換,所以最后的結果一定是double型。

8.D

9.B解析:scanf函數中的“格式控制”后面應當是地址,而不是變量名。對于變量,通過地址運算符“&”求出內存中的地址;對于數組c[10],數組名c即為數組在內存中的地址。

10.B

11.C

12.C解析:選項A)、選項B)顯然不合題意。數據定義語言(DataDefinitionLanguage,簡稱DDL)負責數據的模式定義與數據的物理存取構建;數據操縱語言(DataManipulationLanguage,簡稱DML)負責數據的操縱,包括查詢及增、刪、改等操作。

13.C

14.D

15.D

16.D

17.D解析:本題考查帶參數的宏調用。a/=SQR(k+m)/SQR(k+m)進行宏替換后得:a=a/(SQR(k+m)/SQR(k+m))=a/(k+m*k+m/k+m*k+m)=10/(2+1*2+1/2+1*2+1)=10/(2+2+0+2+1)=10/7/1。

18.B本題考查分支語句用法加個句號因為變量的初始值分別為k一5、n一0,所以程序第1次進入循環(huán)時,執(zhí)行default語句,輸出0,k減1;這時n=0、k=4,程序進行第2次循環(huán),執(zhí)行case4:這個分支,結果是n=2、k=3,打印出2;這時n=2、k=3,break跳出,程序進行第3次循環(huán),執(zhí)行case3:這個分支,結果是n=3、k=2,打印出3;這時n一3、k2,b¨ak跳出,程序然后進行第4次循環(huán),執(zhí)行case2:case4:這個分支,結果是n=5、k=1,打印出5,break跳出,這時因為n=5不滿足n<5的循環(huán)條件,因此循環(huán)結束。

19.B選項A中*x等價于x[0],*x+1等價于x[0]+1,*(x[0]+1)等價于x[0][1],正確;選項B中,*(x+1)等價于x[1],*(*(x+1))等價于x[1][0],錯誤;選項C中,*x等價于x[0],(*x)[1]等價于x[0][1],正確;選項D中,&x[0][0]等價于x[0],&[0][0]+1等價于x[0]+1,*(x[0]+1)等價于x[0][1],正確。故本題答案為B選項。

20.A軟件具有以下特點。①軟件是一種邏輯實體,具有抽象性。②軟件沒有明顯的制作過程。③軟件在使用期間不存在磨損、老化問題。④對硬件和環(huán)境具有依賴性。⑤軟件復雜性高,成本高。⑥軟件開發(fā)涉及諸多的社會因素。本題答案為A選項。

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

22.voidfun(doubleb[][22])voidfun(doubleb[][22])解析:程序中為了表示函數調用“不帶回值”,可以用“void”定義函數為“無類型”(或稱“空類型”),這樣系統(tǒng)就保證不使函數帶回任何值。當二維數組作為形參時,二維數組的第一維可以省略。

23.1212解析:字符類型的數據在內存中以相應的ASCII碼存放,在C語言中,字符數據可以等價為與其相應的ASCII碼的整數,還可以作為整數參加運算。在本題中,n1=h1-0'=1-0=49-48=1,n2=n1*10+(ch2-'0')=1*10+(2-0)=10+2=12。

24.數據庫管理系統(tǒng)數據庫管理系統(tǒng)(DBMS)

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

26.邏輯關系邏輯關系

27.100100解析:本題考查帶參數的宏定義及相關運算。運算過程為:k=B*20=(A+3)*20=(2+3)*20=100。

28.操作系統(tǒng)操作系統(tǒng)解析:數據庫管理系統(tǒng)是幫助用戶創(chuàng)建和管理數據庫的應用程序的集合。因此,數據庫管理系統(tǒng)需要操作系統(tǒng)的支持,為用戶提供服務。

29.101,0解析:與運算兩邊的語句必須同時為真時,結果才為真,當執(zhí)行完if((++a<0)&&!(b--<=0))時,a,b的值已經發(fā)生了變化。

30.#include"math.h"m>>i&1m|k

31.p->dataqp->data,q解析:本題考查的是鏈表這一數據結構對結構體變量中數據的引用。鏈表的特點是結構體變量中有兩個域,一個是數據,另一個是指向該結構體變量類型的指針,用以指明鏈表的下一個結點。

32.序言性序言性解析:注釋一般分為序言性注釋和功能性注釋。

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

34.交換排序交換排序解析:所謂排序是指將一個無序序列整理成按值非遞減順序排列成的有序序列,常用的排序方法有:交換排序、插入排序和選擇排序。其中交換排序包括冒泡排序和快速排序,插入排序包括簡單插入排序和希爾排序,選擇排序包括直接選擇排序和堆排序。

35.1212解析:本題通過第—個for循環(huán)將數組arr[0]-arr[9]分別賦值為0-9,通過第二個for循環(huán)的三次循環(huán)累加,求出結果為12,

具體分析如下:

i+1:k=0+arr[1]+1即k=2;

i=2:k=2+arr[2]+2即k=6;

i=3:k=6+arr[3]+3即k=12;

36.投影投影解析:在關系模型的數據語言中,一般除了運用常規(guī)的集合運算,(并、交,差、笛卡爾積等)外,還定義了一些專門的關系運算,如投影、選擇、連接等。投影是從二維表的列方向上進行的運算。

37.11<CR>23<CR>5(<CR代表換行)11<CR>23<CR>5(<CR,代表換行)解析:本題通過語句“for(i=2;i<5;i++)a[i]=a[i-2]+a[i-];”將數組中前面兩項的和賦值給數組當前元素,得到a的值應為(1,1,2,3,5)。語句if(i%2==0)pfintf('\\n')是要將數組中的元素以每行2個的形式輸出。

38.3131解析:設隊列容量為m,如果:rear>front,則隊列中元素個數為rear-front;如果rear<front,則隊列中元素個數為m+(rear-front)。本題rear<front,則m=32+(2-3)=31。

39.cc解析:本題關鍵在考生是不是了解宏的基本運用,在使用宏的時候明顯少了—個實參。在定義宏的時候變量z是用來做中間變量的,題目中缺的變量就是一個中間變量c。

40.22132,2,1,3解析:本題考查++,--運算符和條件運算符的使用。

“表達式1?表達式2:表達式3”的功能是:表達式1的值若非0,則計算表達式2的值,且表達式2的值為最終結果;若表達式1的值為0,則計算表達式3的值,且為最終結果。

本題中,x=1,y=2時,x<y成立,輸出y的值2;y=2,z=3時,z<y不成立,執(zhí)行y++,輸出2后y值增1,所以最后一個輸出x的值不變?yōu)?,y的值為增加后的3。

41.C解析:面向對象的設計方法與傳統(tǒng)的面向過程的方法有本質不同。它的基本原理是,使用現實世界的概念抽象地思考問題從而自然地解決問題。它強調模擬現實世界中的概念而不強調算法,它鼓勵開發(fā)者在軟件開發(fā)的絕大部分中都用應用領域的概念去思考。

42.A解析:經過分析得知fun()函數的功能:將形參9指向形參b所指的存儲空間,然后使形參a指向變量的值加1。在主函數中定義了字符型指針變量p1和p2,并讓它們分另別指向c1和c2.然后將p1、p2作為實參傳遞給形參a、b.在fun()函數中,首先讓指針變量p1向p2,然后p1指向的存儲空間的值加1,即讓變量c2加1為“b”,而c1的值沒有被改變,仍然是“A”。所以,4個選項中選項A符合題意。

43.DD.【解析】需求分析常用的工具有數據流圖(DFD.、數據字典(DD.、判定樹和判定表。PAD(問題分析圖)、PFD(程序流程圖)、N—S(盒式圖)都是詳細設計的常用工具,不是需求分析的工具。

44.C解析:宏替換實質上就是字符替代,它不可能進行計算,故C錯誤。帶參數的宏與函數相比,宏在程序編譯之前已經將代碼替換到程序內,執(zhí)行時不會產生類似于函數調用的問題,可以說不占用運行時間。

45.B解析:棧是限定在二端進行插入與刪除的線性表。在棧中,允許插入與刪除的一端稱為棧頂,而不允許插入與刪除的另一端稱為棧底。棧頂元素總是最后被插入的元素,從而也是最先能被刪除的元素;棧底元素總是最先被插入的元素,從而也是最后才能被刪除的元素,即棧是按照“先進后出”或“后進先出”的原則組織數據的。注意:隊列組織數據的原則是“先進先出”或“后進后出”。注意:數據結構中,棧和隊列組織數據的原則。

46.D

47.A解析:本題若想使變量m的值為123、n為456、p為789,則應該輸入的字符串為:用這三個數據按m、n、p出現在scaaf()函數中的位置順序替換掉scant()函數格式控制串中的格式控制符后所得到的格式控制串,即'm=123n=456p=789'。所以,4個選項十選項A符合題意。

48.D解析:選項A的錯誤在于編譯過程中是險查語法的,若發(fā)現源程序有語法錯誤,則系統(tǒng)會提示出錯信息;選項B的錯誤在于C語言中,子程序的作用是由函數來完成的,無過程的概念;選項C的錯誤在于函數不可以嵌套定義,但可以嵌套調用。

49.B解析:C語言規(guī)定標識符只能由字母、數字和下劃線3種字符組成,且第一個字符必須為字母或下劃線,排除選項C)和D);C語言中還規(guī)定標識符不能為C語言的關鍵字,而選項A)中void為關鍵字,故排除選項A)。

50.C解析:getchar():此函數的作用是從終端(或系統(tǒng)隱含指定的輸入設備)輸入—個字符。

2.putchar():此函數的作用是向終端輸出—個字符,也可以輸出控制字符。

本題在輸入字符時,ab和c后面的回車符分別賦給了c[2]和c[4],所以,正確答案為C。

51.B解析:內模式(InternalSchemA)又稱物理模式(PhysicalSchemA),它給出了數據庫物理存儲結構與物理存取方法,如數據存儲的文件結構、索引、集簇及hash等存取方式與存取路徑。數據庫系統(tǒng)的數據具有高共享性和低冗余性,但不能完全避免數據冗余;數據的一致性是指在系統(tǒng)中同一數據的不同出現應保持相同的值。

52.A解析:本題考查了二維數組元素的引用方法。選項A中a+i指向了數組a的第i+1行,*(a+i)則是第i+1行第0列的地址值,*(a+i)+j指向了數組a第i+1行,j+1列,*(*(a+i)+j)取到的是數組a的a[i][j]元素。

53.A解析:本題考查'%'運算符的使用。運算符'%'要求兩個運算對象都為整型,其結果是整數除法的余數。本題中表達式ao%=(b%2)等價于a=a%o(b%2)=5%(7%2)=5%1=0。

54.A

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

56.B

57.A隊列是一種特殊的線性表,只允許在表的一端插八元素,在表的另一端刪除元素,插入元素的一端叫“隊尾”,刪除元素的一端叫“隊頭”。先插入的元素先被刪除,是按“先進先出”的原則組織數據的。

【知識拓展】“隊列”和“?!倍际且环N特殊的線性表。之所以稱之為“隊列”,其形式如“排隊”。要講究“先來后到”,先進先出,后進后出。

58.D

59.C解析:“\\b”格式符表示退格,功能是將它后面的字母把它前面的字母覆蓋,導致“\\b'’格式符前面的字母不能輸出;“\\'”格式符表示輸出單引號字符;“\\\\”格式符表示輸出反斜線字符。

60.B解析:在棧中,允許插入與刪除的一端稱為棧頂,不允許插入與刪除的另一端稱為棧底。棧頂元素總是最后被插入的元素,從而也是最先能被刪除的元素;棧底元素總是最先被插入的元素,從而也是最后才能被刪除的元素。即棧是按照先進后出(FILO,FirstInLastOut)或后進先出(LIFO,LastInFirstOut)的原則組織數據的,因此,棧也被稱為先進后出表或后進先出表。由此可以看出,棧具有記憶作用。答案B錯在帶鏈的棧的結點存儲順序與其邏輯順序是可以不一致的。

61.CN—s圖提出了用方框圖來代替?zhèn)鹘y(tǒng)的程序流程圖,所以A不對。PAD圖是問題分析圖,它是繼承程序流程圖和方框圖之后提出的又一種主要用于描述軟件詳細設計的

溫馨提示

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

評論

0/150

提交評論