东南大学08级C++(下)上机试卷和答案解析
(最新整理)东南大学08级C++(下)上机试卷和答案解析
(完整)东南大学08级C++(下)上机试卷和答案解析编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整)东南大学08级C++(下)上机试卷和答案解析)的内容能够给您的工作和学习带来便利。
同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整)东南大学08级C++(下)上机试卷和答案解析的全部内容。
东南大学08级C++(下)上机试卷D和答案解析(考试时间80分钟卷面成绩100分)学号姓名机位号说明:首先在Z盘建立一个以自己的学号命名的文件夹,用于存放上交的*。
CPP文件,考试结束前根据机房要求,将这个文件夹传送到网络服务器上,注意:提交时只保留文件夹中的CPP文件。
一、改错题(50分)【要求】调试程序,修改其中的语法错误及少量逻辑错误。
只能修改、不能增加或删除整条语句,但可增加少量说明语句和编译预处理指令。
【注意】源程序以“学号f1。
cpp”命名,存入自己学号文件夹。
【题目】以下程序实现动态生成数据成员,析构函数用来释放动态分配的内存,复制构造函数和复制赋值操作操作符实现深复制.【含错误的源程序】#include 〈iostream>#include 〈cstring〉using namespace std;class student{char *pName;public:student( );student( char *pname, int len );//错误1student( student &s );~student( );student & operator = ( student &s );} //错误2 student::student( ){cout >> ”Constructor”;//错误3pName = NULL;cout << "默认" << endl;}student::student( char *pname ){cout 〈< "Constructor";pName = new char[strlen(pname)+1];if ( pName ) strcpy( pName, pname );cout 〈〈 pName << endl;}student::student( student s ) //错误4{cout<<"Copy Constructor";if( s。
2008(秋)江苏省计算机二级C语言试题与答案(笔试)
江苏省二级C 语言程序设计2008 年(秋)第一部分计算机基础知识1)信息技术指的是用来扩展人们信息器官功能、协助人们更有效地进行信息处理的一类技术。
在下列有关信息技术的叙述中,错误的是 ______ 。
A)现代信息技术的主要特征之一是以数字技术和电子技术为基础B)遥感遥测技术、自动控制技术等均属于现代信息技术C)微电子技术是信息技术领域的关键技术,它以集成电路为核心D)利用磁带、光盘、电话、传真等进行信息传递均属于现代通信2)二进制数10111000 和11001010 进行逻辑“与”运算,结果再与10100110 进行逻辑“或” 运算,最终结果的十六进制形式为_______ 。
A)A2 B )DE C)AE D)953)计算机的性能在很大程度上是由CPU 决定的。
在下列有关CPU 结构和原理的一些叙述中,错误的是A)目前PC 机所使用的CPU 均是Intel 公司的产品B)从逻辑组成上看,C PU 主要由寄存器组、运算器和控制器等部分组成C)目前CPU 中的运算部件ALU 有多个,每个ALU 均可独立完成运算D)不同CPU 能执行的指令有所不同,但同一系列CPU 产品通常是“向下兼容的4)在下列有关目前PC 机主板及其组件的叙述中,正确的是。
A)主板的物理尺寸没有标准,通常不同品牌的主板采用不同的尺寸B)主板上的BIOS 芯片是一种RAM 芯片,因而其存储的信息是可以随时刷新的C)主板上的存储器控制和I/O 控制功能大多集成在芯片组内D)主板上的CMOS 芯片是一种非易失性存储器,其存储的信息永远不会丢失5)在下列有关PC 机硬盘存储器的叙述中,错误的是。
A)硬盘上的数据块要用柱面号、扇区号和磁头号这三个参数来定位B)目前硬盘一般都含有DRAM 芯片构成的高速缓存(C ache)C)目前硬盘与主机的接口大多为串行ATA 接口D)硬盘容量的增加主要是靠碟片数增加,目前硬盘一般均有数十个碟片组成6)在下列有关PC 机I/O 总线和接口的叙述中,错误的是。
东南大学非电专业C++下学期上机作业题
要求,。
1) 原数组已按数学成绩排序(降序),添加和删除学生信息后数组应仍为降序。
2) 以下数据用于添加{"赵二".96},{"钱六",65},{"孙七",80}
3) 注意,添加,删除后count数据要相应变化。
#include<iostream>
cout<<"请输入删除学生的姓名"<<endl;
cin>>name;
int k=0;
for(int i=0;i<count;i++)
{
if(strcmp(a[i];
break;
}
}
for(int j=k;j<count;j++)
{
strcpy(a[j].name,a[j+1].name);
{
stringstr1, str2 ="the";
intposition = 0;//出现the的位置
intcount = 0;//出现the的次数
for(inti = 0; i<NUM; i++)
{
count = 0;//每次循环计数清0
str1=p[i];
//find函数是在一个字符串里,从某个位置找第二字符串,找到返回位置,找不到返回str1.npos
}
cout<<p->num<<'\t'<<p->name<<'\t'<<p->cppScore<<'\t'<<p->engScore<<endl;//打印最后一个
东南大学08级C++(下)上机试卷A和答案解析
东南大学08级C++(下)上机试卷A和答案解析-CAL-FENGHAI.-(YICAI)-Company One1东南大学08级C++(下)上机试卷A和答案解析(考试时间80分钟,卷面成绩100分)学号姓名机位号说明:首先在Z盘建立一个以自己的学号命名的文件夹,用于存放上交的*.CPP 文件,考试结束前根据机房要求,将这个文件夹传送到网络服务器上,注意:提交时只保留文件夹中的CPP文件。
一、改错题(50分)【要求】调试程序,修改其中的语法错误及少量逻辑错误。
只能修改、不能增加或删除整条语句,但可增加少量说明语句和编译预处理指令。
【注意】源程序以“学号f1.cpp”命名,存入自己学号文件夹。
【题目】以下程序用于构造一个空的数组对象,通过调用插入函数建立按升序排列的数组,并输出数组内容。
【含错误的源程序】#include<iostream>#include<iomanip>using namespace std;class Array{int *p;int last; //最后一个元素下标public:Array(int=20); //创建一定长度的空表,给定长度缺省值为20~Array();void insertOrder(int); //在升序表中插入一个元素,使之仍然升序void print();};void Array::Array(int max){ //错误行last=-1;p=new int[]; //初始化为给定长度//错误行}Array::~Array(){delete p[];} //错误行void print(){ //错误行for(int i=0;i<=last;i++) cout<<setw(4)<<p[i];cout<<endl;}void Array::insertOrder(){ //将关键字插入到数组中某个位置//错误行if(last=-1){last++; p[last]=key;} //错误行int i=last;while(i>=0&&key<p[i]){p[i+1]=p[i]; //错误行i--;}p[i]=key; //错误行last++;}void main(){Array a(); //创建数组//错误行int t;for(int i=0;i<10;i++){ //读入10个数据创建一个升序数组cin>>t;a.insertOrder(int t); //错误行}print(); //输出数组//错误行}二、编程题(50分)【注意】源程序以“学号f2.cpp”命名,存入自己学号文件夹。
08东南大学上机考试试卷
C++语言程序设计(上)期终考试(08-09-2学期)非电类第二场上机考试试卷_B(1月14日)学号姓名机位号成绩(考试时间70分钟,卷面分数100分)说明:首先在Z盘建立一个以自己的学号命名的文件夹,用于保存上交的考试文件。
先在E盘对以下问题按要求编制程序,调试运行。
然后将源文件和自己的头文件(若存在)复制到Z盘自己的文件夹中。
一、编写并调试运行函数形式的程序(40分)【题目】数字分解。
【要求】(1)定义一个函数int DVB( int m),功能是判断m的各位数字中是否含有7,如果含有则返回1,否则返回0。
(25分)(2)main()函数功能:循环6次,输入任意整数n,调用函数DVB(n)进行判断。
(10分)(3)调用函数返回后输出判断结果。
要求输出格式为:(5分)<n值> :符合条件(或不符合条件)【说明】如果函数DVB能够处理任意整数则得满25分,而只能处理限定的位数则扣5分。
【注意】将源程序以“学号_1.cpp”为文件名存入Z盘自己的目录中。
二、编写并调试运行数组处理程序(60分)【题目】数据分类。
【要求】(1)定义一个函数void Part(int a[ ] [4], int m, int b[],int c[ ]),对于m×n(n=4)数组a的每个元素判断是否能被5整除。
如果能整除则将该元素值复制到数组b 中,否则将该元素值复制到数组c中。
如果没有发现被5整除的数则输出信息“没有符合条件的数!”,若有则输出“b数组数据个数不为0!”。
(20分)(2)主函数建立整型二维数组data[5][4]和一维数组c[20]和d[20]。
产生20个随机整数为数组data赋值。
用数字0为数组c和d初始化。
(10分)(3)将data中的数据以方阵形式输出至屏幕。
(10分)(4)调用函数Part (data,5, c, d )进行数据处理。
(10分)(5)返回后输出数组c和d,每个数占8位宽度。
08高职高考机械试卷.doc
2008年浙江省高等职业技术教育招生考试机械类(专业基础理论)试卷本试题卷共十六大题。
全卷共11页。
满分250分,考试时间150分钟。
注意事项:1. 答卷前,考生务必将自己的姓名、准考证号用黑色字迹的签字笔或钢笔填写在答题纸上。
2. 选择题每小题选出答案后,用2B 铅笔把答题纸上对段题目的答案标号涂黑。
如需改动,用橡 皮擦干净后,再选涂其他答案标号。
非选择题用黑色字迹的签字笔或钢笔将答案写在答题纸上。
3. 所有试题均需在答题纸上作答,在试卷和草稿上作答无效。
4. 在答题纸上作图,可先使用2B 铅笔,确定后必须使用黑色字迹的签字笔或钢笔描黑。
圆弧处 描黑时,尽可能做到光滑。
第一部分机械制图(满分75分) 一、读图并判断线、面位置。
(每空2分,共10分)请在答题纸相应位置填上正确答案。
错填、不填均无分。
1. AB 是 ______________________________线2. AH 是 ______________________________线3. FG 是 _______________________________线4. AHKJ 是 ____________________________面5. ABCDEFG 是 _________________________而d二、补图补线。
(本大题共3小题,每小题10分,共30分)在答题纸上补图补线时必须用签字笔或钢笔描黑。
1.补画左视图三、标注尺寸,数值从图中取,取整数。
(8分)在答题纸上标注尺寸时必须用签字笔或钢笔描黑。
四、完成全剖左视图。
(8分)五、完成指定位置断面图。
(左键槽深4mm ,右键槽深3. 5mm ) (9分)六、识读零件图,回答下列问题。
(本大题共5小题,每空1分,共10分)请在答题纸每小题相应位置填上正确答案。
错填、不填均无分。
1. 该零件图共采用了 ________ 个视图。
2. 零件的轴向基准为 __________ , C1表示 _________ o3. 该零件采用 __________ 材料,图中2M 表示___________ o 4.娜卜|表示基准要素为 ___________________ ,被测要素为 _________________________公差项0为 _____________ ,公差值为4) 0.016。
东南大学C考试卷.doc
f屮的数值保留小数点后两位, A) ABC B) BCD C) BCA.f=(f* 100+0.5)/100.0;C.f=(int)(f* 100+0.5)/100.0; 第三位进行四舍五入运算的是(C) D)CDB.i=f* 100+0.5,f=i/100.0;D.f=(f/100+0.5)* 100.0;东南大学考试卷一・选择题(以下各题均只有一个正确答案,每题1分,共20分)5.有关运算符重载的说法,正确的是:(B )A.运算符重载函数最多只能有一个形参B.调用重载运算符的成员函数时,必须有一个运算符的操作数是对彖或引用C.调用重载运算符的成员函数时,调用程序的右操作数必须是对象D.调用重载运算符的友元函数时,调用程序的右操作数必须是对象6.重载运算符时,运算符的(A)A)优先级和结合律均不能改变;B)优先级和结合律均可以改变。
C)优先级可以改变,但结合律不能改变;D)优先级不能改变,但结合律可以改变;7.己知变量f为float类型,i为int类型,以下表达式语句中能够实现将8.设a=20,b=30;执行语句a+=b;b=a-b;a-=b;后,a b 的值分别是(D) A. 20,20 B. 30,30 C. 20,30 D. 30,20 9.下面各说明语句中合法的是(C):A) ADE B) ABC C) BDE D) HFDA. static int n; int floppy[n];B. char ab[10];C.char chi[-200];D. int aaa[5]={ 3,4,5};E.float key[ ]={3.0,4.0丄0};F. char diskf ];10 .函数原型为abc(float x,char y);该函数的返回值类型为(A)。
A) int B) char C) void D) float11.设有数组说明inta[10],数组中各元素已含有如下数据:数组元素:a[0] a[l] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9]元素的值:94 12 82 10 75 1 3以下(B)不能正确访问该数组的数组元素。
08级第2次习题参考答案(2021年整理精品文档)
(完整版)08级第2次习题参考答案编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整版)08级第2次习题参考答案)的内容能够给您的工作和学习带来便利。
同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整版)08级第2次习题参考答案的全部内容。
第二次习题参考答案1、在结晶学中,晶胞选取的原则是既要考虑晶体结构的周期性又要考虑晶体的宏观对称性。
#2、晶体的内部结构可以概括为由一些相同的结点构成的基元在空间有规则的作周期性的无限分布,这些结点构成点阵,如果基元只由一个结点构成,这种点阵称为Bravais点阵.氯化钠晶体的Bravais点阵可参照书p8的图1—13,点阵的结点由钠离子和氯离子组成。
#3、金刚石结构可这样描述:面心立方的体心向顶角引8条对角线,在互不相邻的四条对角线中点,各有一个原子。
以金刚石为例,顶角和面心出的原子周围情况和对角线上的原子周围情况不相同,因而金刚石结构是复式晶格,可看作两套面心立方子晶格沿体对角线移开1/4体对角线长度而成。
Bravais 点阵包含两个原子。
#4、面心立方的三个基矢为:⎪⎪⎪⎩⎪⎪⎪⎨⎧+=+=+=)(2)(2)(2321i k a a k j a a j i a a其体积为43a ,根据倒格矢的定义得:⎪⎪⎪⎩⎪⎪⎪⎨⎧-+=⨯⋅⨯=++-=⨯⋅⨯=+-=⨯⋅⨯=)(2)(2)(2)(2)(2)(2321213321132321321k j i a a a a a a b k j i a a a a a a b k j i a a a a a a bππππππ可见,除了系数不同之外,方向正好是体心立方的晶格基矢。
08级C++I试卷(A)_含答案
诚信应考 ,检验作弊将带来严格结果!华南理工大年夜学期末检验2020-12《低级语言次第方案 I 》试卷 ( A )本卷须知:1. 考前请将密封线内填写明晰;2. 所有答案写在答题纸上;3.试卷跟答题纸同时提交;4.检验方法:闭卷;1.以下选项中,合理的常量表示是〔〕。
(A) ‘program’(B) 183AF (C) -618e3 (D)1.0e-5.32.实行以下语句后,i,j,k的值为〔〕。
int i=1,j=1,k=1; (i++,--j) && ++k;(A) 2,0,1 (B) 2,0,2 (C) 1,1,1 (D) 1,0,23.以下有关C++的说法中,精确的陈述是〔〕。
(A) const只能约束普通内存变量的的写把持,不克不迭约束指针变量的写把持。
(B) 静态变量跟全局变量的感染域根本上文件感染域。
(C〕一维数组定义中数组的长度表达式可以应用赋初值的变量。
(D) inline函数不普通函数调用的时空开销。
4.有如下代码段,不精确...的函数调用方法〔〕。
typedef int (*pType)(int,int);int max(int a,int b){ return a>b?a,b; }pType pf = max;(A) pf(1,2); (B) (*pf)(1,2); (C) max(1,2);(D) (&pf)(1,2);5.以下次第段中,循环次数是〔〕for(int i=10;i>0&&i%2;){ i=i-2; }(A) 0 (B) 4 (C) 5 (D) 66.已经清楚 int iArray[2][2]={0,1,2,3},以下表达式的值为2的是〔〕。
(A) iArray[2][1] (B) iArray[1][1](C) *(*(iArray+1)) (D) *(*(iArray)+1)7.假设char *a[]={“fortran〞,“basic〞,“c++〞,“java〞};那么语句cout<<a+3; 的输出结果是〔〕。
2008普通高等学校招生全国统一考试数学试题及答案-江苏卷
绝密★启用前2008年普通高等学校招生全国统一考试(江苏卷)数 学本试卷分第I 卷(填空题)和第II 卷(解答题)两部分.考生作答时,将答案答在答题卡上,在本试卷上答题无效.考试结束后,将本试卷和答题卡一并交回. 注意事项:1.答题前,考生先将自己的姓名、准考证号填写在答题卡上,认真核对条形码上的 准考证号、姓名,并将条形码粘贴在指定位置上.2.选择题答案使用2B铅笔填涂,如需改动,用橡皮擦干净后,再选涂其他答案标号;非选择题答案使用0.5毫米的黑色中性(签字)笔或炭素笔书写,字体工整,笔迹清楚.3.请按照题号在各题的答题区域(黑色线框)内作答,超出答题区域书写的答案无效.4.保持卡面清洁,不折叠,不破损.5.作选考题时,考生按照题目要求作答,并用2B 铅笔在答题卡上把所选题目对应的标号涂黑. 参考公式: 样本数据1x ,2x ,,n x 的标准差s =其中x 为样本平均数柱体体积公式V Sh =其中S 为底面积,h 为高一、填空题:本大题共1小题,每小题5分,共70分. 1.()cos 6f x x πω⎛⎫=-⎪⎝⎭的最小正周期为5π,其中0ω>,则ω= ▲ .2.一个骰子连续投2 次,点数和为4 的概率 ▲ . 3.11ii+-表示为a bi +(),a b R ∈,则a b +== ▲ .4.A={()}2137x x x -<-,则A Z 的元素的个数 ▲ .锥体体积公式13V Sh =其中S 为底面积,h 为高球的表面积、体积公式24S R π=,343V R π= 其中R 为球的半径5.a ,b 的夹角为120︒,1a =,3b = 则5a b -= ▲ .6.在平面直角坐标系xoy 中,设D 是横坐标与纵坐标的绝对值均不大于2 的点构成的区域, E 是到原点的距离不大于1 的点构成的区域,向D 中随机投一点,则所投的点落入E 中的概率是 ▲ .7.某地区为了解70-80岁老人的日平均睡眠时间(单位:h ),随即选择了50为老人进行调查,下表是这50为老人日睡眠时间的频率分布表。
东南大学2009-2010学年C++(下)期末考试模拟试题
2008-2009学年C++(下)期末考试模拟试题一、选择题(每题2分,共30分)1。
下列程序段的运行结果是()。
char c[]=”\t\v\\0will\n";cout〈〈strlen(c);A. 4B. 3C. 9D. 字符串中含有非法字符,输出结果不确定2. 已知定义类A,该类的构造函数的参数都没有缺省值。
执行语句:A a1(2),a2(1,2), *p=new A[3];则自动调用该类缺省的构造函数的次数为()。
A. 1 B。
2 C。
3 D。
53。
下列叙述正确的是( ).A。
虚函数是一个static类型的成员函数B. 虚函数是一个非成员函数C。
包含虚函数的基类为虚基类D. 包含存虚函数的基类为抽象类4。
下列关于赋值兼容性规则的叙述不正确的是()。
A. 派生类的对象可以赋值给基类的对象B. 基类的对象可以赋值给派生类的对象C. 派生类的对象可以初始化基类对象的引用D. 可以将派生类对象的地址赋值给其基类的指针变量5。
设有定义int a[][3]={1,3,5,7,9,11,13,15,17};int *p=a[2];则*(p+1)的值为()。
A。
15 B。
7 C. 14 B。
66. C++中多态性包括两种:编译时的和运行时的。
运行时多态性是通过()实现的.①函数重载②运算符重载③类继承关系④动态链接⑤虚函数A。
①和② B. ③和⑤ C. ④和⑤D。
③和④7. 关于动态内存分配,对delete运算符的下列说法中,( )是错误的.A. 应与new运算符配合使用。
B. 可以在类的成员函数中使用。
C。
对同一个指针变量可任意多次使用该运算符。
D. 若a是一个二维数组,则delete []a; 可删除a所占用的存储空间。
8. 设int x;int *p2=&x, *p1=&x;*p1=a; *p2=*b;则变量a和b的类型分别是( )。
A. int 和int B。
int *和int C. int和int * D. int *和int *9. 下列关于成员函数的叙述不正确的是()。
2008年春江苏省计算机等级考试C语言试题
2008年春江苏省计算机等级考试C语言试题2008年春江苏省计算机等级考试C语言试题2008年春江苏省计算机等级考试C试题第一部分计算机基础知识1.在下列有关微电子技术与集成电路的叙述中,错误的是( 1 ) 。
A.微电子技术是以集成电路为核心的技术B.集成度是指单个集成电路所含电子元件的数目C.Moore定律指出,单个集成电路的集成度平均每18—24个月翻一番D.IC卡仅有存储器和处理器,卡中不可能存储有软件2.在下列有关通信技术的叙述中,错误的是( 2 ) 。
A.目前无线电广播主要还是采用模拟通信技术B.数字传输技术最早是被长途电话系统采用的C.数字通信系统的信道带宽就是指数据的实际传输速率(简称“数据速率”)D.局域网中广泛使用的双绞线既可以传输数字信号,也可以传输模拟信号3.CPU的运算速度与许多因素有关,下面哪些是提高CPU速度的有效措施? ( 3 )①增加CPU中寄存器的数目②提高CPU的主频③增加CPU中高速缓存(cache)的容量④优化BIOS的设计A.①、③和④B.①、②和③C.①和④D.②、③和④4.下面是PC机常用的4种外设接口,其中键盘、鼠标、数码相机和移动硬盘等均能连接的接口是( 4 )A.RS-232 B.IEEE-1394 C.USB D.IDE 5.下列有关PC机外部设备的叙述中,错误的是( 5 )。
A.扫描仪的工作过程主要基于光电转换原理,分辨率是其重要性能指标之一B.制作3—5英寸的照片(图片),数码相机的CCD像素必须在600万以上C.集成显卡(指集成在主板上的显卡)的显示控制器主要集成在芯片组中D.存折和票据的打印,目前主要是采用针式打印机6.下列有关PC机辅助存储器的叙述中,错误的是( 6 ) 。
A.硬盘的盘片转动速度特别快,目前一般为每秒数千转B. 近年来使用的串行A TA(SATA)接口硬盘,其传输速率比采用IDE接口的要快C.目前移动硬盘大多采用USB 2.0接口,其传输速率可达每秒数十兆字节D. 40倍速的CD-ROM驱动器的速率可达6MB/s左右7.在下列有关商品软件、共享软件、自由软件及其版权的叙述中,错误的是(7 )。
东南大学2008~2009第2学期C++(上)试卷(含笔试和上机)
东南大学2008~2009第2学期C++(上)试卷A卷第一部分计算机基础一、选择题(每小题1分,共10分)1.一个完整的计算机系统应包括。
A.主机及外部设备B.机箱、键盘、显示器及打印设备C.硬件系统和软件系统D.中央处理器、储存器及外部设备2.按位逻辑与运算:11001010^11000101的运算结果是。
A.00001000 B.00001001 C.11000001D.110000003.下列关于存储器的说法中,正确的是。
A.ROM是只读存储器,其中的内容只能读一次B.硬盘通常安装在主机箱内,所以硬盘属于内存C.CPU不能直接从外存储器读取数据D.任何存储器都有记忆能力,且断电后信息不会丢失4.在某进制的运算中4*5=14,根据这一运算规则,则5*7= 。
A.3A R.35 C.29 D.235.长度为1个字节的二进制整数,若采用补码表示,且由5个“1”和3个“O”组成,则可表示的最小十进制整数为。
A.-120 B.-113 C.-15 D.-86.算法设计采用的方法是。
A.由精到粗、由具体到抽象 B.由粗到精、由抽象到具体C.由精到粗、由抽象到具体 D.由粗到精、由具体到抽象7.下列四个不同进位制的数中最大的数是。
A.二进制数1001101.01 B.十进制数73.5C.八进制数115.1 D.十六进制数4C.4 8.下列编码中,不属于汉字输入码。
A.点阵 B.全拼双音码 C.郑码输入码 D.区位码码9.外存中的文件必须读入后计算机才能进行处理。
A.CPU B.Cache C.ROM D.RAM10.程序的基本结构不包括。
A.循环结构B.递推结构C.分支结构D递归结构二、填空题(每空1分,共5分)1.C语言源程序转换为目标程序的过程称为(1)。
7.在线性数据组织中,栈是一种进栈和出栈均在同一端口进行的组织方法,这种组织方法的特点可以表示为(2)。
6.线性数据组织可以分为(3)和(4)两种。
东南大学(09级)c++上机考试试卷A(答案)
东南大学09级计算机科学基础I上机试卷A一、改错题(50分)【要求】调试程序,修改其中的语法错误及少量逻辑错误。
只能修改、不能增加或删除整条语句,除了可以增加由"{"、回车等分隔符产生的行数外,不允许增加其它行数。
【注意】源程序以“学号f1.cpp”命名,存入自己学号文件夹。
【题目】自定义函数的功能为统计数组中负数的个数,并且将负数改为0;主函数产生-20~79之间的n个随机数,调用自定义的函数,输出函数调用后数组的所有元素的值及原数组中包含的负数个数。
修改程序,运行时能够得到如下的输出结果:产生的随机数为:21 47 14 -20 49 4 58 38 42 44-15 25 61 7 41 71 75 22 7 16数组中负数的个数为:2负数清零后的数组为:21 47 14 0 49 4 58 38 42 440 25 61 7 41 71 75 22 7 16程序中有十处错误。
改错题评分标准:每错5分,共50分【含错误的源程序】#include<iostream>#include<cstdlib>using namespace std; //错误:命名空间using namespace iostream;int ClrMinus(int [],int); //错误声明:int ClrMinus(int ,int);int main(){const int n=20; //错误变量声明int n=20int arr[n]={0},i;cout<<"产生的随机数为:"<<endl;for(i=0;i<n;i++) //数组元素范围错误for(i=1;i<=n;i++){arr[i]=rand()%100-n;cout<<arr[i]<<'\t';}cout<<endl;cout<<"数组中负数的个数为:"<<ClrMinus(arr,n)<<endl;//错误函数调用:ClrMinus(arr[],n)cout<<"负数清零后的数组为:\n";for(i=0;i<n;i++); //错误变量声明int n=20 多了;cout<<arr[i]<<'\t'; //错误数组作用域Arr[i]cout<<endl;return 0;}int ClrMinus(int Arr[],int m){int count=0; //未初始化int count;for(int i=0;i<m;i++) //错误变量声明int n=20{if(Arr[i]<0) //条件语句块错误:少了{}{Arr[i]=0;count++;}}return count;}二、编程题(50分)【注意】源程序以“学号f2.cpp”命名,存入自己学号文件夹。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
cout << pName << endl;
}
student::student( student & s )
{
cout<<"Copy Constructor";
if( s.pName )
{ int len = strlen(s.pName);
if(!datafile)
{
cout<<"open error";
}
if(!datafile==0)
{
string productName; //产品名称
string matName; //原材料名称
int matPrice0; //原材料进价
int servicePrice; //加工费
if(!datafile.eof())
pName = new char(len+1);//错误5
if ( pName ) strcpy( pName, s.pName );
cout << pName << endl;
}
else pName = NULL;
}
student::~student()
{
cout << "Destructor";
pName = new char[len+1];
if ( pName ) strcpy( pName, s.pName );
cout << pName << endl;
}
else pName = NULL;
}
student::~student()
{
cout << "Destructor";
if ( pName ) cout << pName << endl;
return 0;
}
二.编程题
#include<fstream>
#include<iostream>
#include<string>
#include<iomanip>
using namespace 来自td;class Product
{
string ProductName; //产品名称
string MatName; //原材料名称
pro.CalSalePrice();
return 0;
}
【题目】
给产品销售价定价,请编写产品类Product。确定产品的销售价的公式为:
产品销售价=原材料价格*1.5 +加工费*2.0
要求:
类Product的数据成员包括ProductName(表示产品名称,为字符串型)、MatName(表示原材料名,为字符串型)、MatPrice0(表示原材料进价,为整型)、ServicePrice(表示加工费,为整型)、SalePrice(表示商品销售价,为整型)。
东南大学08级C++(下)上机试卷D和答案解析
(考试时间80分钟卷面成绩100分)
学号姓名机位号
说明:首先在Z盘建立一个以自己的学号命名的文件夹,用于存放上交的*.CPP文件,考试结束前根据机房要求,将这个文件夹传送到网络服务器上,注意:提交时只保留文件夹中的CPP文件。
一、改错题 (50分)
【要求】调试程序,修改其中的语法错误及少量逻辑错误。只能修改、不能增加或删除整条语句,但可增加少量说明语句和编译预处理指令。
}
int main(void)
{
student s1("范英明"), s2("沈俊");
student s3(s1);
student *s4 = new student(s2);
delete s3;//错误10
return 0;
}
二、编程题(50分)
【注意】源程序以“学号f2.cpp”命名,存入自己学号文件夹。
类Product的构造函数实现从文本文件Product.txt中读取产品名称、原材料名、原材料进价和加工费。
类Product的成员函数CalSalePrice()计算产品的销售价格。
类Product的析构函数将完整的产品信息写入文本文件Output.txt。写入的信息包括产品名称、原材料名称、原材料价格、加工费、产品销售价。
intmain()
{
Product pro;
pro.CalSalePrice();
return0;
}
【提醒】上传的学号文件夹中只需包含f1.cpp、f2.cpp及Output.txt三个文件即可,其余文件上传前尽可删除。
答案解析
一.改错题
#include <iostream>
#include <cstring>
【注意】源程序以“学号f1.cpp”命名,存入自己学号文件夹。
【题目】以下程序实现动态生成数据成员,析构函数用来释放动态分配的内存,复制构造函数和复制赋值操作操作符实现深复制。
【含错误的源程序】
#include <iostream>
#include <cstring>
using namespace std;
}
Product::~Product()
{ //此处添加代码
//类Product的析构函数将完整的产品信息写入文本文件Output.txt
}
voidProduct::CalSalePrice()
{
//类Product的成员函数CalSalePrice()计算产品的销售价格。
}
用于测试的main函数如下:
if( pName ) strcpy( pName, s.pName );
cout << pName << endl;
}
else pName=NULL;
return *this;
}
int main(void)
{
student s1("范英明"), s2("沈俊");
student s3(s1);
student *s4 = new student(s2);
if ( pName ) cout << pName << endl;
delete PName;//错误6
}
student & Student::operator = ( student &s )//错误7
{
cout << "Copy Assign operator";
delete[] pName;
}
void Product::CalSalePrice()
{
//产品销售价=原材料价格*1.5 +加工费*2.0
//类Product的成员函数CalSalePrice()计算产品的销售价格。
SalePrice=MatPrice0*1.5+ServicePrice*2.0;
}
int main()
{
Product pro;
delete[] pName;
}
student & student::operator = ( student &s )
{
cout << "Copy Assign operator";
delete[] pName;
if(s.pName)
{
int len = strlen(s.pName);
pName = new char[len+1];
{
fstream datafile("d:\\Product.txt",ios::out) ;
datafile<<ProductName<<setw(5)<<MatName<<setw(5);//类Product的析构函数将完整的产品信息写入文本文件Output.txt
datafile<<MatPrice0<<setw(5)<<ServicePrice<<setw(5)<<SalePrice<<endl;
if ( pName ) strcpy( pName, pname );
cout << pName << endl;
}
student::student( student s )//错误4
{
cout<<"Copy Constructor";
if( s.pName )
{ int len = strlen(s.pName);
if(s.pName)
{
len = strlen(s.pName);//错误8
pName = new char[len];//错误9
if( pName ) strcpy( pName, s.pName );
cout << pName << endl;
}
else pName=NULL;
return *this;
int MatPrice0; // 原材料进价
int ServicePrice; //加工费
int SalePrice; //最终定价
public:
Product();
~Product();