二級C語言筆試-58-真題(含答案與解析)-交互_第1頁
二級C語言筆試-58-真題(含答案與解析)-交互_第2頁
二級C語言筆試-58-真題(含答案與解析)-交互_第3頁
二級C語言筆試-58-真題(含答案與解析)-交互_第4頁
二級C語言筆試-58-真題(含答案與解析)-交互_第5頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

二級C語言筆試-58(總分100,做題時間90分鐘)一、選擇題1.

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

)。A

多態(tài)性B

繼承C

封裝性D

模塊化

分值:2答案:D[解析]面向?qū)ο笤O(shè)計方法與面向過程設(shè)計方法有本質(zhì)的不同,其基本原理是:使用現(xiàn)實世界的概念抽象地思考問題從而自然地解決問題.其特點包括:分類性、多態(tài)性、封裝性、模塊獨立性、繼承和多態(tài)性等。模塊化是結(jié)構(gòu)化程序設(shè)計的特點。2.

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

)。A

(a<=b)&&(b<=c)B

(a<=b)and(b<=c)C

(a<=b<=c)D

(a<=b)&(b<=

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

若a、b、c、d都是int型變量且都已經(jīng)正確賦初值,則下列不正確的賦值語句是(

)A

a+d;B

a++;C

a=b=c=d=100;D

a=(b=3)+(d=5);

分值:2答案:A[解析]C語言規(guī)定,賦值號的右邊可以是一個賦值表達式,因此選項C)、選項D)正確;在選項B)中,a++是一個自加1的表達式,a被重新賦值,因此它是一個合法的賦值表達式:選項A)中,a+d是一個算術(shù)表達式,雖然最后有一個分號,但這個表達式中沒有賦值操作,因此它不是一條賦值語句。4.

下列敘述中不正確的是(

)。A

在C語言中調(diào)用函數(shù)時,只能把實參的值傳送給形參,形參的值不能傳送給實參B

在C的函數(shù)中,最好使用全局變量C

外部變量可以在函數(shù)之間傳遞數(shù)據(jù)D

自動變量實質(zhì)上是一個函數(shù)內(nèi)部的局部變量

分值:2答案:B[解析]編譯時,編譯系統(tǒng)不為局部變量分配內(nèi)存單元,而是在程序運行中,當(dāng)局部變量所在的函數(shù)被調(diào)用時,編譯系統(tǒng)根據(jù)需要要臨時分配內(nèi)存,調(diào)用結(jié)束空間釋放;全局變量一經(jīng)定義,編譯系統(tǒng)為其分配固定的內(nèi)存單元,在程序運行的自始至終都占用固定的單元。在考慮內(nèi)存不定的情況下,最好使用全局變量。5.

下列選項中,值為1的表達式是(

)。A

1-'0'B

1-'\0'C

'1'-0D

'\0'-'0'

分值:2答案:B[解析]在C程序中,字符量可參與任何整數(shù)運算。字符參與運算時,首先要將字符轉(zhuǎn)換為對應(yīng)的ASCII碼值再參與整數(shù)運算。字符'1'對應(yīng)的ASCII碼值是49,字符'0'對應(yīng)的ASCII碼值是48,字符'\0'是字符串結(jié)束標(biāo)識符NULL,其對應(yīng)的ASCII碼值是0。6.

定義下列結(jié)構(gòu)體(聯(lián)合)數(shù)組:

structst

charname[15];

intage;

a[10]="ZHAO",14,"WANG",15,"LIU",16,"ZHANG",17;

執(zhí)行語句printf["%d,%c",a[2].age,*(a[3].name+2))的輸出結(jié)果為(

)。A

15,AB

16,HC

16,AD

17,H

分值:2答案:C[解析]本題主要考查結(jié)構(gòu)體數(shù)組。a[2].age為結(jié)構(gòu)體a[2]的age成員,即160a[3].name為指向結(jié)構(gòu)體a[3]的name成員的第一個元素的指針,即指向“Z”,(a[3].name+2)將指針后移兩位指向第三個元素“A”,*(a[3]).name+2))是取指針?biāo)赶虻刂返膬?nèi)容。7.

下列程序的運行結(jié)果是(

)。

main()

intx=1,y=3,a=0;

while(x++!=(y-=1))

a+=1;

if(y<x)break;

printf("%d,%d,%d\n",x,y,A

;

A)

分值:2答案:D[解析]本題考查while循環(huán)。第一次循環(huán),先拿x的值和(y-1)比較,此時x=1,y-1-2,循環(huán)條件成立,比較完將x的值加1,此時x=2,進入循環(huán),a-a+1=1,判斷if語句的控制條件是否成立,y<x不成立,接著執(zhí)行下一次循環(huán)。第二欲循環(huán),先拿x的值和(y-1)比較,此時x-2,y-1=1,循環(huán)條件成立,比較完將x的值加1,此時x=3,進入循環(huán),a=a+1=2,判斷if語句的控制條件是否成立,y<x成立,執(zhí)行break語句退出循環(huán)。8.

有下列程序:

main()

intx=5;

do

printf("%d",x-=4);

while(!(--x));

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

)。A

1B

20C

14D

死循環(huán)

分值:2答案:C[解析]本題考查do…while循環(huán)。①執(zhí)行printf語句,x=x-41,輸出1,判斷while循環(huán)的控制條件,--x=0,則(!(--x))非零,循環(huán)條件成立,執(zhí)行下一次循環(huán);②執(zhí)行printf語句,x=x-4=-4,輸出-4,判斷while循環(huán)的控制條件,--x=-5,則(!(--x))為零,循環(huán)條件不成立,結(jié)束循環(huán)。9.

在C語言中,下列關(guān)于文件操作的敘述正確的是(

)。A

對文件操作必須先關(guān)閉文件B

對文件操作必須先打開文件C

對文件操作順序沒有統(tǒng)一規(guī)定D

以上全錯

分值:2答案:B[解析]本題考查對文件的操作。文件打開后才可以對文件進行操作,使用結(jié)束后要關(guān)閉文件。對文件的操作都是順序讀寫,即從文件的第一個數(shù)據(jù)開始,依次進行讀寫。10.

執(zhí)行語句printf("%u\n",+12345)的輸出結(jié)果是(

)。A

12345B

0C

-1D

非定值

分值:2答案:A[解析]“%u”表示輸出無符號的整數(shù)(注意:如果輸出值前有符號,將自動轉(zhuǎn)化為相應(yīng)的無符號數(shù)輸出)。11.

有以下程序:

#include<stdio.h>

main()

inta=6,b=7,m=1;

switch(a%2)

case0:m++;break;

case1:m++;

switch(b%2)

defaut:m++;

case0:m++;break;

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

A

1B

2C

3D

4

分值:1答案:B[解析]本題考查swish語句。第一個switch語句,因為a=6,a%2=0,所以執(zhí)行case0,將m加1,遇到break語句跳出switch語句,結(jié)束循環(huán)。12.

有下列程序:

fun(intx)

intp;

if(x==0‖x==1)return(3);

p=x-fun(x-2);

returnp;

main()

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

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

)。A

7B

3C

2D

.0

分值:1答案:C[解析]因為在函數(shù)fun(intx)中,如果參數(shù)x等于0或1時,返回值3。否則p=x-fun(x-2)這是一個遞歸函數(shù),所以在主函數(shù)調(diào)用fun(7)時,其過程為:

"fun(7)=7-fun(5)=7-(5-fun(3))=7-(5-(3-fun(1)))=7-(5-(3-3))=7-5=2",所以最后的輸出結(jié)果為2。13.

利用fseek函數(shù)可實現(xiàn)的操作是(

)。A

實現(xiàn)文件的順序讀寫B(tài)

改變文件的位置指針C

實現(xiàn)文件的隨機讀寫D

以上答案均正確

分值:1答案:D[解析]改變文件位置指針函數(shù)fseek()的功能是:①改變文件的位置指針;②輔助實現(xiàn)文件的順序讀寫;③輔助實現(xiàn)文件的隨機讀寫。14.

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

)。

A

B

C

D

分值:1答案:B[解析]對二叉樹的中序遍歷是指:首先遍歷左子樹,然后訪問根結(jié)點,最后遍歷右子樹。在遍歷左、右子樹時,注意依舊按照“左子樹—根結(jié)點—右于樹”的順序。本題的遍歷順序是這樣的;

①首先訪問左子樹:BDEY;②在左子樹BDEY中,也按中序遍歷,先訪問左于樹DY;在左子樹DY中,也按中序遍歷,先訪問左子樹,左子樹沒有,則訪問根結(jié)點D,然后訪問右子樹Y;③接著訪問根B,再訪問右子樹E;④訪問左子樹BDEY后,接著訪問根結(jié)點A,接著訪問右于樹CFXZ:⑤右子樹CFXZ的訪問順序同理可得:FCZX。15.

若有定義:"inta[2][3];"則對a數(shù)組的第i行第j列無素的正確引用為(

)。A

*(*(a+i)+j)B

(a+i)[j]C

*(a+i+j)D

*(a+i)+j

分值:1答案:A[解析]本題考查如何通過地址來引用數(shù)組元素。通過地址來引用數(shù)組元素的方法有下列5種:

①a[i][j];②*(a[i]+j);③*(*(a+i)+j);④*(a[i])[j];⑤*(&a[0][0]+3*i+j)。16.

若有下列說明和語句,則對結(jié)構(gòu)體變量st中成員i的引用方式不正確的是(

)。

Structstu

inti;

intname;

st,*p;

p=&st;A

st.iB

*p.iC

(*p).iD

p->i

分值:1答案:B[解析]本題主要考查結(jié)構(gòu)指針:p=&st,訪問結(jié)構(gòu)體的成員,可以通過結(jié)構(gòu)變量訪問,即st.1,也可以用等價的指針形式,即(*p).i和p->i。17.

下列關(guān)于棧的描述中錯誤的是(

)。A

棧是先進先出的線性表B

棧只能順序存儲C

棧具有記憶作用D

對棧的插入與刪除操作中,不需要改變棧底指針

分值:1答案:B[解析]棧是限定只能在表的一端進行插入和刪除操作的線性表,入棧和出棧都是在棧頂進行,它們的操作特點是先進后出,因此具有記憶作用。??梢圆捎庙樞虼鎯?,也可以采用鏈?zhǔn)酱鎯Α?8.

下列敘述中錯誤的是(

)。A

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

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

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

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

分值:1答案:B[解析]數(shù)據(jù)的存儲結(jié)構(gòu)分為順序結(jié)構(gòu)和鏈?zhǔn)浇Y(jié)構(gòu),一個數(shù)據(jù)的邏輯結(jié)構(gòu)可以有多種存儲結(jié)構(gòu)。順序結(jié)構(gòu)中數(shù)據(jù)元素所占的存儲空間是連續(xù)的,而鏈?zhǔn)酱鎯Y(jié)構(gòu)中,數(shù)據(jù)元素所占的存儲空間不一定是連續(xù)的。數(shù)據(jù)的存儲結(jié)構(gòu)與數(shù)據(jù)的處理效率密切相關(guān)。19.

下列敘述中錯誤的是(

)。A

線性表是由n個元素組成的一個有限序列B

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

線性表的所有結(jié)點有且僅有一個前件和后件D

線性表可以是空表

分值:1答案:C[解析]線性表是一種線性結(jié)構(gòu),由n(n≥0)個元素組成,所以線性表可以是空表。但是在線性表中,第一個結(jié)點沒有前件,最后一個結(jié)點沒有后件,其他結(jié)點有且只有一個前件和后件,所以選項C)是錯誤的。20.

下列選項中不會引起二義性的宏定義是(

)。A

#defineS(x)X*XB

#defineS(x)(x)*(x)C

#defineS(x)(x*x)D

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

分值:1答案:D[解析]本題考查帶參數(shù)的宏的替換。有些參數(shù)表達式必須加括號,否則,在實參表達式替換時,會出現(xiàn)錯誤。21.

若有"doublea;",則正確的輸入語句是(

)。A

scanf("%1f",a);B

scanf("%f",&a);C

scanf("%1f",&a)D

scanf("%1e",&a);

分值:2答案:D[解析]函數(shù)scanf()的調(diào)用形式是:scanf(格式字符串,輸入項地址表)。其中,“格式字符串”是要輸入的變量的格式符;“輸入項地址表”是要輸入的變量的地址。

本題中定義變量a為雙精度型變量,雙精度變量的格式符為“1e”;變量的地址用取地址符“&”加變量名表示,如變量a的地址為“&a”。22.

下列程序的輸出結(jié)果是(

)。

#include<stdio.h>

main()

inta=4;

printf("%d\n",(a+=a-=a*A

);

&nbs

分值:2答案:D[解析]表達式a+=a-=a*a看起來復(fù)雜,其實將它分成兩個表達式來計算就簡單了:①第一個表達式(a-=a*a)=(a-a-a*a=-2):②第二個表達式(a+=a-=a*a)=(a=a+a=-24)。23.

有下列程序:

#include<stdio.h>

main()

charc1,c2,c3,c4,c5,c6;

scanf("%c%c%c%c",&c1,&c2,&c3,&c4);

c5=getchar();c6=getchar();

putchar(c1);putchar(c2);

printf("%c%c\n",c5,c6);

程序運行后,若從鍵盤輸入(從第1列開始)

123<CR>

45678<CR>

則輸出結(jié)果是(

)。A

1267B

1256C

1278D

1245

分值:2答案:D[解析]當(dāng)用scanf函數(shù)從鍵盤愉入數(shù)據(jù)時,每行數(shù)據(jù)的末尾按下回車鍵(Enter鍵)之前,可以任意修改。但按下回車鍵putchar(c1)(Enter鍵)之后,scanf函數(shù)即接受了這一行數(shù)據(jù),不能再回去修改。所以本題中,當(dāng)輸入123<CR>時,變量c1、c2、c3的值分別為1、2、3,當(dāng)輸入45678<CR>時,變量c5、c6的值4和5。所以用輸出函數(shù)putchar(c1)輸出1,putchar(c2)輸出2,printf("%c%c\n,c5,c6)輸出45。所以選項D)為正確答案。24.

若有運算符:>、*=、<<、%、sizeof,則它們按優(yōu)先級(由低至高)的正確排列次序為(

)。A

*=<<

%

sizeofB

<<

*=

%

sizeofC

%=

<<

sizeof

%D

*=

<<

%

sizeof

分值:2答案:D[解析]本題主要考查算術(shù)運算的優(yōu)先級。順序如下;

*=、>、<<、%、sizeof的優(yōu)先級依次遞增。25.

下列不屬于軟件工程的3個要素的是(

)。A

工具B

過程C

方法D

環(huán)境

分值:2答案:D[解析]軟件工程包括3個要素,即方法、工具和過程。方法是完成軟件工程項目的技術(shù)手段;工具支持軟件的開發(fā)、管理和文檔生成;過程支持軟件開發(fā)的各個環(huán)節(jié)的控制、管理。26.

下列程序的輸出結(jié)果是(

)。

#include<stdio.h>

intfun(intx)

intp;

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

return3;

else

p=x-fun(x-2);

returnp;

voidmain()

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

A

5B

3C

7D

1

分值:2答案:A[解析]本題考查函數(shù)的遞歸調(diào)用。在函數(shù)遞歸調(diào)用時,fun(5):a=5-fun(3)->fun3=a=3-fun(1)->fun(1):a-3,反推回去fun(3):a=3-3=0->fun(5):a=5-0=5,最后的計算結(jié)果為5。27.

下列選項中,當(dāng)x為大于1的奇數(shù)時,值為0的表達式是(

)。A

x%2==1B

x/2C

x%2!=0D

x%2==0

分值:2答案:D[解析]因為x的值為大于1的奇數(shù),所以x除以2的余數(shù)等于1。所以選項D)等于關(guān)系表達式的結(jié)果為假,即等于0。28.

下列程序的輸出結(jié)果是(

)。

point(char*pt);

main()

charb[4]='a','c','s','f,*pt=b;

pt=point(pt);

printf("%c\n",*pt);

point(char*p)

p+=3;

returnp;

A

sB

cC

fD

a

分值:2答案:C[解析]本題考查函數(shù)調(diào)用時的參數(shù)傳遞。函數(shù)point的參數(shù)為字符指針,當(dāng)執(zhí)行函數(shù)point時,剛開始指針p指向“a”,經(jīng)過+3操作后,指針p指向“f”所以最后的輸出結(jié)果是f。29.

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

)。A

軟件定義期B

軟件開發(fā)期C

軟件維護期D

以上3個都不是

分值:2答案:B[解析]設(shè)計軟件結(jié)構(gòu)是在軟件概要設(shè)計階段進行的,而概要設(shè)計屬于軟件開發(fā)期。30.

字符串"\\\"ABCDEF\"\\"的長度是(

)。A

15B

10C

7D

8

分值:2答案:B[解析]本題涉及字符串最基本的兩個概念:①字符串的長度是指字符串中字符的個數(shù),但不包括字符串結(jié)束符;②以反斜杠“\”開頭的特殊字符序列,意思是把反斜杠后面的字符序列轉(zhuǎn)換成特定的含義,而不是原來的含義,不包含在字符串長度之內(nèi),“\”連同后面的字符為一個長度。31.

下列程序的輸出結(jié)果是(

)。

#include<stdio.h>

voidmain()

inta=0,b=1,c=2;

if(++a>0‖++b>0)

++c;

printf("%d,%d,%d",a,b,c);

A

0,1,2B

1,2,3C

1,1,3D

1,2,2

分值:2答案:C[解析]本題考查if語句。先判斷if語句的條件是否成立,++a=1>0,此條件成立,又因為是進行邏輯或運算,在已知其中一個運算對象為真的情況下,不必判斷另外一個運算符的真假,即不進行++b操作,就可以直接得出整個表達式的值為邏輯1,執(zhí)行下列的++c。32.

下列工具中為需求分析常用工具的是(

)。A

PADB

PFDC

N-SD

DFD

分值:2答案:D[解析]需求分析常用的工具有數(shù)據(jù)流圖(DFD)、數(shù)據(jù)字典(DD)、判定樹和判定表。PAD(問題分析圖)、PFD(程序流程圖)、N-S(盒式圖)都是詳細設(shè)計的常用工具,不是需求分析的工具。33.

下列說法正確的是(

)。A

一個C程序可以有多個主函數(shù)B

一個C語言的函數(shù)中只允許有一對花括號C

C程序的書寫格式是自由的,一個語句可以寫在一行上,也可以寫在多行內(nèi)D

在對C程序進行編譯時,可以發(fā)現(xiàn)注釋行中的拼寫錯誤

分值:2答案:C[解析]本題涉及C語言基本的3個知識點,①C語言規(guī)定一個程序只允許有一個主函數(shù),一個函數(shù)內(nèi)可以允許有多個花括號;②C語言的標(biāo)識符是由字母、數(shù)字、下畫線組成的,可以是大寫字母,而且標(biāo)識符區(qū)分字母的大小寫:③C程序的注釋部分僅僅是方便程序員閱讀,提高程序的可讀性和可移植性,它并不參與程序的編譯,所以編譯器也就不會發(fā)現(xiàn)注釋行中的錯誤。34.

若有下列定義,則對a數(shù)組無素地址的正確引用是(

)。

inta[5],*p=a;A

p+5B

*a+1C

&a+1D

&a[0]

分值:2答案:D[解析]本題考查如何引用數(shù)組元素的地址。

選項A)中,p+5引用的是a[5]的地址,而數(shù)組a只有5個元素,即a[0]、a[1]、a[2]、a[3]、a[4],所以引用錯誤;選項B)中,*a+1指的是將數(shù)組a的第一個元素加1;選項C)中,這種引用方式錯誤;選項D)中,&a[0]引用的是數(shù)組的首地址。35.

下列程序的輸出結(jié)果是(

)。

#include<stdio.h>

#include<string.h>

main()

chara[]="\n123\\";

printf("%d,%d\n",strlen(A

,sizeof(a));

分值:2答案:A[解析]轉(zhuǎn)義字符'\n'表示換行,'\\'表示反斜杠,函數(shù)strlen()是計算字符串的長度,不包括文件結(jié)束標(biāo)志('\0'),函數(shù)sizeof()統(tǒng)計字符串所占的字節(jié)數(shù)。36.

已有定義int(*q)(),指針q可以(

)。A

指向函數(shù)的入口地址B

代表函數(shù)的返回值C

表示函數(shù)的類型D

表示函數(shù)返回值的類型

分值:2答案:A[解析]本題考查的是指向函數(shù)的指針。函數(shù)指針的定義方式是:類型標(biāo)識符(*指針變量名)()。其中,“類型標(biāo)識符”為函數(shù)返回值的類型;“指針”指向函數(shù)的入口地址。37.

下列敘述中正確的是(

)。A

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

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

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

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

分值:2答案:C[解析]在模塊化程序設(shè)計中,模塊之間的聯(lián)系可以通過程序的控制結(jié)構(gòu)來實現(xiàn),在自頂向下、逐步細化的設(shè)計過程中,首先要考慮全局目標(biāo),而不是細節(jié)。在程序設(shè)計中模塊化和結(jié)構(gòu)化可以同時使用,一個模塊的內(nèi)部結(jié)構(gòu)也要符合結(jié)構(gòu)化設(shè)計原則。38.

設(shè)有下列語句

inta=1,b=2,c;

c=a^(b<<2);

執(zhí)行后,C的值為(

)。A

6B

7C

8D

9

分值:2答案:D[解析]變量b的初值等于2,所以表達式b<<2表示b的值二進制左移兩位,即擴大4倍,所以變量b的等于8。然后與a的值1進行異或運算,得9。39.

對長度為n的線性表進行順序查找,在最壞情況下需要比較的次數(shù)為(

)。A

125B

n/2C

nD

n+1

分值:2答案:C[解析]對線性表進行順序查找時,從表中的第一個元素開始,將給定的值與表中逐個元素的關(guān)鍵字進行比較,直到兩者相符,查找到所要找的元素為止。在最壞情況下,要查找的元素是表的最后一個元素或查找失敗,這兩種情況都需要將這個元素與表中的所有元素進行比較,因此比較次數(shù)為n。40.

若變量已正確定義,下列正確的程序段是(

)。A

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

while((ch=getchar())=='\n')putchar(ch);C

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

while((ch=getchar())!='\n')putchar(ch);

分值:2答案:D[解析]本題考查兩個知識點:①C語言用'\n'這個字符常量表示換行;②函數(shù)getchar()的作用是從終端輸入一個字符,當(dāng)遇到換行時結(jié)束輸入。二、填空題1.

算法的復(fù)雜度主要包括時間復(fù)雜度和______復(fù)雜度。

分值:2答案:空間[解析]衡量一個算法的復(fù)雜度有兩個指標(biāo):時間復(fù)雜度和空間復(fù)雜度。前者用來衡量執(zhí)行算法時所需要的計算工作量,而后者用來衡量執(zhí)行算法所需要的存儲空間。2.

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

分值:2答案:線性結(jié)構(gòu)[解析]數(shù)據(jù)的邏輯結(jié)構(gòu)是指數(shù)據(jù)元素之間的邏輯關(guān)系,分為線性結(jié)構(gòu)和非線性結(jié)構(gòu)。常見的線性結(jié)構(gòu)有線性表、棧和隊列等,常見的非線性結(jié)構(gòu)有樹、二叉樹等。3.

樹中度為零的結(jié)點稱為______。

分值:2答案:葉子結(jié)點[解析]樹中度為零的結(jié)點,也就是沒有后件的結(jié)點,稱為葉子結(jié)點。4.

在面向?qū)ο蠓椒ㄖ?,類之間共享屬性和方法的機制稱為______。

分值:2答案:繼承[解析]在面向?qū)ο蟮某绦蛟O(shè)計方法中,某些屬性和方法是可以共享的,由于類從父類中繼承而來,這樣提高了軟件的可重用性。5.

軟件是程序、數(shù)據(jù)和______的集合。

分值:2答案:相關(guān)文檔[解析]計算機軟件是計算機系統(tǒng)中與硬件相互依存的另一部分,是包括程序、數(shù)據(jù)及相關(guān)文檔的完整集合。6.

若x和a均是int型變量,則計算完x=(a=4,6*2)后的x值為______。

分值:2答案:12[解析]x=(表達式1,表達式2,…)的形式,結(jié)果為最后一個表達式的值:x=(a=4,6*2)=2*6=12。7.

若a是int型變量,則下列表達式的值為______。

(a=2*3,a*2),a+4

分值:2答案:10[解析]此題考查逗號表達式。逗號表達式的值是最后一個表達式的值,所以本題的返回值是a+4。前面已經(jīng)給a賦值6,所以返回值a+4=6+4=10。8.

下列程序段是從鍵盤輸入的字符中統(tǒng)計小寫字母的個數(shù),用換行符結(jié)束循環(huán)。請?zhí)羁铡?/p>

intn=0,c;

c=getchar();

while(c!='\n')

if(______)

n++;

分值:2答案:c>='a'&&c<='z'[解析]小寫字母在內(nèi)存中以ASCII的形式存入,且從a到z依次遞增,所以可以直接用c>='a'&&c<='z'判斷是不是小寫字母;c!='\n'判斷是用換行符結(jié)束循環(huán)。9.

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

#include<stdio.h>

main()

inta,b,c,n;

a=2;b=0;c=1;n=1;

while(n<=3)

c=c*a;b=b+c;++n;

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

分值:2答案:b=14[解析]分析程序可知,n的初始值為1,因此,while(n<=3)循環(huán)3次。第1次:c=c*a-2:b=b+c=2;n=2。第2次:c=c*a=4;b=b+c=6;n=3。第3次:c=c*a=8;b=b+c=14。當(dāng)n=4時,判斷條件不滿足,退出循環(huán)。10.

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

main()

inti=0,a=0;

while(i<20)

for(;;)

if((i%10)==0)break;

elsei--;

i+=11;

a+=i;

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

分值:2答案:32[解析]while(表達式)的功能是:首先計算表達式的值,若為真,則執(zhí)行循環(huán)體語句,執(zhí)行完畢,再計算表達式的值,若仍為真,則重復(fù)執(zhí)行循環(huán)體語句,直到表達式的值為假時,結(jié)束while語句的執(zhí)行,繼續(xù)執(zhí)行while語句后面的語句;i=0時滿足循環(huán)條件,也滿足if的條件,執(zhí)行語句得i=11,a=11,第2次循環(huán)不滿足if的條件,執(zhí)行i--,i=10,執(zhí)行i+=11;a+=i后,得i=21,a=32,不滿足i<20,循環(huán)結(jié)束。11.

下列程序的運行結(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));

分值:2答案:24[解析]本題考查函數(shù)的循環(huán)調(diào)用。p=x*func(x-1),當(dāng)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。12.

下列程序?qū)⒍S數(shù)組a的行和列元素互換后存放到另一個二維數(shù)組b中。請?zhí)羁铡?/p>

main()

inta[2][3]=1,2,3,4,5,b[3][2],i,j;

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

for(j=0;j<3;j++)

分值:2答案:b[j][i]=a[i][j][解析]本題考查二維數(shù)組的基本知識。它是要將一個二維數(shù)組,的行和列元素互換后存放到另一個二維數(shù)組b中,只要將數(shù)組a的行標(biāo)和列標(biāo)互換,然后賦給數(shù)組b即可。13.

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

#include<stdio.h>

main()

intfun();

fun();

fun()

staticinta[4]=1,2,3,4;

in

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論