东南大学08级C++试卷A(电类 上).doc_第1页
东南大学08级C++试卷A(电类 上).doc_第2页
东南大学08级C++试卷A(电类 上).doc_第3页
东南大学08级C++试卷A(电类 上).doc_第4页
东南大学08级C++试卷A(电类 上).doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

东南大学20082009学年第 2 学期 工科 电类/非电类 专业 1 年级 C+期末考试卷(A卷)(卷面成绩100分,考试时间120分钟)考试科目: 计算机基础与C+程序设计(上)(开卷/闭卷): 闭卷 考试日期: 2009年1月7日学号: 姓名:_题号一二三四五六总分得分一大学计算机基础部分(共计20分)(一)选择题(共10题,每题1分,共10分)1. 以下不属于程序设计三要素的内容是: 。A. 算法 B. 语言 C. 环境 D. 应用2. 以下描述中,包含了5个典型的计算机硬件结构部分的内容是: 。A.CPU、硬盘、主存 B. CPU、存储器、I/O设备C. 存储器、I/O设备、系统总线D. CPU、存储器、系统总线3. 以下不同数制表示的数中最小的数值是: 。A. 二进制11011111B. 十六进制DFC.十进制217D. 八进制3374. 设一个栈的输入元素序列为a1,a2,a3,a4,输入过程中允许出栈,规定每个元素入栈、出栈只能各一次,则所得到的输出元素序列,不可能出现的是 。A. a1,a2,a3,a4 B. a4,a3,a2,a1 C.a1,a3,a4,a2D. a4,a1,a2,a35.在计算机中表示一个浮点数, 下面说法不正确的是 。A. 尾数反映浮点数的精度,阶反映浮点数后表示范围B. 尾数表示数的有效数字,阶表示数中小数点的位置C. 尾数为二进制定点纯整数,阶为二进制定点纯小数D. 浮点数由尾数和阶两部分组成6.十进制数 -27,用8位二进制数表示的原码和补码为 。A. 11011111、10011011 B. 10011011、11100101C. 00011011、00011011 D. 10011011、100110117. 微型计算机的内存储器是 。 A. 按二进制位编址 B. 按字节编址 C. 按字长编址 D. 根据微处理器型号不同而编址不同8. 根据计算机执行一条指令过程的基本步骤,下面选择正确的是 。 分析指令 取下一条指令 执行指令 取指令 执行过程结束A. B. C.D. 9. 有一个数值152,它与十六进制数6A相等,那么该数值是 。A. 二进制数 B. 八进制数 C. 十进制数 D. 四进制数10.微型计算机总线上的信号有 。A. 控制信号、数据信号 B. 地址信号、控制信号C. 数据信号、地址信号、控制信号 D. 二进制信号(二)填空题(共10题,每题1分,共10分)1. 64K的内存空间需要 条地址线,其最大地址为 H。2. 最主要和最基本的三种逻辑运算为逻辑非 、 、 。3. 常用的排序算法包括 、 。4. 从一组给定的数据中找出所需的数据的过程称为 。将问题的候选解按某种顺序逐一枚举和检验,若发现当前的候选解不可能是最终解时,就放弃它而选下一个候选解的过程称为 。5. 有一数组a长度为11,其中前10个元素已按升序排序。输入一个数,要求按顺序放入数组中,请在下面N-S图的和处填写相应的语句。 输入待插入的数值 numbernumbera9 T F for( i=0; i10; i+) #T F 将a9到ai元素顺序向后移动一个位置 number ai 输 出 结 果#: : 二Visual C+程序设计语言部分(共计80分)(三)选择题(每题1.5分,计15分)1设整型变量a的值是1,则C+条件表达式2 = a b ? a : b c ? t : c;return t;则执行下列语句,int r = max(2, 9, 8); 变量r的值是 。A:9B:8C:2D:04下列关于成员函数特性的描述中, 是不正确的。A:成员函数可以重载B:成员函数一定为内联函数C:成员函数可以是静态的D:成员函数可以设置参数的默认值5在while(a)中,a与下列哪个条件表达式等价A:a = 0B:a != 0C:a = 1D:a != 16执行下列程序段的输出是 。for(int i = 1; i 6; i+)if(i%3 = 0) break;coutit;A:1 2 3 4 5B:1 2 4 5C:1 2 D:37浮点型变量f当前值是19.5,则执行下列语句后f的值是 。float f = 19.5;int n = int(f);A:20B:19.5C:19 D:20.08设有函数声明double function(double a, double &b);定义变量double x, y; 则下面对函数正确的调用是 。 A:function(x, 1.0)B:function(x, y)C:function(1.0, &x)D:function(x, 1.0+y)9以下哪些函数可以构成重载函数 。(1). int function(int a, int b, int c);(2). double function(int a, int b, double c);(3). int function(int a, int b);(4). double function(int a, int b, int c);A:(1) (2) (4)B:(1)(3)(4)C:(1)(2)(3)D:(1)(4)10有关类的说法不正确的是 。A:类是一种用户自定义的数据类型B:只有类中的成员函数才能直接存取本类中的私有数据C:类的构造函数与析构函数均可以重载D:类的成员函数可以是重载函数,或者是有缺省参数的函数(四)填空题(每题1.5分,计15分)1整型变量n的当前值是17,执行以下switch语句后n的值是 。switch(n)case 16: +n;case 17: n += 2;case 18: +n;default: n+;2已知小写字母a的ASCII码值是97,则下列语句执行后输出是 。char c = 102;coutc; 3若有下列程序,则程序运行后的输出是 。#includeusing namespace std;int main()int i = 0;docouti, ; while(i+ 5);couti;return 0; 4定义以下字符数组,则该数组的长度是 。char szName = mySEU; 5若有下列程序,则程序运行后的输出是 。#includeusing namespace std;void f(int n);int main()f(789);return 0;void f(int n)if(n = 10)f(n/10);cout= 3; 7类是对具有共同属性和行为的一类事物的抽象描述,共同属性被描述为类中的成员数据,共同行为被描述为类中的 。 8下列语句执行后整型变量nCount的值是 。int nCount = 0;for(int j = 0; j 6, nCount+; j+)nCount+; 9全局与静态变量在程序运行时自动初始化为0;下列语句的本意是求出110共10个数的和,但结果却不对,其原因是 。int sum;for(int i =1; I = 10; i+)sum = sum + i; 10. 运算符重载的两种形式:作为类的成员函数,以及 。 (五)阅读程序并填空(每空1-3分,共25分)1.写出下列程序的执行结果#include using namespace std;void fun(int &a,int &b)int p; p=a; a=b; b=p;void exchange(int &a,int &b,int &c) if(ab) fun(a,b);if(ac) fun(a,c);if(bc) fun(b,c);int main() int a,b,c;a=94; b=16; c=178;coutFirst: ta=a,b=b,c=cendl;exchange(a,b,c);coutSecond: ta=a,b=b,c=cendl;return 0;(1) (1分)(2) (3 分)2.阅读下列程序#include using namespace std; int main() int x=9,n=8,y,i;for(i=0;in;i+)x/=3;y=1+x;i=0;doy*=2;i+;while(i=n);couty=yendl; return 0;(3)y的表达式为: (3分)(4)程序的运行结果为: (2分)3. 设输入的5个整数是:32 64 53 87 54。#includeusing namespace std;int main()int a,b,c,x;a=b=c=0;coutInput 5 integers:endl;for(int i=0;ix;switch(x%3)case 0:a+=x;break;case 1:b+=x;break;case 2:c+=x;break;couta;b;cendl;return 0;程序运行时屏幕输出为:(5) (1分)(6) (1分)(7) (3分)4.阅读下列程序#include using namespace std;int add(double &, double); double a;int main() const int n=5; int num,i;double dn=7.2,5.7,6.0,4.2,9.9;for(i=0;i=6) num=add(a,di);a/=num;coutThe average is:anThe number is:numendl;return 0;int add(double & a,double d)static int c;a+=d;c+;return c;程序的运行结果为:(8) (2分)(9) (3分)5. 阅读下列程序#includeusing namespace std;class MyTestClassprivate:int NumA;public:MyTestClass(int a)coutatis Constructor.endl;NumA=a;MyTestClass(MyTestClass &b)coutCopy Constructor.endl;NumA=b.NumA;void Print()coutThe private data is: NumA=NumAendl;MyTestClass()coutNumAtis Destructor.endl;int main()MyTestClass Myclass1(5), Myclass2(Myclass1);Myclass2.Print();return 0;程序的运行结果为:(10) (1分)(11) (2分)(12) (1分)(13) (1分)(14) (2分)(六)完善程序题(共25分)1、编写程序求的值(每空2分,共6分。)其中arctan( )用如右形式的级数计算:计算直到级数某项绝对值不大于10-15为止;和 x 均为double型。#includeusing namespace std;double arctan( double x ) ; /函数原型声明int main( )double a, b; a = ; /注意:整数相除结果将会取整! b = ; /此处略,b将计算出 的值 cout PI= a-b endl;return 0;double arctan( double x ) int i , sign = 1; double sum, e, f, sqr; sum = 0; e = x; i = 1 ; while ( ) /终止条件 f = e / i ;sum += sign * f ; e = ; /递推公式sign *= -1;i += 2; return sum ;2、输入一个8位二进制数,将其转换为十进制数输出。(每空2分,共4分。)#includeusing namespace std;const int n = 8 ; /输入数据的位数int main( )char bin n; /用来放输入的数据,数据的每一位以字符方式存放int x = 2 ; /x表示几进制,此时处理的是二进制inta, dec, i ;cout 输入二进制序列: = 0; i- ) ; /输入的是字符,且先输入的是二进制数的高位dec = 0 ;for( i = n-1; i = 0; i- ) a = ; /字符转换为数字,例如11,00 dec = dec*x + a ;cout 转换为十进制,值为: dec endl;return 0;3、用递归算法实现正整数的倒序输出。(每空2分,共4分。)#includeusing namespace std;void backward( int x ) /* 这个数非0时,倒序输出总是先输出最后一位,然后在剩下的数中进行同样思路的倒序输出 */if ( x0 ) ; ;int main( )int n;cout “输入正整数: n;cout “原整数” n “倒序输出为:;backward ( n ) ;cout endl ;return 0;4、定义复数类,可完成复数基本运算,并应用它进行复数运算。(共11分。)#include #include using namespace std;class ComplexdoubleReal, Image ; /复数的实部和虚部public:Complex ( double r = 0.0, double i = 0.0 ) /定义构造函数 (1.5分)Complex ( Complex & com ) /定义复制构造函数 (1.5分)void Print( )cout Real= Real t Image= Image n ;Complex operator+ ( Complex );/Co

温馨提示

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

评论

0/150

提交评论