收藏 分销(赏)

电类程序设计C上10级复习参考.doc

上传人:二*** 文档编号:4776834 上传时间:2024-10-12 格式:DOC 页数:11 大小:75KB 下载积分:5 金币
下载 相关 举报
电类程序设计C上10级复习参考.doc_第1页
第1页 / 共11页
本文档共11页,全文阅读请下载到手机保存,查看更方便
资源描述
大学计算机基础部份(共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的结果是 。 A)(310)10 B)(466)8 C)(135)16 D)(100110111)2 8. 采用某种进位制时,如果4×5=17,那么,6×3 = 。 A)15 B)21 C)20 D)19 9. 将计算机软件分为系统软件和应用软件,应用软件是指面向特定问题处理的 软件,是解决特殊性问题,而系统软件是面向计算机硬件系统,是解决 问题。 10. 数据的逻辑组织方法有简单数据组织、线性数据组织、 和网状数据组织。 11. 栈是线性数据组织,只是对数据进栈和出栈做了些限制,其特点是 。 12. 每一种不同类型的CPU都有自己独特的一组指令,一个CPU所能执行的 全部指令称为______________。 13. “啊”字的区位码是1601,则汉字国标码是 H。 14. 为了便于对内存储器中存放的信息进行管理,整个内存被划分成许多存储 单元,每个存储单元都有一个编号,此编号称为 。 15. 有八位二进制编码为11111111,如将其作为带符号整数的补码,它所表示 的整数值为 。 C++程序设计部分(共85分) 二. 选择题(每题1.5分,共15分) 1.以下标识符,不合法的是: A. If B. Photoshop C. 3DMax D. seu 2. 对于for,do...while和while三个语句,以下描述错误的是: A. 这三个都是循环语句 B. 当条件不满足时,这三个语句的循环次数都可能是0次 C. 这三个语句中,都可以使用break和continue D. 这三个语句的循环体都可以是空的 3.判断字符c是是否是小写字母,并将其转为大写字母的语句是: A. if (c >= ‘a’ && c <= ‘z’) c += ‘a’ - ‘A’; B. if (‘a’ <= c <= ‘z’) c = c - (‘a’ - ‘A’); C. c = (c >=‘a’ && c <=‘z’) ? (c - (‘a’ - ‘A’)) : c; D. c = (‘a’ <= c <= ‘z’) ? (c + (‘a’ - ‘A’)) : c; 4.现有三个函数: (1) double Add(double a) (2) double Add(double a, double b) (3) int Add(double a, double b, double c = 0) 那么以下对Add函数调用过程中,编译出现错误的是: A. Add(3); B. Add(3.3, 3.4); C. Add(2.3, 3.1, 3.2); D. Add(3.4); 5.以下语句中,可以将数组A中的全部元素全部赋值为1的语句 是: A. int A[10] = {1}; B. int A[10]; for(int i = 0; i < 10; i++) A[i] = 1; C. int A[10]; for(int i = 0; i < 10; i++) A[1] = i; D. int A[10] = 1; 6.语句:if ((A & 0x0001) != 0)的作用是: A. 判断A的最低位是否为1 B. 判断A是否是正数还是负数 C. 判断A和0x0001是否相等 D. 判断A是否是2的倍数 7. 关于类和对象不正确的说法是: A. 类是一种类型,它封装了数据和操作 B. 对象是类的实例 C. 一个对象必属于某个类 D. 一个类的对象只有一个 8. 在类定义的外部,可以被访问的成员有 A. 所有类成员 B. private或protected的类成员 C. public的类成员 D. public或private的类成员 9.下面对构造函数的不正确描述是 A. 系统可以提供默认的构造函数 B. 构造函数可以有参数,所以可以有返回值 C. 构造函数可以重载 D. 创建对象时,一定会调用某个构造函数(包括默认构造函数) 10.以下对于运算符的重载的申明,正确的是 A. CPoint operator / (CPoint & p, double d); B. void operator + (CPoint p1, CPoint p2, CPoint p3); C. bool == (CPoint & p1, CPoint & p2); D. void * (CPoint p1, CPoint p2); 三. 填空题(每空1.5分,共15分) 1. 常量'\x41'所表示的字符的ASCII码是 (填写十进制数字)。 2. 在switch语句中,当整数变量val遇到常量1或2时,都只需要调用函数F,那么最简单的做法是:(每行一个语句,只能写两行) switch(val) { F( ); break; …… } 3. 有函数定义:void PrintPoint(CPoint p){ cout << p.x << ',' << p.y;}; 运行语句:CPoint p; p.x = p.y = 4; PrintPoint(p);会创建 个对象。 函数定义修改为:void PrintPoint(CPoint & p){ cout << p.x << ',' << p.y;}; 运行同样的语句将创建 个对象。 4. 假设有语句:CPoint p(3, 4); CPoint p2 = p; 则创建p2时调用的构造函数是 构造函数。 5. 程序中要对某个函数的调用次数进行统计,方法(1)至(5)中,可行的 是 ;如果要统计某个类,创建对象的次数,在以下所有方法中, 最佳的方法是: 。 (1)在该函数中创建普通变量 (2)在该函数中创建静态变量 (3)在该函数中创建const常量 (4)创建全局变量 (5)创建全局的const常量 (6)创建这个类的普通成员变量 (7)创建这个类的静态成员变量 6. 求n!的函数定义:int F(int n) { if (n <= 1) return 1; return F(n - 1) * n; };该 函数所采用的程序结构是: ;调用F(20),函数返回:-2102132736, 这个结果显然是错误的,原因是 。 四. 阅读填空题(共25分) 1. 写出下列程序的输出结果。(此题每空1分) #include <iostream> using namespace std; int main( ) { int n=1; cout<<"取1元,2元,5元纸币10张,支付18元的付法:"<<endl; for (int x=0;x<=10;x++) for (int y=0;y<=9;y++) if(x+2*y+5*(10-x-y)==18) cout<<n++<<":1元币"<<x<<"张,2元币" <<y<<"张,5元币"<<(10-x-y)<<"张\n"; return 0; } 程序的输出结果为: 2. 假设程序运行时输入2个整数:1 0 (此题每空1分) #include <iostream> using namespace std; const int PI=3.14 ; double CaculateArea( double radius ) { return PI * radius * radius; } int main() { int d; double area; while( 1 ) { cout << "输入直径:" << endl; cin >> d; if( d > 0 ) { area = CaculateArea(d/2); cout << "直径为" << d << "的圆面积为:" << area << endl; } else break; } return 0; } 程序的输出结果为: 3. 写出下列程序的输出结果。 (此题最后一空2分,其它空1分) #include <iostream> using namespace std; int total = 0; int func( int x ) { int i; static int n = 0; n++; total++; cout << x << ',' << n << endl; if( x <= 0 ) return 1; i = x + func( x - 1 ); cout << x << ',' << n << endl; return i; } int main() { int i; i = func( 2 ); cout << "result = "<< i << ',' << total << endl; return 0; } (此空2分) 4. 写出下列程序的输出结果。(此题每空1分) #include <iostream> using namespace std; int f( int x ){ cout << "f1 ="; return x; } int f( char a, char b = 0 ) { cout << "f2 ="; return ( a > b ? 1 : -1 ); } double f( double &x ) { cout << "f3 ="; x += sizeof(x); return 0; } int main( ) { short a = 0; char c = 'A'; double y; y = f( 0 ); cout << y << endl; y = f( a ); cout << y << endl; y = f( c ); cout << y << endl; y = f( a, c ); cout << y << endl; f( y ); cout << y << endl; return 0; } 5. 写出下列程序的输出结果。(此题每空0.5分) #include <iostream> using namespace std; char gid = 'A'; class Number { private: int i; char id; public: Number( int x = 0 ) { i = x; id = gid++; cout << "Constructor Number:" << id << i << endl; } Number( const Number &x ) { i = x.i; id = gid++; cout << "Copy Number:" << id << i << endl; } ~Number( ) { cout << "Destructor Number:" << id << i << endl; } Number operator+( const Number &x ); }; Number Number::operator+( const Number &x ) { Number result( i + x.i ); return result; } int main() { Number x(1), y; y = x + 2; return 0; } (每空0.5分) 五.完善程序题(每空1.5分,共20空,计30分) 1、要求程序运行后的输出结果为: * *** ***** ******* ***** *** * 请在程序中的横线处填入适当的语句,将程序补充完整 #include <iostream> using namespace std; void main( ) { ; for(i=1;i<=4;i++) { for(j=1;j<=4-i; ) cout<<" "; for(k=1; ;k++) cout<<"*"; cout<<endl; } for(i=3;i>0; ) { for(j=1; ;j++) cout<<" "; for(k=1;k<=2*i-1;k++) cout <<"*"; cout<<endl; } } 2、东南大学举行歌曲比赛,由9位评委给参赛选手打分,满分为10分。评分规则是:去掉1个最高分和1个最低分,余下的7个分数的平均值为选手最后得分。试编程计算并输出选手去掉最高分和最低分后的总分及最后得分。 #include <iostream> using namespace std; int main( ) { float s, maxs, mins, sum=0; maxs=0; mins=10; //用于存贮最高分和最低分,为变量赋初值 cout<<"Input 9 scores:"<<endl; for(int i=1;i<=9;i++) { cin>>s; ; if(s>maxs) ; if(s<mins) mins=s; } sum= ; cout<<"总分:"<<sum<<endl; cout<<"最后得分:"<< <<endl; return 0; } 3、下列程序的功能是用函数的递归调用求1!+2!+3!+4!+5!请将程序补充完整。 #include <iostream> using namespace std; long jiecheng(int n) { if (n==1) return 1; else ; } int main( ) { int s; ; for (int i=1;i<=5;i++) ; cout<<"1!+2!+3!+4!+5!="<<s<<endl; return 0; } 4.下面程序中定义了一个复数类,请将程序补充完整。 #include <iostream> using namespace std; class Complex{ private: ; public: Complex(double r=0.0, double i=0.0) //定义构造函数 { Real=r; Image=i; } Complex( ) //定义拷贝构造函数 { Real=com.Real ; Image=com.Image ; } void Print( ) { cout<<"Real="<<Real<<'\t'<<"Image="<<Image<<'\n'; } Complex operator+=(Complex c) { Complex temp( ); Real=temp.Real; Image=temp.Image; ; } }; int main(void){ Complex c1(1.0, 1.0) , c2(2.0, 2.0) , c3(3.0, 3.0); c3+=c1+=c2; c3.Print(); return 0; } 5、水仙花数(Armstrong number)是一个3位数字的数,它等于每个数字的3次幂的和。例如153是水仙花数(具有3位数字且等于1*1*1+5*5*5+3*3*3)。下面程序求100到999之间的所有水仙花数,试补充完整。 #include <iostream> using namespace std; void main( ) { int num, sum, temp; int i, j; int bit, bit_n_power; for (num = 100; num <= 999; num++) { ; temp=num; for (i=1; i<=3; i++) { bit = temp%10 ; bit_n_power = 1; for (j=1; j<=3; j++) ; //计算一位数字的3次幂 sum = sum + bit_n_power ; ; } if ( ) { cout << "The number " << num << "是水仙花数!"<<endl; } } } 共 11 页 第 11 页
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服