2011春江苏省计算机二级vc++试题。
第二部分c++语言程序设计。
选择题(用答题卡答题,答案依次填在2l”30答题号内)
21.下列关于switch语句的描述中,不正确的是___21)__
语句中的default子句可以没有,也可以有一个。
语句中的每一个case子句中必须有一个break语句。
语句中的default子句可放在switch语句中的任何位置。
语句中的case子句后面的表达式只能是整型、字符或枚举类型常量。
22.设有说明语句:int a=1,b=2;float x=3,y:4:以下赋值中存在语法错误的是___22)__
a. a=++x; b. y=++b; c. b++=x++;d. b+=x++ y++
23.设有说明语句:char ss=static float x[20];
下列选项中,存在语法错误的是___23)__
>ss;
24.设有说明语句:float f(int &a,int b):int x,y;以下对函数f的调用语句中,正确的是(24)
25.设有说明:int a=1o,b=15,c;执行语句:c=a ||a+=b)||b);则a、b、c的值分别为___25)__
a.10,15,1 b.25,16,1 c.10,15,10 d.25,15,1
26.下列关于函数重载的描述中,不正确的是___26)__
a.两个或两个以上的函数取相同的函数名,但形参的个数不同。
b.两个或两个以上的函数取相同的函数名,各函数的返回值的类型必须不同。
c.两个或两个以上的函数取相同的函数名,形参的个数相同但类型不同。
d.两个或两个以上的函数取相同的函数名,形参的个数不同或类型不同。
27.在c++的集成环境中,系统约定c++源程序文件缺省的扩展名为___27)__
28.用友元函数进行双目运算符重载时, 该友元函数的参数表中应定义___28)__个参数。
b. 1 c.2 d.3
29.以下有关抽象类的叙述中,正确的是___29)__
a.抽象类不能含有纯虚函数。
b.可以定义抽象类的对象。
c.在抽象类中至少含有一个没有函数体的虚函数。
d.抽象类不能作为基类派生出新的类。
30.以下有关this指针的叙述中,不正确的是___30)__
a.当调用对象的非静态成员时,总存在一个this指针。
b.非静态成员函数调用类中的成员时,可直接使用this指针。
指针隐含地指向要用到的当前对象。
2011春江苏省计算机二级vc++试题。
d.静态成员函数也存在this指针。
二、填空题(请将答案填写在答题纸的相应答题号内,每个答案只占一行)
基本概念题,共5分。
1.成员函数实现双目运算符重载时, 该运算符的左操作数是___1)__其右操作数是___2)__
2.在c++中,类的继承方式有三种:保护继承,私有继承和___3)__
3.在定义全局变量和静态变量时,若没有设置其初值,则这两种变量的初值为___4)__
4.在c++中,标识符是以___5)__或下划线开头的,由字母、数字和下划线组成的字符序列。
阅读程序题,共13分。
5.[程序](2分)
#include <>t
int a=1o;
void fun(void)
int a=15;
:a-=-a;
cout<<:a<<’t’<}
void main(void)
int a=15;
for(int i=-10;i}
执行程序后输出的第一行是___6)__第二行是___7)__
6.[程序](2分___
#include <>
void main(void)
int i=1,j=1;
for(:j<10;j++)
if(j%2!=0)
cout<}
执行程序后输出的第一行是___8)__第二行是___9)__
7.[程序](2分)
#include<>
int f(int &x,int &y)
x+=y;y+=x;
return(x>y?x:y);
void main(void)
int x=20,y=30,z;
z=f(x,y):
cout
cout<}
执行程序后输出的第一行是___10)__第二行是___11)__
8.[程序](2分)
2011春江苏省计算机二级vc++试题。
#include <>
int f1(int n)
if(n==1)return 1;
else return n*n+f1(n-1);
int f2(int n)
int mul=1;
if(n==1) mul=1;
else mul= n*f2(n-1);
return mul;
void main(void)
cout
执行程序后输出的第一行是___12)__第二行是___13)__
9.[程序](3分)
#include <>
char *str(char *p1,char*p2)
char *p=p1;
while(*p)p++;
p++=while(*p++=p2++)
p++=return p1;
void main(void)
char s1[200]=;
char s2[200]=;
char s3=
cout
1o.[程序](2分)
#include<>
class a
virtual void funl()
void fun1();
void print(a &ra){
void main(void)
a a(10,20),*pa;
2011春江苏省计算机二级vc++试题。
b *p;p=new b(20,30,40,50);
p->fun1();
pa=&a; pa->fun1();
pa=p; pa->fun1();
print(a);
delete p;
执行程序后输出的第二行是___17)__第三行是___18)__
完善程序题,共12分。
11.设有一条环形铁路,共有n个车站,现有检查组去检查每个车站的服务质量,从第i个车站开始检查,每隔m(已检查过的车站不计算在内)个车站作为下一个要检查的车站,直到所有车站。
都检查完为止。下面的程序功能是:按以上要求计算出依次检查的车站序号,并输出计算的序号序列和检查循环的圈数。
例如,假设共有20个车站,车站的序号依次为:1,2,3,…,19,20;要求。
从第3个车站开始检查,间隔5个车站,则检查车站的顺序为:
函数check()中的count记录检查完所有车站时要绕环形铁路的圈数。
程序](4分)
#include<>
#define n 100
int check(int x,int y,int n,int i,int m) /x存放车站序号,y存放依次检查的车站。
//n总车站数,i开始检查的车站号,m要间隔的车站数。
int k=o,k1,count=0; /k记录已检查车站的个数。
x[o]=n; /初始化数组x,x[0]记录最后一个车站号。
for(int j=1;jy[k++]i: /i为第一个检查的车站。
x[i]=-1: /当“i]为一1时,表示该车站已检查。
j=i;while( _19)__
k1=o; /用k1累加间隔车站个数。
while(k1j++;
if(j>=n){
count++;
j=__20)__
2023年春
2012年春 明心数学资优生水平测试 3年级试卷简答。下面仅提供简答,详细过程将于开学后第一节课讲解。一 计算题 4 4 16 答案 2217 答案 6 答案 4 答案 4 二 a组填空题 5 8 40 1 如果你仔细观察,就会明白数字与图形之间存在的逻辑关系。请问,问号代表的数应是。答案 4 2 ...
2023年春
2012年春,我沂南三小开展了 先学后教 学后指导 教学策略,试图打翻我校多年来的传统式教学,切实突出学生的主体地位,让学生成为学习的主人。但如何不让 先学后教 流于形式,使之真正起到提高课堂效果的作用,成为我们三小人不断探索的问题,教学实践中的得与失也成为我们教师的备课内容。下面我作为我校第一批课...
2023年春
2012年春 明心数学资优生水平测试 5年级试卷得分日期。一 计算题 4 4 16 二 a组填空题 5 8 40 1 喜羊羊有42块相同的正方体,每块棱长是1cm。他用所有正方体来搭建一个长方体。这个长方体底部周长是18cm。长方体的高是厘米。2 wxyz的乘积是2002,并且w x y z分别是质...