资源预览内容
第1页 / 共11页
第2页 / 共11页
第3页 / 共11页
第4页 / 共11页
第5页 / 共11页
第6页 / 共11页
第7页 / 共11页
第8页 / 共11页
第9页 / 共11页
第10页 / 共11页
亲,该文档总共11页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
南昌大学 200920010学年第二学期期末考试试卷 试卷编号: ( A )卷课程编号: T61050004 课程名称: C+程序设计 考试形式: 闭 卷 适用班级:非计算机专业 姓名: 学号: 班级: 学院: 专业: 考试日期: 2010、7、1 题号一二三四五六七八九十总分累分人 签名题分30303010 100得分考生注意事项:1、本试卷共7 页,请查看试卷中是否有缺页或破损。如有立即举手报告以便更换。 2、考试结束后,考生不得将试卷、答题纸和草稿纸带出考场。说明:请将前面3个大题的答案写到答题卡上一、 单项选择题(每小题2分,共30分) 得分评阅人 1. Visual C+ 6.0环境下应用程序开发的基本过程是_。A 建立或打开项目文件,编辑C+原文件,编译连接和运行B 编辑C+原文件,建立或打开项目文件,编译连接和运行C 编辑C+原文件,编译连接和运行, 建立或打开项目文件D 编译连接和运行, 建立或打开项目文件, 编辑C+原文件2. 设变量i是整型,f是单精度型,d是双精度型,则表达式10 + i + f * d 的数据类型是 _ _ 。A 整型 B 单精度型 C 双精度型 D 布尔型 3. 设int a=5, b= 2, c = 0, d ; d = a & c; 则cout a % b ” “1,则在下面的循环语句中,循环体的执行次数是 _ 。 for ( int i =0 ; i = n ; i + ) cout i ; break ; A 0 B 1 C n D n+1 5. 以下有关函数的叙述中,不正确的是 _ 。A 函数不可以嵌套定义,但可以递归和嵌套调用B 函数可以重载,调用哪一个函数根据实参和形参匹配情况、按有关规则决定C 函数的默认参数必须在形参列表最后,且不能在同一作用域下重新给定默认参数值D 函数必须有返回值 第 1 页 共 3页6. 设 int arr 6 , * p ; p = arr ; 则与 *(p+1) 不等价的表示是 _ 。A *( arr + 1) B p1 C *arr + 1 D arr1 7. 若数组名为函数调用的实参,则传递给形参的值是 _ 。A 数组的全部元素的值 B 数组元素的个数C 数组的首地址 D 数组中的前半部分元素的值8. 构造函数不具备的特征是 _ _ 。A 构造函数的函数名与类名相同 B 构造函数可以重载 C 构造函数可以设置默认参数 D 构造函数必须指定返回值类型 9. 若已知教师记录的描述为 struct teach int id ; char name20 ; struct int y ; int m ; int d ; birth ; t ; ,则将变量t中d的成员赋值12的语句是 _。A d =12 ; B birth.d=12 ; C t.d=12 ; D t.birth.d=12 ; 10. 类的析构函数是在该类的一个 _ 时被自动调用执行。A 对象销毁 B 对象创建C 对象成员函数调用 D 对象被赋值11. 若有如下函数声明: float f1(double) ; float f1(float) ; ,则函数调用f1(1.0) 调用的函数声明是 _ _ 。A float f1( double ) ; B float f1 ( float ) ; C float f1 ( float ) ; float f1( double ) ; D 错误,二义性 12. 假定B为一个类, ptr为指向该类动态对象数组的指针, 该数组长度为n, 则执行“delete ptr ; ”语句时, 自动调用该类析构函数的次数为 _ _ 。 A 0 B 1 C n D n+1 13. 假定 k 是一个 int 类型的变量,则关于变量pointer 的正确定义语句是 _ 。 A double pointer = & k ; B int * pointer = &k ; C int& pointer = *k ; D char * pointer = k ; 14. 设 int arr5=0, * p = arr ; 则下面的表达式中,值最有可能不是0 的表达式是_ 。A arr0 B *( p + 5 ) C * p D arr2 15. 在下列运算符中,不能重载的运算符是 _ 。A B ?: C ( ) D + 二、 填空题(每空2分,共30分) 得分评阅人 1. 应用程序jisuan.cpp中只有一个函数,则这个函数的名称是 【1】 。2. 执行下列语句 int a =5; a+=a-=a*a ; 后,a的值是 【2】 。3. break语句一般和循环语句与 【3】 语句配合使用。4. 结构化程序由三种基本结构组成,即顺序结构,循环结构, 【4】 。5. 若有函数定义如下 void f ( int j ) int static i = 0; i+= j; cout i ” “;, 则顺序调用f(2) ; f(3) ; f(4) ; 后输出结果是 【5】 。6. 已有下列两函数定义:void f (int* a, int* b) *a = *a +* b ; *b = *a * b ; *a = *a *b ; 及 void f(int& a, int& b)a=a+b; b=a-b; a=a-b; , 若int a =2, b=3; 则执行如下函数调用 f (&a , &b) ; 之后, a, b的值分别是: 【6】 ;若再继续执行如下函数调用 f (a , b) ; ,则 a, b的值又分别是: 【7】 。7. 若一个类的某成员函数只是读其数据域的值,而不能修改它,则应在函数头的最后用 【8】 关键字修饰。8. 完成下面类的定义并回答问题 ( point、line分别对应平面几何中的点、线段概念): class point / 点的定义 public:point( int a , int b=0 ) 【9】 ; *this.b = b; / 初始化a , b point& operator=(const point& p) if ( *this != 【10】 ) a=p.a; b=p.b; /* 赋值构造,当变量p不等于*this时,即排除自身赋值 */ int get_a( ) 【11】 ; / 读其a的值 int get_b( ) return b ; private: int a, b;class line / 线段的定义 public: line(point& p1, point& p2): 【12】 / 分别用点p1,p2 初始化点a, b double length( ) const return 【13】 ; /* 计算线段的长度 , double sqrt (double) 为求平方根函数说明 */ private: point a , b ; ; 若用参数( 2 , 1) 建立点p1, 用参数 ( 2 ) 建立点p2,则对应的说明是: point p1( 【14】 ) , p2( 【15】 ) ; 三、 程序阅读题 (每小题5 分,共30分) 得分评阅人 请写出下列各程序运行后的输出结果。1源程序如下:#include void main( ) unsigned long number , digital ; cout “input a natural number” number ; do digital = number % 10 ; number /= 10; cout 0 ) ; cout endl;若在程序运行时,输入5798并按回车键,则其运行输出结果是 _ 。2源程序如下:#include void main( ) cout “multiply table” endl; cout “-“ endl; for ( int i =1 ; i = 3; i+) for ( int j =1; j = i ;
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号