东南大学2009年级上机考试试卷C++上答案

合集下载

2009年东南大学提前招生物理试题及参考解答

2009年东南大学提前招生物理试题及参考解答

2009年 东南大学提前招生物理试题及参考解答(部分)1.如图所示,甲、乙两滑块由斜面的顶端自由释放,滑至地面所需的时间为t 1和t 2,则与时间之比t 1:t 2有关的因素是( ) A.斜面的长度 B.滑块的质量 C.斜面的高度 D.上述三个因素都有 【解答】A设斜面长度为S1,S2, 由2)sin (21t g S θ=,得 22221121sin sin t t S S θθ= 由于斜面高度2211sin sin θθS S h == 故1221sin sin θθ=S S 所以有1221sin sin θθ=t t =21S S2.一枚日常的缝衣针中包含的原子数目,最可能的是 ( ) A.1016 B.1019 C.1022 D.1025 【解答】B设为铁针,铁的摩尔质量为=μ56g/mol, 1枚针的质量约为M=10-2g ,其摩尔数为mol Mn 410-≈=μ原子数数量级为19423101010=⨯≈-A nN3.具有相等德布罗意波长的下列粒子中,动能最大的是 ( ) A.α粒子 B.质子 C.中子 D .电子 【解答】D 由 λhP =具有相等德布罗意波长的粒子的动量相等由于mP E K 22=电子的质量最小,动能最大,(质子、中子的质量为电子的1800倍)4.一频率f =100Hz 的波源,以速度v =500m/s 作匀速直线运动,且以相等的时间间隔向各个方向同时发出机械波。

某一时刻,发出的机械波在运动平面上到达的最远位置如图所示(图中每个上正方格的边长相等),则该机械波的波长约为 ( ) A.1m B.3m C.5m D.7m 【解答】B设波速为V, 波源每隔一定时间t ∆发出机械波,图中每小格长度为L 从最小圆到最大圆的圆心相距约7.5格 S=7.5L= v (3t ∆),得35005.75.7Lv L t ==∆ 最大圆的半径为5格, R=5L=5005.7)3(LV t V =∆ 波速 310005.75005=⨯=V 波长 m m f V 33.33001000≈===λ5.如图(1)所示的电路中,甲、乙和丙为三只相同的小灯泡,小灯泡的伏安特性曲线如图(2)所示,U 、I 、R 和P 分别表示小灯泡的电压、电流、电阻和电动率,下列关系中正确的有 ( )A.U 甲<2U 乙B. I 甲<2I 乙C. R 甲<2R 乙D. P 甲<2P 乙【解答】B甲两端的电压和乙、丙串联后两端的电压相等由I-U 图看出,灯泡为非线性电阻,通以小电流时电阻小,大电流时电阻大。

2009-2013年_江苏省计算机二级C语言历年真题及答案(含讲解).docx

2009-2013年_江苏省计算机二级C语言历年真题及答案(含讲解).docx

2009年春季江苏省高校计算机等级考试考试试题第一部分计算机基础知识1. 在下列有关现代信息技术的一些叙述中,正确的是 1 。

A.集成电路是20世纪90年代初出现的,它的出现直接导致了微型计算机的诞生B.集成电路的集成度越来越高,目前集成度最高的已包含几百个电子元件C.目前所有数字通信均不再需要使用调制解调技术和载波技术D.光纤主要用于数字通信,它采用波分多路复用技术以增大信道容量‘.2. 最大的10位无符号二进制整数转换成八进制数是 2 .。

A.1023B.1777C.1000D.10243. 在下列有关目前PC机CPU的叙述中,错误的是 3 。

A.CPU芯片主要是由Intel公司和AMD公司提供的B."双核"是指PC机主板上含有两个独立的CPU芯片C.Pentium 4微处理器的指令系统由数百条指令组成D.Pentium 4微处理器中包含一定容量的Cache存储器4. 在下列有关当前PC机主板和内存的叙述中,正确的是 4 。

A.主板上的BIOS芯片是一种只读存储器,其内容不可在线改写B.绝大多数主板上仅有一个内存插座,因此PC机只能安装一根内存条C.内存条上的存储器芯片属于SRAM(静态随机存取存储器)D.目前内存的存取时间大多在几个到十几个ns(纳秒)之间5. 在下列有关PC机辅助存储器的叙述中,正确的是 5 。

A.硬盘的内部传输速率远远大于外部传输速率B.对于光盘刻录机来说,其刻录信息的速度一般小于读取信息的速度C.使用USB 2.0接口的移动硬盘,其数据传输速率大约为每秒数百兆字节D.CD-ROM的数据传输速率一般比USB 2.0还快6. 在下列PC机I/O接口中,数据传输速率最快的是 6 。

B 2.0B.IEEE-1394C.IrDA (红外)D.SATA7. 计算机软件可以分为商品软件、共享软件和自由软件等类型。

在下列相关叙述中,错误的是7 。

A.通常用户需要付费才能得到商品软件的使用权,但这类软件的升级总是免费的B.共享软件通常是一种"买前免费试用"的具有版权的软件C.自由软件的原则是用户可共享,并允许拷贝和自由传播D.软件许可证是一种法律合同,它确定了用户对软件的使用权限8. 人们通常将计算机软件划分为系统软件和应用软件。

东南大学机试-A卷-(电类)-程序设计及算法语言Ⅱ

东南大学机试-A卷-(电类)-程序设计及算法语言Ⅱ

东南大学09级C++(下)上机试卷A(考试时间80分钟,卷面成绩100分)学号姓名机位号说明:首先在Z盘建立一个以自己的学号+姓名命名的文件夹,用于存放上交的*.CPP文件,考试结束前根据机房要求,将这个文件夹传送到网络服务器上,注意:提交时只保留文件夹中的CPP文件。

一、改错题(50分。

共10个错误,每个错误5分)【要求】调试程序,修改其中的语法错误及逻辑错误。

只能修改、不能增加或删除整条语句,但可增加少量说明语句。

【注意】源程序以“学号f1.cpp”命名,存入自己学号文件夹。

【题目】以下程序中演示了通过复制构造函数和复制赋值操作符实现深复制,请找出并改正程序中的语法错误和逻辑错误。

【含错误的源程序】#include <iostream>#include <cstring>using namespace std;class student{char *pName;public:student();student(char *pname);student(student &s);~student();student & operator=(student &s);void print();};student::student(){cout<<"Constructor";pName=NULL;cout<<"缺省"<<endl;}student::student ( char *pname ){cout<<"Constructor";int len = strlen(pname);pName = new char[len]; //错误行if ( pName ) strcpy ( pname, pName); //错误行cout<<pName<<endl;}student::student(student &s){cout<<"Copy Constructor";if(s.pName){int len = strlen( s.pName );pName = new char[len +1];if ( pName ) strcpy (pName, s.pName);cout<<pName<<endl;}else pName=NULL;}void student::~student() //错误行{cout<<"Destructor";if ( pName ) cout<<pName<<endl;pName = NULL; //错误行}student & student::operator = ( student s ) //错误行{cout<<"Copy Assign operator";delete[] pName;if ( s.pName ){pName = new char[strlen(s.pName)+1];if ( pName ) strcpy ( pName, s.pName );cout<<pName<<endl;}else pName=NULL;return this; //错误行}void print( ) //错误行{if (pName = NULL ) cout << "NULL" << endl; //错误行else cout << pName << endl;}int main(void){student s1("范英明"),s2("沈俊");student *s3 = new student;*s3 = s1;s1.print();s2.print();s3.print(); //错误行delete *s3; //错误行return 0;}二、编程题(50分。

东南大学2009年级_C++(下)_四系机试A卷

东南大学2009年级_C++(下)_四系机试A卷

09级计算机科学基础II上机试卷A(考试时间80分钟卷面成绩100分)学号姓名机位号说明:首先在Z盘建立一个以自己的学号命名的文件夹,用于存放上交的*.CPP文件和*.dat文件,考试结束前根据机房要求,将这个文件夹传送到网络服务器上,注意:提交时只保留文件夹中的.CPP文件和.dat文件。

一、改错题(50分)【要求】调试程序,修改其中的语法错误及逻辑错误。

只能修改、不能增加或删除整条语句。

请在修改行的末尾用“注释符号//+序号”表示此行修改过,如 //3)【注意】源程序以“学号f1.cpp”命名,存入自己学号文件夹中。

【题目】修改以下程序中的逻辑错误和语法错误(共10处)。

#include<iostream>using namespace std;class CChild{int m_age;double *m_pweight;public:CChild(int); //改为CChild(int=0);CChild(CChild &);~CChild();friend void SetChildData(CChild);};CChild::CChild(int age){age=m_age; //改为m_age=ageif(age){if(m_pweight==new double[age]) //改为if(m_pweight=new double[age]){cout<<"请输入"<<m_age<<"岁儿童每年的平均体重\n";for(int i=0;i<age;i++)cin>>m_pweight[i];}}else m_pweight=0;}{cout<<m_age<<"岁儿童每年的平均体重为(kg)\n";for(int i=0;i<m_age;i++)cout<< *(m_pweight+i)<<'\t'; //输出的是乱码cout<<endl;delete m_pweight; //改为delete [] m_pweight;(仍会报错)}}CChild::CChild(CChild &child){m_age=child.m_age;if(m_age) //改为if(child.m_age) 为什么?{m_pweight=new double(m_age); //改为m_pweight=new double[m_age];for(int i=0;i<m_age;i++)m_pweight[i]=child.m_pweight[i];}else m_pweight=0;}friend void SetChildData(CChild child) //改为void SetChildData(CChild child){cout<<"请输入儿童年龄:\t";cin>>m_age; //改为cin>>child.m_age;if(child.m_age){if(child.m_pweight) delete [] child.m_pweight;child.m_pweight=new double[child.m_age];cout<<"请输入"<<child.m_age<<"岁儿童每年的平均体重\n";for(int i=0;i<child.m_age;i++)cin>>child.m_pweight[m_age]; //改为cin>>child.m_pweight[i]}else child.m_pweight=0;}int main(){CChild ch1(4),ch2(ch1),ch3;SetChildData(ch3);return 0;}二、编程题(50分)1) 在CMatrix的构造函数中,从二进制文件04009.dat中读取数据,将数据存储到由指针parr指向的动态开辟的数组空间(空间的大小由二进制文件的随机读写函数判断出文件的字节数len后,根据len 值判断数组长度,并动态开辟数组parr),将数据每5个一行显示到屏幕上。

(2009年级)上机考试试卷A(C++下)

(2009年级)上机考试试卷A(C++下)

信息学院09年级计算机科学基础II上机试卷A(考试时间70分钟卷面成绩100分)学号姓名机位号说明:首先在Z盘建立一个以自己的学号命名的文件夹,用于存放上交的*.CPP文件和*.dat文件,考试结束前根据机房要求,将这个文件夹传送到网络服务器上,注意:提交时只保留文件夹中的.CPP文件和.dat文件。

一、改错题(50分)【要求】调试程序,修改其中的语法错误及逻辑错误。

只能修改、不能增加或删除整条语句。

请在修改行的末尾用“注释符号//+序号”表示此行修改过,如//3)【注意】源程序以“学号f1.cpp”命名,存入自己学号文件夹中。

【题目】修改以下程序中的逻辑错误和语法错误(共10处)。

#include<iostream>using namespace std;class CChild{int m_age;double *m_pweight;public:CChild(int);CChild(CChild &);~CChild();friend void SetChildData(CChild);};CChild::CChild(int age){age=m_age;if(age){if(m_pweight==new double[age]){cout<<"请输入"<<m_age<<"岁儿童每年的平均体重\n";for(int i=0;i<age;i++)cin>>m_pweight[i];}}else m_pweight=0;}CChild::~CChild()if(!m_pweight){cout<<m_age<<"岁儿童每年的平均体重为(kg)\n";for(int i=0;i<m_age;i++)cout<< *(m_pweight+i)<<'\t';cout<<endl;delete m_pweight;}}CChild::CChild(CChild &child){m_age=child.m_age;if(m_age){m_pweight=new double(m_age);for(int i=0;i<m_age;i++)m_pweight[i]=child.m_pweight[i];}else m_pweight=0;}friend void SetChildData(CChild child){cout<<"请输入儿童年龄:\t";cin>>m_age;if(child.m_age){if(child.m_pweight) delete [] child.m_pweight;child.m_pweight=new double[child.m_age];cout<<"请输入"<<child.m_age<<"岁儿童每年的平均体重\n";for(int i=0;i<child.m_age;i++)cin>>child.m_pweight[m_age];}else child.m_pweight=0;}int main(){CChild ch1(4),ch2(ch1),ch3;SetChildData(ch3);return 0;二、编程题(50分)【注意】源程序以“学号f2.cpp”命名,存入自己学号文件夹中。

2009年上半年C试卷

2009年上半年C试卷

2009年春浙江省高等学校计算机等级考试试卷(二级C)试题1(每小题3分,共12分)阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。

【程序说明】输入一个正整数n ,计算下列算式的前n 项之和。

s =-+-+⋯1111357运行示例:Enter n: 2Sum = 0.67【程序】#include <stdio.h>main( ){ int denominator, flag, i, n;double item, sum;printf("Enter n: ");scanf ("%d", &n);denominator = 1; (1) ;sum = 0; for (i = 1; (2) ; i++){ (3) ;sum = sum + item; (4) ;denominator = denominator + 2;}printf ("Sum = %.2f\n", sum);}【供选择的答案】(1) A. flag = 0 B. flag = -1C. flag = nD. flag = 1(2) A. i >= n B. i < nC. i > nD. i <= n(3) A. item = flag / denominatorB. item = 1 / denominatorC. item = flag * 1.0 / denominatorD. item = 1.0 / denominator(4) A. flag = -1 B. flag = 0C. flag = -flagD. flag = flag试题2(每小题3分,共12分)阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。

【程序说明】验证哥德巴赫猜想:任何一个大于6的偶数均可表示为两个素数之和。

东大电类程序设计C++上试卷

东大电类程序设计C++上试卷

共 12 页 第 1 页 东 南 大 学 考 试 卷2009(A 卷)8. 采用某种进位制时,如果4×5=17,那么,6×3 = 。

A )15B )21C )20D )199. 将计算机软件分为系统软件和应用软件,应用软件是指面向特定问题处理的大学计算机基础部份(共15 分) 一、 选择与填充题:(每题 1分,共15 题,共15 分) 1.计算机语言的发展经历几个阶段?下列描述正确的是 。

A )机器语言、汇编语言和高级语言三个阶段 B )机器语言、算法语言、对象语言和高级语言等4个阶段 C )高级语言和机器语言两个阶段 D )机器语言和汇编语言两个阶段 2.假设在线性数据组织中,数据连续存储,每个数据占4个存储单元,第3个数据的存储地址为S ,则第6个数据的存储地址为 。

A )S+(6-1)*4 B )S+6*4 C )(S-2*4)+(6-1)*4 D )6*4 3.完整的计算机系统应包括_________ 。

A.)CPU 和外部设备 B )硬件系统和软件系统 C )主机和外部设备 D )系统软件和应用软件 4.在表示 硬盘容量时,一般用GB 作为单位,1GB 准确的含义是 。

A )1000MB B )1024百万 C )1024MB D )1024KB 5.已知字符8的ASCII 码是38H ,现通过另一个数0FH 通过运算得到字符8所对应的数值8,则该运算应该是 。

A )按位逻辑非 B )按位逻辑与 C )按位逻辑或 D )按位逻辑异或 6.假设:某学生基本信息为:女、团员、优秀学生干部、平均绩点等于4分,则下列表达式的结果分别是 。

① .NOT. 团员 .AND. 优秀学生干部.OR. 团员 .AND. .NOT.优秀学生干部 ② 性别=“女”.AND. 平均绩点<4.AND. 团员.OR. 优秀学生干部 ③ (平均绩点>4 .OR. 性别=“女”) .AND. .NOT. 团员 A ) .T. .F. .F. B ) .F. .T. .F.C ) .F. .F. .T.D ) .T. .F. .T.7.十进制算式(3⨯210+7⨯28+5⨯24+1)/16的结果是 。

东南大学数值分析上机题C参考答案

东南大学数值分析上机题C参考答案

文档从互联网中收集,已重新修正排版,word 格式支持编辑,如有帮助欢迎下载支持。

数值分析上机题姓名:陈作添 学号:040816习题120.(上机题)舍入误差与有效数 设2211NN j S j ==-∑,其精确值为1311221N N ⎛⎫-- ⎪+⎝⎭。

(1)编制按从大到小的顺序22211121311N S N =+++---,计算N S 的通用程序。

(2)编制按从小到大的顺序2221111(1)121N S N N =+++----,计算NS 的通用程序。

(3)按两种顺序分别计算210S ,410S ,610S ,并指出有效位数。

(编制程序时用单精度)的值与精确值有较大的误差,而按从小到大的顺序计算的值与精确值吻合。

从大到小的顺序计算得到的结果的有效位数少。

计算机在进行数值计算时会出现“大数吃小数”的现象,导致计算结果的精度有所降低,我们在计算机中进行同号数的加法时,采用绝对值较小者先加的算法,其结果的相对误差较小。

习题220.(上机题)Newton 迭代法(1)给定初值0x 及容许误差ε,编制Newton 法解方程()0f x =根的通用程序。

(2)给定方程3()/30f x x x =-=,易知其有三个根1x *=,20x *=,3x *=。

1.由Newton 方法的局部收敛性可知存在0δ>,当0(,)x δδ∈-时,Newton 迭代序列收敛于根2x *。

试确定尽可能大的δ。

2.试取若干初始值,观察当0(,1)x ∈-∞-,(1,)δ--,(,)δδ-,(,1)δ,(1,)∞时Newton 序列是否收敛以及收敛于哪一个根。

(3)通过本上机题,你明白了什么? 解:(1)编制的通用程序:#include<iostream.h> #include<math.h>#define eps 0.000001 /给定容许误差 float f(float x) //定义函数f(x) { float f; f=x*x*x/3-x; //f(x)的表达式; return(f); }float df(float x) //定义函数df(x),计算f(x)的导函数 { float df; df=x*x-1; //f(x)导函数的表达式; return (df); }void main(void){ float x0,x1,a; int k=0;cout<<"请输入初值x0:"; cin>>x0; do { a=-f(x0)/df(x0); x1=x0+a; k++; x0=x1; }while(fabs(a)>eps); cout<<k<<'\t'<<x0;//输出迭代的次数和根值}(2)计算迭代序列收敛于根2x *的尽可能大的δ的函数为:#include<iostream.h> #include<math.h>void delay(int n) //定义延时函数 {for(n=10000;n>0;n--);} #define eps 0.000001float f(float x) //定义函数f(x) { float f; f=x*x*x/3-x; //f(x)的表达式;return(f);}float df(float x) //定义函数df(x),计算f(x)的导函数 { float df; df=x*x-1; //f(x)导函数的表达式; return (df); }int judgement(float z) { int count=5; float x0,x1,type,type1; x0=z; while(count-->0) { x1=x0-f(x0)/df(x0); type=fabs(x1); type1=fabs(x1-x0); //调试值用 cout<<"count="<<count<<'\t'<<"type="<<type<<'\t'<<"type1="<<type1<<'\n'; if(fabs(x1-x0)<eps) return 1; x0=x1; delay(30000); //调试值用 }return 0; } void main(void) { float delta=0; int flag=1; while(flag==1) { cout<<"方程的根为:"<<'\n'; delta+=eps;flag=judgement(delta); } cout<<"输出方程根收敛的区间值:\n"; cout<<delta-eps; //输出收敛的区间值 }当步长为0.001时,程序计算出的δ的为δ=0.774,即在区间(-0.774,0.774)内迭代序列收敛于0。

09年上午试题及答案

09年上午试题及答案

w
bu
to
k
lic
C
m
C
lic
k
to
bu
大家网注册电气工程师论坛 /forum-598-1.html
F-
XC
h a n g e Vi e
w
er
er
!
O W
N
y
y
N
w
.d o
c u -tr a c k
O W
!
w
o
.d o
c u -tr a c k
.c
.c
大家网注册电气工程师论坛 /forum-598-1.html
o
m
w
w
w
w
PD
PD
F-
XC
h a n g e Vi e
w
bu
to
k
lic
C
m
C
lic
k
to
bu
大家网注册电气工程师论坛 /forum-598-1.html
F-
XC
h a n g e Vi e
w
er
er
!
O W
N
y
y
N
w
.d o
c u -tr a c k
o
m
w
w
w
w
PD
PD
F-
XC
h a n g e Vi e来自wbuto
k
lic
C
m
C
lic
k
to
bu
大家网注册电气工程师论坛 /forum-598-1.html
F-
XC
h a n g e Vi e

东南大学2009-2010学年C++(下)期末考试模拟试题

东南大学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. 下列关于成员函数的叙述不正确的是()。

2009【春】江苏计算机等级C上机真题

2009【春】江苏计算机等级C上机真题

2009【春】江苏计算机等级C上机真题2009春江苏计算机等级⼆级考试c上机2009春上机试题1(编程)程序功能:找出7个默森尼数。

法国数学家默森尼曾提出下列公式:Mp=2^p-1。

当p是素数并且Mp也是素数时,称Mp为默森尼数,例如,p=5,Mp=2^5-1=31,5和31都是素数,因此31是默森尼数;⽽Mp=2^11-1=2047,11是素数,2047不是素数,因此2047不是默森尼数.[编程要求]1.编写函数void Mersenne(long a[ ],int m),其功能是求出前m个默森尼数并以此将它们保存到a指向的数组中,2.编写main函数,调⽤Mersenne函数并保存前7个默森尼数,将运⾏结果输出到屏幕及结果⽂件myf2.out中,最后将考⽣的考号也保存到结果⽂件myf2.out中【测试数据与运⾏结果】3 7 31 127 8191 131071 5242872009春上机试题2(编程)⽤⼀组整数验证命题,任意⼀个百位数字与个位数字不同的三位正整数n1在经过以下操作后⼀定会变换到1089:将n1的百位数与个位数字交换得到n2,求n1和n2差的绝对值得到n3,将n3的百位数字与个位数字交换得到n4;求n3与n4的和得到n5,n5⼀定是1089,若n1、n3是⼀位数或两位数,则在⾼位补0使其成为三位数例如:n1:123,n2:321,n3:198(321,-123),n4:891,n5:1089(198+891)【编程要求】1.编写函数int fun(int a[ ],int b[ ], intn),其功能是⽤n指向数组的前n个整数验证上述命题,将所有符合命题的整数所在数组元素的下标依次保存到b指向的数组中,函数返回b数组中数据的个数2.编写main函数,声明a数组并⽤测试数据初始化,⽤a数组作为实参调⽤fun函数,将a数组中所有符合命题的整数输出到屏幕及结果⽂件myf2.out中,最后将考⽣本⼈的准考证号字符串也保存到结果⽂件myf2.out中江苏计算机⼆级c2009春上机试题22009春第⼆套⼀:改错题:程序功能:函数mergeu的功能是:合并两个字符集合为⼀个新集合,每个字符串在新集合中仅出现⼀次,函数返回新集合中字符串的个数[测试数据与运⾏结果]测试数据:s1集合{“while”,”for”,”switch”,”if”,”continue”}s2集合{“for”,”case”,”do”,”else”,”char”,”switch”}运⾏结果:while for switch if break continue case do else char[含有错误的源代码]#include#includeint merge(char s1[ ][10],char s2[ ][10],char s3[ ][10],int m,int n){int i,j,k=0;for(i=0;is3[k++]=s1[i];for(i=0;i{for(j=0;jif(strcmp(s2[i],s1[j]))break;if(j>m)strcpy(s3[k++],s2[i]);}return k;}void main(){int i,j;char s1*6+*10+=,“while”,”for”,”switch”,”if”,”break”,”continue”-,s2*6+*10+=,“for”,”case”,”do”,”else”,”char”,”switch”-,s3*20+*10+;j=merge(s1[][10],s2[][10],s3[ ][10],6,6);for(i=0;iprintf(“%s “,s3*i+);}【要求】1. 将上述程序录⼊到⽂件myf1.C中,根据题⽬要求及程序中语句之间的逻辑关系对程序中的错误进⾏修改。

2009年理工类C级考试真题答案

2009年理工类C级考试真题答案

2009年理工类C级考试真题答案1.D【解析】第一步:我们首先确定目标词,本题的目标词是:aim。

第二步:接下来在词典中找到aim的同义词,词典中aim的同义词有:direction, dream, goal 等。

第三步:最后看选项,选项中D选项goal是aim的同义词,所以本题的正确答案为D。

2.B【解析】第一步:我们首先确定目标词,本题的目标词是:at stake,是一个词组。

at是介词,所以查词典时查stake一词。

第二步:接下来在词典中找到at stake的同义词,词典中at stake的同义词有:at hazard, in danger等。

第三步:最后看选项,选项中B选项in danger是at stake的同义词,所以本题的正确答案为B。

3.D【解析】第一步:我们首先确定目标词,本题的目标词是:practically。

第二步:接下来在词典中找到practically的同义词,词典中practically的同义词有:almost, basically, essentially等。

第三步:最后看选项,选项中D选项almost是practically的同义词,所以本题的正确答案为D。

4.A【解析】第一步:我们首先确定目标词,本题的目标词是:rarely。

第二步:接下来在词典中找到rarely的同义词,词典中rarely的同义词有:barely, hardly, seldom 等。

第三步:最后看选项,选项中A选项seldom是rarely的同义词,所以本题的正确答案为A。

5.C【解析】第一步:我们首先确定目标词,本题的目标词是:guy。

第二步:接下来在词典中找到guy的同义词,词典中guy的同义词有:fellow, man, person 等。

第三步:最后看选项,选项中C选项man是guy的同义词,所以本题的正确答案为C。

6.A【解析】第一步:我们首先确定目标词,本题的目标词是:safe。

第二步:接下来在词典中找到safe的同义词,词典中safe的同义词有:defended, guarded, secure等。

2009年(春季)江苏省计算机等级考试二级C笔试试卷与答案

2009年(春季)江苏省计算机等级考试二级C笔试试卷与答案

『科举网』2009年(春季)江苏省计算机等级考试二级笔试试卷C语言程序设计教育部考试中心二〇〇八年二月制★科举网★★二级C语言大礼包★1.2001年(春季)江苏省计算机等级考试二级笔试试卷2.2001年(秋季)江苏省计算机等级考试二级笔试试卷3.2002年(春季)江苏省计算机等级考试二级笔试试卷4.2002年(秋季)江苏省计算机等级考试二级笔试试卷5.2003年(春季)江苏省计算机等级考试二级笔试试卷6.2003年(秋季)江苏省计算机等级考试二级笔试试卷7.2004年(春季)江苏省计算机等级考试二级笔试试卷8.2004年(秋季)江苏省计算机等级考试二级笔试试卷9.2005年(春季)江苏省计算机等级考试二级笔试试卷10.2005年(秋季)江苏省计算机等级考试二级笔试试卷11.2006年(春季)江苏省计算机等级考试二级笔试试卷12.2006年(秋季)江苏省计算机等级考试二级笔试试卷13.2007年(春季)江苏省计算机等级考试二级笔试试卷14.2007年(秋季)江苏省计算机等级考试二级笔试试卷15.2008年(春季)江苏省计算机等级考试二级笔试试卷16.2008年(秋季)江苏省计算机等级考试二级笔试试卷17.2009年(春季)江苏省计算机等级考试二级笔试试卷18.2009年(秋季)江苏省计算机等级考试二级笔试试卷19.2010年(春季)江苏省计算机等级考试二级笔试试卷20.2010年(秋季)江苏省计算机等级考试二级笔试试卷21.2011年(春季)江苏省计算机等级考试二级笔试试卷【注意】1.『科举网』会不定期对以上资料进行修订,如果您手中的这份文件来自互联网,请及时登录『科举网』下载最新资料。

2009年(春季)江苏省计算机等级考试二级笔试试卷C语言程序设计(考试时间120分钟,满分60分)一、选择题((1)~(30)每小题1分,共30分)1. 在下列有关现代信息技术的一些叙述中,正确的是。

A.集成电路是20世纪90年代初出现的,它的出现直接导致了微型计算机的诞生B.集成电路的集成度越来越高,目前集成度最高的已包含几百个电子元件C.目前所有数字通信均不再需要使用调制解调技术和载波技术D.光纤主要用于数字通信,它采用波分多路复用技术以增大信道容量.2. 最大的10位无符号二进制整数转换成八进制数是。

2009年上半年上机考试试卷

2009年上半年上机考试试卷

装订线(答题不得超过此线)国家制造业信息化培训认证课程考试三维CAD应用工程师认证课程上机考试试卷请在试卷标封处填写您的姓名、准考证号和培训单位。

考试时间共 150分钟。

本试卷满分为100分,考生得分评判员特别提醒:考试使用软件是PRO/Engineer,考试过程随时保存文件,并仔细阅读题目的要求,按要求保存并提交规定格式的文件。

按指定位置以“准考证号姓名”建立文件夹,如某考生准考证号为“888”姓名为“张三”时,建立的文件夹应为“888张三”;文件夹建立后,下列所有文件都存放到该文件夹中。

考场纪律:1.考前15分钟,考生凭准考证进入考场指定位置,对号入座,将准考证和身份证放在桌子右上角。

2.考生进入考场只准携带钢笔、圆珠笔、铅笔、橡皮、不准携带任何通讯工具,不准随身夹带文字材料及其它与考试无关的物品。

3.考生迟到15分钟不得入场,上机考试开考30分钟后经获准方可交卷。

4.不得在试卷的密封线外或答题卡上规定的位置以外答题,不得使用红色笔或铅笔(除画图或添涂答题卡外),答题不得使用涂改液、胶条。

5.上机考试时请按规定存放文件并随时保存文件,如保存不当造成文件丢失,后果由考生自行负责。

6.遵守考场纪律,如有违反,将按有关规定予以处理。

一、按图1六角扳手工程图,完成三维造型,并以准考证号加P1为文件名保存文件。

如某考生准考证号为“888”时,保存的文件名应是“888P1.prt”(20分)图1 六角扳手二、根据图2所示某零件工程图,完成三维造型,并以准考证号加P2为文件名保存文件。

(20分)图2三、装配设计(共30分)。

1.保存文件要求:以准考证号加asm为文件名保存文件。

2.根据图3所示装配关系完成零件的装配;图3四、高级零件设计。

根据图4所示茶壶的壶体零件图,完成三维造型,并以准考证号加P4为文件名保存文件。

(共20分)。

图4 茶壶的壶体零件图五、创新设计(10分)为上题壶体设计一个茶壶盖,并与上题的壶体按使用要求装配在一起。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

东南大学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”命名,存入自己学号文件夹。

【题目】寻找二维数组某个数,该数恰好是所在行各数的平均值,且是所在列中的最大值。

例如:10 12 13 14 151 2 3 4 52 3 7 8 920 21 22 23 243 314 56 78其中22就是符合条件的数。

【要求:】(1) 设计函数int fun(int a[][5],int &i,int &j);完成在数组中寻找符合条件的数,将该数据返回,若不存在符合条件的数时函数返回0。

(2)主函数完成:建立一个整型二维数组a[5][5], 对数组a初始化的数据从键盘输入,(不允许编译时初始化),并将产生的数组写入文件“学号f2.txt”的第一行,数之间用空格隔开。

调用函数fun(a,x,y)寻找符合条件的数,当函数返回值不为0时表示找到符合条件的数,将该数据及所在行位置、列位置写入文件“学号f2.txt”的第二行,写入文件的数据格式为:符合条件的数是:行位置为:列位置为:,中间用空格隔开。

否则在文件中写入:不存在符合条件的数据。

示范:写入文件中的数据格式为:第一行:a数组,元素之间用空格隔开第二行:符合条件的数是:22 行位置为:3 列位置为:2编程题评分标准:1. 头文件引用是否正确2分2. 主函数:22分(1)创建文件流对象与要求的文件相对应数否正确(2分)(2)是否关闭文件(2分)(3)变量初始化(2分)(4)产生a数组是否正确(8分)(5)将a数组是否按要求写入文件(4分)(6)将符合条件的数及其位置是否按要求写入文件(4分)3. fun函数:26分(1)求各行平均值,是否正确(8分)(2)求各列最大值,是否正确(8分)(3)条件满足判断返回是否正确(6分)(4)不满足条件返回是否正确(4分)#include<iostream>#include<fstream>using namespace std;int fun(int a[5][5],int &i,int &j);int main(){int x=0,y=0,m;ofstream ofile;ofile.open("学号f2.txt");cout<<"输入数据(5行5列):";for(i=0;i<5;i++)for(j=0;j<5;j++)cin>>a[i][j];for(i=0;i<5;i++)for(j=0;j<5;j++)ofile<<a[i][j]<<’‘;ofile<<endl;m=fun(a,x,y);if(m!=0){cout<<x<<' '<<y<<' '<<m<<endl;ofile<<”符合条件的数是::”<<m<<”\t行位置为:”<<x<<”\t列位置为:”<<y;}ofile<<endl;else{ cout<<"不存在符合条件的数"<<endl;ofile<<"不存在符合条件的数"<<endl;}ofile.close();return 0;}int fun(int a[][5],int &i,int &j){int s[5]={0},p[5]={0},max[5]={0};bool bo=0;for(i=0;i<5;i++){for(j=0;j<5;j++)s[i]+=a[i][j];p[i]=s[i]/5;}for(j=0;j<5;j++){max[j]=a[0][j];for(i=0;i<5;i++)if(a[i][j]>max[j])max[j]=a[i][j];}for(i=0;i<5;i++)for(j=0;j<5;j++)if(max[j]==a[i][j]&&p[i]==a[i][j]){return a[i][j];}if(bo==0) return 0;}#include<iostream.h>#include<fstream.h>void main(){ int x[5][5];int a,b;ofstream chu("D:\\第一次.txt");for(int i=0;i<5;i++)for(int j=0;j<5;j++){cin>>x[i][j];chu<<x[i][j]<<'\t';}chu<<endl;int fun(int a[][5],int &i,int &j);if(fun(x,a,b)==1) chu<<"不存在符合条件的数据";chu.close();}int sum(int a[5]){int s,i=0;for(i;i<5;i++) s+=a[i];return s;}int fun(int a[][5],int &i,int &j){ int *(p)[5]=a;int n=0,q;for(i;i<5;i++)for(j;j<5;j++){if(*(*(p+i)+j)==sum(a[i])/5) q=1;else {q=0;n++;}if(q=1)for(int k=0;k<5;k++){if(*(*(p+k)+j)<=*(*(p+i)+j))chu<<"符合条件的数是:"<<*(*(p+i)+j)<<"行位置为:"<<i<<"列位置为:"<<j;}if(n==25) return 1;if(n<25) return 0;}}#include<iostream.h>#include<fstream.h>void main(){ int x[5][5];int a,b;ofstream chu("D:\\第一次.txt");for(int i=0;i<5;i++)for(int j=0;j<5;j++){cin>>x[i][j];chu<<x[i][j]<<'\t';}chu<<endl;int fun(int a[][5],int &i,int &j);if(fun(x,a,b)==1) chu<<"不存在符合条件的数据";chu.close();}int sum(int a[5]){int s,i=0;for(i;i<5;i++) s+=a[i];return s;}int fun(int a[][5],int &i,int &j){ int (*p)[5]=a;int n=0,q;ofstream chu("D:\\第一次.txt");for(i;i<5;i++)for(j;j<5;j++){if(*(*(p+i)+j)==sum(a[i])/5) q=1;else {q=0;n++;}if(q=1)for(int k=0;k<5;k++){if(*(*(p+k)+j)<=*(*(p+i)+j))chu<<"符合条件的数是:"<<*(*(p+i)+j)<<"行位置为:"<<i<<"列位置为:"<<j;}if(n==25) return 1;if(n<25) return 0; }}。

相关文档
最新文档