2024年c語言筆試題總結(jié)_第1頁
2024年c語言筆試題總結(jié)_第2頁
2024年c語言筆試題總結(jié)_第3頁
2024年c語言筆試題總結(jié)_第4頁
2024年c語言筆試題總結(jié)_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

壹、選擇題⑴?(10)每題2分,(11)?(50)每題1分,共60分)

下列各題A)、B)、C)、D)四他選項中,只有壹種選項是St的的,^將封的的選項涂寫在答題

卡封應位置上,答在試卷上不得分。

(1)在數(shù)據(jù)構(gòu)造中,優(yōu)邏輯上可以把數(shù)據(jù)構(gòu)造分卷.

A)勤態(tài)構(gòu)造和靜態(tài)構(gòu)造B)緊湊構(gòu)造和非緊湊構(gòu)造

C)線性構(gòu)造和非線性構(gòu)造D)內(nèi)部構(gòu)造和外部構(gòu)造

答案:C

評析:邏輯構(gòu)造反應數(shù)據(jù)元素之間的邏輯關系,線性構(gòu)造表達數(shù)據(jù)元素之間壹封壹的關系,

非線性構(gòu)造表達數(shù)據(jù)元素之間壹封多或多封壹的關系。

⑵若選棧序列卷I,2,3,4,選棧謾程中可以出棧,則下列不也^的壹種出棧序列是。

A)l,4,3,2B)2,3,4,I

C)3,1,4,2D)3,4,2,1

答案:C

評析:棧是壹種彳兔選先出表,選項c中,先出棧的是3,闡明此時棧內(nèi)必然有1,2,由于I

先于2迤棧,因此I不也;午在2之前出棧,故選項C適種出棧序列是不也^的。

⑶排序措施中,將整他瓢序序列分割成若干小的子序列并分別暹行插入排序的措施,稱卷

_____O

A)希爾排序B)冒泡排序C)插入排序D)選擇排序

答案:A

評析:希爾排序法的基本思想是:將整他舞序序列分割成若干小的子序列分別暹行插入排序。

(4)在次序表(3,6,8,10,12,15,16,18,21,25,30)中,用二分法查找關鍵碼值1L

所需的關鍵碼比較次數(shù)卷O

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

答案:C

評析:二分法查找是用關鍵碼與線性表的中間元素比較,然彳爰根據(jù)比較成果來判斷是^束查

找,遢是在左邊或者右邊子表按相似的措施繼續(xù)杳找。本題中,與II比較的關鍵碼分別卷

15,8,10,12四他。

⑸封于n他I東吉黠的罩向鏈表(輾表^^黠),需要指針罩元的值I數(shù)至少卷o

A)n-1B)nC)n+ID)2n

答案:C

評析:在n他結(jié)貼的單向鏈表(瓢表令吉砧)中,每他結(jié)砧均有壹種指針軍.元(即指針域:,,加

上^指針,至少需要n+lf0指針罩元。

⑹在軟件^發(fā)謾程中,軟件構(gòu)造設計是描述______<.

A)數(shù)據(jù)存儲構(gòu)造B)軟件體系構(gòu)造C)軟件構(gòu)造測試D)軟件控制謾程

答案:B

評析:優(yōu)工程管理角度來看,軟件設計分兩步完畢:概要設計和詳細設計。概要設計(又稱

構(gòu)造設計)將軟件需求轉(zhuǎn)化卷軟件體系構(gòu)造、確定系統(tǒng)級接口、全局數(shù)據(jù)構(gòu)造或數(shù)據(jù)庫模式。

⑺模塊自身的內(nèi)聚是模塊獨立性的重要性度量原因之壹,在7類內(nèi)聚中,具有最強內(nèi)聚的

壹類是o

A)次序性內(nèi)聚B)謾程性內(nèi)聚C)邏輯性內(nèi)聚D)功能性內(nèi)聚

答案:D

評析:內(nèi)聚性是壹種模塊內(nèi)部各元素間彼此^合的緊密程度的度量。內(nèi)聚共有7類,它儼]

之間的內(nèi)聚性由弱到強排列次序卷:偶爾內(nèi)聚、邏輯內(nèi)聚、疇間內(nèi)聚、遇程內(nèi)聚、通信內(nèi)聚、

次序內(nèi)聚和功能內(nèi)聚。

⑻數(shù)據(jù)存儲和數(shù)據(jù)流都是,僅僅是所處的狀態(tài)不豈樣。

A)分析成果B)事件。勃作D)數(shù)據(jù)

答案:D

評析:數(shù)據(jù)流圖有4種成分:源粘或終貼,處理,數(shù)據(jù)存儲和數(shù)據(jù)流。數(shù)據(jù)存儲是處在靜

止狀態(tài)的數(shù)據(jù),數(shù)據(jù)流是處在運勤中的數(shù)據(jù)。

⑼數(shù)據(jù)的完整性是指數(shù)據(jù)的卦的性、有效性和。

A)可維護性B)獨立性C)安全性D)相容性

答案:D

評析:數(shù)據(jù)模型的完整性規(guī)則是給定的數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)絡所具有的制約和依存規(guī)則,

用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫狀態(tài)及其狀態(tài)的變化,以保證數(shù)據(jù)的封的性、有效性和相容

性。

(10)關系代數(shù)運算是以慮基礎的運算。

A)關系運算B)謂前|運算C)集合運算D)代數(shù)運算

答案:C

評析:關系代數(shù)運算是以美系代數(shù)作卷運算封象的壹組高級運算的集合。它的基本操作是并、

交、差、笛卡爾積,此外遢包垂直分割(投影)、水平分制(選擇)、關系的結(jié)合(連接)等。

Q1)能將高級^言程序轉(zhuǎn)換成目的^言程序的是O

A)調(diào)試程序B)解釋程序C)編譯程序D)編輯程序

答案:C

評析:用高級三吾言編寫的程序稱卷"源程序",而計算機只能識別和執(zhí)行由0和I構(gòu)成的二迤

制指令,因此高級^言必須先用壹種稱卷"編譯程序"的軟件,把源程序翻譯成二暹制形式的

"目的程序工

(12)是構(gòu)成c器吾言程序的基本單位。

A)函數(shù)B)謾程C)子程序D)子例程

答案:A

評析:c程序是由函數(shù)構(gòu)成的。壹種c源程序至少包括壹種main函數(shù),也可以包括壹種main

函數(shù)和若干他其他函數(shù),因此,函數(shù)是c程序的基本罩位。

(13)可以在C^言中用做顧客檄識符的是。

A)voidB)as_b3C)forD)2c

define_123-abcDo

WORDIfcasSIG

答案:B

評析:(:言吾言規(guī)定,襟識符只能由字母、數(shù)字和下劃線三種符號構(gòu)成,并且第壹種字符必須

是字母或下劃線。此外遢需要注意的是關鍵字不能作槌識符。選項A中void,C中for都懸

關鍵字,D中2c以字母^豆乳

(14)若有如卜類型闡明言吾句:

charw;intx;floaty,z:

則體猊式w*x+z-y的成果卷類型。

A)floatB)charC)intD)double

答案:A

評析:在暹行運算疇,不壹樣類型的數(shù)據(jù)參與運算,需要先將其轉(zhuǎn)換成同壹類型的數(shù)據(jù),然

彳灸再迤行運算。轉(zhuǎn)換的次序由低到高卷:char,short-*in:-unsigned-long-double-float,

故成果卷float型。

(15)main(()

{floatx=123A56;

printf("%?5.2f\n",x);

)

以上程序輸出的成果是o

A)123.4B)123.5C)123.45D)123.46

答案:D

評析:f格式符,用來輸出實數(shù),以小數(shù)形式輸出。"%-m.nf”的含義是:輸出數(shù)據(jù)共占m

列,其中n位小數(shù),假如輸出位數(shù)不不小于m。則右端補空格。假如^^度不小于列數(shù),

則按實際狀況四舍五入輸出。

(16)下面^句的輸出成果是。

Printf("%d\nH,strlen(M\t\M\065\xff'n"));

A)14B)8

C)5D)輸出項不合法,輾正常輸出

答案:C

評析:在c翳言中,以“7制^的字符均^轉(zhuǎn)義字符,其中"'倏可跟I?3位八謹制數(shù)或在

彳爰跟字母x及1-2位拾六暹制數(shù),以此來代表壹種恃定的字符。

(17)下列程序的輸出成果是。

main()

{inta=0,b=0,c=0;

if(++a>OII++b>O)++c;

printf(M\na=%d,b=%c,c=%d",a,b,C);

)

A)a=O,b=O,c=0B)a=l?b=Lc=l

C)a=l,b=O,c=ID)a=O,b=l.c=l

答案:C

評析:

"II”是或運算,它有值r短路”的特鉆需尤其注意,富"II”運算符左邊的體現(xiàn)式的值卷真

畤,則程序就不再?ri?’右邊的體現(xiàn)式的值暹行運算,而是使得整(I司體現(xiàn)式的值直接卷真。

(18)下列程序的輸出成果是o

Main()

{inti;

for(i=l;i+l;i++)

{if(i>4){printlf("%d",i++);break;)

)

printf("%d",i++):

}

A)55B)56

。程序g昔誤,沒有輸出D)循環(huán)條件永速懸真,死循環(huán)

答案:B

評析:本程序中有他for■循環(huán),但注意到for循環(huán)的條件是“i+l”,也就是只要i+l的值篇真(非

零值均卷真),就執(zhí)行循環(huán)。富i=l的疇,i+l的值卷真,判斷if條件不成立,執(zhí)行i++,輸

出i的值卷5。

(19)下列程序的輸出成果是o

#defineA100

main()

{inti=O,sum=O;

do{if(I==(i/2)*2)continue;

sum+=i;

}while(++i<A);

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

}

A)2500B)2050C)4D)O

答案:A

評析:本^程序的功能是求1到_99之冏(包括1和99)所有奇數(shù)之和。程序中的while循環(huán)

的終止條件卷++i=100,在while循環(huán)體內(nèi),假如i是偶數(shù),則執(zhí)行continue,跳謾追壹次

循環(huán),執(zhí)行下壹次循環(huán),否則求和.最終輸出的值是1到99之間(包括I和99)所有奇數(shù)之

和(1+99)*50/2=2500。

(20)下列程序的輸出成果是o

main()

{int1=3;

switch(i)

{case1:

case2:printf("%d",i);

case3:

case4:break;

default:printf(MOKH);

)

)

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

答案:D

評析:在題中,i的值卷3,由于"case3:"背面沒有breakIS句,因此繼續(xù)向下執(zhí)行“case4:"

背面的^句,由于"case4:"背面的句^break強行退出switch行句,因此,本題沒有任

何輸出。

(21)下列程序執(zhí)行彳麥的輸出成果是°

main()

{intm[][3]={lA7,2,5,8z3,6,9);

inti,k=2:

for(I=0;i<3;i++)

{printf("%d",m[k][i]);}

)

A)456B)258C)369D)789

答案:C

評析:根據(jù)二維數(shù)組的定義得出:m[O][O]=l,m[O][l]=4,m[O][2]=7,m[l][0]=2,rail][l]=5,

m[l][2]=8,m[2][0]=3,m[2][l]=6,m[2][2]=9,因此本題的輸出是第3行的值m[2][0],m[2][l],

m[2][2],即369。

(22)設已定義洱口kint類型變量,則如下for循環(huán)^句。

for(i=0;k=-l,k=l;i++,k++)

printfC****\nw);

A)判斷循環(huán)^束的條件不合法B)是輾限循環(huán)

C)循環(huán)壹次也不執(zhí)行D)循環(huán)只執(zhí)行壹次

答案:B

評析:本題定義了壹種fcr循環(huán),循環(huán)變量是i,但由于本題并沒有設置循環(huán)條件,因此循

環(huán)的條件永遽默認卷真,即輾限次執(zhí)行循環(huán)。

(23)下面程序的輸出成果是o

unsignedfun(unsignednum)

{unsignedk=l;

do{

k*=num%IO;

num/=10;

}while(num):

return(k):

}

main()

{unsignedn。26;

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

)

A)0B)4C)12D)舞限次循環(huán)

答案:c

評析:本題定義了壹種fun函數(shù),用于num求和,詳細執(zhí)行遇程如下:

num=26:k=k*(num%lC)=l*(26%10),因此k=6,num=num/10=2;

num=2:k=k*(num%10)=6*(2%10),因此k=12,num=num/10=0;

num=O:while條件不成立,因此返回k的值12.

(24)已知字母A的ASCH碼值是65,字母a的ASCH碼值是97,如下程序。

main()

{chara-W;

intb=20;

printf("%d,%o\(a=a+a,a+b,b),a+'a'-'A',b);

}

A)體Si式非法,輸出零或不確定值

B)因輸出項謾多,輾輸出或輸出不確定值

C)輸出成果卷20,141

D)輸出成果卷20,141,20

答案:C

評析:本題中首先輸出逗號體現(xiàn)式"a=a+a,a+b,b"的值,即20。然接以八暹制的形式輸

出a+'a'-A的值97封底的八誕制數(shù)141,由于最終壹種體琪式b沒有封應輸出格式的輸

出項表列就不曾輸出。

(25)C^言函數(shù)返回值的類型是由決定的。

A)return^句中的體垣式類型B)調(diào)用函數(shù)的主調(diào)函數(shù)類型

C)調(diào)用函數(shù)畤臨畤D)定義函數(shù)畤所指定的函數(shù)類型

答案:D

評析:函數(shù)值的類型應常是在定義函數(shù)疇指定的,在定義函數(shù)畤封函數(shù)值闡明的類型壹般應

常和return^句中的體現(xiàn)式類型壹致,假如不一致,則以函數(shù)類型卷準,即函數(shù)類型決定返

回值的類型。

(26)下列程序執(zhí)行彳爰輸出的成果是。

intd=l:

fun(intp)

{intdo5:

d+=p++;

printf("%d,",d);

}

main()

{inta=3;

fun(a);

d+=a++:

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

}

A)8,12B)9,13C)8,4D)9,5

答案:C

評析:本題執(zhí)行謾程如下:首先調(diào)用fun函數(shù),使得實參a的值3傳遞^形參p,得到局部

變量d=8,打印出局部變量d的值8;返回主函數(shù)執(zhí)行"d+=a++”,此處的d卷全局變量,

因此d=l+3=4(由于本題是值傳遞,因此在函數(shù)fun中卦p值的變化并不能引起a的變化),

故本題的輸出是8,4。

(27)已知下面的程序段,封的的判斷是

#defineA3

#defineB(A)((_A+l)'a)

inta=3:

X=3*(A+B(7));

A)程序拿昔誤,不容^嵌套定義B)X=93

C)X=8ID)程序^誤,宏定義不容^有參數(shù)

答案:C

評析:本題的宏定義是合法的,宏定義展^+

(28)定義int*swap()指的是。

A)壹種返回整型值的函數(shù)sw叩()

B)宣種返回指向整型值指針的函數(shù)sw叩()

。壹種指向函數(shù)sw叩()的指針,函數(shù)返回壹種整型值

D)以上^法均^

答案:B

評析:壹種函數(shù)可以帶回宣種整型值、字符值、實型值等,但也可以帶回指針型數(shù)據(jù),即地

址。本題的定義中,包括括號和?號,由于f)優(yōu)先級高于t。故它是壹種返回整型指針的函數(shù)。

(29)如下程序段的輸出成果是。

main()

{charsl[10],s2[10],s3[10];

scanf(H%sH,si);gets(s2);gets(s3);

puts(s1):puts(s2);puts(s3):

)

輸入數(shù)據(jù)如下:(此處代表回率符)

aaa

bbb

A)aaaB)aaaC)aaa\Obbb\0D)aaabbb

bbb

bbb

答案:B

評析:scanf是原則輸入函數(shù),在輸入字符串a(chǎn)aa疇,實際的內(nèi)容激aaa\O","\0"是由系統(tǒng)

自勤加入的;gets的功能是優(yōu)終端^入壹行字符,即壹直^到換行符懸止,并由系統(tǒng)自助

以"'0"替代換行符。

(30)下述函數(shù)功能是o

Intfun(char*x)

{char*y=x;

while(*y++);

returny-x-l;

)

A)求字符串的是度B)求字符串寄存的位置

。比較兩彳固字符串的大小D)將字符串x連接到字符串v背面

答案:A

評析:在函數(shù)體內(nèi)定義壹字符型指針并指向形參,然彳菱遍歷其中各字符直到NULL,最終返

回字符串首尾地址的差值,即字符串的是度。

(31)如下程序的輸出成果是o

main()

{charStr[12]=fs7t7r7i7n7gr};

printf(M%d\nM,strlen(str));

)

A)6B)7C)llD)12

答案:A

評析:在(:言吾言中,字符串的辰度是其首字符到NULL(不含)字符的幺思字符催I數(shù)。本題定義

字符數(shù)組str的同步,封第7(?元素,由系統(tǒng)自勤添加上"\0",故字符串的是度卷6。

(325青^程序段:

charstr[]=,,ABCD,7p=str:

printf("%d\n",*(p+4));

程序段的輸出成果是o

A)68B)0

。字符的地址D)不確定的值

答案:B

評析:在封字符數(shù)組賦字符串值畤,系統(tǒng)畬自勤在字符串的末尾加上壹種字符串結(jié)束檄志”\

0",故指向字符數(shù)組的指升p的+(p+4)的值懸"\0"。由于"'0"的編碼值就是0,因此本題

輸出卷0。

(33)若有定義:inta[4][10];,則如下選項中封數(shù)組元素a皿j]引用籍誤的是。

(0<=i<4,0<=j<10)

A)*(&a[O][O]+10*i+j)B)*(a+i)+j

C)*(*(a+i)+j)D)*(a[i]+j)

答案:B

評析:本題中選項B是^誤的引用,*(a+i)+j只代表了的地址。

(34)設有如下^句:

charstrl[]=wstring,r,str2[8],。str3,。str4=°strinll;

則不是封庫函數(shù)的封的調(diào)用。

A)strcpy(strl,WHELLOIM);B)strcpy(str2,"HELL02");

C)strcpy(str3,"HELL03");D)strcpy(str4/HELL04M);

答案:C

評析:言中:sgcpy(stl,st2);,其兩他參數(shù)均卷字符指針或字符數(shù)組,選項c中的目的

串指針str3沒有指向詳細有效的存儲單元,故是^誤的調(diào)用。

(355前真程序:

#include

#include

main()

{char*sl="AbCdEf",*s2="aBM;

sl++;s2++;

printf(M%d\n",strcmp(s1,s2));

)

上面程序的愉出成果是.

A)正數(shù)B)負數(shù)C)零D)不確定的值

答案:A

評析:函數(shù)strcmp的功能是比較字符串si和s2,假如sl>s2,則返回AS正數(shù);假如#2,

因此函數(shù)的值懸正數(shù)。

(36)下面程序的輸出是

charsO=wABcDM;

main()

{char*p;

for(p=s;p<s+4;p++)

printfC%s\nw,P);

)

A)ABCDB)AC)DD)ABCD

BCDBCABC

CDCBAB

DDAA

答案:A

評析:在第壹次執(zhí)行for■循環(huán)畤,字符數(shù)組的首地址賦幺合了指針變量p,使得指針變量P指

向了s的首地址,輸出p所指向的字符串;第二次執(zhí)行for循環(huán)畤,p值增晨1,p指向了

s的第二低元素輸出BCD:第三次輸出CD;第四次輸出D:直到p指向字符串的令吉束字符"\

0",for循環(huán)終止執(zhí)行。

(37)如下程序輸出的成果懸o

main()

{char*alpha[6]={HABCD*,EFGH","UKL","MNOP","QRST","UVwX"};

char**p:

inti:

p=alpha;

for(I=0;i<4;i++)

printf("%s",p[I]);

)

A)ABCDEFGHIJKLB)ABCD

OABCDEFGHUKLMNOPD)AEIM

答案:C

評析:alpha。]指向"ABCD”的首地址;alpha[l]指向"EFGH”的首地址;alpha[2]指向"UKL'的首

地址,依此類推。富執(zhí)行p=alpha彳叁,p指向指針數(shù)組alpha的首地址。for循環(huán)中輸出了

4(0字符串。

(38)下面程序的輸出成果是o

#include

main()

{char*p[]={"B00L","OPK","H","SP"};

inti:

for(i=3;i>=0;i-i-)

printf("%c",*p[i]);

printfC\nH);

)

A)SOB)SPC)SPOPKD)SHOB

答案:A

評析:p[0]寄存的是“BOOL'O”的首地址;p⑴寄存的是“OPK'0”的首址等。

在printf^句中輸出的+p[I]表達p[i]字符串的第壹種字符。在for循環(huán)中,i的初值懸3,那

么輸山的第壹種字符兼f's”,接著兩次i)則輸出的值卷+p[l],即字符"0",因此本題的輸出

熱iSO。

(39)如下程序的輸出成果是o

#include

voidprt(int*x,int*y,int*z)

{printf("%d,%d,%d\n",++*x,++*y*(z++));}

inta=10,b=40,c=20;

main()

{prt(&a,&b&C);

prt(&a,&b,&C);

)

A)II,42,3IB)ll,41,20011,21,40D)llz41,21

12,22,4112,42,2011,21,4112,42,22

答案:B

評析:由于實參傳送的是變量的地址,因此封形參指針所指向的罩元內(nèi)容的變化,即封實參

內(nèi)容的變化。

(40)若壹種外部變量的定義形式懸staticintx;,那么,其中static的作用應常是。

A)將變量存儲在靜態(tài)存儲區(qū)

B)使變量x可以由系統(tǒng)自助初始化

。使x只能在本文獻內(nèi)引用

D)使x的值可以永久保留

答案:C

評析:實際上,輾論有輾static修飾,外部變量都具有A、B和c三種特性。作卷壹種修飾,

static僅是限制此類型外部變量的引用范圍:只能在定義它的文獻范圍內(nèi)使用。

(41)如下程序的輸出成果是。

#include

#defineSQR(x)x*x

main()

{inta,k=3;

a=++SQR(k+l);

printfC%d\nM,a);

)

A)8B)9C)17D)20

答案:B

評析:本題宏替代中碰到形參x以實參k+l替代,其他字符不變。sQR(k+l)展桃]彳灸應卷字符

串k+l*k+L

(42)下面是封宏定義的描述,不封的的是。

A)宏不存在類型冏題,宏名輾類型,它的參數(shù)也輾類型

B)宏替代不占用運行畤間

C)宏替代疇先求出實參體現(xiàn)式的值,然彳爰裔入形參運算求值

D)宏替代只不謾是字符替代而已

答案:C

評析:宏替代實質(zhì)上就是字符替代,它不也^迤行計算,故誤。帶參數(shù)的宏與函數(shù)相比,

宏在程序編譯之前已^將代碼替代到程序內(nèi),執(zhí)行畤不曾產(chǎn)生類似于函數(shù)調(diào)用的冏題,可以

者允不占用運行畤間。

(43)如下程序(程序左邊的數(shù)字懸附加的行號)o

l#include

2#include

3main()

4{chars[]=/fstringH;

5puts(s);

6strcpy(s/helloM);

7printf("%3s\s",s);!

A)沒有籍B)第I行有^C)第6行有^D)第7行有^

答案:B

評析:字符串復制函數(shù)st〈py包括在^文獻string,h口,因此,程序中的第I行文獻包括

命令是籍誤的0

(44)若有如下闡明,則的論述是封的的。

structst

{inta?

intb[2l;

)a;

A)構(gòu)造體變量a與構(gòu)造體組員a同名,定義是非法的

B)程序只在執(zhí)行到該定義疇才懸構(gòu)造體st分派存儲軍元

C)程序運行疇卷構(gòu)造體st分派6他字節(jié)存儲罩元

D)類型名structst可以通謾extern關鍵字提前引用(即引用在前,闡明在彳爰)

答案:D

評析:構(gòu)造體變量a與構(gòu)造體組員a同名是合法的定義,引用組員a的措施是a.a,變量

a處在不壹樣的“層次”上,系統(tǒng)完全可以分清。st是壹種構(gòu)造體名,不曾卷構(gòu)造體名分派存

儲空間,應富是在運行畤篇構(gòu)造體變量a分派6他1字節(jié)的存儲單元,故選項B和選項C籍

誤。

(45)若有如下構(gòu)造體定義,則是封的的引用或定義。

structexample

{intx;

inty;

}vl;

A)example.x=10B)examplev2.x=10

C)structv2;v2.x=IOD)structexamplev2={10};

答案:D

評析:在定義構(gòu)造體變量畤,不能只用構(gòu)造體名example或關鍵字strum迤行定義,必需

要用構(gòu)造體類型名structexample定義,在引用構(gòu)造體組員變量畤,需要用構(gòu)造體變量名選

行引用,因此選D。

(46)下列程序的執(zhí)行成果是o

#include

unionun

{inti;

charc[21;

};

voidmain()

{unionunx;

x.c[0]=10:

X.c[l]=l:

printf("\n%d",x.i);

)

A)266B)llC)265D)138

答案:A

評析:由于本題定義的是共用體,因此組員表列中的整型變量x與字符數(shù)組c共占用同壹種

存儲軍元,且此存儲罩元懸2他I字節(jié),壹般c[0]位于低字節(jié),c[l]位于高字節(jié),因此x.i

的值卷266。

(47)已知形成鏈表的存儲構(gòu)造如下圖所示,則下述類型描述中的空白處應填

structlink

Datanext{chardata;

}node;

A)structlinknextB)link*next

C)structnextlinkD)structlink*next

答案:D

評折:在罩向鏈表中,由于每值1條吉黠需要存儲下宜種幺吉鉆的地址,且下宜種^鉆的數(shù)據(jù)類型

與前壹種東吉黠的數(shù)據(jù)類型完全相似,故應卷structlink*nexto

(48)已知小寫字母a的ASCII碼卷97,大寫字母A的ASCII.碼卷65,如下程序的成果是

_____________________O

main()

{unsignedinta=32,b=66;

printf(H%c\nH,atb):

)

A)66B)98C)bD)B

答案:C

評析:位運算符"I”的作用是按位或,即兩值I二暹制數(shù)的封應位中只要有宜種卷L該位的成

果值卷I。最終以字符型輸出,98封應的字符"b"。

(49)C三吾言庫函數(shù)龜ets(strnfp)的功能是。

A淡fp指向的文獻中取辰度n的字符串存入str指向的內(nèi)存

B)優(yōu)fp指向的文獻中^取是度不超遇n-l的字符串存入str指向的內(nèi)存

C)ffifp指向的文獻中^取n他I字符串存/Xstr指向的內(nèi)存

D)徙str取至多n倜字符到文獻fp

答案:B

評析:fgets函數(shù)的作用是優(yōu)指定的文獻^入壹種字符串。fgets(strnfp);中的n卷規(guī)定得

到的字符的他數(shù),但只優(yōu)fb指向的文獻輸入n-l他字符,然彳爰在最終加壹種'\0'字符,因

此得到的字符串共有n他字符。

(50)下述程序向文獻輸出的成果是o

#include

voidmain()

{FILE*fp=fopen(HTEST7wb/,);

fprintf(fp;%d%5.Of%c%d;58,76273.0;-'f2278);

fdose(fp);

}

A)5876273-2278B)5876273。.000000-2278

05876273-2278D)因文獻卷二暹制文獻而不可IB

答案:C

評析:fprintf函數(shù)工作畤,多種數(shù)據(jù)間不畬自勵加分隔符,選項A誤;浮黠數(shù)的輸出格

式是"%5.Of"表明其小數(shù)部分輸出。位,即沒有輸出,因此選項B也是名昔誤的。

二、填空題(每空2分,共40分)

^將每空的封的答案寫在【I】至[20]序號的橫線上,答在試卷上不得分。

⑴封于晨度卷n的次序存儲的線性表,籬隨機插入和刪除壹種元素畤,需平均移勃元素的

彳固數(shù)卷[I]o

答案:【l】n/2

評析:刪除壹種元素,平均移勁的元素倜數(shù)卷(n-l+n-2+......+0)n=(n-l)/2;插入壹種元索,

平均移勤元素10數(shù)雙n+n-l+n-2+......+l)n=(n+l)/2;因此^體平均移勤元素f0數(shù)懸n/2。

⑵注釋闡明了程序的功能,它分卷[2]注釋和功能性注釋。

答案:【2】序言性

評析:注釋章般分卷序言性注釋和功能性注釋。

⑶軟件測試中途徑覆蓋測試是整值I測試的基礎,它是封軟件[3】迤行測試。

答案:【3】構(gòu)造

評析:途徑測試是白盒測試措施中的壹種,它規(guī)定封程序中的每條途徑至少檢查壹次,目的

是封軟件的構(gòu)造暹行測試,

⑷數(shù)據(jù)庫技術的重要特黠卷數(shù)據(jù)的集成性、數(shù)據(jù)的高【4】和低冗余性、數(shù)據(jù)獨立性和

數(shù)據(jù)統(tǒng)壹管理與控制。

答案:【4】共享性

評析:數(shù)據(jù)庫技術的重要特助有如下幾種方面:數(shù)據(jù)的集成性,數(shù)據(jù)的高共享性與低冗余性,

數(shù)據(jù)韻獨立性,數(shù)據(jù)統(tǒng)壹管理與控制。

⑸數(shù)據(jù)元素之間【5】的整體稱卷邏輯構(gòu)造。

答案:【5】邏輯關系

評析:數(shù)據(jù)元素之間邏輯關系的整體稱卷邏輯構(gòu)造。數(shù)據(jù)的邏輯構(gòu)造就是數(shù)據(jù)的組織形式。

⑹若有定義intm=5,y=2,則執(zhí)行體現(xiàn)式y(tǒng)+=y-=m*=y^,y的值懸[6]

答案:【6】.16

評析:將賦值運算符右側(cè)到'體現(xiàn)式"的值賦給左側(cè)的變景,并且賦值運算符按照"白右而左"

的結(jié)合次序,本題體現(xiàn)式應先算m的值懸10,再運算y的值卷8,最終計算

y=y+(-8)=-8+(-8)=-16..

⑺若x和y都是double型變量,]ix的初值卷3.0,y的初值卷2.0,則體現(xiàn)式pow(y,

fabs(x))的值卷[7]。

答案:【7】8.000000

評析:fabs函數(shù)功能是求x的絕封值,計算成果卷double型。pow功能是計算x的y次

方的值,計算成果同樣卷double型。因此本題體猊式相稱于2.0的3.0次方,成果卷

8.000000o

⑻設有chara,b;,若要通遇a&b運算屏蔽掉a中的其他位,只保留第2位和第8位(右

起卷第1位),則b的二造制是【8】。

答案:【8】10000010

評析:運算"&”的規(guī)則是只有富兩低1封應的二迤制位都懸1畤,該位的成果才卷1。要保留

第2、8位,只要將其與二迤制數(shù)10000010相與。

⑼下列程序執(zhí)行彳發(fā)輸出的成果是【9】。

f(inta)

{staticc=0;

C=a+C++:

return(C);

)

main()

{inta=2,i,k;

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

k=f(a++);

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

)

答案:【9】7

評析:在程序執(zhí)行畤,static變量僅初始化壹次,下次使用畤將使用上次保留的值。

(10)下面程序執(zhí)行彳炎輸出的成果是【10】。

intm=13:

intfun(intx,inty)

{intm=3;

return(x*y-m);

)

main()

{inta=7,b=5;

printf("%d\nw,fun(a,b)/m);

}

答案:【10】2

評析:本題變量m既是外部變量(值是13),乂是fun函數(shù)的局部變量(值卷3)。函數(shù)fun(x"y-m)

的值卷7*5-3=32,在main函數(shù)中,ftm(a,b)/m中的m應取外部變量的值13,因此輸出

2o

(11)下列程序執(zhí)行彳令輸出的成果是【11】。

main()

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

for(I=0;i<IO;i++)arr[I]=i;

for(I=l;i<4;i++)k+=arr[i]+i;

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

)

答案:【11】12

評析:本題的第壹種fur循環(huán)用于多合數(shù)組arr賦初值,第二他for循環(huán)用于求和運算。由于

第二倜fur循環(huán)初始值卷1,而循環(huán)條件卷i<4,因此求的是art⑴到arr⑶及i的和,因此

輸出成果懸12o

(12)下列程序執(zhí)行彳笈輸出的成果是【12】o

structs

{intx,y;}data[2]={10,100,20,200);

main()

(

structs*p=data;

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

)

答案:[12]11

評析:程序中構(gòu)造體數(shù)組data首地址(即&data[0])賦值給構(gòu)造體指針變量p,++(p->x)表達

先將P所指向的構(gòu)造體變量的組員x值加

溫馨提示

  • 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

提交評論