2021-2022年甘肅省定西市全國計算機等級考試C語言程序設計重點匯總測試卷(含答案)_第1頁
2021-2022年甘肅省定西市全國計算機等級考試C語言程序設計重點匯總測試卷(含答案)_第2頁
2021-2022年甘肅省定西市全國計算機等級考試C語言程序設計重點匯總測試卷(含答案)_第3頁
2021-2022年甘肅省定西市全國計算機等級考試C語言程序設計重點匯總測試卷(含答案)_第4頁
2021-2022年甘肅省定西市全國計算機等級考試C語言程序設計重點匯總測試卷(含答案)_第5頁
已閱讀5頁,還剩32頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2021-2022年甘肅省定西市全國計算機等級考試C語言程序設計重點匯總測試卷(含答案)學校:________班級:________姓名:________考號:________

一、單選題(20題)1.

2.設有定義intn=0,*p=&n,**q=&p;,則下列選項中正確的賦值語句是

A.p=1;B.*q=2;C.q=p;D.*p=5;

3.在下列幾種排序方法中,要求內(nèi)存量最大的是______。

A.插入排序B.選擇排序C.快速排序D.歸并排序

4.

5.下面不合法的常量數(shù)據(jù)是()。

A..023E-5B.0x3f7b8a90C.‘\0x6d’D.‘\0123321’

6.若執(zhí)行下列的程序時,從鍵盤上輸入1和2,則輸出結(jié)果是()。

#include<stdio.h>

main()

{inta,b,s;

scanf("%d%d",&a,&B);

S=a;

if(a<B)s=b;

s=s*s;

printtf("%d\n",s);

}

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

7.以下敘述中正確的是_____。A.用C程序?qū)崿F(xiàn)的算法必須要有輸入和輸出操作

B.用C程序?qū)崿F(xiàn)的算法可以沒有輸出但必須要輸入

C.用C程序?qū)崿F(xiàn)的算法可以沒有輸入但必須要有輸出

D.用C程序?qū)崿F(xiàn)的算法可以既沒有輸入也沒有輸出

8.

9.

10.有以下程序:#include<stdio.h>main(){intx=0x9;printf(“%c\n”,‘A’+x);}程序運行后的輸出結(jié)果是()。

A.IB.JC.KD.H

11.有以下程序段intj;floaty;charname[50]:scanf("%2d%f%s",&i,&.y,name):當執(zhí)行上述程序段,從鍵盤上輸入555667777abc后,y的值為()。A.55566.0B.566.0C.7777.0D.566777.0

12.若有定義;intw[3][5];,則以下不能正確表示該數(shù)組元素的表達式是()。A.*(*w+3)B.*(w+1)[4]C.*(*(w+1))D.*(&w[0][0]+1)

13.設有定義“inta=1,b=2,c=3;”,以下語句中執(zhí)行效果與其他3個不同的是()。A.if(a>b)c=a,a=b,b=c;

B.if(a>b){c=a,a=b,b=c;}

C.if(a>b)c=a;a=b;b=c;

D.if(a>b){c=a;a=b;;b=c;}

14.可用作C語言用戶標識符的一組標識符是()。A.voiddefine+WORDB.a3_b3_123YNC.for-abcCaseD.2aDOsizeof

15.

16.若已定義inta[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;其中0≤i≤9,則對a數(shù)組元素不正確的引用是

A.a[p-A)B.*(&a[i])C.p[i]D.a[10]

17.設"char**s;",以下正確的表達式是()。

A.s="computer";B.*s="computer";C.**s="computer";D.*s='c';

18.棧的特點是B,隊列的特點是()。

A.先進先出B.先進后出

19.算法分析的兩個主要方面是()。

A.空間復雜度和時間復雜度B.正確性和簡明性C.可讀性和文檔性D.數(shù)據(jù)復雜性和程序復雜性

20.若有以下的定義:‘intt[3][2];”,能正確表示t數(shù)組元素地址的表達式是()。

A.&t[3][2]B.t[3]C.t[l]D.t[2][2]

二、2.填空題(20題)21.若有定義inta=10,b=9,c=8;,接著順序執(zhí)行下列語句,變量b中的值是【】。

c=(a-=(b-5));

c=(a%11)+(b=3);

22.【】是數(shù)據(jù)庫設計的核心。

23.執(zhí)行以下程序時,若輸入end<回車>,則輸出結(jié)果是【】。

main()

{charch[10]="Begin";

gets(&ch[1]);puts(ch);

}

24.對于長度為n的順序存儲的線性表,當隨機插入和刪除一個元素時,需平均移動元素的個數(shù)為【】。

25.寫出下列程序的輸出結(jié)果______。

main()

{intn=0;

while(n++<=1);

printf("%d,",n);

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

}

26.函數(shù)pi的功能是根據(jù)以下公式近似求得的:

pi*pi/6=1+1/(2*2)+1/(3.3)+...+1/(n*n)

請在下面的函數(shù)中天空,完成求pi的功能。

#include<math.h>

doublepi(longn)

{doubles=0.0,longi;

for(i=1;i<<=n;i++)s=s+【】;

return(sqrt(6*s));

}

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

#include<stdio.h>

longfunc(intx)

{longp;

if(x==0‖x==1)

return(1);

p=x*func(x-1);

return(p);

}

main()

{printf("%d\n",func(4));

}

28.以下程序的輸出結(jié)果是【】。

voidfun()

{staticinta;

a+=2;

printf("%d",A);

}

main()

{intcc;

for(cc=1;cc<=4;cc++)fun();

printf("\n");

}

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

30.若運行時給變量x輸入12,則以下程序的運行結(jié)果是【】;

main(){

intx,y;

scanf(""%d"",&x);

y=x>12?x+10:x-12;

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

}

31.要求使下列程序輸出5個整數(shù),請?zhí)羁铡?/p>

for(i=0;i<=______;printf("%d\n",i+=2));

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

intk=2;

while(k=0)

printf["%d",k);

k--;

printf("\n");

33.在長度為n的線性表中查找一個表中不存在的元素,需要的比較次數(shù)為【】。

34.常用的黑箱測試有等價分類法、【】、因果圖法和錯誤推測法4種。

35.函數(shù)pi的功能是根據(jù)以下近似公式求π值:

(π*π)/6=1+1/(2*2)+1/(3*3)+...+1(n*n)

現(xiàn)在請你在下面的函數(shù)中填空,完成求π的功能。

#include"math.h"

{doubles=0.0;longi;

for(i=1;i<=n;i++)s=s+【】;

return(sqrt(6*S));

}

36.有以下程序#include<stdio.h>typedefstruct{intnum;doubles;}REC;voidfunl(REC*x){x->num=23;x->s=88.5;}voidmain(){RECa={16,90.0};fun1(&A);printf("%d\n",a.num);}程序運行后的輸出結(jié)果是()。

37.下列程序段的輸出結(jié)果是【】。

main()

{charb[]="Hello,you";

b[5]=0;

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

}

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

39.若a=10,b=20,則表達式!(a<b)的值是【】。

40.下列程序的輸出結(jié)果是______。

#include<stdio.h>

main()

{intx=10,y=10,i;

for(i=0;x>8;y=++i)

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

}

三、1.選擇題(20題)41.下列程序的輸出結(jié)果是______。main(){inti=3;switch(i){case1:case2:printf("%d",i);case3:case4:break;default:printh("OK";}}

A.0B.3C.OKD.沒有任何輸出

42.現(xiàn)有格式化輸入語句,

A.intB.floatC.doubleD.不確定

43.設有如下關系表,由關系R和S通過運算得到關系T,則所使用的運算為()。

A.T=R∩SB.T=R∪SC.T=R×SD.T=R/S

44.最簡單的交換排序方法是()。A.快速排序B.選擇排序C.堆排序D.冒泡排序

45.下面宏定義正確的是()

A.#defineSa*b

B.#definePI3.14;

C.#definemax(a,b)((a)>(b)?(a);(b))

D.#defines(x)(x)*(x);

46.下面敘述正確的是______。A.算法的執(zhí)行效率與數(shù)據(jù)的存儲結(jié)構(gòu)無關

B.算法的空間復雜度是指算法程序中指令(或語句)的條數(shù)

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

D.以上三種描述都不對

47.設a和b均為double型變量,且a=5.5,b=2.5,則表達式(int)a+b/b的值是A.6.5B.6C.5.5D.6

48.請選出可以作為C語言用戶標識符的一組標識符號

A.voiddefineWORD

B.a3_b3_1231F

C.for—abccase

D.2aD0sizeof

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

A.調(diào)用printf函數(shù)時,必須要有輸出項

B.使用putchar函數(shù)時,必須在之前包含頭文件stdio.h

C.在C語言中,整數(shù)可以以十二進制、八進制或十六進制的形式輸出

D.調(diào)用getchar函數(shù)讀入字符時,可以從鍵盤上輸入字符所對應的ASCⅡ碼

50.執(zhí)行下面程序中的輸出語句后,a的值是()。#include<stdio.h>main(){inta;printf("%d\n",(a=3*5,a*4));

A.15B.20C.10D.60

51.若變量已正確定義,以下while循環(huán)不斷輸出讀入的字符,當讀入回車換行符時結(jié)束循環(huán)。正確的程序段是

A.while(ch=getchar()=='\N')putchar(ch);

B.while(ch=getchar())=='\N')putchar(ch);

C.whle((ch=getchar())!='\N')putchaf(ch);

D.while((ch=getchar())!='\N')putchar(ch);

52.已知函數(shù)的調(diào)用形式為fread(buf,size,count,fp),參數(shù)buf的含義是

A.一個整型變量,代表要讀入的數(shù)據(jù)項總數(shù)

B.一個文件指針,指向要讀的文件

C.一個指針;指向要讀入數(shù)據(jù)的存放地址

D.一個存儲區(qū),存放要讀的數(shù)據(jù)項

53.數(shù)據(jù)管理技術發(fā)展的三個階段中,()沒有專門的軟件對數(shù)據(jù)進行管理。Ⅰ.人工管理階段Ⅱ.文件系統(tǒng)階段Ⅲ.數(shù)據(jù)庫階段()

A.僅ⅠB.僅ⅢC.Ⅰ和ⅡD.Ⅱ和Ⅲ

54.

若有下列定義和語句:

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

55.下面不屬于軟件設計原則的是()。

A.抽象B.模塊化C.自底向上D.信息隱蔽

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

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

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

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

D.struct{intn;floatm,}tdl;

57.在關系數(shù)據(jù)庫中,用來表示實體之間聯(lián)系的是

A.樹結(jié)構(gòu)B.網(wǎng)結(jié)構(gòu)C.線性表D.二維表

58.按照“先進先出”組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是()。

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

59.以下能正確定義且賦初值的語句是______。A.intn1=n2=10;

B.charc=32;

C.floatf=f+1.1;

D.doublex=12.3E2.5;

60.有以下函數(shù)定義:voidfun(intn,doublex){......}若以下選項中的變量都已正確定義并賦值,則對函數(shù)fun正確調(diào)用語句是______。

A.fun(inty,doublem);

B.k=fun(10,12.5);

C.fun(x,n);

D.voidfun(n,x);

四、選擇題(20題)61.有以下程序:

程序運行后的輸出結(jié)果是()。A.235B.0235C.02356D.2356

62.

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

A.break語句只能用于switch語句體中

B.continue語句的作用是使程序的執(zhí)行流程跳出包含它的所有循環(huán)

C.break語句只能用在循環(huán)體內(nèi)和switch語句體內(nèi)

D.在循環(huán)體內(nèi)使用break語句和continue語句的作用相同

64.

65.有以下程序

66.請閱讀以下程序:

上面程序的輸出結(jié)果是()。

A.a=2,b=1B.a=1,b=1C.a=1,b=0D.a=2,b=2

67.下列選項中,不屬于模塊間耦合的是()。A.數(shù)據(jù)耦合B.標記耦合C.異構(gòu)耦合D.公共耦合

68.有以下程序

main()

{inti=10,j=1;

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

}

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

A.9,2B.10,2

C.9,1D.10,1

69.有下列程序:intfunl(doublea){returna*=a;}intfun2(doublex,doubley){doublea=0,b=0;a=funl(x);b=funl(y);return(int)(a+h);}main{doublew;w=fun2(1.1,2.0),……}程序執(zhí)行后變量w中的值是()。A.5.21B.5C.5.0D.0.0

70.下列數(shù)據(jù)模型中,具有堅實理論基礎的是()。A.層次模型B.網(wǎng)狀模型C.關系模型D.以上三個都是

71.

72.

73.

74.有下列程序:fun(intx,inty){staticintm=0,i=2;i+=m+1;m=i+x+y;returnm;}main(){intj=1,m=1,k;k=fun(j,m);printS(”%d,”,k);k=fun(j,m);printf(”%d\n”,k);)執(zhí)行后的輸出結(jié)果是()。A.5,5B.5,11C.11,11D.11,5

75.

76.數(shù)據(jù)流圖中方框表示的是()。

A.數(shù)據(jù)流B.存儲文件C.控制流D.源,潭

77.

78.若執(zhí)行下面的程序時,從鍵盤輸入6和2,則輸出結(jié)果是()。

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

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

80.有以下函數(shù)intfun(char*X,char*y){intn=0;while((*x===*y)*x!=\O){x++;y++;n++;}returnn;}函數(shù)的功能是()。A.查找X和y所指字符串中是否有\(zhòng)o

B.統(tǒng)計x和Y所指字符串中最前面連續(xù)相同的字符個數(shù)

C.將Y所指字符串賦給X所指定存儲空間

D.統(tǒng)計X和Y所指字符串中相同的字符個數(shù)

五、程序改錯題(1題)81.下列給定程序中,函數(shù)proc()的功能是:從3個紅球,5個白球,6個黑球中任意取出8個作為一組,進行輸出。在每組中,可以沒有黑球,但必須要有紅球和白球。組合數(shù)作為函數(shù)值返回。正確的組合數(shù)應該是l5。程序中i的值代表紅球數(shù),j的值代表白球數(shù),k的值代表黑球數(shù)。

請修改程序中的錯誤,使它能得出正確的結(jié)果。

注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。

試題程序:

六、程序設計題(1題)82.編寫函數(shù)fun(),其功能是:求SS所指字符串中指定字符的個數(shù),并返回此值。例如,若輸入字符串“123412132”,輸入字符為“1”,則輸出3。注意:部分源程序給出如下。請勿改動main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號中填入編寫的若干語句。試題程序:

參考答案

1.A

2.D解析:選項A),B),C)的指針賦值表達方式都不正確,*p=5表達整數(shù)5放到指針p所指向的存儲單元中。注意:通過指針引用一個存儲單。

3.D解析:快速排序的基本思想是,通過一趟排序?qū)⑴判蛴涗浄指畛瑟毩⒌膬刹?/p>

分,其中一部分記錄的關鍵字均比另一部分記錄的關鍵字小,再分別對這兩部分記錄繼

續(xù)進行排序,以達到整個序列有序;插入排序的基本操作是指將無序序列中的各元素依

次插入到已經(jīng)有序的線性表中,從而得到一個新的序列;選擇排序的基本思想是:掃描整

個線性表,從中選出最小的元素,將它交換到表的最前面(這是它應有的位置),然后對剩

下的于表采用同樣的方法,直到表空為止;歸并:排序是將兩個或兩個以上的有序表組合

成一個新的有序表。

注意:各種排序方法實現(xiàn)過程及實現(xiàn)機制。

4.A

5.D選項A是實型常量的指數(shù)形式,表示0.023×10-5;選項B是十六進制表示的整型常量;選項C是十六進制表示的轉(zhuǎn)義字符常量;選項D是字符串常量,應該使用雙引號標注。故本題答案為D選項。

6.B解析:本題考查if語句。scanf函數(shù)通過鍵盤讀入a、b的值,a=1,b=2。第一個if語句,先判斷條件,發(fā)現(xiàn)a<b條件成立,則s=b=2,s=s*s=4。

7.C解析:算法的特性中包括“有零個或多個輸入”及“有一個或多個輸出”這兩個特性。一個算法得到的結(jié)果就是算法的輸出,沒有輸出的算法是沒有意義的,所以一千算法必須至少有一個輸出。

8.A

9.A

10.B“printf(“%C\\n”,‘A’+X),x=0X9;”中0x9是十六進制數(shù),轉(zhuǎn)為十進制數(shù)x=9?!皃rintf(“%C\\n”,‘A’+9);”,輸出格式要求是“%c”,因此將字符‘A’按字母順序向后偏移9個位置,可得結(jié)果為“J”。故本題答案為B選項。

11.B變量J只接收輸入數(shù)據(jù)的前兩位,從第三位開始直到空格之間的輸入整數(shù)都會被保存到浮點型變量Y中。

12.B通過—維數(shù)組名或指向維數(shù)組元素的指針來引用數(shù)組元素有兩種寫法:a[i]和*(a+i),它們是等價的。這是一種運算符之間的等價轉(zhuǎn)換,就好像a-(b-C)等價于a-b+c一樣。知道了這種轉(zhuǎn)換,我們可以將之擴展到二維數(shù)組甚至任意維數(shù)組上來。因為[]運算符的結(jié)合性是從左至右的,所以w[i][j]等價于(w[i][j],此時可以先將任意一個[]運算符轉(zhuǎn)換為指針形式為:(*(w+i)[j]或*(w[i]+j),或者同時轉(zhuǎn)換:*(*(w+i)+j)。上述幾種形式都完全等價于w[i][j]。選項A中,*(*w+3)可以看成*(*(w+0)+3),即w[0][3],是正確的。選項B小,因為[]運算符的優(yōu)先級高于*運算符,所以*(w+1)[4]等價于*((w+1)[4]等價于*(*((w+1)+4)),即*(*(w+5)+0),它等價于w[5][0],很明顯它超過數(shù)組的范圍了,故不正確。選項C等價于w[1][0],是下確的。選項D中,&w[0][0]是數(shù)組w第1個元素的地址,它等價于&*(*(w+0)+0),外面的&和*可以抵消,就好像先乘以個數(shù),然后再除以這個數(shù)一樣。所以,&w[0][0]等價于*(w+0)+0。即*w。所以原式就變?yōu)?(*w+1)等價于w[0][1],這個也是合法的。綜上所述,本題應該選擇B。

13.C因為變量“a=1,b=2”,所以表達式“a>b”不成立。選項A、B和D相當于一條語句,選項A是逗號表達式,選項B和選項D是復合語句,所以都沒有執(zhí)行。選項C中,語句“c=a;”不執(zhí)行,語句“a=b;b=c;”執(zhí)行。故本題答案為C選項。

14.B

15.B

16.D解析:通常,引用一個數(shù)組元素可以用下標法,如a[P-a]形式,或指針法,如*(&a[i])的形式。本題中a[9]=9,a[10]顯然超出了數(shù)組范圍,注意,數(shù)組的下標是從0開始的。

17.B

18.A

19.A

20.C數(shù)組的下標是從0開始的,A中越界,行下標和列下標都不能越界;B中,雖然是個地址,但是也同樣越界了;選項C中表示的是第一個的首地址;選項D表示的為其元素的值,并不是地址。

21.33解析:這里:b-5=4,a-=4之后a的值為6,并把它賦給c。此時b的值并未被改變。在第2個表達式中,也只有賦值表達式b=3改變了b的值。所以兩行語句執(zhí)行完畢,b的值應該為3。

22.數(shù)據(jù)模型數(shù)據(jù)模型

23.Bend

24.n/2n/2解析:刪除一個元素,平均移動的元素個數(shù)為(n-1+n-2+…+0)/n=(n-1)/2;插入一個元素,平均移動元素個數(shù)為(n+n-1+n-2+…+1)/n=(n+1)/2;所以總體平均移動元素個數(shù)為n/2。

25.333,3解析:本題在while(n++<=1)語句后,直接加了分號,說明如果while()的條件為真時,該循環(huán)什么都不做:n++是先取n的當前值和1做比較,然后再將n加1。第一次循環(huán),n=0時,循環(huán)條件n++=<1成立,執(zhí)行循環(huán),然后得到n=1。第二次循環(huán),n=1時,循環(huán)條件n++=1<=1成立,執(zhí)行循環(huán),然后得到n=2。第三次循環(huán),n=2時,循環(huán)條件n++=2<=1不成立,不執(zhí)行循環(huán),但在判斷循環(huán)條件時仍將n加1,得到n=3.退出循環(huán)后執(zhí)行printf語句,第二個printf語句輸出n++,是先輸出n的當前值3,然后再將n加l,即程序結(jié)束后得到n=4,但輸出的是3。

26.1.0/i/i或1.0/(i*i)1.0/i/i或1.0/(i*i)解析:由題面中提供的計算pi的公式可知:在第i項其值為1/(i*i),考慮到運算結(jié)果為浮點數(shù),故必須要將1轉(zhuǎn)化為浮點數(shù)或采用1.0/(i*i)的形式。故本題應填1.0/(i*i)或其等效形式。

27.2424解析:本題考查函數(shù)的循環(huán)調(diào)用。p=x*func(x-1),當x=4時,不滿足if語句的條件,p=4*func(3),x=3也不滿足條件,則func(3)=3*func(2),func(2)=2*func(1),x=1滿足條件return(1),則輸出結(jié)果為4*3*2*1-24。

28.2468

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

30.00解析:三目運算符的形式為(表達式1)?(表達式2):(表達式3)。當(表達式1)值為真時,返回(表達式2)的值;為假時,返回(表達式3)的值。題中因為x>12為假,所以結(jié)果為x-12,即為0。

31.88解析:本題考查基本的for循環(huán)條件,i+=2表示i每次遞增2,從0開始,輸出5個整數(shù)則需要的條件是i<=8。

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

33.nn解析:在長度為n的線性表中查找一個表中不存在的元素,需要的比較次數(shù)為n。

34.邊值分析法邊值分析法解析:本題考查了黑箱測試的方法。黑箱測試方法完全不考慮程序的內(nèi)部結(jié)構(gòu)和內(nèi)部特征,而只是根據(jù)程序功能導出測試用例。常用的黑箱測試有等價分類法、邊值分析法、因果圖法和錯誤推測法。

35.0/(i*i)或(double)1/(i*i)0/(i*i)或(double)1/(i*i)解析:表達式1+1/(2*2)+1/(3*3)+...+1(n*n)可寫為1/(1*1)+1/(2*2)+1/(3*3)+...+1(n*n)

n

即:∑1÷(i×i)

i=1

對應的C語言的表達式s=s+1.0/(i*i)。注:必須要寫成1.0的形式,否則1/(i,i)返回值為其值截尾取整,即恒為0。

36.23

37.HelloHello解析:字符串中,數(shù)值0或符號'/0'表示字符串的結(jié)束。本題中,b[5]被賦了0值,表明字符串b的第六個字符就是結(jié)束標志。因此,只輸出前五個字符,即Hello。

38.rewind()或fseek()rewind()或fseek()

39.00解析:已知a=10,b=20,所以邏輯表達式a<b的值為true,即為1,在這個表達式前面有一個邏輯運算符!,表示反操作,所以整個語句的值應當為false,即為0。

40.101091101091解析:for(表達式1;表達式2:表達式3)語句的功能是:首先計算表達式1的值,然后檢測表達式2的值,若其值為真,則執(zhí)行循環(huán)體語句,執(zhí)行完畢后,再計算表達式3的值。然后再檢測表達式2的值是否為真,若為真,繼續(xù)執(zhí)行循環(huán)體語句,若為假,則退出循環(huán):第1次循環(huán)x>8成立,輸出x=10,y=10后,x的值減1,i=1,執(zhí)行y=++i操作,y的值變?yōu)?;判斷條件還成立,輸出x=9,y=1,然后x的值減1,循環(huán)條件不成立,則退出循環(huán)。

41.D解析:在題中,i的值為3,由于“case3:”后面沒有break語句,所以繼續(xù)向下執(zhí)行“case4:”后面的語句,由于“case4:”后面的語句為break強行退出switch語句,所以,本題沒有任何輸出。

42.C解析:根據(jù)混合運算規(guī)則,如果有一個數(shù)據(jù)是float型或double型,則其他數(shù)據(jù)類型先轉(zhuǎn)化為double型,運算的結(jié)果最終也是double型。

43.BB)【解析】T就是關系R中插入關系S,合并為T,即并運算(∪)。

44.D冒泡排序(BubbleSort)的基本概念是:依次比較相鄰的兩個數(shù),將小數(shù)放在前面,大數(shù)放在后面。即在第一趟:首先比較第1個和第2個數(shù),將小數(shù)放前,大數(shù)放后。然后比較第2個數(shù)和第3個數(shù),將小數(shù)放前,大數(shù)放后,如此繼續(xù),直至比較最后兩個數(shù),將小數(shù)放前,大數(shù)放后。至此第一趟結(jié)束,將最大的數(shù)放到了最后。在第二趟:仍從第一對數(shù)開始比較(因為可能由于第2個數(shù)和第3個數(shù)的交換,使得第1個數(shù)不再小于第2個數(shù)),將小數(shù)放前,大數(shù)放后,一直比較到倒數(shù)第二個數(shù)(倒數(shù)第一的位置上已經(jīng)是最大的),第二趟結(jié)束,在倒數(shù)第二的位置上得到一個新的最大數(shù)(其實在整個數(shù)列中是第二大的數(shù))。如此下去,重復以上過程,直至最終完成排序。

45.C

46.C解析:算法的執(zhí)行效率與數(shù)據(jù)的邏輯結(jié)構(gòu)和存儲結(jié)構(gòu)都有很緊密的關系。算法的空間復雜度是指執(zhí)行該算法需要的內(nèi)存空間,并非算法程序中指令的條數(shù)。算法一般應該具有以下4個特征:可行性、確定性、有窮性和擁有足夠情報。其中,有窮性是指算法必須能在執(zhí)行有限個步驟之后終止,否則可能失去實際意義。

47.D解析:本題考查的知識點是運算符的優(yōu)先級。在這個表達式中,優(yōu)先級最高的是(int)a,也就是對5.5取整,結(jié)果是5,其次是b/b,即2.5/2.5,結(jié)果是1.000000,最后相加結(jié)果為6.000000(表達式的最終結(jié)果為實型),所以4個選項中D正確。

48.B解析:本題考核的知識點是用戶標識符的定義。在C語言中,合法的標識符可以由字母、數(shù)字和下劃線組成,其中關鍵字不能作為用戶的標識符,且開頭的第一個字符必須為字母或下劃線。選項A中void為關鍵字,故選項A不正確:選項C中for和case為關鍵字,故選項C不正確:選項D中sizeof為關鍵字,故選項D不正確。所以,4個選項中選項B符合題意。

49.B

50.A解析:本題考查對逗號運算符的理解。逗號運算符的求解過程是從左至右,依次求解各個表達式的值,所以在該題中,先使a的值等于15,再計算a*4,此時整個表達式的值為60,但a的值并未改變,仍為15。

51.D解析:換行符是一個轉(zhuǎn)義字符,應該是‘\\n’,而不是‘\\N’。選項B)中,因為關系運算符“==”的優(yōu)先級高于賦值運算符“=”,所以ch得到的值是關系運算getchar()=='\\n'的結(jié)果而不是從鍵盤輸入的字符,因而不正確,故正確答案為選項D)。

52.C解析:這是一道考查fread函數(shù)的題。buf是一個指針,fread是讀入數(shù)據(jù)的存放地址;fwrite是輸出數(shù)據(jù)的地址(以上指的是起始地址)。

53.A解析:數(shù)據(jù)管理技術發(fā)展的三個階段中,只有人工管理階段,沒有操作系統(tǒng),沒有管理數(shù)據(jù)的軟件,數(shù)據(jù)處理方式是批處理。在文件系統(tǒng)階段,操作系統(tǒng)中已經(jīng)有了專門數(shù)據(jù)管理軟件,一般稱為文件系統(tǒng)。在數(shù)據(jù)庫系統(tǒng)階段,出現(xiàn)了統(tǒng)一管理數(shù)據(jù)的專門軟件系統(tǒng),即數(shù)據(jù)庫管理系統(tǒng)。

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

55.C解析:軟件設計遵循軟件工程的基本目標和原則,建立了適用于在軟件設計中應該遵循的基本原理和與軟件設計有關的概念。①抽象是一種思維工具,就是把事物本質(zhì)的共同特性抽出來而不考慮其他細節(jié)。②模塊是指可以單獨命名且可編址的元素。如高級語言中的過程、函數(shù)、子程序等。③信息隱蔽是指在一個模塊內(nèi)包含的信息(過程或數(shù)據(jù)),對于不需要這些信息的其他模塊來說是不能訪問的。④模塊獨立性是指每個模塊只完成系統(tǒng)要求的獨立的子功能,并且與其他模塊的聯(lián)系最少且接口簡單。因此,本題的正確答案是C。

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

①定義結(jié)構(gòu)體類型的同時,定義結(jié)構(gòu)體類型的變量,如下面的定義中在定義結(jié)構(gòu)體類型aa的同時定義了該類型的變量tdl。上述B)項中將宏名AA用宏體structaa替換進去后,與該定義形式一樣,因此是正確的。這一定義形式中,結(jié)構(gòu)體類型名明是可以省略的,因此,D)項也是正確的。

structaa

{...

}tdl;

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

structaa

{

};

structaatdl;

這種定義形式也可演變?yōu)?,先用類型定義語句typedef將該結(jié)構(gòu)體類型定義成一個類型名AA,然后直接用該類型名AA去定義一個變量(這時不再需要使用關鍵字struct了)。這就是A)項的形式。

57.D解析:在關系模型中,把數(shù)據(jù)看成一個二維表,每一個二維表稱為一個關系。即關系模型是用表格數(shù)據(jù)來表示實體本身及其相互之間的聯(lián)系。本題的正確答案是D。

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

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

59.B解析:本題考查的知識點是變量賦初值.選項A中的語句只能起定義n1的作用,而n2=10是n1的初始值表達式,但因前面沒有定義過n2,所以編譯會報錯“n2未定義”,故不正確。選項B使用一個整數(shù)初始化一個字符變量是正確的,因為字符變量中保存的本來就是整數(shù)(某字符的ASCII碼值)。選項C定義的初始值表達式中出現(xiàn)了它自身,某些編譯器能通過編譯,但f在初始化之前是一個未知的值,用未知值來初始化也還是未知值,這是不可取的。選項D的初始值是一個非法常量,因為實型常量指數(shù)形式的指數(shù)部分必須為整數(shù),這里的2.5非法。

60.C解析:函數(shù)調(diào)用的一般形式為:函數(shù)名(實參表列);,實參與形參的個數(shù)應相等,類型應一致,在調(diào)用函數(shù)時,不要指定其返回類型,對于返回類型為void的函數(shù),不能作為賦值表達式的組成部分,所以選C。

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

62.B

63.C解析:只能在循環(huán)體內(nèi)和switch語句體內(nèi)使用break語句。當break出現(xiàn)在循環(huán)體的switch語句體內(nèi)時,其作用只是跳出該switch語句體,并不能中止循環(huán)體的執(zhí)行。若想強行中止循環(huán)體的執(zhí)行,可以在循環(huán)體中,但并不在switch語句中設置break語句,滿足某種條件,則跳出本層循環(huán)體。

64.A

65.A本題考查了數(shù)組名的概念。在C語言中,數(shù)組名類似于一個指向數(shù)組首地址的指針常量,一旦定義就不能修改其內(nèi)容。所以本題中的s+=2;語句讓數(shù)組名s的內(nèi)容加2是錯誤的,編譯無法通過。故應該選擇A)

溫馨提示

  • 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

提交評論