2011春江苏省计算机二级VC真题与答案

2026/4/27 2:49:26

2011春江苏省计算机二级VC++试题 第二部分 C++语言程序设计

选择题(用答题卡答题,答案依次填在2l”30答题号内)

21.下列关于switch语句的描述中,不正确的是___(21)___ 。 A.switch语句中的default子句可以没有,也可以有一个

B.switch语句中的每一个case子句中必须有一个break语句 C.switch语句中的default子句可放在switch语句中的任何位置

D.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[]={“I am a student.”};static float x[20]; 下列选项中,存在语法错误的是___(23)___

A.cout<>ss; C.cout<>x;

24.设有说明语句:float f(int &a,int b):int x,y;以下对函数f的调用语句中,正确的是(24) A.f(x,y) ; B.f(&x,y); C.f(15,20); D.f(*x,y);

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)___ A.vc B.c++ C.vc++ D.cpp

28.用友元函数进行双目运算符重载时, 该友元函数的参数表中应定义___(28)___个参数 A.O B. 1 C.2 D.3

29.以下有关抽象类的叙述中,正确的是___(29)___ A.抽象类不能含有纯虚函数 B.可以定义抽象类的对象

C.在抽象类中至少含有一个没有函数体的虚函数 D.抽象类不能作为基类派生出新的类

30.以下有关this指针的叙述中,不正确的是___(30)___ A.当调用对象的非静态成员时,总存在一个this指针

B.非静态成员函数调用类中的成员时,可直接使用this指针 C.this指针隐含地指向要用到的当前对象 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>5){i+=2;break;} if(j%2!=0){ j+=2; continue; }

cout<

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分)

#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+=,“NanJin”-; char s2*200+=,“is”-; char s3*+=,“good”-; cout<

cout<

执行程序后输出的第一行是___(14)___ ,第二行是___(15)____,第三行是___(16)___ 1O.[程序](2分)

#include class A{ int x,y; public:

A(int a,int b){x=a;y=b;}

virtual void funl(){cout<<“x+y=“<

class B:public A{ int m,n; public:

B(int a,int b,int c,int d) :A(c,d){m=a ;n=b ;} void fun1(),cout<<“m*n= ”<

void print(A &ra){ra.fun1();} void main(void) {

A a(10,20),*pa; 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个车站,则检查车站的顺序为:

3->8->13->18->4->10->16->2->11->19->7->17->9->1->15->14->20->6->12->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]记录最后一个车站号


2011春江苏省计算机二级VC真题与答案.doc 将本文的Word文档下载到电脑
搜索更多关于: 2011春江苏省计算机二级VC真题与答案 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219