大一C期末考試試卷_第1頁
大一C期末考試試卷_第2頁
大一C期末考試試卷_第3頁
大一C期末考試試卷_第4頁
大一C期末考試試卷_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

(-)選擇題(共10題,每題1分,共10分)

A

1.以下不屬于程序設(shè)計(jì)三要素的內(nèi)容是:。

A.算法B.語言C.環(huán)境D.應(yīng)用

B

2.以下描述中,包含了5個(gè)典型的計(jì)算機(jī)硬件結(jié)構(gòu)部分的內(nèi)容是:。

A.CPU、硬盤、主存B.CPU、存儲(chǔ)器、I/O設(shè)備

C.存儲(chǔ)器、I/O設(shè)備、系統(tǒng)總線D.CPU、存儲(chǔ)器、系統(tǒng)總線

C

3.以下不同數(shù)制表示的數(shù)中最小的數(shù)值是:。

A.二進(jìn)制11011111B.十六進(jìn)制DF

C.十進(jìn)制217D.八進(jìn)制337

D

4.設(shè)一個(gè)棧的輸入元素序列為a1,a2,a3,a4,輸入過程中允許出棧,規(guī)定每個(gè)元

素入棧、出棧只能各一次,則所得到的輸出元素序列,不可能出現(xiàn)的

是。

A.a1,a2,a3,a4B.a4,a3,a2,a1

C.a1,a3,a4,a2D.a4,a1,a2,a3

C

5.在計(jì)算機(jī)中表示一個(gè)浮點(diǎn)數(shù),下面說法不正確的是。

A.尾數(shù)反映浮點(diǎn)數(shù)的精度,階反映浮點(diǎn)數(shù)后表示范圍

B.尾數(shù)表示數(shù)的有效數(shù)字,階表示數(shù)中小數(shù)點(diǎn)的位置

C.尾數(shù)為二進(jìn)制定點(diǎn)純整數(shù),階為二進(jìn)制定點(diǎn)純小數(shù)

D.浮點(diǎn)數(shù)由尾數(shù)和階兩部分組成

B

6.十進(jìn)制數(shù)-27,用8位二進(jìn)制數(shù)表示的原碼和補(bǔ)碼為

A.11011111、10011011B.10011011.11100101

C.00011011.00011011D.10011011、10011011

B

7.微型計(jì)算機(jī)的內(nèi)存儲(chǔ)器是

A.按二進(jìn)制位編址B.按字節(jié)編址

C.按字長(zhǎng)編址D.根據(jù)微處理器型號(hào)不同而編址不同

D

8.根據(jù)計(jì)算機(jī)執(zhí)行一條指令過程的基本步驟,下面選擇正確的是

①分析指令②取下一條指令③執(zhí)行指令

@取指令⑤執(zhí)行過程結(jié)束

A.①②③④⑤B.①③②⑤C.②③④①D.④①③②

B

9.有一個(gè)數(shù)值152,它與十六進(jìn)制數(shù)6A相等,那么該數(shù)值是。

A.二進(jìn)制數(shù)B.八進(jìn)制數(shù)0.十進(jìn)制數(shù)D.四進(jìn)制數(shù)

C

10.微型計(jì)算機(jī)總線上的信號(hào)有。

A.控制信號(hào)、數(shù)據(jù)信號(hào)B.地址信號(hào)、控制信號(hào)

C.數(shù)據(jù)信號(hào)、地址信號(hào)、控制信號(hào)D.二進(jìn)制信號(hào)

(二)填空題(共10題,每題1分,共10分)

1.64K的內(nèi)存空間需要條地址線,其最大地址為Ho

2.最主要和最基本的三種邏輯運(yùn)算為邏輯非、、。

3.常用的排序算法包括、。

4.從一組給定的數(shù)據(jù)中找出所需的數(shù)據(jù)的過程稱為。將問題的候選

解按某種順序逐一枚舉和檢驗(yàn),若發(fā)現(xiàn)當(dāng)前的候選解不可能是最終解時(shí),就放棄

它而選下一個(gè)候選解的過程稱為。

5.有一數(shù)組a長(zhǎng)度為11,其中前10個(gè)元素已按升序排序。輸入一個(gè)數(shù),要求

按順序放入數(shù)組中,請(qǐng)?jiān)谙旅鍺-S圖的@和祥處填寫相應(yīng)的語句。

輸入待插入的數(shù)值-number

number>a[9]

TF

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

#

TF

@將a[9]到a[i]元素順

序向后移動(dòng)一個(gè)位置

number—a[i]

輸出結(jié)果

#:

@:

二.VisualC++程序設(shè)計(jì)語言部分(共計(jì)80分)

(三)選擇題(每題1.5分,計(jì)15分)

答案:

A、C、D、B、B、C、B、B、C、C

1.設(shè)整型變量a的值是1,則C++條件表達(dá)式2v=a<3的值是

A:1B:0C:不確定D:非法的表達(dá)式

2.設(shè)有枚舉類型定義:

enumDrinking{cola,coffee=4,tea,water=0};

則枚舉量tea的值是。

A:3B:2C:5D:-1

3.定義下列函數(shù)max實(shí)現(xiàn)比較3個(gè)整數(shù)中最大的一個(gè),并返回該最大值:

intmax(inta,intb,intc)

(

intt=0;

t=a>b?a:b>c?t:c;

returnt;

)

則執(zhí)行下列語句,intr=max(2,9,8);變量r的值是。

A:9B:8C:2D:0

4.下列關(guān)于成員函數(shù)特性的描述中,是不正確的。

A:成員函數(shù)可以重載

B:成員函數(shù)一定為內(nèi)聯(lián)函數(shù)

C:成員函數(shù)可以是靜態(tài)的

D:成員函數(shù)可以設(shè)置參數(shù)的默認(rèn)值

5.在while(a)中,a與下列哪個(gè)條件表達(dá)式等價(jià)

A:a==0B:a!=0C:a==1D:a!=1

6.執(zhí)行下列程序段的輸出是。

for(inti=1;i<6;i++){

if(i%3==0)break;

cout?i?"\t";

)

A:12345B:1245C:12D:3

7.浮點(diǎn)型變量f當(dāng)前值是19.5,則執(zhí)行下列語句后f的值是。

floatf=19.5;

intn=int(f);

A:20B:19C:19.5D:20.0

8.設(shè)有函數(shù)聲明

doublefunction(doublea,double&b);

定義變量

doublex,y;

則下面對(duì)函數(shù)正確的調(diào)用是。

A:function(x,1.0)B:function(x,y)

C:function(1.0,&x)D:function(x,1.0+y)

9.以下哪些函數(shù)可以構(gòu)成重載函數(shù)。

(1).intfunction(inta,intb,intc);

(2).doublefunction(inta,intb,doublec);

(3).intfunction(inta,intb);

(4).doublefunction(inta,intb,intc);

A:⑴⑵⑷B:⑴⑶⑷C:⑴⑵⑶D:(1)(4)

10.有關(guān)類的說法不正確的是。

A:類是一種用戶自定義的數(shù)據(jù)類型

B:只有類中的成員函數(shù)才能直接存取本類中的私有數(shù)據(jù)

C:類的構(gòu)造函數(shù)與析構(gòu)函數(shù)均可以重載

D:類的成員函數(shù)可以是重載函數(shù),或者是有缺省參數(shù)的函數(shù)

(四)填空題(每題1.5分,計(jì)15分)

1.整型變量n的當(dāng)前值是17,執(zhí)行以下switch語句后n的值是

switch(n){

case16:++n;

case17:n+=2;

case18:++n;

default:n++;

)

2.已知小寫字母a的ASCII碼值是97,則下列語句執(zhí)行后輸出是

charc=102;

cout?c;

3.若有下列程序,則程序運(yùn)行后的輸出是

#include<iostream>

usingnamespacestd;

intmain()

(

inti=0;

do{

cout?i?",

}while(i++<5);

cout?i;

return0;

)

4.定義以下字符數(shù)組,則該數(shù)組的長(zhǎng)度是。

charszName[]="mySEU";

5.若有下列程序,則程序運(yùn)行后的輸出是。

#include<iostream>

usingnamespacestd;

voidf(intn);

intmain()

(

f(789);

return0;

)

voidf(intn)

(

if(n>=10)

f(n/10);

cout?n%10;

)

6.下列語句執(zhí)行后整型變量nCode的值是。

intnCode=OxAC;

nCode&=0x8;

nCode?=3;

7.類是對(duì)具有共同屬性和行為的一類事物的抽象描述,共同屬性被描述為類中

的成員數(shù)據(jù),共同行為被描述為類中的。

8.下列語句執(zhí)行后整型變量nCount的值是。

intnCount=0;

for(intj=0;j<6,nCount++;j++)

nCount++;

9.全局與靜態(tài)變量在程序運(yùn)行時(shí)自動(dòng)初始化為0;下列語句的本意是求出1?

10共10個(gè)數(shù)的和,但結(jié)果卻不對(duì),其原因是。

intsum;

for(inti=1;I<=10;i++)

sum=sum+i;

10.運(yùn)算符重載的兩種形式:作為類的成員函數(shù),以及。

(五)閱讀程序并填空(每空1-3分,共25分)

1.寫出下列程序的執(zhí)行結(jié)果

#include<iostream>

usingnamespacestd;

voidfun(int&a,int&b)

(

intp;p=a;a=b;b=p;

)

voidexchange(int&a,int&b,int&c)

(

if(a<b)fun(a,b);

if(a<c)fun(a,c);

if(b<c)fun(b,c);

)

intmain()

(

inta,b,c;

a=94;b=16;c=178;

cout?"First:"?'\t"?"a="?a?",b="?b?",c="?c?endl;

exchange(a,b,c);

cout?"Second:"?,\t'?"a="?a?",b="?b?",c="?c?endl;

return0;

)

(1)(1分)

(2)(3分)

2.閱讀下列程序

#include<iostream>

usingnamespacestd;

intmain()

intx=9,n=8,y,i;

for(i=0;i<n;i++)x/=3;

y=1+x;

i=0;

do{

y*=2;

i++;

}while(i<=n);

cout<<"y="?y?endl;

return0;

)

(3)y的表達(dá)式為:(3分)

(4)程序的運(yùn)行結(jié)果為:(2分)

3.設(shè)輸入的5個(gè)整數(shù)是:3264538754。

#include<iostream>

usingnamespacestd;

intmain()

(

inta,b,c,x;

a=b=c=0;

cout?"lnput5integers:"?endl;

for(inti=0;i<5;i++)

(

cin?x;

switch(x%3)

(

case0:a+=x;break;

case1:b+=x;break;

case2:c+=x;break;

)

)

cout?a?';'?b?';'?c?endl;

return0;

)

程序運(yùn)行時(shí)屏幕輸出為:

51分

61分

73分

4.閱讀下列程序

#include<iostream>

usingnamespacestd;

intadd(double&,double);

doublea;

intmain()

constintn=5;

intnum,i;

doubled[n]={7.2,5.7,6.0,4.2,9.9};

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

if(d[i]>=6)num=add(a,d[i]);

a/=num;

cout?"Theaverageis:"?a?'\n'?"Thenumberis:"?num?endl;

return0;

)

intadd(double&a.doubled){

staticintc;

a+=d;

C++;

returnc;

程序的運(yùn)行結(jié)果為:

(8)(2分)

(9)(3分)

5.閱讀下列程序

#include<iostream>

usingnamespacestd;

classMyTestClass

(

private:

intNumA;

public:

MyTestClass(inta)

(

cout?a?'\t'<<"isConstructor."?endl;

NumA=a;

)

MyTestClass(MyTestClass&b)

(

cout?"CopyConstructor."?endl;

NumA=b.NumA;

)

voidPrint()

(

cout?"Theprivatedatais:NumA="?NumA?endl;

)

~MyTestClass。

cout?NumA?'\t'?"isDestructor."?endl;

intmain()

MyTestClassMyclass1(5),Myclass2(Myclass1);

Myclass2.Print();

return0;

)

程序的運(yùn)行結(jié)果為:

17

7^

2Z

7

1

1

2Z

7

(六)完善程序題(共25分)

1、編寫程序求IT的值(每空2分,共6分。)

其中arctan()用如右形式的級(jí)數(shù)計(jì)算:

計(jì)算直到級(jí)數(shù)某項(xiàng)絕對(duì)值不大于10-15為止;TT和x均為double型。

#include<iostream>

usingnamespacestd;

doublearctan(doublex);〃函數(shù)原型聲明

intmain()

(

doublea,b;

a=;//注意:整數(shù)相除結(jié)果將會(huì)取整!

b=……;〃此處略,b將計(jì)算出的值

cout?"Pl="?a-b?endl;

return0;

)

doublearctan(doublex)

(

inti,sign=1;

doublesum,e,f,sqr;

sum=0;e=x;i=1;

while()〃終止條件

(

f=e/i;

sum+=sign*f;

e=〃遞推公式

sign*=-1;

i+=2;

)

returnsum;

)

2、輸入一個(gè)8位二進(jìn)制數(shù),將其轉(zhuǎn)換為十進(jìn)制數(shù)輸出。(每空2分,共4分。)

#include<iostream>

usingnamespacestd;

constintn=8;//輸入數(shù)據(jù)的位數(shù)

intmain()

(

charbin[n];〃用來放輸入的數(shù)據(jù),數(shù)據(jù)的每一位以字符方式存放

intx=2;〃x表示幾進(jìn)制,此時(shí)處理的是二進(jìn)制

inta,dec,i;

cout?"輸入二進(jìn)制序列:"<<endl;

for(i=n-1;i>=0;i-)

;〃輸入的是字符,且先輸入的是二進(jìn)制數(shù)的高位

dec=0;

for(i=n-1;i>=0;i-)

(

a=001,'0'0;//字符轉(zhuǎn)換為數(shù)字,例如

dec=dec*x+a;

)

cout?"轉(zhuǎn)換為十進(jìn)制,值為:"?dec?endl;

return0;

)

3、用遞歸算法實(shí)現(xiàn)正整數(shù)的倒序輸出。(每空2分,共4分。)

#include<iostream>

usingnamespacestd;

voidbackward(intx)

{/*這個(gè)數(shù)非0時(shí),倒序輸出總是先輸出最后一位,然后在剩下的數(shù)中進(jìn)行同

樣思路的倒序輸出7

if(x>0)

)

)

intmain()

(

intn;

coutv<"輸入正整數(shù):"v<endl;cin?n;

cout?“原整數(shù)”?n?“倒序輸出為:

backward(n);

cout?endl;

return0;

4、定義復(fù)數(shù)類,可完成復(fù)數(shù)基本運(yùn)算,并應(yīng)用它進(jìn)行復(fù)數(shù)運(yùn)算。(共11分。)

include<iostream>

include<cmath>

usingnamespacestd;

classComplex{

doubleReal,Image;〃復(fù)數(shù)的實(shí)部和虛部

public:

Complex(doubler=0.0,doublei=0.0)//定義構(gòu)造函數(shù)

{)(1.5分)

Complex(Complex&com)〃定義復(fù)制構(gòu)造函數(shù)

{)(1.5分)

voidPrint()

{cout?"Real="?Real?'\t"?"lmage="?Image?'\n';}

Complexoperator+(Complex);

//Complexoperator+(double);

Complexoperator=(Complex);

Complexoperator+=(Complex);

//doubleabs(void);

//Complexoperator*(Complex);

//Complexoperator/(Complex);

);

ComplexComplex::operator+(Complexc)

(

ComplexTemp();//顯式說明局部對(duì)象

(此空2分)

returnTemp;

)

ComplexComplex::operator+=(Complexc)

(

Complextemp;〃定義temp為了返回Complex類的值,使+=可以連續(xù)使用

temp.Real=;(1.5分)

temp.Image=;(1.5分)

Real=;(1.5分)

Image=;(1.5分)

returntemp;

)

ComplexComplex::operator=(Complexc)

{//此處略……

)

intmain(void){

Complexc1(1.0,1.0),c2(2.0,2.0),c3(4.0,4.0),c;

c1.Print();

c=c2+c3;//將調(diào)用運(yùn)算符'+'的重載函數(shù),運(yùn)算符'='的重載函數(shù)

c.Print();

c+=c1;〃將調(diào)用運(yùn)算符'+='的重載函數(shù)

c.Print();

return0;

)

筆試模擬題答案

一.大學(xué)計(jì)算機(jī)基礎(chǔ)部分

1.選擇題(共10題,每題1分,共10分)

A、B、C、D、C、B^B>D、B、C

2.填空題(共5題,每題2分,共10分)

(1)16,FFFF(2)邏輯與、邏輯或

(3)冒泡排序、選擇排序或交換排序(4)查找回溯

(5)#:a[i]>number或number<a[i]

或a[i]>=number或number<=a[i]

number->a[10]

二.C++程序設(shè)計(jì)部分(共計(jì)80分)

(三)選擇題(每題1.5分,計(jì)15分)

A、C^D、B、B、C^B、B、C、C

(四)填空題(每題1.5分,計(jì)15分)

(1)21;(2)f;(3)0,1,2,3,4,5,6;(4)6;(5)789;

(6)1;(7)成員函數(shù);(8)1;(9)局部變量sum未初始化;

(10)友元函數(shù)

(五)閱讀程序并填空(每空1-3分,共25分)

1.(1)First:a=94,b=16,c=178(1分)

(2)Sec

溫馨提示

  • 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)論