2024年計(jì)算機(jī)二級(jí)C語(yǔ)言真題_第1頁(yè)
2024年計(jì)算機(jī)二級(jí)C語(yǔ)言真題_第2頁(yè)
2024年計(jì)算機(jī)二級(jí)C語(yǔ)言真題_第3頁(yè)
2024年計(jì)算機(jī)二級(jí)C語(yǔ)言真題_第4頁(yè)
2024年計(jì)算機(jī)二級(jí)C語(yǔ)言真題_第5頁(yè)
已閱讀5頁(yè),還剩82頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

2024年3月全國(guó)打算機(jī)等伍培弒二怒C語(yǔ)言再題

一、選擇題

1、下列敘述中正確的是:

1A、循環(huán)隊(duì)列是隊(duì)列的一種依次存儲(chǔ)結(jié)構(gòu)B、循環(huán)隊(duì)列是隊(duì)列的一種鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)

C、循環(huán)隊(duì)列是非線(xiàn)性結(jié)構(gòu)D、循環(huán)隊(duì)列是始終邏輯結(jié)構(gòu)

(1)【答案】A

【解析】為了充分利用存儲(chǔ)空間,可以把依次隊(duì)列看成一個(gè)環(huán)狀空間,即把依次隊(duì)列的

頭尾指針相連,這樣的隊(duì)列稱(chēng)之為循環(huán)隊(duì)列。它是對(duì)依次隊(duì)列的改進(jìn),故循環(huán)隊(duì)列是隊(duì)列的

一種依次存儲(chǔ)結(jié)構(gòu)

2、下列敘述中正確的是

A、棧是一種先進(jìn)先出的線(xiàn)性表B、隊(duì)列是一種后進(jìn)先出的線(xiàn)性表

C、棧和隊(duì)列都是非線(xiàn)性結(jié)構(gòu)ID、以上三種說(shuō)法都不對(duì)

(2)LD]

【解析】棧是一種后進(jìn)先出的線(xiàn)性表,隊(duì)列是一種先進(jìn)先出的線(xiàn)性表,二者均是線(xiàn)性結(jié)

構(gòu),故選項(xiàng)A)、B)、C)均不對(duì),答案為選項(xiàng)D)。

3、一棵二叉樹(shù)共有25個(gè)節(jié)點(diǎn),其中5個(gè)時(shí)子節(jié)點(diǎn),那么度為1的節(jié)點(diǎn)數(shù)為

As4B、6C、10ID、16

(3)[D]

【解析】由二叉樹(shù)的性質(zhì)n0=n2+l可知,度為0的結(jié)點(diǎn)數(shù)(即葉子結(jié)點(diǎn)數(shù))二度為2

的結(jié)點(diǎn)數(shù)+1,依據(jù)題意得知,度為2的結(jié)點(diǎn)數(shù)為4個(gè),那么25-5-4=16即為度為1的結(jié)

點(diǎn)數(shù),選項(xiàng)D)正確

4、在下列模式中,能夠給出數(shù)據(jù)庫(kù)物理存儲(chǔ)結(jié)構(gòu)與物理存取方法的是

1A、內(nèi)模式B、外模式C、概念模式D、邏輯模式

(4)、【答案】A

【解析】?jī)?nèi)模式也稱(chēng)存儲(chǔ)模式,它是數(shù)據(jù)物理結(jié)構(gòu)和存儲(chǔ)方式的描述,是數(shù)據(jù)在數(shù)據(jù)庫(kù)

內(nèi)部的表示方式,對(duì)應(yīng)于物理級(jí),它是數(shù)據(jù)庫(kù)中全體數(shù)據(jù)的內(nèi)部表示或底層描述,是數(shù)據(jù)庫(kù)

最低一級(jí)的邏輯描述。所以選項(xiàng)A)正確。

5、在滿(mǎn)意實(shí)體完整性約束的條件下

A、一個(gè)關(guān)系中可以沒(méi)有候選關(guān)鍵詞

B、一個(gè)關(guān)系中只能有一個(gè)候選關(guān)鍵詞

C、一個(gè)關(guān)系中必需有多個(gè)候選關(guān)鍵詞

D、一個(gè)關(guān)系中應(yīng)當(dāng)有一個(gè)或者多個(gè)候選關(guān)鍵詞1

(5)【答案】D

【解析】在關(guān)系R中如記錄完全函數(shù)依靠于屬性(組)X,則稱(chēng)X為關(guān)系R中的一個(gè)候

選關(guān)鍵字。在一個(gè)關(guān)系中,候選關(guān)鍵字可以有多個(gè)且在任何關(guān)系中至少有一個(gè)關(guān)鍵字。所以

在滿(mǎn)意數(shù)據(jù)完整性約束的條件下,一個(gè)關(guān)系應(yīng)當(dāng)有一個(gè)或多個(gè)候選關(guān)鍵字,所以選項(xiàng)D)正

確。

6、有三個(gè)關(guān)系R、S和T如下:

ABCS

a12ABC

b21

c31

則由關(guān)系R和S得到關(guān)系T的操作是屬于R但不屬于S為差

A、自然連接B、并1C、差D、交

(6)【答案】C

【解析】R和S的差是由屬于R但不屬于S的元組組成的集合,運(yùn)算符為記為

T=R-S。依據(jù)本題關(guān)系R和關(guān)系S運(yùn)算前后的變更,瓦以看出此處進(jìn)行的是關(guān)系運(yùn)算的差

運(yùn)算

7、軟件生命周期中的活動(dòng)不包括

A、軟件維護(hù)1B、市場(chǎng)調(diào)研C、軟件測(cè)試D、需求分析

(7)【答案】B

【解析】通常把軟件產(chǎn)品從提出、實(shí)現(xiàn)、運(yùn)用、維護(hù)到停止運(yùn)用(退役)的過(guò)程稱(chēng)為軟件

生命周期??梢詫④浖芷诜譃檐浖x、軟件開(kāi)發(fā)及軟件運(yùn)行維護(hù)三個(gè)階段。軟件生

命周期的主要活動(dòng)階段是可行性探討與安排制定、需求分析、軟件設(shè)計(jì)、軟件實(shí)現(xiàn)、軟件測(cè)

試、運(yùn)行和維護(hù)。軟件生命周期不包括市場(chǎng)調(diào)研。

8、下面不屬于需求分析階段任務(wù)的是

A、確定軟件系統(tǒng)的功能需求B、確定軟件系統(tǒng)的系統(tǒng)的系能需求

1C、制定軟件集成測(cè)試安排D、需求規(guī)格說(shuō)明書(shū)審評(píng)

(8)【答案】C

【解析】需求分析是對(duì)待開(kāi)發(fā)軟件提出的需求進(jìn)行分析并給出具體的定義。主要工作是

編寫(xiě)軟件需求規(guī)格說(shuō)明書(shū)及用戶(hù)手冊(cè)。需求分析的任務(wù)是導(dǎo)出目標(biāo)系統(tǒng)的邏輯模型,解決''做

什么〃的問(wèn)題。制定軟件集成測(cè)試安排是軟件設(shè)計(jì)階段須要完成的任務(wù)

9、在黑盒測(cè)試方式中,設(shè)計(jì)測(cè)試用例的主要依據(jù)是

A、程序外部功能B、程序內(nèi)部邏輯

C、程序數(shù)據(jù)結(jié)構(gòu)D、程序流程圖

(9)【答案】A

【解析】黑盒測(cè)試也稱(chēng)功能測(cè)試或數(shù)據(jù)驅(qū)動(dòng)測(cè)試,設(shè)計(jì)測(cè)試用例著眼于程序外部結(jié)構(gòu)、

不考慮內(nèi)部邏輯結(jié)構(gòu),主要針對(duì)軟件界面和軟件功能進(jìn)行測(cè)試。

1()、在軟件設(shè)計(jì)中不運(yùn)用的工具是

A、系統(tǒng)結(jié)構(gòu)圖B、程序流程圖C、PAD圖D、數(shù)據(jù)流圖(DFD圖)

(10)【答案】D

【解析】軟件設(shè)計(jì)包括概要設(shè)計(jì)和具體設(shè)計(jì),軟件概要設(shè)計(jì)中,面對(duì)數(shù)據(jù)流的設(shè)計(jì)方法

有變換型系統(tǒng)結(jié)構(gòu)圖和事務(wù)型數(shù)據(jù)流兩種。軟件具體設(shè)計(jì),程序流程圖(PDF)和PAD(問(wèn)題

分析圖)是過(guò)程設(shè)計(jì)的常用工具。數(shù)據(jù)流圖(DFD圖)是軟件定義階段結(jié)構(gòu)化分析方法常用的

工具。

11、針對(duì)簡(jiǎn)潔程序設(shè)計(jì),以下敘述的實(shí)施步驟正確的是

A、確定算法和數(shù)據(jù)結(jié)構(gòu)、編碼、調(diào)試、整理文檔

B、編碼、確定算法和數(shù)據(jù)結(jié)構(gòu)、調(diào)試、整理文檔

C、整理文檔、確定算法和數(shù)據(jù)結(jié)構(gòu)、編碼、調(diào)試

D、確定算法和數(shù)據(jù)結(jié)構(gòu)、調(diào)試、編碼、整理文檔

(11)【答案】A)

【解析】簡(jiǎn)潔程序設(shè)計(jì)的步驟是首先要確定算法和數(shù)據(jù)結(jié)構(gòu),然胡編碼、調(diào)試,最終整

理相關(guān)文檔。

12、關(guān)于C語(yǔ)言中數(shù)的表示,以下敘述正確的是

A、只有整型數(shù)在允許范圍內(nèi)能精確無(wú)誤的表示,實(shí)型數(shù)會(huì)有誤差

B、只要在在允許范圍內(nèi)整型和實(shí)型都能精確表示

C、只有實(shí)型數(shù)在允許范圍內(nèi)能精確無(wú)誤的表示,整型數(shù)會(huì)有誤差

D、只有八進(jìn)制表示的數(shù)在不會(huì)有誤差

(12)【答案】A)

【解析】實(shí)型數(shù)據(jù)在內(nèi)存中存儲(chǔ)的二進(jìn)制位數(shù)是有限的,例如float型數(shù)據(jù)在內(nèi)存中有

24位二進(jìn)制尾數(shù)。而一個(gè)十進(jìn)制實(shí)數(shù)轉(zhuǎn)化為二進(jìn)制實(shí)數(shù)時(shí),其有效數(shù)字位數(shù)有可能會(huì)超過(guò)

尾數(shù)的存儲(chǔ)長(zhǎng)度,從而導(dǎo)致有效數(shù)字丟失而產(chǎn)生誤差。

13、以下關(guān)于算法敘述錯(cuò)誤的是

A、算法可以用偽代碼、流程圖等多種形式來(lái)描述

B、一個(gè)正確的算法必需有輸入

C、一個(gè)正確的算法必需有輸出

D、用流程圖可以描述的算法可以用任何一種計(jì)算機(jī)高級(jí)語(yǔ)言編寫(xiě)成程序代碼

(13)【答案】B)

【解析】一個(gè)正確的算法可以有零個(gè)或者多個(gè)輸入,必需有一個(gè)或者多個(gè)輸出。

14、以下敘述錯(cuò)誤的是

A、一個(gè)C程序可以包含多個(gè)不同名的函數(shù)

B、一個(gè)C程序只能有一個(gè)主函數(shù)

C、C程序在書(shū)寫(xiě)時(shí),有嚴(yán)格的縮進(jìn)要求,否則不能編譯通過(guò)

D、C程序的主函數(shù)必需月main作為函數(shù)名

(14)【答案】C)

【解析】一個(gè)C程序有且只有一個(gè)主函數(shù)main。。一個(gè)C程序可以包含多個(gè)不同名

字的子函數(shù)。C程序在書(shū)寫(xiě)時(shí)沒(méi)有嚴(yán)格的縮進(jìn)要求。

15、設(shè)有以下語(yǔ)句

Charchl,ch2,scanf(',%c%c,\&ch1,&ch2);

若要為變量chi和ch2分別輸入字符A和R,正確的輸入形式應(yīng)當(dāng)是

A、A和B之間用逗號(hào)間隔B、A和B之間不能有任何間隔符

C、A和B之間可以用回車(chē)間隔D、A和B之間用空格間隔

(15)【答案】B)

【解析】考察C語(yǔ)言中輸入格式,因?yàn)樵谳斎敫袷街卸x好了〃%c%c〃,其中沒(méi)有任何

符號(hào),所以中間不能加任訶字符,包含不能加逗號(hào)、回車(chē)和空格,因?yàn)檫@些也算是字符。所

以在輸入時(shí)也不行以有任何間隔符號(hào)。

16、以下選項(xiàng)中非法的字符常量是

A、,\102,B、'\65'C、'\xff'D、'\019'

(16)【答案】D)

【解析】字符常量有兩種表示方法:

一種是用該字符的圖形符號(hào),如七‘,,','*;另外還可以用字符的ASCH碼表示,

即用反斜符(\)開(kāi)頭,后跟字符的ASCH碼,這種方法也稱(chēng)為轉(zhuǎn)義序列表示法,具體方法是:

有兩種形式:一種是用字符的八進(jìn)制ASCH碼,表示為:\odd.這里,ddd是八進(jìn)制值(o

可以省略)。另一種運(yùn)用字符的十六進(jìn)制ASCII碼值,表示為\0xhh或OXhh這里hh

是兩位十六進(jìn)制值。

本題中D)選項(xiàng)、\019’運(yùn)用是八進(jìn)制表示,不應(yīng)當(dāng)出現(xiàn)9,所以錯(cuò)誤。

17、有以下程序

#includc<sthio.h>

Main()

(

IntA=O,B=O,C=O;

C=(A-=A-5);(A=B,B+=4);

Printf(u%d,%d.%d\n”,A,B,C)

)

程序運(yùn)行后輸出的結(jié)果是

A0,4,5B4.4,5C4,4,4D0,0.0

(17)【答案】A)

【解析】考察C語(yǔ)言關(guān)于賦值的應(yīng)用,首先執(zhí)行a-=a-5,即己=次(3?5),使得a的

值為5,然后執(zhí)行c=(a-=a-5),即將a的值5賦給變量c,使得c的值也為5。然后執(zhí)行

下句逗號(hào)表達(dá)式中的a=b,把b的值。賦給a,此時(shí)a的值為0,然后執(zhí)行b=b+4,使

得b的值為4。最終打印輸出。

18、設(shè)變量均已正確定義并且賦值,以下與其他三組輸出結(jié)構(gòu)不同的一組語(yǔ)句是

A、x++;printf(("%d\n”,x);B、n=++x;printf(("%d\n”,n);

C>++x;printf((u%d\n,,,x);D、n=x++;printf(("%d\n”,n);

(18)【答案】D)

【解析】本題考察自增運(yùn)算符,++X表示先將x值加1后再用,x++表示先運(yùn)月x

值,用后加L所以本題中ABC選項(xiàng)都會(huì)輸出x+1的值,只有D選項(xiàng)會(huì)輸出x值。

19、以下選項(xiàng)中,能表示邏輯值"假''的是

A1B0.000()01C0D100.0

(19)【答案】C)

【解析】在C語(yǔ)言中非0的值表示真,。表示假。

20、有以下程序

#include<sthio.h>

Main()

{inta:

Scanf("%d”,&a);

If(a++<9)printf((u%d\n,,,a);

Elseprintf((<<%d\nM,a");

)

程序運(yùn)行時(shí)鍵盤(pán)輸入9〈叵車(chē)〉,則輸出的結(jié)構(gòu)是

A、10BIIC9D8

(20)【答案】A)

【解析】考察if語(yǔ)句和自增自減運(yùn)算符,推斷條件中if(a++v9)是先用后加,即a的

值為9,所以條件不成立,但是a已經(jīng)進(jìn)行了自增1操作,a的值此時(shí)為10。執(zhí)行else

語(yǔ)句時(shí),因?yàn)榇蛴--,是先用后減,所以先輸出10,然后a的值變?yōu)?。

21、有以下程序

#includc<sthio.h>

Main()

{ints=0,n;

For(n=0;n<3;n<++)

{switch(s)

{case0;

CaseI;s+=1;

Case2;s+=2;break;

Case3;s+3;

Case4;s+=4;

)

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

)

I

程序運(yùn)行后的結(jié)果是

A1,2,4B1,3,6C3,10,14D3,6,10

(21)【答案】C)

【解析】本題考察switch語(yǔ)句的應(yīng)用,case分支后面假如沒(méi)有break,那么就會(huì)依

次執(zhí)行下面的case,直到遇到break跳出。所以第一次循環(huán)后s的值為3打印輸出。其次

次s的值為:s=s+3,s=s+4,即為10,打印輸出。第三次沒(méi)有匹配勝利干脆執(zhí)行default

語(yǔ)句,s=s+4,所以s的值為14,打印輸出。

22、若k是int類(lèi)型變量,且有以下for語(yǔ)句

For(k=-1;k<0;k++)

下面關(guān)于語(yǔ)句執(zhí)行狀況的敘述中正確的是

A、循環(huán)體執(zhí)行一次B、循環(huán)體執(zhí)行兩次

C、循環(huán)體一次也不執(zhí)行D、構(gòu)成無(wú)限循環(huán)

(22)【答案】A)

【解析】考察fo「循環(huán)語(yǔ)句,本題中k初始值為執(zhí)行一次循環(huán)體,執(zhí)行完后k值

為0,不滿(mǎn)意k<0條件,推出循環(huán),所以執(zhí)行了一次。

23、有以下程序

#include<sthio.h>

Main()

{charA,B,C;

B=T;C='A'

For(A=0;A<6;A++)

{if(A%2)putchar(B+A;;

Elseputchar(C+A);

I

)

程序運(yùn)行后輸出的結(jié)果是

A1B3D5FBABCDFECA2C4E6D123456

(23)【答案】C)

【解析】考察for語(yǔ)句和if語(yǔ)句,第一次循環(huán)a的值為0,a%2也為0,條件不滿(mǎn)

意所以打印的是(c+a)即變量c的值'、A〃。其次次a的值為1,條件a%2的值為L(zhǎng)條件

滿(mǎn)意打印字符(b+a)即字符、'2〃。第三次a的值為2,條件不滿(mǎn)意,打印(a+c)即字符〃C〃。

同理打印后續(xù)字符為''4E6〃°

24、設(shè)有如下定義語(yǔ)句

Intm[]={2A6,8},*k=m;

以下選項(xiàng)中,表達(dá)式的值為6的是

A*(k+2)Bk+2C*k+2D*k+=2

(24)【答案】A)

【解析】考察數(shù)組和指針的概念,本題中*k指向數(shù)組m的首地址。*(k+2)現(xiàn)將指針

后移兩個(gè)元素,即為m[2]的首地址,然后取出m[2]的值6,所以選擇A選項(xiàng)。選項(xiàng)B的

值是一個(gè)地址無(wú)意義。選項(xiàng)C的值為4。選項(xiàng)D使得m[0]的值為4。

25、fun函數(shù)的功能是:通過(guò)鍵盤(pán)輸入給x所指的整型數(shù)組全部元素賦值。在下列劃線(xiàn)處應(yīng)

當(dāng)填寫(xiě)的是

#include<sthio.h>

#defineN5

Viodfun(intx[N])

{inim;

For(m=N-l:m>0;m-)scanf("%d\n”,

}

A&xl++m]B&x[m+l]Cx+(m++)Dx+m

(25)【答案】D)

【解析】考察指針的概念和應(yīng)用,數(shù)組名本身就是地址,所以不須要在用&符號(hào)。C選

項(xiàng)不能對(duì)全部元素賦值而是反復(fù)再給一個(gè)數(shù)值賦值且是死循環(huán)。

26、若有函數(shù)

Viodfun(doublea[],int*n)

以下敘述中正確的是

A、調(diào)用fun函數(shù)時(shí)只有數(shù)組執(zhí)行按值傳送,其他實(shí)參和形參之間執(zhí)行按地址傳送

8、形參a和n都是指針變量

C、形參a是一個(gè)數(shù)組名,n是指針變量

D、調(diào)用fun函數(shù)時(shí)將把double型實(shí)參數(shù)組元素一一對(duì)應(yīng)地傳送給形參a數(shù)組

(26)【答案】B)

【解析】函數(shù)中的形參磯]已經(jīng)退化為一個(gè)指針,所以AC都不時(shí),D選項(xiàng)中只是傳入

一個(gè)指針,并沒(méi)有把數(shù)組的元素挨個(gè)賦值,正確選項(xiàng)為B。

27、有以下程序

#include<sthio.h>

Main()

{inta,b,k,iii,*pl,*p2;

k=l,m=8;

pl=&k,p2=&m;

a=/*pl-m;b=*pl+*p2+6;

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

)

編譯時(shí)編譯器提示錯(cuò)誤信息,你認(rèn)為出錯(cuò)的語(yǔ)句是

A、a=/*pl-mB、b=*pl+*p2+6

C、k=l,m=8;D、pl=&k,p2=&m;

(27)【答案】A)

【解析】選項(xiàng)A中a=表示方式不正確,未能正確表示出含義。

28、以下選項(xiàng)中有語(yǔ)法錯(cuò)誤的是

Achar*str[]={"guest");B、charstr[IO]={ttguesf,};

C、char*str[3]*str[l]={uguesr};D、charstr[3][10];str[l]={"guest"};

(28)【答案】D)

【解析】考察指針數(shù)組的概念,D選項(xiàng)中str為二維字符數(shù)組,不能夠干脆把一個(gè)字符

串賦值到一維數(shù)組的某一行中。

29、avg函數(shù)的功能是求整型數(shù)組中的前若干個(gè)元素的平均值,設(shè)數(shù)組元素個(gè)數(shù)最多不超過(guò)

10,則下列函數(shù)說(shuō)明語(yǔ)句錯(cuò)誤的是

A、intavg(int*a,intn);B、intavg(inta[10],intn);

C、intavg(inta,intn);D、intavg(inta[],intn);

(29)【答案】C)

【解析】考察函數(shù)聲明基本用法,C選項(xiàng)中函數(shù)的第一形參沒(méi)有指名是數(shù)組,代表的是

一個(gè)整型數(shù),聲明不正確,

30、有以下函數(shù)

#include<sthio.h>

#include<string.h>

main()

{printfr%d\n,,,stnen,,ATS\nO12\1);}

程序運(yùn)行后的輸出結(jié)果是

A3B8C4D9

(30)【答案】B)

【解析】考察轉(zhuǎn)義字符的用法,strlen函數(shù)的作用是求得字符串長(zhǎng)度,\n與\1均是反

義字符各表示一個(gè)字符所以打印值為8。

31、有以下函數(shù)

#include<sthio.h>

main()

{chara|20|,b|20|,c|20|;

scanf(,,%s%s,,,a,b);

get(c);

printf(',%s%s\n,,,a.b.c);

)

程序運(yùn)行時(shí)從第?行起先輸入thisisacat!〈回車(chē)〉,則輸出結(jié)果是

A(hisisacat!BthisisaCthisisacat!Dthisisacal!

(31)【答案】C)

【解析】考察scanf和gets輸入字符串的區(qū)分,scanf語(yǔ)句接收字符時(shí)遇到空格就作

為一個(gè)字符串的結(jié)束,所以a數(shù)組中為this,b數(shù)組中為is,但是getchar函數(shù)見(jiàn)到回車(chē)

才認(rèn)為結(jié)束所以c數(shù)組為acat!。所以打印結(jié)果如選項(xiàng)C,

32、有以下函數(shù)

#include<sthio.h>

viodfun(charc)

{if(c>'x')fun(c-l);

printf(44%c,\c);

}

main()

{fun”z”;}

程序運(yùn)行輸出結(jié)果是

AxyzBwxyzCzyxwDzyx

(32)【答案】A)

【解析】考察函數(shù)的嵌套調(diào)用,當(dāng)運(yùn)行fun('z'),調(diào)用fun('y'),然后嵌套調(diào)用funfx'),

輸出結(jié)果為先輸出x,然后輸出y,最終輸出z。

33、有以下函數(shù)

#inckide<sthio.h>

viodfunc(intn)

{inti;

fbr(i=O;i<=n;i++)prinlfp*");

printf("#”);

main()

{func(3);printR'?"?");tunc(4);printf(、、\n");}

程序運(yùn)行輸出結(jié)果是

A****#”?’>***#B***#”?,)*****#

Q**#”???*****#D*本木木木木*木木#

(33)【答案】D)

【解析】考察for循環(huán)函數(shù)調(diào)用,執(zhí)行fun(3)是輸出****,然后輸出#,執(zhí)行fun(4)

時(shí)輸出*****,然后輸出#,所以選項(xiàng)D)正確。

34、有以下函數(shù)

#include<sthio.h>

viodfun(int*s)

{staicintj=0;

do{s[j]=s(jl+s[j+l];}wihle(++j<2);

)

main()

{intk,a[10]={L2,3,4,5);

for(K+l;k<3;k++)fun(a);

for(K+l;k<5;k++)prinif("%d”,a[k]);

printf("\rT);

程序運(yùn)行輸出結(jié)果是

A12345B23445C34756D35745

(34)【答案】D)

【解析】考察靜態(tài)局部變量,靜態(tài)局部變量屬于靜態(tài)存儲(chǔ)方式,它具有以下特點(diǎn):

(1)靜態(tài)局部變量在函數(shù)內(nèi)定義,它的生存期為整個(gè)源程序。

(2)靜態(tài)局部變量只能在定義該變量的函數(shù)內(nèi)運(yùn)用該變量。退出該函數(shù)后,盡管該變量

還接著存在,但不能運(yùn)用它。

(3)允許對(duì)構(gòu)造類(lèi)靜態(tài)局部量賦初值。若未賦以初值,則由系統(tǒng)自動(dòng)賦以。值。

(4)依據(jù)靜態(tài)局部變量的特點(diǎn),可以看出它是一種生存期為整個(gè)源文件的量。雖然離

開(kāi)定義它的函數(shù)后不能運(yùn)用,但如再次調(diào)用定義它的函數(shù)時(shí),它乂可接著運(yùn)用,而且保存了

前次被調(diào)用后留下的值。

依據(jù)這個(gè)特點(diǎn),函數(shù)第一次調(diào)用時(shí),會(huì)將數(shù)組a變?yōu)?5345,當(dāng)其次次調(diào)用時(shí),函數(shù)

內(nèi)的j值為2,所以會(huì)將數(shù)組a的第三個(gè)元素更改為7,所以最終結(jié)果為35745,選項(xiàng)D)

正確。

35、有以下函數(shù)

#includc<sthio.h>

#defineS(x)(x)*x*2

main()

{intk=5,j=2;

primf("%d,”,S[k+j]);prinif("%d\n”,S(k-j)));

}

程序運(yùn)行輸出結(jié)果是

A98,18B39.llC39J8D98,ll

(35)【答案】B)

【解析】考察宏定義的運(yùn)用,依據(jù)該宏的定義,

S(k+j)=(k+j)*k+j*2=39z

S(k?j)=(k?j)*k?j*2=ll,所以答案為39,11選項(xiàng)B)正確。

36、有以下函數(shù)

#include<sthio.h>

Viodexch(intt[])

ltl0]=t[5];)

{intx[10]={1,2,34,5,6,7,8,9,10},i=0;

While(i<=4){exch(&x[i]),i++;)

fbr(i=0;i<5;i++)printfi(“%d”,x[i]);

printR"\n");

)

程序運(yùn)行輸出結(jié)果是

A246810B13579CI2345D678910

(36)【答案】D)

【解析】通過(guò)分析代碼,可以看出來(lái),函數(shù)的作用就是把數(shù)組某個(gè)元素的變?yōu)檫@個(gè)元素

位置加5后對(duì)用的元素值,所以執(zhí)行完之后輸出數(shù)組x的前五個(gè)元素的值,其實(shí)就是數(shù)組x

的后五個(gè)元素的值,即678910。

37、設(shè)有以下程序段

StructMP3

{charname[20];

Charcolor;

Floatprice;

)std,*ptr;

ptr=&std;

若要引用結(jié)構(gòu)體變量std中的color成員,寫(xiě)法錯(cuò)誤的是

Astd.colorBptr->colorCstd->colorD(*ptr).color

(37)【答案】C)

【解析】考察結(jié)構(gòu)體的用法,在引用結(jié)構(gòu)體中的成員變量時(shí),可以運(yùn)用'''來(lái)引用,當(dāng)指

針指向結(jié)構(gòu)體時(shí),可以運(yùn)用來(lái)指向結(jié)構(gòu)體重的成員,C選項(xiàng)引用錯(cuò)誤。

38、有以下函數(shù)

#include<sthio.h>

structstu

{intmun;charname[10];intage;};

viodfun(structstu*p)

{printf(t4%s\n,\p->nanie);}

mian()

{structstux[3]={{01;,zhang,\20},{02Jwang”,19},{03,"zhao”,18});

tun(x+2);

程序運(yùn)行輸出結(jié)果是

AzhangBzhaoCwangD19

(38)【答案】B)

【解析】考察結(jié)構(gòu)體的用法,結(jié)構(gòu)體數(shù)組存儲(chǔ)了三個(gè)人的信息,x+2代表了指向第三

個(gè)元素,所以輸出name為Zhao。

39、有以下函數(shù)

#includc<sthio.h>

mian()

{inta=l2,c;

c=(a?2)?l;

prinlf(tt%d\n,,,c):

程序運(yùn)行輸出結(jié)果是

A3B50C2D96

(39)【答案】D)

【解析】考察移位操作,執(zhí)行c=(avv2)vvl語(yǔ)句時(shí),首先是a左移兩位,其等效

于將a乘以4,得到48,然后將48左移一位,相當(dāng)于是乘以2,所以結(jié)果為c=96,選項(xiàng)

D正確。

40、以下函數(shù)不能用于向文件寫(xiě)入數(shù)據(jù)的是

AftcllBfwriteCfputcDfprintf

(40)【答案】A)

【解析】考察文件的操作,函數(shù)ftell()用于得到文件位置指針當(dāng)前位置相對(duì)于文件首

的偏移字節(jié)數(shù)。在隨機(jī)方式;存取文件時(shí),由于文件位置常見(jiàn)的前后移動(dòng),程序不簡(jiǎn)潔確定文

件的當(dāng)前位置調(diào)用函數(shù)ftell()就能特別簡(jiǎn)潔地確定文件的當(dāng)前位置。不能寫(xiě)入數(shù)據(jù),其他

三個(gè)選項(xiàng)都可以向文件中寫(xiě)入。

—、填空題

1「將長(zhǎng)4為n的依次存儲(chǔ)在線(xiàn)性表中刪除一個(gè)元素,最壞狀況下須要移動(dòng)表中的元素個(gè)數(shù)

為()。

2、設(shè)循環(huán)隊(duì)列的存儲(chǔ)空間為Q(l:3),初始狀態(tài)為front=rear=30?,F(xiàn)經(jīng)過(guò)一系列入隊(duì)與退隊(duì)運(yùn)

算后,front=16,rear=15,則循環(huán)隊(duì)列中有()個(gè)元素。

3、數(shù)據(jù)庫(kù)管理系統(tǒng)供應(yīng)的數(shù)據(jù)語(yǔ)言中,負(fù)責(zé)數(shù)據(jù)的增、刪、改和查詢(xún)的是()o

(1)【答案】[1]n-1

【解析】在依次表中刪除一個(gè)元素,最壞狀況是刪除第一個(gè)元素,后面的(n-1)個(gè)元素

均要向前移動(dòng),所以此處填n?l。

(2)【答案】[2]29

【解析】通過(guò)題干的描述可知此循環(huán)隊(duì)列共30個(gè)空間,另外隊(duì)尾指針rear的值小于

隊(duì)頭指針front的值,所以利用公式(rear-front+30)%30=29,可知此循環(huán)隊(duì)列的元素

個(gè)數(shù)為29。

(3)【答案】【3】數(shù)據(jù)操縱語(yǔ)言

【解析】數(shù)據(jù)操縱語(yǔ)言DMI(DataManipulationIanguage),用戶(hù)通過(guò)它可以實(shí)現(xiàn)

對(duì)數(shù)據(jù)庫(kù)的基本操作。例如,對(duì)表中數(shù)據(jù)的杳詢(xún)、插入、刪除和修改。在DML中,應(yīng)用

程序可以對(duì)數(shù)據(jù)庫(kù)作插、刑、改、排、檢等五種操作.

4、在將E-R圖轉(zhuǎn)換到關(guān)系模式時(shí),實(shí)體和聯(lián)系都可以表示成()。

5、常見(jiàn)的軟件工程方法有結(jié)構(gòu)化方法和面對(duì)對(duì)象方法,類(lèi)、繼承以及多態(tài)性等概念屬于

()。

6、設(shè)變量a和b已定義為int類(lèi)型,若要通過(guò)scanf(,,a=%d,b=%d,\&a,&b);語(yǔ)句分別給a

和b輸入1和2,則正確的數(shù)據(jù)輸入內(nèi)容是(

(4)【答案】【4】關(guān)系

【解析】關(guān)系數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)的主要工作是將E-R圖轉(zhuǎn)換成指定RDBMS中的關(guān)系模

式,這種轉(zhuǎn)換是比較干脆的,實(shí)體與聯(lián)系都可以表示成關(guān)系。

(5)【答案】【5】面對(duì)對(duì)象方法

【解析】面對(duì)對(duì)象方法是一種基于對(duì)象模型的程序設(shè)計(jì)方法,包括面對(duì)對(duì)象分析、面對(duì)

對(duì)象設(shè)計(jì)、面對(duì)對(duì)象編程,是目前應(yīng)用范圍最廣的設(shè)計(jì)方法。其中對(duì)象模型包括六個(gè)要素:

封裝、抽象、模塊化、層次結(jié)構(gòu)、類(lèi)、并發(fā)性。面對(duì)對(duì)象方法的主要特征是封裝、繼承和多

態(tài)性,所以此空應(yīng)填面對(duì)對(duì)象方法。

(6)【答案】a=l,b=2

【解析】scanf。函數(shù)是格式化輸入函數(shù),它從標(biāo)準(zhǔn)輸入設(shè)備(鍵盤(pán))讀取輸入的信息、,

其調(diào)用格式為:scanf(”v格式化字符串>”,v地址表>),scanf("a=%d,b=%d",&a,&b)

中a=%d,b=%d之間有逗號(hào),在輸入數(shù)據(jù)時(shí)也要加逗號(hào),假如去掉逗號(hào),輸入時(shí)就不用

逗號(hào),而用空格,tab鍵或回車(chē)鍵將各個(gè)數(shù)據(jù)隔開(kāi)。

7、以下程序的輸出結(jié)果是()。

#include<sthio.h>

mian()

{inta=37;

a+=a%=9;printf("%d\n”,a);

)

8、設(shè)a、b、c都是整型變量,假如a的值為1,b的值為2,則執(zhí)行c=a++||b++;語(yǔ)句后,

變量b的值是().

9、有以下程序段

s=1.0;

for(k=l,k<=n;k++)s=s+I.O(k*(k+1));

printf("%An”,s);

請(qǐng)?zhí)羁?,使以下程序段的功能與上面的程序段完全相同。

s=1.U;k=l;

while()

{s=s+l.O(k*(k+l));k=k+l;|

printf(u%f\nv,s);

(7)【答案】2

【解析】a+=a%=9;其中a%=9等價(jià)于a=a%9;結(jié)果為1,所以a+=a%=9等

價(jià)于a=a+l,故答案為2.

(8)【答案】2

【解析】a||b若a力都為假,則a||b為假,其他都為真.假如a為真時(shí),則對(duì)b不進(jìn)行

真假,所以對(duì)于c=a++1|b++,因?yàn)閍++時(shí)為真,所以b++不進(jìn)行推斷,b的值保持不變,

故b=2。

(9)【答案】k<=n【解析】for和while都是循環(huán)語(yǔ)句,可以實(shí)現(xiàn)相同的功能

10、以下程序段的輸出結(jié)果是()

#include<sthio.h>

mian()

{chara,b;

for(a=0;a<20;a+=7){b=a%10;putchar(b+,O,);}

I

11、以下程序段的輸出結(jié)果是()

#include<sthio.h>

mian()

{char*ch[4]={“red”,"green","blue"};

Inti=U;

While(ch[i]);

{putchar(ch[i][OJ;i++;}

I

12、有以下程序

#include<sthio.h>

mian()

{intarr[]={1,3,5,7,2,4.6,8{,i,start;

Scanf("%d”,&s(arl);

For(i=0,i<3,i++)

printf(tt%d,\arr[(start+i)%8D;

I

若在程序運(yùn)行時(shí)輸入整數(shù)10〈回車(chē)〉,則輸出結(jié)果為(

(10)【答案】074【解析】本題第一次循環(huán)時(shí)a的值為0,b的值為0所以打印字

符'0'。其次次循環(huán)時(shí)a的值為7,b的值為7,所以打印字符'7'。第三次a的值為14,b

的值為4,打印字符'41

(11)【答案】rgb

【解析】char*ch[4]是指針數(shù)組,數(shù)組元素全為char■類(lèi)型指針,由于數(shù)組元素均為

指針,因此ch[i]是指第i個(gè)字符串的指針,ch[i][O]為指向第i個(gè)字符串的首地址。

(12)【答案】572

【解析】第一次循環(huán)打印arr[10%8]HParr[2]的值,為5。其次次循環(huán)打印arr[ll%8]

即的值,為7。第三次循環(huán)打印a「r[12%8]即arr[4]的值,為2。

13、以下程序的功能是輸出a數(shù)組中的仝部字符串,請(qǐng)?zhí)羁?/p>

#include<sthio.h>

mian()

{char*a卜{“ABC",''DEFGH",“IJ","KLMNOP"};

Inti=0;

For(;i<4;i++)prinlf(tt%s\nM,);

)

14、以下程序的輸出結(jié)果是()。

#include<sthio.h>

#include<sthio.h>

#include<string.h>

mian()

{char*p,*q,*r;

p=q=r=(char*)malloc(sizeof(char)*20);

strcpy(p,"attaboy,welcome!”);

printf(u%c%c%c\n,,,p[11],q[31,r[4]);

free(p);

I

15、設(shè)文件tcst.txt中原已寫(xiě)入字符串Begin,執(zhí)行以下程序后,文件中的內(nèi)容為

()。

#includc<string.h>

mian()

{file*fp;

fp二fopen("test.txt","w+”);

fputs(Htesf\fjp);

fclose(fp);

(13)【答案】a[i]【解.析】char*a[]為指針數(shù)組,a[i]為指向第i個(gè)字符串的指針。

(14)【答案】cab【解析】p=q=r=(char*)malloc(sizeof(char)*20);等價(jià)于

r=(char*)malloc(sizeof(char)*20);q=r;p=q,所以p,q,r,指向相同的地灰。

(15)【答案】test

【解析】fopen函數(shù)功能是打開(kāi)一個(gè)文件,函數(shù)原型FILE*fopen(constchar*

path,constchar*mode);當(dāng)mode為w+,若文件存在則文柞長(zhǎng)度清為零,即該文件

內(nèi)容會(huì)消逝。若文件不存在則建立該文件,fputs將字符串寫(xiě)入到fp中,所以文件內(nèi)容為

teste

2024年3月全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言筆試真題

一、選擇題

(1)下列關(guān)于棧敘述正確的是

A)棧頂元素最先能被刪除B)枝頂元素最終才能被刪除

C)棧底元素恒久不能被刪除D)以上三種說(shuō)法都不對(duì)

(2)下列敘述中正確的是

A)有一個(gè)以上根結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)不肯定是非線(xiàn)性結(jié)溝

B)只有一個(gè)根結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)不肯定是線(xiàn)性結(jié)構(gòu)

C)循環(huán)鏈表是#線(xiàn)性結(jié)構(gòu)

D)雙向鏈表是非線(xiàn)性結(jié)構(gòu)

(3)某二叉樹(shù)共有7個(gè)結(jié)點(diǎn),其中葉子結(jié)點(diǎn)只有1個(gè),則該二叉樹(shù)的深度為(假設(shè)根結(jié)點(diǎn)在第

1層)

A)3B)4C)6D)7

(4)在軟件開(kāi)發(fā)中,需求分析階段產(chǎn)生的主要文檔是

A)軟件集成測(cè)試安排B)軟件具體設(shè)計(jì)說(shuō)明書(shū)

。用戶(hù)手冊(cè)D)軟件需求規(guī)格說(shuō)明書(shū)

(5)結(jié)構(gòu)化程序所要求的基本結(jié)構(gòu)不包括

A)依次結(jié)構(gòu)B)GOTO跳轉(zhuǎn)

C)選擇(分支)結(jié)構(gòu)D)重復(fù)(循環(huán))結(jié)構(gòu)

(6)下面描述中錯(cuò)誤的是

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

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

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

D)PAD圖是軟件具體設(shè)計(jì)的表示工具

(7)負(fù)貨數(shù)據(jù)庫(kù)中查詢(xún)操作的數(shù)據(jù)庫(kù)語(yǔ)言是

A)數(shù)據(jù)定義語(yǔ)言B)數(shù)據(jù)管理語(yǔ)言

C)數(shù)據(jù)操縱語(yǔ)言D)數(shù)據(jù)限制語(yǔ)言

(8)一個(gè)老師可講授多門(mén)課程,一門(mén)課程可由多個(gè)老師講授。則實(shí)體老師和課程間的聯(lián)系是

A)l:l聯(lián)系B)l:m聯(lián)系C)m:l聯(lián)系D)m:n聯(lián)系

(9)有三個(gè)關(guān)系R、S和T如下:

則由關(guān)系R和S得到關(guān)系T的操作是

A)自然連接B)交。除D)并

(10)定義無(wú)符號(hào)整數(shù)類(lèi)為Uln1,下面可以作為類(lèi)Hint實(shí)例化值的是

A)-369B)369C)0.369D)整數(shù)集合{1,2,34,5}

(11)計(jì)算機(jī)高級(jí)語(yǔ)言程序的運(yùn)行方法有編譯執(zhí)行和說(shuō)明執(zhí)行兩種,以下敘述中正確的是

A)C語(yǔ)言程序僅可以編譯執(zhí)行

B)C語(yǔ)言程序僅可以說(shuō)明執(zhí)行

C)C語(yǔ)言程序既可以編譯執(zhí)行又可以說(shuō)明執(zhí)行

D)以上說(shuō)法都不對(duì)

(12)以下敘述中錯(cuò)誤的是

A)C語(yǔ)言的可執(zhí)行程序是由一系列機(jī)器指令構(gòu)成的

B)用C語(yǔ)言編寫(xiě)的源程序不能干脆在計(jì)算機(jī)上運(yùn)行

C)通過(guò)編譯得到的一進(jìn)制目標(biāo)程序須要連接才可以運(yùn)行

D)在沒(méi)有安裝C語(yǔ)言集成開(kāi)發(fā)環(huán)境的機(jī)器上不能運(yùn)行C源程序生成的.exc文件

(13)以下選項(xiàng)中不能用作C程序合法常量的是

A)1,234B)'\123'C)123D)u\x7G"

(14)以下選項(xiàng)中可用作C程序合法實(shí)數(shù)的是

A).leOB)3.0e0.2C)E9D)9.12E

(15)若有定義語(yǔ)句:inta=3,b=2.c=l;,以下選項(xiàng)中錯(cuò)誤的賦值表達(dá)式是

A)a=(b=4)=3;B)a=b=c+1;

C)a=(b=4)+c;D)a=l+(b=c=4);

(16)有以下程序段

charname[20J;

intnum;

scanf("name=%snum=%d",name;&num);

當(dāng)執(zhí)行上述程序段,并從鍵盤(pán)輸入:namc=Lilinum=10()l〈回車(chē),后,name的值為

A)LiliB)name=Lili

C)Lilinum=D)name=Lilinuni=l()()l

(17)if語(yǔ)句的基本形式是:if(表達(dá)式)語(yǔ)句,以下關(guān)于“表達(dá)式”值的敘述中正確的是

A)必需是邏輯值B)必需是整數(shù)值

C)必需是正數(shù)D)可以是隨意合法的數(shù)值

(18)有以下程序

#include

main()

{intx=OII;

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

}

程序運(yùn)行后的輸出結(jié)果是

A)12B)11C)IOD)9

(19)有以下程序

#include<stdio.h>

main()

{ints;

scanf("%d",&s);

while(s>0)

{switch(s)

{case1:printf("%d",s+5);

case2:printf("%d",s+4);break;

case3:printf("%d",s+3);

default:printf("%d",s+l);break;

)

scanf("%d",&s);

)

I

運(yùn)行時(shí),若輸入123450〈回車(chē)〉,則輸出結(jié)果是

A)6566456B)66656066666D)6666656

(20)有以下程序段

inti,n;

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

{n=rand()%5;

switch(n)

{case1:

case3:pnntf("%d\n",n);break;

case2:

case4:printf("%d\n",n);continue;

case0:exit(0);

)

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

I

以下關(guān)于程序段執(zhí)行狀況的敘述,正確的是

A)for循環(huán)語(yǔ)句固定執(zhí)行8次

B)當(dāng)產(chǎn)生的隨機(jī)數(shù)n為4時(shí)結(jié)束循環(huán)操作

C)當(dāng)產(chǎn)生的隨機(jī)數(shù)n為1和2時(shí)不做任何操作

D)當(dāng)產(chǎn)生的隨機(jī)數(shù)n為0時(shí)結(jié)束程序運(yùn)行

(21)有以下程序

#include<stdio.h>

niain()

{charsn="012xy\08s3414w2";

inti,n=0;

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

if(s[i]>=,0,&&sli]<=(9,)n++;

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

)

程序運(yùn)行后的輸出結(jié)果是

A)0R)3C)7D)8

(22)若i和k都是ini類(lèi)型變量,有以下foi■語(yǔ)句

for(i=0,k=-1;k=1;k++)printf("*****\n");

下面關(guān)于語(yǔ)句執(zhí)行狀況的敘述中正確的是

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

C)循環(huán)體一次也不執(zhí)行D)構(gòu)成無(wú)限循環(huán)

(23)有以下程序

#include<stdio.h>

main。

{charb,c;inti;

b='af;c='A';

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

{if(i%2)putchar(i+b);

elseputchar(i+c);

)

printf("\n");

)

程序運(yùn)行后的輸出結(jié)果是

A)ABCDEFB)AbCdEfOaBcDeFD)abcdef

(24)設(shè)有定義:doublex[10],*p=x;,以下能給數(shù)組x下標(biāo)為6的元素讀入數(shù)據(jù)的正確語(yǔ)句是

A)scanf("%f;&x[6]);R)scanf("%ir,*(x+6));

C)scanf("%lf',p+6);D)scanf("%lf',p[6]);

(25)有以下程序(說(shuō)明:字母A的ASCII碼值是65)

#inckide<stdio.h>

voidfun(char*s)

{while(*s)

{if(*s%2)printf("%cn,*s);

s++;

main()

{chara[]='BYTE";

fun(a);

printf("\n");

I

程序運(yùn)行后的輸出結(jié)果是

A)BYB)BTC)YTD)YE

(26)有以下程序段

#include<stdio.h>

main()

{…

while(getchar()!=,\n,);

)

以下敘述中正確的是

A)此while語(yǔ)句將無(wú)限循環(huán)

B)gelchar。不行以出現(xiàn)在while語(yǔ)句的條件表達(dá)式中

C)當(dāng)執(zhí)行此while語(yǔ)句時(shí),只有按回車(chē)鍵程序才能接著執(zhí)行

D)當(dāng)執(zhí)行此while語(yǔ)句時(shí),按隨意鍵程序就能接著執(zhí)行

(27)有以下程序

#include<stdio.h>

niain()

{intx=1,y=0:

if(!x)y++;

elseif(x==O)

if(x)y+=2;

elsey+=3;

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

)

程序運(yùn)行后的輸出結(jié)果是

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

(28)若有定義語(yǔ)句:chars[3][10],(*k)[3],*p;,則以下賦值語(yǔ)句正確的是

A)p=s;B)p=k;C)p=s[O];D)k=s;

(29)有以下程序

#include<stdio.h>

voidfun(char*c)

{while(*c)

{if(*c>-a'&&*c<-z')*c=*c-('a'-'A');

C++;

)

I

main()

{chars[81];

gets(s);

fun(s);

puts(s);

)

當(dāng)執(zhí)行程序時(shí)從鍵盤(pán)上輸入HelloBeijingv同車(chē)>,則程序的輸出結(jié)果是

A)hellobeijingB)HelloBeijing

OHELLOBEIJINGD)hELLOBeijing

(30)以下函數(shù)的功能是:通過(guò)鍵盤(pán)輸入數(shù)據(jù),為數(shù)組中的全部元素賦值。

#include<stdio.h>

#dcfincN10

voidfun(intx[N])

{inti=0;

while(i<N)scanf(<<%d>,,);

}

在程序中下劃線(xiàn)處應(yīng)填入的是

A)x+iB)&x[i+1]C)x+(i++)D)&x[++i]

(31)有以下程序

#include<sldio.h>

main()

{chara[3OLb[3O];

scanf("%sM,a);

gets(b);

pnntf("%s\n%s\n”,a,b);

)

程序運(yùn)行時(shí)若輸入:

howareyou?Iamfine<回車(chē),

則輸出結(jié)果是

A)howarcyou?B)how

Iamfineareyou?Iamfine

C)howareyou?IamfineD)howareyou?

(32)設(shè)有如下函數(shù)定義

intfun(intk)

{if(k<1)return0;

elseif(k==l)return1;

elsereturnfun(k-l)+l;

I

若執(zhí)行調(diào)用語(yǔ)句:n=fun(3);,則函數(shù)fun總共被調(diào)用的次數(shù)是

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

(33)有以下程序

#include<stdio.h>

inifun(intx,inty)

{if(x!=y)return((x+y)/2);

elsereturn(x);

}

main()

{in(a=4,b=5,c=6;

printf("%d\n",fun(2*a,fun(b.c)));

)

程序運(yùn)行后的輸出結(jié)果是

A)3B)6C)8D)12

(34)有以下程序

#include<stdio.h>

intfun()

{staticintx=l;

x*=2;

returnx;

)

main()

{inti,s=l;

for(i=l;i<=3;i++)s*=fun();

printf("%d\n';s);

I

程序運(yùn)行后的輸出結(jié)果是

A)0B)10C)30D)64

(35)有以卜.程序

#includc<stdio.h>

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

main()

{intk=5,j=2;

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

I

程序運(yùn)行后的輸出結(jié)果是

A)197B)143C)33D)28

(36)設(shè)有定義:struct{charmark[12];intnuml;doublcnum2;}若變量均已正確賦初值,

則以下語(yǔ)句中錯(cuò)誤的是

A)tI=t2;B)t2.numI=tI.numI;

C)t2.mark=tl.mark;D)t2.num2=t1.num2;

(37)有以下程序

#include<stdio.h>

structord

{intx,y;}dt[21={l,2,3,4);

niain()

{

structord*p=dt;

printf("%d,,,,++(p->x));printf("%d\n",++(p->y));

}

程序運(yùn)行后的輸出結(jié)果是

A)1,2B)4JC)3,4D)2,3

(38)有以下程序

#include<stdio.h>

structS

{inta,b;}data[2]={10,100,20,200};

main()

{structSp=data[l];

printf(M%d\n",++(p.a));

)

程序運(yùn)行后的輸出結(jié)果是

A)10B)llC)20D)21

(39)有以下程序

#include<sldio.h>

main()

{unsignedchara=8,c;

c=a?3;

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

)

程序運(yùn)行后的輸出結(jié)果是

A)32R)16C)lD)0

(40)設(shè)fp已定義,執(zhí)行語(yǔ)句fp=fopen(“file","w");后,以下針對(duì)文本文件file操作敘述的選項(xiàng)

中正確的是

A)寫(xiě)操作結(jié)束后可以從頭起先讀B)只能寫(xiě)不能讀

C)可以在原有內(nèi)容后追加寫(xiě)D)可以隨意讀和寫(xiě)

二、填空題

(1)有序線(xiàn)性表能進(jìn)行二分查找的前提是該線(xiàn)性表必需是【1】存儲(chǔ)的。

(2)一棵二叉樹(shù)的中序遍歷結(jié)果為DBEAFC,前序遍歷結(jié)果為ABDECF,則后序遍歷結(jié)果為

[2]。

(3)對(duì)■軟件設(shè)計(jì)的最小單位(模塊或程序單元)進(jìn)行的測(cè)試通常稱(chēng)為【3】測(cè)試。

(4)實(shí)體完整性約束要求關(guān)系數(shù)據(jù)庫(kù)中元組的[4]屬性值不能為空。

(5)在關(guān)系A(chǔ)(S,SN,D)和關(guān)系B(D,CN,NM)中,A的主關(guān)鍵字是S,B的主關(guān)鍵字是D,則稱(chēng)【5】

是關(guān)系A(chǔ)的外碼。

⑹以下程序運(yùn)行后

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論