资源描述
程序设计试卷34
一、单项选择题(总分 21)
1。 (分值:1.0 分)下列语句中错误的是( )。
A: if (a〉b) cout〈〈a;
B: if (&&) ; a=m;
C: if (1) a=m;
else a=n;
D: if (a>0) ;
else a=n;
序号:155 难度:1 考查点:程序控制结构
2. (分值:1。0 分)当需要打开A 盘上的xxk。dat 文件用于输入时,则定义文件流对象的语
句为( )。
A: fstream fin(R A:\\xxk.datR );
B: ofstream fin(R A:\\xxk.datR );
C: ifstream fin(R A:\\xxk。datR ,ios::app);
D: ifstream fin(R A:\\xxk。datR ,ios::nocreate);
序号:253 难度:1 考查点:输入输出流
3。 (分值:1。0 分)运行下列程序结果为( )。
#include 〈iostream。h>
int main( )
{
cout。width(6);
cout.fill(’*’);
cout 〈〈 'a’<<1 << endl;
return 0;
}
A: *****a*****1
B: *****a1
C: a*****1*****
D: a*****1
序号:258 难度:1 考查点:输入输出流
4. (分值:1.0 分)n 目运算符的含义是______。
A: 对n 个数据进行操作
B: 对n 个数据进行加法
C: 对n 个类型进行整合
D: 对3 个类型进行转换
序号:322 难度:1 考查点:C++基础知识
5。 (分值:1.0 分)与delete 最相关的关键字是( )。
A: namespace
B: new
C: enum
D: struct
序号:334 难度:1 考查点:指针
6. (分值:1.0 分)下列标识符正确的是________。
A: 1asd
B: _swe
C: R swe
D: @aws
序号:343 难度:1 考查点:C++基础知识
7. (分值:1.0 分)有以下类定义:</p>class A〈/p〉{</p>private:</p〉 int x;〈/p〉protected:〈/p>
int y;</p〉public : </p> int z;〈/p〉};〈/p〉类B 是类A 的公有派生类,在类B 中不能正确使
用的语句是( )。</p>
A: x=5;
B: y=6;
C: z=7;
D: 都不能
序号:355 难度:1 考查点:继承与派生
8。 (分值:1。0 分)下面正确的说法是________。
A: 关键字virtual 只能用来声明虚函数
B: 声明虚函数时,才使用关键字virtual
C: 关键字virtual 不能用来声明虚基类
D: 关键字virtual 能用来声明虚基类
序号:389 难度:1 考查点:多态性与虚函数
9。 (分值:1.0 分)一个函数为 void f(int, char ch='a’),另一个函数为 void f( int ),则它们
( )。
A: 不能在同一程序中定义
B: 可以在同一程序中定义并可重载
C: 可以在同一程序中定义,但不可以重载
D: 其他三种说法均不正确
序号:428 难度:1 考查点:重载
10。 (分值:1。0 分)有以下类定义:〈/p〉class A</p>{</p>public:</p〉 virtual void
f1(){ cout〈<1; };〈/p〉 void f2(){ cout<〈2; };〈/p〉};〈/p>class B : public
A〈/p〉{</p〉public:</p> void f1(){ cout<〈3;}</p〉 void f2(){ cout〈〈4;}</p>};</p〉若b
为B 类对象,p 为A 类指针,则下列选项正确的是( )。
A: 执行:p=&b; p->f1();语句,输出3
B: 执行:p=&b; p-〉f2();语句,输出4
C: 执行:p=&b; p—〉f1();语句,输出2
D: 执行:p=&b; p-〉f2();语句,输出1
序号:435 难度:1 考查点:多态性与虚函数
11。 (分值:1.0 分)在C++中,运算对象必须为整型数的运算符是( ).〈/p>
A: %
B: /
C: *
D: %和*
序号:441 难度:1 考查点:C++基础知识
12。 (分值:1.0 分)下列变量定义中合法的是( ).</p〉
A: short _a=1—。le—1;
B: double b=1+5e2.5;
C: long do=0xfdaL;
D: float 2_and=1—e-3;
序号:444 难度:1 考查点:C++基础知识
13. (分值:1。0 分)已知教师记录的描述为:〈/p> struct teacher</p〉 {〈/p> int id;〈/p〉
char name[20];</p> struct { int y; int m; int d;} birth;〈/p〉 }t;</p〉将变量t 中的d 成员赋
值为 12 的语句为( )。〈/p〉
A: d=12
B: birth.d=12
C: t.d=12
D: t.birth.d=12
序号:461 难度:1 考查点:自定义数据类型
14。 (分值:1。0 分)在面向对象程序设计中,实现信息隐蔽是靠( )。 〈/p>
A: 对象的继承
B: 对象的封装
C: 对象的分类
D: 对象的多态
序号:493 难度:1 考查点:类与对象
15。 (分值:1。0 分)关于C++和C 语言的描述中,错误的是( ).</p〉
A: C 语言是C++的一个子集〈/p〉
B: C 语言和C++是兼容的
C: C++对C 语言进行了一些改进〈/p>
D: C 语言和C++都是面向对象的
序号:511 难度:1 考查点:C++基础知识
16。 (分值:1。0 分)下述静态数据成员的特征中,( )是错误的。〈/p>
A: 说明静态数据成员时前边要加修饰符static
B: 静态数据成员要在类体外进行初始化〈/p>
C: 引用静态数据成员时,要在静态数据成员名前加〈类名〉和作用域运算符</p〉
D: 静态数据成员不是所有对象所共用的</p〉
序号:533 难度:1 考查点:类与对象
17。 (分值:1。0 分)以下各组选项中,均能正确定义二维实型数组a的选项是( )。
A: float a[3][4];</p>float a[][4];</p>float a[3][]={{1},{0}};</p>
B: float a(3,4);</p>float a[3][4];</p>float a[][]={{0},{0}};</p>
C: float a[3][4];〈/p〉float a[][4]={{0},{0}};〈/p>float a[][4]={{0},{0},{0}};〈/p〉
D: float a[3][4];〈/p〉float a[3][];〈/p〉float a[][4];</p>
序号:562 难度:1 考查点:数组
18。 (分值:1.0 分)如果类A 继承了类B,则类A 称为( ). </p>
A: 基类
B: 派生类
C: 虚基类
D: 没有关系
序号:573 难度:1 考查点:继承与派生
19。 (分值:1。0 分)( )使一个函数可以定义成对许多不同数据类型完成同一个任务.
A: 函数模板
B: 重载函数
C: 递归函数
D: 模板函数
序号:591 难度:1 考查点:模板
20. (分值:1。0 分)以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是
( ).
A: char s[10]=”abcdefg";
B: char t[10]=”abcdefg", *s=t;
C: char s[10]; s=”abcdefg”;
D: char s[10]; strcpy(s, ”abcdefg”);
序号:657 难度:1 考查点:数组
21. (分值:1。0 分)以下程序段的结果是( ).</p〉int m=0, n=0;〈/p>if ( ++m || ++n )〈/p〉
cout <〈 m 〈〈 "," 〈< n <〈 endl;</p>
A: 0,0
B: 1,1
C: 1,0
D: 0,1
序号:681 难度:1 考查点:C++基础知识
二、填空题(总分 44)
1.(分值:2。0)有如下循环语句:
for(int i=50; i〉20; i—=2) cout<<i<〈',’;
运行时循环体的执行次数是15 次。
序号:12 难度:1 考查点:C++基础知识
2. ( 分值: 6。0 ) 求出满足不等式</p〉<img
src="。./picturefile/30af43d6—9ecf-482e—893b-6e919858c90f/image003.jpg”〉〈/p〉的最小n 值。
〈/p〉#include <iostream></p〉using namespace std;〈/p>int main()</p>{〈/p〉 int i=0;〈/p〉
double s=0;</p> while ( s〈5 或 5>s )</p> s+=double(1)/ ++i ;
cout〈<”n=”<〈n〈〈endl; return 0;〈/p>}〈/p>
序号:142 难度:2 考查点:程序控制结构
3.(分值:2。0)当一个对象的生命周期结束时,C++编译系统自动调用析构函数撤销该对象
并进行清理工作.
序号:199 难度:1 考查点:类与对象
4。(分值:2.0)若有定义int a[3][4]={{1,2},{3},{4,6,8,10}},则a[1][2]的值为0。
序号:234 难度:1 考查点:数组
5。(分值:6.0)根据输入的年、月,判断该月的天数。例如,2008 年2 月的天数为29 天,2010
年5 月为31 天。完成以下程序: 〈/p>#include <iostream.h> </p〉void main( ) </p>{ 〈/p> int
year,month,days; 〈/p> cout〈<”请输入年, 月:”; 〈/p> cin>〉year>>month; 〈/p〉
switch ( month ) 〈/p〉 { 〈/p> case 1: 〈/p〉 case 3: </p> case 5: 〈/p〉
case 7: 〈/p> case 8: </p> case 10: </p> case 12: days=31; break; 或 break
case 4: 〈/p> case 6: 〈/p> case 9: 〈/p> case 11: days=30; break; </p〉 case 2:
〈/p> if (!(year%400) || !(year%4) && year%100) days=29 或 days=29;; else
days=28; 〈/p> }</p〉 cout<<year<〈”年”<<month〈〈"月的天数为:"〈〈days〈<endl;
〈/p>}
序号:29 难度:2 考查点:程序控制结构
6。(分值:2.0)对于派生类的构造函数,在定义对象时构造函数的执行顺序为:先执行调用
基类的构造函数,再执行调用对象成员的构造函数,最后执行派生类的构造函数体中的内容。
序号:290 难度:1 考查点:继承与派生
7。(分值:2。0)定义一个函数名为fun,返回值为int,没有参数的纯虚函数的定义是virtual
int fun()=0 或 virtual int fun()=0;。
序号:294 难度:1 考查点:多态性与虚函数
8。(分值:6。0)若一个3 位整数的各位数字的立方和等于1099,则称该数为A 数,求全部
A 数之和.〈/p>#include<iostream。h〉〈/p>class number〈/p>{ 〈/p>private:〈/p> int a, b;
//存放三位数的范围</p>public:〈/p> void mn(int m, int n) { a=m; b=n; } //为数
据成员赋值</p> void print()</p> { </p> int m1 = 0, m2 = 0, m3 = 0, m = 0,
sum=0;〈/p> for ( m = a; m <= b; m++ ) { m1 = m%10 或
m—m/10*10 ; //求三位数的个位 m2 = (m / 10) % 10; //求三位数
的十位</p> m3 = m/100; //求三位数的百位</p〉 if
( m1*m1*m1 + m2*m2*m2+ m3*m3*m3 == 1099 ) sum+=m;</p〉 }〈/p〉
cout<〈sum<<endl; } };〈/p>void main()</p>{</p> number ob;〈/p>
ob.mn(100,999); ob.print();
}
序号:311 难度:3 考查点:类与对象
9。(分值:2。0)模板声明中的第一个符号总是关键字template。
序号:319 难度:1 考查点:模板
10。(分值:2。0)while(!x!=0){.。。}循环结构中的循环条件的含义是x==0。
序号:361 难度:1 考查点:程序控制结构
11.(分值:2。0)有以下程序:〈/p>#include <iostream。h〉</p〉#define ADD(x) (x)+(x)</p>void
main()〈/p〉{〈/p〉 int a=4,b=6,c=7,d=ADD(a+b)*c;〈/p〉 cout〈<d;</p>}</p>程序执行
后输出的结果是80。
序号:502 难度:1 考查点:函数
12.(分值:6.0)下面程序的功能是将字符串s 的所有字符传送到字符串t 中,要求每传递
三个字符后再存放一个空格,例如字符串s 为"abcdefg”,则字符串t 为”abc def g”,请选择填
空。</p〉#include 〈iostream〉〈/p>using namespace std;〈/p〉void main( )</p〉{ 〈/p> int j,
k=0;〈/p> char s[60]="abcdefg”, t[100], *p;〈/p> p=s;〈/p> while(*p) </p>
{</p〉 for (j=1; j〈=3 && *p; j++, k++, p++ 或 p=p+1 或 ++p 或 p+=1)
t[k]=*p;</p〉 if ( j==4 或 4==j ) { t[k]=32; k++; } //32 为空格的ASCII
码值</p> }〈/p〉 t[k]=0;〈/p〉 cout<<t<〈endl;〈/p〉}〈/p〉
序号:527 难度:2 考查点:指针
13。 ( 分值: 2。0 ) 有下面的程序段: 〈/p〉int a, b, k=4, m=6, *p=&k,
*q=&m;〈/p>a=p==&m;</p〉b=(—*p)/(*q)+7;〈/p〉cout<〈a<<b〈〈endl;〈/p>则输出的结果是07。
序号:528 难度:1 考查点:指针
14。(分值:2.0)若有定义:〈/p〉struct AA 〈/p>{〈/p〉 int a; </p> char b; </p〉
double c;〈/p>}x;</p>则x 占用空间大小为13 字节。
序号:543 难度:1 考查点:自定义数据类型
三、问答题(总分 25)
1.(分值:5。0 分)阅读程序,写出运行结果。</p〉#include <iostream。h〉〈/p>int a=2;</p〉void
fun()</p〉{</p〉 int a=5;〈/p〉 a++;〈/p〉 cout〈<a;</p>}</p>void main()〈/p>{</p〉
cout〈〈a;〈/p> fun();</p〉 int a=10;</p〉 a++;</p>
cout<〈a<〈endl;〈/p〉}〈/p>
参考答案:
2611</p>
序号:102 难度:1 考查点:函数
2。(分值:5.0 分)写出以下程序的输出结果:</p>#include<iostream〉</p>using namespace
std;</p>char cchar(char ch)</p〉{</p> if (ch>=′A′ && ch<=′Z′) ch=ch-′A′+′
a′;〈/p〉 return ch;</p〉}</p〉void main()〈/p>{ 〈/p〉 char s[]="AB+bc=deEF",
*p=s;〈/p> while ( *p )</p〉 { </p〉 *p=cchar(*p);</p〉
p++;</p〉 }〈/p〉 cout<<s<<endl;〈/p〉}</p>
参考答案:
ab+bc=deef
序号:144 难度:1 考查点:指针
3。(分值:5。0 分)阅读以下程序:</p〉#include<iostream〉</p>using namespace std;</p〉class
A〈/p〉{ 〈/p〉 int a,b;〈/p>public:〈/p> A( );〈/p> A(int i, int j);</p〉 void
print( );</p〉};</p>A::A( ) { a=5; b=10; }</p〉A::A(int i, int j) { a=i,b=j; }</p〉void A::print( )
{ cout〈<"a=”〈<a<〈”,b="〈〈b〈〈”\t”; }</p〉void main( )</p>{ </p〉 A a1, a2(15, 18);</p〉
a1。print( );〈/p〉 a2。print( );</p〉}</p>写出程序运行后a1.a 与a2.b 的值.(答案格式:a1.a
空格a2。b,例如:3 5)〈/p>
参考答案:
5 18</p〉
序号:17 难度:1 考查点:类与对象
4。(分值:5.0 分)写出运算结果:
#include 〈iostream.h>
void main()
{ int a,b,c,s;
a=10;b=2;c=11;
s=a+b〉c;
cout<〈s;
}
参考答案:
1
序号:53 难度:2 考查点:程序控制结构
5。(分值:5。0 分)请写出下面程序运行的结果。
#include <iostream>
using namespace std;
void main()
{ int k,a[3][3]={1,2,3,4,5,6,7,8,9};
for(k=0;k<3;k++)
cout〈〈a[k][2-k]<<R R ;
cout〈<endl;
}
参考答案:
3 5 7
序号:71 难度:2 考查点:数组
四、编程题(总分 10)
1。( 分值: 10。0 分) 编写函数f() : </p〉 求m = <img
src="。./picturefile/bd66508c-16f9—4ffc—a5b2-c1c9fb898e15/image017。jpg"〉的值(例如,81=<img
src="。。/picturefile/bd66508c—16f9-4ffc-a5b2—c1c9fb898e15/image008.jpg”〉),其中a 和n 的值在
主函数中给定,m 值由函数f 返回给主函数。请根据要求完成程序代码。〈/p>long f(int a, int
n);〈/p〉void main()〈/p>{〈/p> int a, n;</p〉 cin〉>a〉>n;〈/p〉 cout〈〈f(a,n);〈/p>}
参考答案:
序号:59 难度:1 考查点:指针
7
展开阅读全文