大一C期末考试试卷_第1页
大一C期末考试试卷_第2页
大一C期末考试试卷_第3页
大一C期末考试试卷_第4页
大一C期末考试试卷_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

(-)选择题(共10题,每题1分,共10分)

A

1.以下不属于程序设计三要素的内容是:。

A.算法B.语言C.环境D.应用

B

2.以下描述中,包含了5个典型的计算机硬件结构部分的内容是:。

A.CPU、硬盘、主存B.CPU、存储器、I/O设备

C.存储器、I/O设备、系统总线D.CPU、存储器、系统总线

C

3.以下不同数制表示的数中最小的数值是:。

A.二进制11011111B.十六进制DF

C.十进制217D.八进制337

D

4.设一个栈的输入元素序列为a1,a2,a3,a4,输入过程中允许出栈,规定每个元

素入栈、出栈只能各一次,则所得到的输出元素序列,不可能出现的

是。

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

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

C

5.在计算机中表示一个浮点数,下面说法不正确的是。

A.尾数反映浮点数的精度,阶反映浮点数后表示范围

B.尾数表示数的有效数字,阶表示数中小数点的位置

C.尾数为二进制定点纯整数,阶为二进制定点纯小数

D.浮点数由尾数和阶两部分组成

B

6.十进制数-27,用8位二进制数表示的原码和补码为

A.11011111、10011011B.10011011.11100101

C.00011011.00011011D.10011011、10011011

B

7.微型计算机的内存储器是

A.按二进制位编址B.按字节编址

C.按字长编址D.根据微处理器型号不同而编址不同

D

8.根据计算机执行一条指令过程的基本步骤,下面选择正确的是

①分析指令②取下一条指令③执行指令

@取指令⑤执行过程结束

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

B

9.有一个数值152,它与十六进制数6A相等,那么该数值是。

A.二进制数B.八进制数0.十进制数D.四进制数

C

10.微型计算机总线上的信号有。

A.控制信号、数据信号B.地址信号、控制信号

C.数据信号、地址信号、控制信号D.二进制信号

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

1.64K的内存空间需要条地址线,其最大地址为Ho

2.最主要和最基本的三种逻辑运算为逻辑非、、。

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

4.从一组给定的数据中找出所需的数据的过程称为。将问题的候选

解按某种顺序逐一枚举和检验,若发现当前的候选解不可能是最终解时,就放弃

它而选下一个候选解的过程称为。

5.有一数组a长度为11,其中前10个元素已按升序排序。输入一个数,要求

按顺序放入数组中,请在下面N-S图的@和祥处填写相应的语句。

输入待插入的数值-number

number>a[9]

TF

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

#

TF

@将a[9]到a[i]元素顺

序向后移动一个位置

number—a[i]

输出结果

#:

@:

二.VisualC++程序设计语言部分(共计80分)

(三)选择题(每题1.5分,计15分)

答案:

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

1.设整型变量a的值是1,则C++条件表达式2v=a<3的值是

A:1B:0C:不确定D:非法的表达式

2.设有枚举类型定义:

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

则枚举量tea的值是。

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

3.定义下列函数max实现比较3个整数中最大的一个,并返回该最大值:

intmax(inta,intb,intc)

(

intt=0;

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

returnt;

)

则执行下列语句,intr=max(2,9,8);变量r的值是。

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

4.下列关于成员函数特性的描述中,是不正确的。

A:成员函数可以重载

B:成员函数一定为内联函数

C:成员函数可以是静态的

D:成员函数可以设置参数的默认值

5.在while(a)中,a与下列哪个条件表达式等价

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

6.执行下列程序段的输出是。

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

if(i%3==0)break;

cout«i«"\t";

)

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

7.浮点型变量f当前值是19.5,则执行下列语句后f的值是。

floatf=19.5;

intn=int(f);

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

8.设有函数声明

doublefunction(doublea,double&b);

定义变量

doublex,y;

则下面对函数正确的调用是。

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

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

9.以下哪些函数可以构成重载函数。

(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.有关类的说法不正确的是。

A:类是一种用户自定义的数据类型

B:只有类中的成员函数才能直接存取本类中的私有数据

C:类的构造函数与析构函数均可以重载

D:类的成员函数可以是重载函数,或者是有缺省参数的函数

(四)填空题(每题1.5分,计15分)

1.整型变量n的当前值是17,执行以下switch语句后n的值是

switch(n){

case16:++n;

case17:n+=2;

case18:++n;

default:n++;

)

2.已知小写字母a的ASCII码值是97,则下列语句执行后输出是

charc=102;

cout«c;

3.若有下列程序,则程序运行后的输出是

#include<iostream>

usingnamespacestd;

intmain()

(

inti=0;

do{

cout«i«",

}while(i++<5);

cout«i;

return0;

)

4.定义以下字符数组,则该数组的长度是。

charszName[]="mySEU";

5.若有下列程序,则程序运行后的输出是。

#include<iostream>

usingnamespacestd;

voidf(intn);

intmain()

(

f(789);

return0;

)

voidf(intn)

(

if(n>=10)

f(n/10);

cout«n%10;

)

6.下列语句执行后整型变量nCode的值是。

intnCode=OxAC;

nCode&=0x8;

nCode»=3;

7.类是对具有共同属性和行为的一类事物的抽象描述,共同属性被描述为类中

的成员数据,共同行为被描述为类中的。

8.下列语句执行后整型变量nCount的值是。

intnCount=0;

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

nCount++;

9.全局与静态变量在程序运行时自动初始化为0;下列语句的本意是求出1〜

10共10个数的和,但结果却不对,其原因是。

intsum;

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

sum=sum+i;

10.运算符重载的两种形式:作为类的成员函数,以及。

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

1.写出下列程序的执行结果

#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的表达式为:(3分)

(4)程序的运行结果为:(2分)

3.设输入的5个整数是: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;

)

程序运行时屏幕输出为:

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;

程序的运行结果为:

(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;

)

程序的运行结果为:

17

7^

2Z

7

1

1

2Z

7

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

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

其中arctan()用如右形式的级数计算:

计算直到级数某项绝对值不大于10-15为止;TT和x均为double型。

#include<iostream>

usingnamespacestd;

doublearctan(doublex);〃函数原型声明

intmain()

(

doublea,b;

a=;//注意:整数相除结果将会取整!

b=……;〃此处略,b将计算出的值

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、输入一个8位二进制数,将其转换为十进制数输出。(每空2分,共4分。)

#include<iostream>

usingnamespacestd;

constintn=8;//输入数据的位数

intmain()

(

charbin[n];〃用来放输入的数据,数据的每一位以字符方式存放

intx=2;〃x表示几进制,此时处理的是二进制

inta,dec,i;

cout«"输入二进制序列:"<<endl;

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

;〃输入的是字符,且先输入的是二进制数的高位

dec=0;

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

(

a=001,'0'0;//字符转换为数字,例如

dec=dec*x+a;

)

cout«"转换为十进制,值为:"«dec«endl;

return0;

)

3、用递归算法实现正整数的倒序输出。(每空2分,共4分。)

#include<iostream>

usingnamespacestd;

voidbackward(intx)

{/*这个数非0时,倒序输出总是先输出最后一位,然后在剩下的数中进行同

样思路的倒序输出7

if(x>0)

)

)

intmain()

(

intn;

coutv<"输入正整数:"v<endl;cin»n;

cout«“原整数”«n«“倒序输出为:

backward(n);

cout«endl;

return0;

4、定义复数类,可完成复数基本运算,并应用它进行复数运算。(共11分。)

include<iostream>

include<cmath>

usingnamespacestd;

classComplex{

doubleReal,Image;〃复数的实部和虚部

public:

Complex(doubler=0.0,doublei=0.0)//定义构造函数

{)(1.5分)

Complex(Complex&com)〃定义复制构造函数

{)(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();//显式说明局部对象

(此空2分)

returnTemp;

)

ComplexComplex::operator+=(Complexc)

(

Complextemp;〃定义temp为了返回Complex类的值,使+=可以连续使用

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;//将调用运算符'+'的重载函数,运算符'='的重载函数

c.Print();

c+=c1;〃将调用运算符'+='的重载函数

c.Print();

return0;

)

笔试模拟题答案

一.大学计算机基础部分

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++程序设计部分(共计80分)

(三)选择题(每题1.5分,计15分)

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

(四)填空题(每题1.5分,计15分)

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

(6)1;(7)成员函数;(8)1;(9)局部变量sum未初始化;

(10)友元函数

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

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

(2)Sec

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论