國(guó)家二級(jí)(C語言)筆試模擬試卷143_第1頁
國(guó)家二級(jí)(C語言)筆試模擬試卷143_第2頁
國(guó)家二級(jí)(C語言)筆試模擬試卷143_第3頁
國(guó)家二級(jí)(C語言)筆試模擬試卷143_第4頁
國(guó)家二級(jí)(C語言)筆試模擬試卷143_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

國(guó)家二級(jí)(C語言)筆試模擬試卷143

一、公共基礎(chǔ)選擇題(本題共70題,每題7.0分,共

10分。)

1、下列敘述中錯(cuò)誤的是()。

A、一種數(shù)據(jù)的邏輯結(jié)構(gòu)可以有多種存儲(chǔ)結(jié)構(gòu)

B、數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)與數(shù)據(jù)的處理效率無關(guān)

C、數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)與數(shù)據(jù)的處理效率密切相關(guān)

D、數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)在計(jì)算機(jī)中所占的空間不一定是連續(xù)的

標(biāo)準(zhǔn)答案:B

知識(shí)點(diǎn)解析:數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)分為順序結(jié)構(gòu)和鏈?zhǔn)浇Y(jié)構(gòu),一個(gè)數(shù)據(jù)的邏輯結(jié)構(gòu)可以

有多種存儲(chǔ)結(jié)構(gòu)。順序結(jié)構(gòu)中數(shù)據(jù)元素所占的存儲(chǔ)空間是連續(xù)的,而鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)

中,數(shù)據(jù)元素所占的存儲(chǔ)空間不一定是連續(xù)的。數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)與數(shù)據(jù)的處理效率

密切相關(guān)。

2、下列敘述中錯(cuò)誤的是()。

A、線性表是由n個(gè)元素組成的一個(gè)有限序列

B、線性表是一種線性結(jié)構(gòu)

C、線性表的所有結(jié)點(diǎn)有且僅有一個(gè)前件和后件

D、線性表可以是空表

標(biāo)準(zhǔn)答案:C

知識(shí)點(diǎn)解析:線性表是一種線性結(jié)構(gòu),由n(*0)個(gè)元素組成,所以線性表可以是空

表。但是在線性表中,第一個(gè)結(jié)點(diǎn)沒有前件,最后一個(gè)結(jié)點(diǎn)沒有后件,其他結(jié)點(diǎn)有

且只有一個(gè)前件和后件,所以選項(xiàng)C)是錯(cuò)誤的。

3、下列關(guān)于棧的描述中錯(cuò)誤的是()。

A、棧是先進(jìn)先出的線性表

B、棧只能順序存儲(chǔ)

C、棧具有記憶作用

D、對(duì)棧的插入與刪除操作中,不需要改變棧底指針

標(biāo)準(zhǔn)答案:B

知識(shí)點(diǎn)解析:棧是限定只能在表的一端進(jìn)行插入和刪除操作的線性表,入棧和出棧

都是在棧頂進(jìn)行,它們的操作特點(diǎn)是先進(jìn)后出,因此具有記憶作用。??梢圆捎庙?/p>

序存儲(chǔ),也可以采用鏈?zhǔn)酱鎯?chǔ)。

4、對(duì)長(zhǎng)度為n的線性表進(jìn)行順序查找,在最壞情況下需要比較的次數(shù)為()。

A、125

B、n/2

C^n

D、n+1

標(biāo)準(zhǔn)答案:c

知識(shí)點(diǎn)。析:對(duì)線性表進(jìn)行順序查找時(shí),從表中的第一個(gè)元素開始,將給定的值與

表中逐個(gè)元素的關(guān)鍵字進(jìn)行比較,直到兩者相符,查找到所要找的元素為止。在最

壞情況下,要查找的元素是表的最后一個(gè)元素或查找失敗,這兩種情況都需要將這

個(gè)元素與表中的所有元素進(jìn)行比較,因此比較次數(shù)為n。

5、下列敘述中正確的是()。

A、在模塊化程序設(shè)計(jì)中,一個(gè)模塊應(yīng)該盡量多的包括與其他模塊聯(lián)系的信息

B、在自頂向下、逐步細(xì)化的設(shè)計(jì)過程中,首先應(yīng)設(shè)計(jì)解決問題的第一個(gè)細(xì)節(jié)

C、在模塊化程序設(shè)計(jì)中,一個(gè)模塊內(nèi)部的控制結(jié)構(gòu)也要符合結(jié)構(gòu)化原則

D、在程序設(shè)計(jì)過程中,不能同時(shí)采用結(jié)構(gòu)化程序設(shè)計(jì)方法與模塊化程序設(shè)計(jì)方法

標(biāo)準(zhǔn)答案:C

知識(shí)點(diǎn)解析:在模塊化程序設(shè)計(jì)中,模塊之間的聯(lián)系可.以通過程序的控制結(jié)構(gòu)來實(shí)

現(xiàn),在自頂向下、逐步細(xì)化的設(shè)計(jì)過程中,首先要考慮全局目標(biāo),而不是細(xì)節(jié)。在

程序設(shè)計(jì)中模塊化和結(jié)泡化可以同時(shí)使用,一個(gè)模塊的內(nèi)部結(jié)構(gòu)也要符合結(jié)構(gòu)化設(shè)

il原則。

6、下列特征中不是面向?qū)ο蠓椒ǖ闹饕卣鞯氖?)。

A、多態(tài)性

B、繼承

C、封裝性

D、模塊化

標(biāo)準(zhǔn)答案:D

知識(shí)點(diǎn)解析:面向?qū)ο鬀]計(jì)方法與面向過程設(shè)計(jì)方法有本質(zhì)的不同,其基本原理

是:使用現(xiàn)實(shí)世界的概念抽象地思考問題從而自然地解決問題C其特點(diǎn)包括:分類

性、多態(tài)性、封裝性、模塊獨(dú)立性、繼承和多態(tài)性等。模塊化是結(jié)構(gòu)化程序設(shè)計(jì)的

特點(diǎn)。

7、有下列二叉樹,對(duì)此二叉樹中序遍歷的結(jié)果為()。

A、BDYEACFXZ

B、DYBEAFCZX

C、ABCDEFXYZ

D、ABDYECFXZ

標(biāo)準(zhǔn)答案:B

知識(shí)點(diǎn)解析:對(duì)二叉樹的中序遍歷是指:首先遍歷左子樹,然后訪問根結(jié)點(diǎn),最后

遍歷右子樹。在遍歷左、右子樹時(shí),注意依舊按照“左子樹一根結(jié)點(diǎn)一右子樹”的順

序。本題的遍歷順序是這樣的:①首先訪問左子樹:BDEY:②在左子樹BDEY

中,也按中序遍歷,先訪問左子樹DY;在左子樹DY中,也按中序遍歷,先訪問

左子樹,左子樹沒有,則訪問根結(jié)點(diǎn)D,然后訪問右子樹Y;③接著訪問根B,

再訪問右子樹E;④訪訶左子樹BDEY后,接著訪問根結(jié)點(diǎn)八,接著訪問右子樹

CFXZ;⑤右子樹CFXZ的訪問順序同理可得:FCZXo

8、下列不屬于軟件工程的3個(gè)要素的是()。

A、32具

B、過程

C、方法

D、環(huán)境

標(biāo)準(zhǔn)答案:D

知識(shí)點(diǎn)解析?:軟件工程包括3個(gè)要素,即方法、工具和過程。方法是完成軟件工程

項(xiàng)目的技術(shù)手段:工具支持軟件的開發(fā)、管理和文檔生成:過程支持軟件開發(fā)的各

個(gè)環(huán)節(jié)的控制、管理。

9、設(shè)計(jì)軟件結(jié)構(gòu)是在軟件生命周期的(》

A、軟件定義期

B、軟件開發(fā)期

C、軟件維護(hù)期

D、以上三個(gè)都不是

標(biāo)準(zhǔn)答案:B

知識(shí)點(diǎn)解析:設(shè)計(jì)軟件結(jié)構(gòu)是在軟件概要設(shè)計(jì)階段進(jìn)行的,而概要設(shè)計(jì)屬于軟件開

發(fā)期。

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

A、PAD

B、PFD

C、N-S

D、DFD

標(biāo)準(zhǔn)答案:D

知識(shí)點(diǎn)解析:需求分析常用的工具有數(shù)據(jù)流圖(DFD)、數(shù)據(jù)字典(DD)、判定樹和判

定表。PAD(問題分析圖)、PFD(程序流程圖)、N-S(盒式圖)都是詳細(xì)設(shè)計(jì)的常用工

具,不是需求分析的工具。

二、選擇題(2分)(本題共30題,每題7.0分,共30

分。)

11、下列敘述中正確的是()。

A、C程序由函數(shù)組成

B、C程序由主函數(shù)構(gòu)成

C、C程序由函數(shù)和過程構(gòu)成

D、在C程序中無論是整數(shù)還是實(shí)數(shù),都可以正確無誤的表示出來

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:本題涉及C語言最基本的兩個(gè)知識(shí)點(diǎn):①C程序是由函數(shù)構(gòu)成的,

有且僅有一個(gè)主函數(shù),也可以有其他的函數(shù);②整數(shù)在允許的范圍內(nèi)可以準(zhǔn)確無

誤的表示出來,但計(jì)算機(jī)的存儲(chǔ)能力有限,不能表示無限精度的實(shí)數(shù)。

12、設(shè)有定義下列:inta=1,b=2,c=3,d=4,m=2,n=2;則表達(dá)式(m=a>B)&&(n=c>D)

運(yùn)算后,n的值是()。

A、4

B、3

C、2

D、0

標(biāo)準(zhǔn)答案:C

知識(shí)點(diǎn)解析:在邏輯與&&運(yùn)算中,如果第一個(gè)操作數(shù)為假,則結(jié)果是假,后面的

操作數(shù)不參與運(yùn)算,本題中因?yàn)榈谝粋€(gè)操作數(shù)(m=a>B為假,所以第二個(gè)操作數(shù)

(n=c>d)不參加運(yùn)算,囚此n的值不變。

13、執(zhí)行卜列程序段后,變量a,b,c的值分別是()。inix=5,y=4;inia,b,c;a=(??

x==y++)?x:++y;b=++X;C=y;

A、a=5,b=5,c=5

B、a=4,b=5,c=5

C、a=5,b=6,c=5

D、a=l,b=5,c=6

標(biāo)準(zhǔn)答案:B

知識(shí)點(diǎn)解析:本題考查自加(++)、自減(-)運(yùn)算符的使用。"++i「r',在使用i之

前'先使i的值加1或者減1,再使用此時(shí)的表達(dá)式的值參與運(yùn)算:”,先使

用此時(shí)的i的值參與運(yùn)算,在使用i之后,再使i的值加1或者減1。對(duì)于第1個(gè)

表達(dá)式-x=4,y++=4o兩者相等,-x=y++為真,所以a=x=4,執(zhí)行完此語句后y

的值是5。第2個(gè)表達(dá)式6=++*,x的值先加1,然后賦給b,即b=x+l=5第一個(gè)

表達(dá)式c=y=5o

14、下列程序的輸出結(jié)果是()。main(){inta=l,b=2;printf("%d,%d\n",-a,++B);)

A、1,2

B、1,3

C、0,2

D、0,3

標(biāo)準(zhǔn)答案:D

知識(shí)點(diǎn)解析:本題主要考查自加(++)、自減(-)運(yùn)算符的使用?!?+i,-i”在使用i之

前,先使i的值加1或者減1,然后再使用i此時(shí)的值參與運(yùn)算:“i++,i-”是在使用

i參與表達(dá)式運(yùn)算之后,再使i的值加1或者減1。本題中--a和料b是先執(zhí)行a減1

和b加1操作,再輸出表達(dá)式的值。

15、下列變量聲明合法的是()。

A、short.a=1.4e-1;

B、doubleb=l+3e2.8;

C、longdo=0xfdaL;

D、float2_aaa=le-3;

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:解答本題需了解3個(gè)知識(shí)點(diǎn):①標(biāo)識(shí)符是由字母、數(shù)字或下畫線組

成,并且它的第一個(gè)字符必須是字母或者下畫線;②do是C語言中的一個(gè)關(guān)鍵

字,不能再用做變量名和函數(shù)名:③C語言規(guī)定指數(shù)形式的實(shí)型常量e或E后面

的指數(shù)必須是整數(shù)。

16、在函數(shù)scanf的格式控制中,格式說明的類型與輸入項(xiàng)的類型應(yīng)該對(duì)應(yīng)匹配。

如果類型不匹配,系統(tǒng)將()。

A、不予接收

B、并不給出出錯(cuò)信息,但不能得到正確的數(shù)據(jù)

C、能接收到正確輸入

D、給出出錯(cuò)信息,不予接收輸入

標(biāo)準(zhǔn)答案:B

知識(shí)點(diǎn)解析:在scanf函數(shù)的格式控制中,格式說明的類型與輸入項(xiàng)的類型必須一

一對(duì)應(yīng)匹配,如不匹配將導(dǎo)致數(shù)據(jù)輸入出現(xiàn)錯(cuò)誤,但是系統(tǒng)并不報(bào)錯(cuò)。

17、若有下列定義(設(shè)ini類型變量占2個(gè)字節(jié)):fbalx=123.4567;則下列語句:

printf("x=%5.2f;x);輸出的結(jié)果是()。

A、x=123.46

B、123.4567

C、x=123.4567

D、123.46

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:本題考查printf函數(shù)的格式。“%5.2「格式符中的”「表示以帶小數(shù)點(diǎn)

的形式輸出單精度或者雙精度數(shù);“5”表示指定數(shù)據(jù)輸出寬度為5;“.2”表示指定輸

出數(shù)據(jù)小數(shù)位占2位數(shù),并對(duì)截去的第一位小數(shù)做四舍五入處理。

18、下列程序的輸出結(jié)果是()。#include<stdio.h>main(){inti;for(i=l;i<

=10;i++){if((i*i>=20)&&(i*i<=100))break;)printf("%d\n",i*i);}

A、49

B、36

C、25

D、64

標(biāo)準(zhǔn)答案:C

知識(shí)點(diǎn)解析:本題考查汀語句。當(dāng)執(zhí)行到第一個(gè)滿足(i*i>=20)&&(i*iV=100)這個(gè)

條件的i出現(xiàn)時(shí),通過break語句跳出循環(huán),執(zhí)行下列的printf語句。

19、若執(zhí)行下列的程序時(shí),從鍵盤上輸入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、1

B、4

C、2

D、9

標(biāo)準(zhǔn)答案:B

知識(shí)點(diǎn)解析:本題考查if語句。scanf函數(shù)通過鍵盤讀入a、b的值,a=l,b=2o第

一個(gè)if語句,先判斷條件,發(fā)現(xiàn)aVb條件成立,則s=b=2,s=s*s=4。

20N有下列程序:main(){intt,a=l,b=5,C=-2;while(a>b>C){t=a;a=b;b=t;c++;)

printf("%d,%d,%d",a,b,C);)程序的輸出結(jié)果是()。

A、1,5,0

B、1,5,-2

C、5,1,-1

D、5,1,-2

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:本題考查while循環(huán)。先判斷while循環(huán)的控制表達(dá)式是否成立,發(fā)

現(xiàn)a>b>c不成立,所以不執(zhí)行循環(huán)。直接輸出a、b、c的值。

21運(yùn)行下列程序,若從鍵盤輸入字母“a”,則輸出結(jié)果是()。Charc;c=getchar();

if(c>=,a,&&c<=,g,)c=c+4;elseif(c>=,g,&&c<=,z,)c=c-21;elseprintf("input

error!\n");putchar(C);

A、f

B、t

C>e

D、d

標(biāo)準(zhǔn)答案:C

知識(shí)點(diǎn)解析:首先,getchar函數(shù)通過鍵盤讀入字符3,即c=,a,(其實(shí)c得到的是字

符a的ASCII碼值),然后判斷if語句的控制條件,發(fā)現(xiàn)匕,>=3&&匕,V=,g,成

立,則執(zhí)行下列的語句,c=c+4,c得到的是字符e的ASCII碼值,退出if語句,

通過putchar函數(shù)輸出字符e。

22、在C語言中,函數(shù)調(diào)用時(shí)()。

A、實(shí)參和形參各占獨(dú)立的存儲(chǔ)單元

B、實(shí)參和形參共用存儲(chǔ)單元

C、由系統(tǒng)自動(dòng)確定實(shí)參和形參是否共用存儲(chǔ)單元

D、由用戶指定實(shí)參和形參是否共用存儲(chǔ)單元

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:本題考查函數(shù)調(diào)用時(shí)的參數(shù)傳遞。函數(shù)的形參是函數(shù)定義時(shí)由用戶定

義的形式上的變量,實(shí)參是函數(shù)調(diào)用時(shí),主調(diào)函數(shù)為被調(diào)函數(shù)提供的原始數(shù)據(jù)。在

函數(shù)調(diào)用時(shí),實(shí)參和其所對(duì)應(yīng)的形參分別占用不同的存儲(chǔ)單元,彼此之間不影響。

23、下列程序的輸出結(jié)果是()。#include<stdio.h>intb=2;intfunc(int*A)

{b+=*a;retumb;}main(){inta=l,t=2;t+=func(&A);printf(M%d\n",t);}

A、4

B、5

C、6

D、8

標(biāo)準(zhǔn)答案:B

知識(shí)點(diǎn)解析:本題考查函數(shù)調(diào)用時(shí)的參數(shù)傳遞。在執(zhí)行函數(shù)func時(shí),由于全局定

義了一個(gè)變量b,所以在函數(shù)體中執(zhí)行時(shí)b=2+l=3,最終t=2+3=5。

24、若有定義floata=25,b,*p=&b;,則下列對(duì)賦值語句*p=a;和p=&a;的正確解釋為

()。

A、兩個(gè)語句都是將變量a的值賦予變量p

R、*p=a是使p指向變量a,而p=&n是將變量a的值賦予變量指針p

C、*p=a是將變量a的值賦予變量b,而p=&a是使p指向變量a

D、兩個(gè)語句都是使p指向變量a

標(biāo)準(zhǔn)答案:C

知識(shí)點(diǎn)解析:“P”是指針變量,指向一個(gè)地址:“*p”為p指針?biāo)赶虻刂返膬?nèi)容。

25、若有定義血b[8],%p=b;則p+6表示()。

A、數(shù)組元素b[6]的值

B、數(shù)組元素b[6]的地址

C、數(shù)組元素b[7]的地址

D、數(shù)組元素b[0]的值加上6

標(biāo)準(zhǔn)答案:B

知識(shí)點(diǎn)解析:指針中存放的是變量的地址,指針也可以進(jìn)行增減運(yùn)算,這時(shí)指針移

動(dòng)的最小單位是一個(gè)存儲(chǔ)單元,而不是一個(gè)字節(jié)。所以題中將p+6指的是將指針

向后移動(dòng)了6個(gè)存儲(chǔ)單元,指向b[6],存放的是b[6]的地址。

26、已有定義:chara[尸xyz”,b[]={,x;y;z,};,下列敘述中正確的是()。

A、數(shù)組a和b的長(zhǎng)度相同

B、a數(shù)組長(zhǎng)度小于b數(shù)組長(zhǎng)度

C、a數(shù)組K度大丁b數(shù)組K度

D、上述三種說法都不對(duì)

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:字符數(shù)組川中用字符串常量“xyz”進(jìn)行初始化,字符數(shù)組a[]的長(zhǎng)度

為字符的個(gè)數(shù),所以其值為3,并不包括字符串結(jié)束標(biāo)記)(T;字符串?dāng)?shù)組b□用3

個(gè)字符,X,、丁工富來初始化,所以其字符串的長(zhǎng)度等于3。

27、卜列程序的輸出結(jié)果是()。voidf(int*x,int*y)|intt;t=*x,*x=*y;*y=t;}main()

{inta[8]={l,2,3,4,5,6,7,8},i,*p,*q;p=a;q=&a[7];while(p<q){f(p,q);p++;q-;}for(i=0;i

<8;i+)printf(',%d,';a[i]);}

A、823,4,5,6,7,1

B、5,6,7,8,1,234

C、1,234,5,6,7,8

D、876,5,4,3,2,1

標(biāo)準(zhǔn)答案:D

知識(shí)點(diǎn)解析:函數(shù)f()的功能是對(duì)兩個(gè)數(shù)據(jù)互換。在主函數(shù)中指針變量p和q分別

指向數(shù)組a|8]的首和尾,在while循環(huán)中實(shí)現(xiàn)從首尾開始數(shù)組元素的互換操作。

28、對(duì)兩個(gè)數(shù)組a和b進(jìn)行下列初始化:charm[]=,,1234567H;char

n[]={T,2,3,4,5,6,7};則下列敘述正確的是()。

A、數(shù)組m與數(shù)組n完全相同

B、數(shù)組m與數(shù)組n長(zhǎng)度相同

C、數(shù)組m比數(shù)組n長(zhǎng)1

D、數(shù)組m與數(shù)組n中都存放字符串

標(biāo)準(zhǔn)答案:C

知識(shí)點(diǎn)解析:本題考查字符數(shù)組和字符串賦值給數(shù)組的一些區(qū)別。.語句“char

m[尸”234567”;"定義了一個(gè)字符型數(shù)組并進(jìn)行了初始化,C語言規(guī)定,在字符串的

末尾自動(dòng)加上串結(jié)束標(biāo)汜、0"因此數(shù)組m的長(zhǎng)度是8;而數(shù)組n是按照字符方式

對(duì)數(shù)組進(jìn)行初始化,系統(tǒng)不會(huì)自動(dòng)加上串結(jié)束標(biāo)記'\0',因此數(shù)組n的長(zhǎng)度是7。

29、卜列程序的輸出結(jié)果是()。#include<stdio.h>main()(char

inti,j;i=sizeof(A);j=strlen(A);printf(,,%d,%d,',i,j);}

A、7,7

B、7,6

C、6,6

D、6,7

標(biāo)準(zhǔn)答案:B

知識(shí)點(diǎn)解析:sizeof()函數(shù)的功能是返回字符串所占的字節(jié)數(shù),sWen()函數(shù)的功能是

返回字符串的長(zhǎng)度,其中、(T是一個(gè)轉(zhuǎn)義字符,它占存儲(chǔ)空間,但不計(jì)入串的長(zhǎng)

度。

30、設(shè)變量己正確定義廁下列能正確計(jì)算f=n!的程序段是()。

A^f=0;for(i=l;i<=n;i++)f*=i;

B、f=l;for(i=l;i<n;i++)f*=i;

C、f=l;for(i=n;i>l;i++)f*=i;

D、f=l;for(i=n;i>=2;i-)f*=i;

標(biāo)準(zhǔn)答案:D

知識(shí)點(diǎn)解析:要正確計(jì)算函數(shù)1=1!,由n!的數(shù)學(xué)定義可知n!=n*(n-l)*(n-

2)*……*1。在選項(xiàng)A中,由于f的初值為0,在for循環(huán)語句中,f依次乘以

1,2,3,最后計(jì)算£=出=0,所以選項(xiàng)A不正確。在選項(xiàng)B中,f的初值為1,

在for循環(huán)語句中,f依次乘以1,2,3,……,(n-l)o最后計(jì)算得到f=(n-l)!,所以選項(xiàng)

B不正確。在選項(xiàng)C)中,「的初值為1,在for循環(huán)語句中,f依次乘以

n,n+l,n+2,……,所以選項(xiàng)C)不正確。在選項(xiàng)D)中,f的初值為1,在for循環(huán)語句

中,f依次乘以n,n-l,n-2,......,2。最后計(jì)算£二出,所以選項(xiàng)D)正確。

31、設(shè)有定義:intnl=0,n2,*p=&n2,*q=&nl;,下列賦值語句中與n2=nl;語句等價(jià)

的是()。

A、*p=*q;

B、p=q;

C^*p=&nl;

D、p=*q;

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:在定義指針變量p和q時(shí),分別把變量n2和nl的地址賦給了指針變

量p和q,所以*p和*q中內(nèi)容就分別是變量n2和nl的值,所以語句叩=*q與語句

n2=nl等價(jià)。因此選項(xiàng)A正確。

32、設(shè)己包含頭文件Vstring.h>,下列程序段的運(yùn)行結(jié)果是()。char

si口二{"ACDEF”};chars2[]="ABCH;strcpy(sl,s2);printf("%d",strlen(sl));

A、3

B、4

C、6

D、5

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:頭文件Vstring.h>是字符串處理函數(shù)對(duì)應(yīng)的頭文件,要想調(diào)用C語

言的庫(kù)函數(shù)時(shí),都要在程序中嵌入該函數(shù)對(duì)應(yīng)的頭文件,否則無法使用庫(kù)函數(shù)。

strcpy(sl,s2)把s2中的字符串復(fù)制到si中,所以結(jié)果就為s2的長(zhǎng)度。

33、設(shè)fp為指向某二進(jìn)制文件的指針,且已讀到此文件末尾,則函數(shù)feof(fp)的返

回值為()。

A、EOF

B、非0值

C、0

D、NULL

標(biāo)準(zhǔn)答案:B

知識(shí)點(diǎn)解析:ANSIC提供的feof函數(shù)的功能是判斷fp所指的文件的位置是否已達(dá)

到文件尾,如果達(dá)到文件尾,則feof函數(shù)的值為1,否則為0,表示文件尚未結(jié)

束。

34、下列程序執(zhí)行的輸出結(jié)果是()。#inClude<stdio.h>main(){chara|2||4];

strcpy(a,,'are,,);strcpy(a[1l/you*');a[0][3]='&';printff'%s\n",A);}

A^are&you

B、you

C、are

D、&

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:strcpy(a,"are")中數(shù)組名a代表數(shù)組首地址的地址常量,該操作把a(bǔ)re

復(fù)制到a中,a[0][3]=,&\且strcpy(a[l]Jyou")把you復(fù)制到a[l]中,故輸出a為

“arc&you”。

35、一個(gè)源文件中的外部變量的作用域?yàn)?)。

A、本文件的全部范圍

B、本程序的全部范圍

C、本函數(shù)的全部范圍

D、從定義該變量的位置開始到本文件結(jié)束

標(biāo)準(zhǔn)答案:D

知識(shí)點(diǎn)解析:一個(gè)源文件中的外部變量的作用域是從定義該變量的位置開始到本文

件結(jié)束。

36、下列程序的運(yùn)行結(jié)果是()。#include<stdio.h>#defineADD(x)x+xmain(){int

m=l,n=2,k=3;ints=ADD(m+n)*k;printf("s=%dH,s);}

A、sum=18

B、sum=10

C、sum=9

D、sum=25

標(biāo)準(zhǔn)答案:B

知識(shí)點(diǎn)解析:本題考查帶參數(shù)的宏的定義及相關(guān)運(yùn)算:

S=m+n+m+n*k=1+2+1+2*3=10。

37、當(dāng)說明一個(gè)結(jié)構(gòu)體變量時(shí)系統(tǒng)分配給它的內(nèi)存是()。

A、各成員所需要內(nèi)存量的總和

B、結(jié)構(gòu)中第一個(gè)成員所需的內(nèi)存量

C、成員中占內(nèi)存最大者所需的容量

D、結(jié)構(gòu)中最后一個(gè)成員所需要的內(nèi)存量

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:本題主要考查結(jié)構(gòu)體的內(nèi)存使用:對(duì)結(jié)構(gòu)體而言,結(jié)構(gòu)中不同的成員

分別使用不同的內(nèi)存空間,一個(gè)結(jié)構(gòu)所占內(nèi)存空間的大小是結(jié)構(gòu)中每個(gè)成員所占內(nèi)

存空間大小的總和,結(jié)閡中每個(gè)成員相互獨(dú)立。

38、下列語句段中,正確的是()。

A、struct{intx;floaty;inta|2|;unsignedb[3|;charname|10];);

B>structstu{unsigneda|3|;unsignedb|4];}x;int*p=&x.a;

C^structsu{inta;floatx[4];}y={1,1.0);floatdata=y.x;

D^stmctnd{inta,b;unsignedc[2]=5;);

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:本題主要考查的知識(shí)點(diǎn)是結(jié)構(gòu)類型的概念和定義,結(jié)構(gòu)定義的一般形

式是:struct結(jié)構(gòu)類型名稱{數(shù)據(jù)類型成員名1;數(shù)據(jù)類型成員名2;數(shù)據(jù)類型成

員名n;};slruct為關(guān)鍵字,是結(jié)構(gòu)的標(biāo)識(shí)符;{}中包圍的是組成該結(jié)構(gòu)的成員預(yù);

每個(gè)成員的數(shù)據(jù)類型既可以是簡(jiǎn)單的數(shù)據(jù)類型,也可以是復(fù)雜的數(shù)據(jù)類型。整個(gè)定

義作為一個(gè)完整的語句,用分號(hào)結(jié)束。結(jié)構(gòu)類型名稱是可以省略的,此時(shí)定義的結(jié)

構(gòu)稱為無名結(jié)構(gòu)。

39、設(shè)x=011050,則x=x&01252的值是()。

A、0000001000101000

B、1111110100011001

C、0000001011100010

D、1100000000101000

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:本題主要考查按位與運(yùn)算,x=011050的二進(jìn)制形式為

0001001000101000,01252的二進(jìn)制形式為0000001010101010,兩者相與得

0000001000101000o

40、已知函數(shù)fread.的調(diào)用形式為fread(buffer,size,count,fp);,其中buffer代表的是

()。

A、存放讀入數(shù)據(jù)項(xiàng)的存儲(chǔ)區(qū)

B、一個(gè)指向所讀文件的文件指針

C、一個(gè)指針,是指向輸入數(shù)據(jù)存放在內(nèi)存中的起始地址

D、一個(gè)整型變量,代表要讀入的數(shù)據(jù)項(xiàng)總數(shù)

標(biāo)準(zhǔn)答案:C

知識(shí)點(diǎn)解析:數(shù)據(jù)塊讀取函數(shù)調(diào)用形式:fread(buffer,size,count,fp)。fread函數(shù)參數(shù)

說明:“buffer”是一個(gè)指針,對(duì)fread來說,它是讀入數(shù)據(jù)的存放地址。對(duì)fwriie來

說,是要輸出數(shù)據(jù)的地址?!皊ize”是要讀寫的字節(jié)數(shù):“count”是要進(jìn)行讀寫多少個(gè)

size字節(jié)的數(shù)據(jù)項(xiàng);“fp”是指文件型指針。

三、公共基礎(chǔ)填空題(本題共5題,每題7.0分,共5

分。)

41、在算法的4個(gè)特性中,算法必須能在執(zhí)行有限個(gè)步驟之后終止指的是算法的

______特性。

標(biāo)準(zhǔn)答案:有窮性

知識(shí)點(diǎn)解析:算法的4個(gè)基本特性包括:可靠性、確定性、有窮性和擁有足夠的情

報(bào),其中,算法的有窮性指的是算法必須在有限的時(shí)間內(nèi)完成,即算法必須在執(zhí)行

有限個(gè)步驟之后終止。

42、按照邏輯結(jié)構(gòu)分類,結(jié)構(gòu)可以分為線性結(jié)構(gòu)和非線性結(jié)構(gòu),棧屬于o

標(biāo)準(zhǔn)答案:線性結(jié)構(gòu)

知識(shí)點(diǎn)解析:數(shù)據(jù)的邏輯結(jié)構(gòu),是指數(shù)據(jù)元素之間的邏輯關(guān)系,分為線性結(jié)構(gòu)和非

線性結(jié)構(gòu),常見的線性結(jié)構(gòu)有線性表、棧和隊(duì)列等,常見的非線性結(jié)構(gòu)有樹、二叉

樹等。

43、棧中允許進(jìn)行插入和刪除的一端叫做。

標(biāo)準(zhǔn)答案:棧頂

知識(shí)點(diǎn)解析:棧是限定在表的一端進(jìn)行插入和刪除操作的線性表。在表中,允許插

入和刪除的一端叫做“棧頂”,不允許插入和刪除的一端叫做“棧底

44、在面向?qū)ο蟪绦蛟O(shè)計(jì)中,從外面看只能看到對(duì)象有外部特征,而不知道也無須

知道數(shù)據(jù)的具體結(jié)構(gòu)以及實(shí)現(xiàn)操作的算法,這稱為對(duì)象的。

標(biāo)準(zhǔn)答案:封裝性

知識(shí)點(diǎn)解析:對(duì)象具有下列5個(gè)基本特點(diǎn):①標(biāo)識(shí)唯一性;②分類性;③多態(tài)

性;④封裝性;⑤模塊獨(dú)立性好。其中,封裝性是指從外面看只能看到對(duì)象的外

部特征,對(duì)象的內(nèi)部特征即處理能力的實(shí)行和內(nèi)部狀態(tài),對(duì)外是不可見的,對(duì)象的

內(nèi)部狀態(tài)只能由其自身改變。

45、軟件工程研究的內(nèi)容主要包括:技術(shù)和軟件工程管理。

標(biāo)準(zhǔn)答案:軟件開發(fā)

知識(shí)點(diǎn)解析:軟件工程包括軟件開發(fā)技術(shù)和軟件工程管理。其中軟件開發(fā)技術(shù)包

括:軟件開發(fā)方法學(xué)、開發(fā)過程、開發(fā)工具和軟件工具環(huán)境,其主體內(nèi)容是軟件開

發(fā)方法學(xué):軟件工程管理包括:軟件管理學(xué)、軟件工程經(jīng)濟(jì)學(xué)、軟件心理學(xué)等內(nèi)

容。

四、填空題(本題共10題,每題1.0分,共10分。)

46、表示“整數(shù)x的絕對(duì)值大于5”時(shí)值為“假”的C語言表達(dá)式是。

標(biāo)準(zhǔn)答案:(x>-5)&&(xV5)

知識(shí)點(diǎn)解析:本題考查基本邏輯表達(dá),“整數(shù)x的絕對(duì)值大于5”時(shí)值為“假”,即整

數(shù)x的絕對(duì)值小于等于5,也就是整數(shù)x要大于等于-5且要小于等于5。這里“且”

用“與(&&)”表示,所以C語言表達(dá)式為:(x>-5)&&(xV5)。

47、設(shè)y為血型變量,請(qǐng)寫出描述“y是偶數(shù)”的表達(dá)式。

標(biāo)準(zhǔn)答案:(y%2)==0

知識(shí)點(diǎn)解析:因符合偶數(shù)的條件是對(duì)2取余為0,所以要描述y是偶數(shù)的表達(dá)式是

(y%2)==0o

48、下列程序的運(yùn)行結(jié)果是omain(){intx=l,y=2,z=3;printf(,,%d,',,x<

y?y:x);primf("%d,",z<y?x++:y++);primf("%d,%d,',x,y);}

標(biāo)準(zhǔn)答案:2,2,1,3

知識(shí)點(diǎn)解析:本題考查++,--運(yùn)算符和條件運(yùn)算符的使用?!氨磉_(dá)式1?表達(dá)式2:

表達(dá)式3”的功能是:表達(dá)式1的值若非0,則計(jì)算表達(dá)式2的值,且表達(dá)式2的值

為最終結(jié)果;若表達(dá)式1的值為0,則計(jì)算表達(dá)式3的值,且為最終結(jié)果。本題

中,x=l,y=2時(shí),x<y成立,輸出y的值2;y=2,z=3時(shí),zVy不成立,執(zhí)行

y++,輸出2后y值增1,所以最后一個(gè)輸出x的值不變?yōu)?,y的值為增加后的

3o

49、下列程序段中循環(huán)體的執(zhí)行次數(shù)是。a=15;b=0do{b+=2;a-

=2+b;}while(a>=0);

標(biāo)準(zhǔn)答案:3

知識(shí)點(diǎn)解析:本題考查do…while語句形式:do循環(huán)體while表達(dá)式首先執(zhí)行循

環(huán)體語句,然后檢測(cè)循環(huán)控制條件表達(dá)式的值,若為真,則重復(fù)執(zhí)行循環(huán)體語句,

否則退出循環(huán)。第1次循環(huán):b+=2,b=2,a-=2+b,a=U:第2次循環(huán);b=4,

a=5;第3次循環(huán):b=6,a=-3,此時(shí)再判斷循環(huán)條件不滿足,退出循環(huán)。

50、語句“int(*ptr)();”的含義是是指向函數(shù)的指針,該函數(shù)返回一個(gè)血型數(shù)

據(jù)。

標(biāo)準(zhǔn)答案:ptr

知識(shí)點(diǎn)解析:本題考查函數(shù)指針的概念

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論