C++期末考试试卷答案
更新时间:2023-08-30 19:17:01 阅读量: 教育文库 文档下载
计算机 c语言 c++ 期末考试真题
2008-2009学年度第二学期
华中科技大学《C++语言程序设计》试卷(A)
(考试时间:150分钟 考试方式:闭卷)
所有答案必须写在答题纸上
一、单项选择题 (30小题,每小题1分,共30分) 1、C++程序中的语句必须以( B )结束
A 冒号 B 分号 C 空格 D 花括号
2、下列选项中,( A )不是分隔符
A 标识符 B ; C : D ( )
3、执行语句
int a = 10, b ;
int & pa = a , & pb =b ; 后,下列正确的语句是( B)
A &pb = a; B pb = pa; C &pb = &pa; D *pb = *pa;
4、设I=1,J=2,则表达式 I++ +J的值为( C )
A 1 B 2 C 3 D 4 5、执行下列语句后,
int x , y ;
x = y = 1 ; ++x || ++y ; y的值是( C)
A 不确定 B 0 C 1 D 2
6、逗号表达式
(x = 4 * 5 , x * 5 ), x + 25 的值为( D )
A 25 B 20 C 100 D 45
7、已知int i, x, y;在下列选项中错误的是(C)
A if ( x && y ) i ++; B if ( x == y) i ――; C if ( xy ) i ――; D if ( x + y ) i++;
8、i=2,执行下列语句后的值为( B )
switch ( i ) { case 1: i++; case 2: i――;
case 3: ++i; break; case 4: ――i; default : i++; }
A 1 B 2 C 3 D 4
9、已知int i = 3;下面do _ while语句执行时循环次数为(B) do { i-- ; cout <<i << endl; } while ( i != 1);
A 1 B 2 C 3 D 无限 10、以下为死循环的程序段是( B )
计算机 c语言 c++ 期末考试真题
A for ( int x = 0 ; x < 3 ; ) { x++ ; } ; B int k = 0;
do { ++k ; } while ( k>=0 ) ;
C int a=5; while ( a ) { a―― ; } ; D int i=3 ; for ( ; i ;i――) ;
11、以下正确的函数原型为( D )
A f (int x ; int y); B void (x , y);
C void (int x , y); D void f (int , int);
12、有函数原型 void fun2 (int * ), 下面选项中,正确的调用是( C ) A double x = 2.17; fun2 (&x); B int a = 15; fun2 (a*3.14); C int b = 100; fun2 (& b); D fun2 (256); 13、有声明
int fun4 (int); int (* pf) (int) = fun4; 下面选项正确的是( B )
A int a = 15; int n = fun4 (&a); B int a = 15; cout<<pf (a*3.14); C cout<<(* pf) (256); D cout<<*pf (256); 14、函数参数的默认值不允许为(C,D)
A 全局常量 B 全局变量 C 局部变量 D 函数调用 15、下列的描述中( B )是错误的。
A 使用全局变量可以从被调用函数中获取多个操作结果 B 局部变量可以初始化,若不初始化,则系统默认它的值为0 C 当函数调用完后,静态局部变量的值不会消失 D 全局变量若不初始化,则系统默认它的值是0 16、以下对一维数组a的正确定义是( C)
A int n=5,a[n]; C int a(5);
B const int n=5; int a[n]; D int n;cin>>n; int a[n];
17、已知int a[10]={0,1,2,3,4,5,6,7,8,9}和*p=a,则不能表示数组a中元素的式子是( C )
A *a B *p C a D a [p-a] 18、以下不能对二维数组a进行正确初始化的语句是( C ) A int a[2][3] = 0;
B int a[][3] = { {0,1},{0}};
C int a[2][3] = {{0,1},{2,3},{4,5}}
D int a[][3] = {{0,1},{2,3,4},{5,6},{7}} 19、已知int a[3][3] = {1,2,3,4,5,6,7,8,9},则不能表示数组元素a[2][1]的地址是( B ) A &a[2][1] B * (a[2] + 1)
C a[2] + 1 D * (a + 2) + 1
20、若用数组名作为调用函数的实参,则传递给形参的是( A ) A 数组存储首地址 C 数组的第一个元素值 B 数组中全部元素的值 D 数组元素的个数 21、下列描述中,错误的是( A ) A 输出字符指针就是输出字符串
B 输出字符指指针的间接引用就是输出单个字符
计算机 c语言 c++ 期末考试真题
C 具有相同字符的两个字符串常量相等
D 两个数组名的比较是地址的比较
22、判断字符串s1是否大于字符串s2的表达式为( D )
A s1 > s2 B strcmp ( s1, s2) = = 0 C strcpy (s1,s2) > 0 D strcmp (s2,s1) > 0 23、在下列结构变量的定义中,不正确的是( D )
A struct employee B struct
{ char name[20]; {char name [20];
long code; long code;
}emp; }emp; C struct employee D struct
{ char name[20]; {char name[20]; long code; long code ; }; }employee;
employee emp ; employee emp;
24、假定有以下声明和定义,则下面引用形式错误的的( B )
struct student { int num; float score;
}stu[3]={{1001,80},{1002,75},{1003,91}},*p=stu;
A p->num B (p++).num C (p++)->num D (*p).num 25、若有以下声明和定义,则下列错误的引用是( D )
struct worker {int no;
char name[20];
}w,*p=&w;
A w.no B p->no C (*p).no D *p.no 26、关于类和对象不正确的说法是( C )
A 类是一种类型,它封装了数据和操作 B 对象是为类的实例
C 一个类的对象只有一个 D 一个对象必属于某个类
27、下面对构造函数的不正确描述是( B )
A 系统可以提供默认的构造函数。
B 构造函数可以有参数,所以也可以有返回值 C 构造函数可以重载。
D 构造函数可以设置默认参数。
28、在类定义的外部,可以被访问的成员有( C )
A 所有类成员 B private 或 protected 的类成员 C public 的类成员 D public 或 private 的类成员
29、在下列选项中,(C )是错误的。 A gets和函数puts可以输入输出包含空格的字符串 B cin不能输入包含空格的字符串 C cout不能输出包含空格的字符串
计算机 c语言 c++ 期末考试真题
D 使用赋值运算符总可以对字符数组整体赋值
30、下列选项中,( C )具有文件作用域。
A 语句标号 B 局部变量 C 全局变量 D 形式参数
二、程序填空(每空2分,共10分 )
1、函数yanghui的功能是把杨辉三角形的数据赋给二维数组的下半三角,请填空。 void yanghui(int x[6][6]) {
int i,j; x[0][0]=1;
for(i=1;i<6;i++)
{
x[i][0]=__x[i][i]___(1)_______=1;
for(j=1;j<i;j++)
x[i][j]=c(i,j) _____(2)________; //此处c(i,j)为求组合的函数 } }
2、函数fun的功能是逆置数组元素,数组a有n个元素,请填空。 void fun(int a[], int n)
{ int i,t;
for (i=0; i<__n/2_(3)___; i++) {
t=a[i];
a[i] = a[_n-1-i__(4)___]; _a[n-1-i]__(5)___ = t; } }
三、程序分析题:给出下面各程序的输出结果。 (5小题,每小题4 分,共20分 ) 1、将下列程序的运行结果写在右边空白位置
#include<iostream.h> void main()
{ int i , s = 0 ;
for ( i = 0 ; i< 5 ; i++ ) switch ( i)
{ case 0 : s+= i ; break; case 1 : s+= i ; break; case 2 : s+= i ; break; default: s+= 2 ; }
cout<<"s ="<< s <<endl; } S=7
计算机 c语言 c++ 期末考试真题
2、将下列程序的运行结果写在右边空白位置
#include <iostream.h>
int f1 ( int a, int b) {return a + b; } int f2 ( int a, int b) {return a - b; }
int f3 ( int ( *t) ( int , int ) , int a , int b) {return (*t) (a , b); } void main()
{ int (*p) (int ,int );
p = f1;
cout << f3 ( p, 4, 8) <<endl; p = f2;
cout << f3 ( p, 8, 4)<< endl; } 12 4
3、将下列程序的运行结果写在右边空白位置
int f ( int [ ][3 ],int ,int ); #include <iostream.h> void main()
{int a[ ][3]={0,1,2,3,4,5,6,7,8}; cout<<f(a,3,3)<<endl;
}
int f (int a[ ][ 3 ],int row,int col) {int i,j,t= 1;
for (i=0;i<row;i ++) for (j=0;j<col;j ++) { a[ i ][j] ++;
if (i==j) t *= a[i][ j]; }
return t; } 45
4、将下列程序的运行结果写在右边空白位置
#include<iostream.h>
#include<math.h> class point { public:
point(float x,float y)
{ a=x;b=y;cout<<"点("<<a<<","<<b<<")";}
friend float d(point &A,point &B)
{return sqrt((A.a-B.a)*(A.a-B.a)+(A.b-B.b)*(A.b-B.b));} private:
float a, b; };
计算机 c语言 c++ 期末考试真题
void main()
{ point p1(2,3); cout<<"到"; point p2(4,5);
cout<<"的距离是:"<<d(p1,p2)<<endl; }
点(2,3)到点(4,5)的距离是:2.82843
5、将下列程序的运行结果写在右边空白位置
#include<iostream.h> class T { public:
T( int x) { a=x; b+=x;}; static void display( T c)
{cout<<"a="<<c.a<<'\t'<<"b="<<c.b<<endl;} private: int a;
static int b; };
int T::b=5; void main() { T A(3),B(5); T::display(A); T::display(B); }
a=3 b=13 a=5 b=13
四、程序设计题(4小题,每小题10分,共40分)
1、输入某学生成绩,若成绩在通常情况下85分以上输出"very good",若成绩在60分到85分之间输出"good",若成绩低于60分输出"no good"。 #include<iostream> using namespace std; void main() { }
int score;
cout<<"输入分数:"; cin>>score;
if(score>=85)cout<<"very good!"; else if(score>=60)cout<<"good!"; else cout<<"no good!";
2、编写一个程序,包含三个重载的display函数和一个主函数。要求第一个函数输出double 值,前面用字符串“a double:”引导,第二个函数输出 一个int值,前面用字符串“a int:”引导,第三个函数输出一个char字符值,前面用字符串“a char:”引导,在主函数中分别
计算机 c语言 c++ 期末考试真题
用double、int 和char型变量作为实参调用display函数。 #include<iostream> using namespace std; void display(double x) { }
cout<<"a double:"<<x;
void display(int x) { }
void display(char x) { }
void main() { display(1.345);cout<<endl;
display(3);cout<<endl; display('a');cout<<endl; cout<<"a char:"<<x; cout<<"a int:"<<x;
}
3、编写程序,按照指定长度生成动态数组,用随机数对数组元素赋值,然后逆置该数组元素。输出逆置前后的数组元素序列。要求逆置时不使用辅助数组。 #include<iostream> #include<ctime> #include<cstdlib> #include<iomanip> using namespace std; void main() {
int n;
cout<<"输入数组长度:"; cin>>n;
int *p=new int[n]; srand(unsigned(time(0))); for(int *a=p;a<p+n;++a) {
*a=rand()%n;
cout<<setw(3)<<*a;
} cout<<endl;
for(int i=0;i<n/2;++i)
计算机 c语言 c++ 期末考试真题
{
int t; t=*(p+i); *(p+i)=*(p+n-1-i); *(p+n-1-i)=t; }
for(int *b=p;b<p+n;++b) }
4、定义一个Student类,在该类定义中包括:一个数据成员score(分数) 及两个静态数据成员total(总分)和学生人数count;成员函数scoretalcount(float s)用于设置分数、求总分和累计学生人数;静态成员函数sum用于返回总分;静态成员函数average用于求平均值。
#include<iostream> #include<ctime> #include<cstdlib> #include<iomanip> using namespace std; class Student {
float score;
static float total; static int count; { }
cout<<setw(3)<<*b;
public: void scoretalcount(float s)
{ }
score=s; total+=s; ++count;
static float sum() {return total;}
static float average() {return total/count;} };
int Student::count=0; float Student::total=0; void main() {
Student s1,s2,s3;
s1.scoretalcount(80); s2.scoretalcount(70);
计算机 c语言 c++ 期末考试真题
}
s3.scoretalcount(60);
cout<<"总成绩为:"<<Student::sum(); cout<<endl;
cout<<"平均分为:"<<Student::average();
计算机 c语言 c++ 期末考试真题
《C++语言程序设计》答题纸
班级: 学号: 姓名:
1、 2、 3、 4、 5、
三、程序分析题:给出下面各程序的输出结果。 (5小题,每小题4 分,共20分 ) 1、 2、 3、 4、
一、单项选择题(用铅笔在正确的选项上涂黑)。
5、
计算机 c语言 c++ 期末考试真题
四、程序设计题(4小题,每小题10分
正在阅读:
C++期末考试试卷答案08-30
一年级下册书法教案03-23
我家的枣树作文400字06-17
我爱我的学校作文800字07-04
服装设计的几点基础知识12-06
如何培养学困生学习数学的兴趣11-06
电大经济数学基础期末复习指导小抄版(精)04-18
《养成读报的好习惯》一02-13
十二条经络的作用及常规症状09-10
龙船花作文300字07-08
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- C++
- 期末
- 试卷
- 答案
- 考试
- 发泡水泥与泡沫混凝土的技术要求发泡水泥与泡沫混凝土的技术要求
- 对推进区域经济合作加快中国经济稳定增长的思考
- 南方保健审计失败案例分析
- 荣誉酒店集团培训资料
- 建筑外立面装饰施工图审查要点
- 2017-2022氟铝酸盐及相关复合氟盐行业深度调研及投资前景预测报告(目录)
- 年度费用预算表(模板)
- 土木工程毕业实习课程说明 安徽广播电视大学毕业论文评审表
- 年薪20万,某公司(400人)招聘总经理的真实笔试题-精选模板
- 3 管理研究设计方法
- 中国传统文化的现代价值
- mba考试大纲
- 科技文献检索及科技写作论文
- 人教版八年级上册语文期末专项复习三 病句的辨析与修改 同步练习(含答案)
- 2013年《形势与政策》教学专题讲稿4(2013中俄联合军演9.08)
- 《煤炭工业工程项目建设用地指标》(优选.)
- 2018-2024年抗菌肽行业市场竞争格局及投资方向研究报告(目录)
- 中国科学院研究生院-2012年-招收攻读硕士学位研究生入学统一考试试题-细胞生物学
- XX工委基层党组织分类定级工作整改提高晋位升级工作方案
- 2015-2020年中国电子束光电器件市场调研及投资战略研究报告