最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

阶段测验(5-7章)试卷2012-6-7

来源:动视网 责编:小OO 时间:2025-10-04 05:37:08
文档

阶段测验(5-7章)试卷2012-6-7

江苏科技大学VisualC++阶段测验试卷(5-7章)班级:学号:姓名:2012/6/7答题注意事项:1、所有答案必须写在答题纸上;考试完毕只交答题纸,不交试卷。2、填写答案时,注意题号;特别是填空题,做到空格号与试题中空格号对应,注意输出格式。3、编程题,注意书写的规范、工整,字迹(包括标点符号)清楚。一、选择题(每题2分,计30分)1.若要定义一个只允许本源程序中所有函数使用的全局变量,则该变量需要使用的存储类型是。A.externB.staticC.autoD.register2.有如下
推荐度:
导读江苏科技大学VisualC++阶段测验试卷(5-7章)班级:学号:姓名:2012/6/7答题注意事项:1、所有答案必须写在答题纸上;考试完毕只交答题纸,不交试卷。2、填写答案时,注意题号;特别是填空题,做到空格号与试题中空格号对应,注意输出格式。3、编程题,注意书写的规范、工整,字迹(包括标点符号)清楚。一、选择题(每题2分,计30分)1.若要定义一个只允许本源程序中所有函数使用的全局变量,则该变量需要使用的存储类型是。A.externB.staticC.autoD.register2.有如下
江苏科技大学Visual C++阶段测验试卷(5-7章)

班级:            学号:           姓名:         2012/6/7

答题注意事项:

1、所有答案必须写在答题纸上;考试完毕只交答题纸,不交试卷。

2、填写答案时,注意题号;特别是填空题,做到空格号与试题中空格号对应,注意输出格式。

3、编程题,注意书写的规范、工整,字迹(包括标点符号)清楚。

一、选择题(每题2分,计30分)

1. 若要定义一个只允许本源程序中所有函数使用的全局变量,则该变量需要使用的存储类型是          。

A.extern      B.static       C.auto      D.register

2. 有如下程序段,运行时的输出结果是           。

int i=4;

int j=1;

void main(){

    int i=8,j=i;

cout<}

A. 44    B. 41     C. 88     D. 81

3. 有如下程序段,for循环体执行的次数是           。

#include

#define N 1

#define M N+2

#define NUM 2*M+3

void main()

{     int i;

for(i=1;i<=NUM;i++)cout<}

A. 6     B. 7      C. 8      D. 9

4. 有如下函数定义:

int fun(int x){

    int y=x;

    {    int x=10;

        y+=x;

    }

    return x+y;

}

通过表达式fun(5)调用该函数,则得到的返回值为             。

A. 10     B. 15    C. 20    D. 25

5. 已知宏定义:

   #define  N  3

   #define  Y(n)  ((N+1)*n)

执行语句z=2*(N+Y(5+1)); 后,变量z的值是       。

   A. 42        B. 48        C. 52    D. 出错

6. 以下程序的输出结果是             。

#include

void fun(int *s,int *y){

    static int t=3;

    *y=t;

    t--;

}

void main(){

    int a[]={1,2,3,4},x=0;

for(int i=0;i<4;i++){

        fun(a,&x);

        cout<    }

cout<<'\\n';

}

A. 0 1 2 3    B. 0 0 0 0    C. 3 3 3 3    D. 3 2 1 0

7. 设有结构体定义如下:    

struct ST{int a;float b;}st1={1,2};

struct {int a;float b;}st2;

则下列使用中,正确的是          。

A.cin>>st2;                        B.st2=st1;

C.cout<8. 下列动态内存的申请不正确的是          。

A.char *p=new char;                 B.char *p=new char [10]; 

C.char *p =new char ('1');           D.char *p=new char ("abc");

9. 下列描述中,不属于面向对象思想主要特征的是         。

A. 封装性     B. 跨平台性    C. 继承性      D. 多态性

10. 有如下两个类的定义:

class  AA{};

class  BB{

    AA c1,*c2;

    BB c3;

    int *c4;

};

其中有一个成员变量的定义是错误的,这个变量是            。

A. c1     B. c2     C. c3     D. c4

11. 以下关键字不能用来声明类的访问权限的是            。

A. public    B. static    C. protected     D. private

12. 对于一个类定义,下列叙述中错误的是            。

A. 如果没有定义拷贝构造函数,编译器将生成一个拷贝构造函数

B. 如果没有定义缺省的构造函数,编译器将生成一个缺省的构造函数

C. 如果没有定义构造函数,编译器将生成一个缺省的构造函数和一个拷贝构造函数

D. 如果已经定义了构造函数和拷贝构造函数,编译器不会生成任何构造函数

13. 下列关于类定义的说法中,正确的是          。

A. 类定义中包括数据成员和成员函数的声明

B. 类成员的缺省访问权限是保护的

C. 数据成员必须被声明为私有的

D. 成员函数只能在类体外定义

14. 下列情况下,不会调用拷贝构造函数的是           。

A. 用一个对象去初始化同一类的另一个新对象时

B. 将类的一个对象赋值给该类的另一个对象时

C. 函数的形参是类的对象,调用函数进行形参与实参之间的参数传递时

D. 函数的返回值是类的对象,函数执行完毕返回时

15. 若MyClass是一个类名,且有如下语句序列

MyClass  c1,*c2;

MyClass  *c3=new MyClass;

MyClass  &c4=c1;

上述语句序列所定义对象的个数是            。

A. 1     B. 2      C. 3     D. 4 

二、填空题(每空2分,计50分)

●基本概念题

1.在块中,可以通过    (1)    运算符引用与块内变量同名的全局变量。

2.静态整型变量的缺省值为   (2)     。

3.用new运算符申请动态对象时,系统将自动调用该对象的   (3)   。

4.当一个对象的成员函数被调用时,该成员函数中有   (4)    指向调用它的对象。

5.若有链表结点定义:struct node { int data;  node *next;}; 假设指针p已经指向链表的第2个结点,则可通过    (5)   来取第4个结点中data的值。

●阅读程序题

6.以下程序运行后输出的第1行是   (6)    ,第2行是   (7)   。

#include

 void f(int *s){

     static int j;

     do{

         s[j]+=s[j+1];

}while(++j<2);

 }

 void main(void){

     int a[5]={1, 2, 3, 4, 5},k;

     f(a);

for(k=0; k<5; k++)

         cout< cout<     f(a);

for(k=0; k<5; k++)

         cout< cout< }

7.以下程序运行后输出的第一行是   (8)   ,第二行是   (9)  ,第三行是   (10)    。

#include

int k=1;

void f(int m){

    m+=k; k+=m;

    {    char k='B'; 

        cout<    }

cout<}

void main(void){

    int i=4;

    f(i);  

cout<}

8.以下程序运行后输出的第一行是   (11)   ,第二行是   (12)   。

#include

struct STRUCT

{    char s[20],*p;};

void main(void){

    STRUCT st={"江科大程序设计"}; 

cout<}

9.以下程序运行后输出的第一行是   (13)   ,第二行是   (14)   。

#include

class AA{

    int val;

public:

AA(int x=0){val=x;cout< ~AA(){cout<};

class BB{

    AA a1,a2;

    int val;

public:

    BB(int x,int y,int z=0):a2(x),a1(y)

{val=z;cout< ~BB(){cout<};

void main(){

    BB obj(1,2,3);

cout<<'\\n';

}

10. 以下程序运行后输出的第一行是   (15)   ,第二行是   (16)   。

#include

class Myclass{

    int x,y;

public:

    Myclass(int a,int b){

        x=a;  y=b;

        cout<    }

    Myclass(Myclass &t){

        x=t.x*2;  y=t.y*2;

        cout<    }

};

void main(void){

    Myclass obj1(5,10),obj2=obj1; 

}

●完善程序题

11. 类Sample的构造函数将形参data赋值给数据成员data,请将类定义补充完整。

class Sample{

private:

   int data;

public:

    Sample(int data=0);

};

Sample:: Sample(     (17)    ){   

         (18)    ;   

}

12.以下程序定义平面直角坐标中的点类Point(x表示横坐标,y表示纵坐标)、线段类Line(由平面坐标中点p1、p2和它们之间的距离distance组成),请根据要求和程序运行结果完善程序。

程序运行结果:

    点:(1,1)

    点:(2,2)

    距离:1.41421

源程序:

#include

#include

class Point{

    int x;

public:

    int y;

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

    int getx(){ return x; }

    void print(){ cout<<"点:("<};

class Line{

    Point p1,p2;

public:

    Line(int x1,int y1,int x2,int y2):    (19)      //对子对象p1,p2初始化

    { }

    void show(){

        p1.print();

        p2.print();    

    }

    double distance()

    {

        double x=     (20)    ;

        double y=p1.y-p2.y;

        return sqrt(x*x+y*y);

    }

};

void main(){

    Line L(1,1,2,2);

    L.show();

    cout<<"线段长度为:"<<     (21)    <<'\\n';

}

13. 设已建立一个单向链表,指针head指向该链表的首结点。定义一个函数将head所指链表上各结点的数据按data值升序排序。结点的数据结构如下:

struct node{

      int data;

    node *next; 

};

算法分析:初始时,使指针变量p指向该链表的首结点,从p之后的所有结点中找出data值最小的结点,让p1指向该结点。将p指向结点的data值与p1指向结点的data值进行交换。让p指向下一个结点,依此类推,直至p指向链表的最后一个结点为止。最后,函数返回已排好序的链表的头指针。

编程实现:

   (22)      sort(node *h)    

{    node *p=h,*p1,*p2;

    if(p==NULL)

        return h;

while(p->next!=NULL)

    {    p1=p;

        p2=p->next;

        while(p2!=NULL)

        {    if(    (23)   )  

            p1=p2;

            p2=p2->next;

        }

        if(p!=p1)

        {    int t;

            t=p->data;

                (24)   ; 

            p1-data =t;    

        }

            (25)    ; 

    }

    return h;

}

三、编程题(计20分)

[题目] 定义一个字符串类STR,具体要求如下:

(1)私有数据成员

     char *s;  // 指向成员字符串

(2)公有成员函数

    STR(char *p);  // 构造函数,根据给定的字符串初始化数据成员

fun( );    // 成员函数,将指针s所指向的字符串逆序

show( );  // 输出数据成员

~STR( );  // 释放申请到的动态内存空间

(3)在主函数中定义一个字符数组,用getline函数从键盘输入一个长度小于20的字符串,并使用该字符串对类STR进行测试。

江苏科技大学Visual C++阶段测验(5-7章)答题纸

班级:              学号:             姓名:              2012/6/7

题号一、选择题二、填空题三、编程题总计
得分
一、选择题(每题2分,计30分)

题号12345678910
答案
题号1112131415
答案
二、填空题(每空2分,计50分)

(1)                       

(2)                       

(3)                      

(4)                       

(5)                   

(6)                   

(7)                   

(8)                   

(9)                     

(10)                  

(11)                     

(12)                     

(13)                     

(14)                     

(15)                     

(16)                        

(17)                     

(18)                     

(19)                     

(20)                        

(21)                     

(22)                     

(23)                     

(24)                     

(25)                     

三、编程题(20分)

文档

阶段测验(5-7章)试卷2012-6-7

江苏科技大学VisualC++阶段测验试卷(5-7章)班级:学号:姓名:2012/6/7答题注意事项:1、所有答案必须写在答题纸上;考试完毕只交答题纸,不交试卷。2、填写答案时,注意题号;特别是填空题,做到空格号与试题中空格号对应,注意输出格式。3、编程题,注意书写的规范、工整,字迹(包括标点符号)清楚。一、选择题(每题2分,计30分)1.若要定义一个只允许本源程序中所有函数使用的全局变量,则该变量需要使用的存储类型是。A.externB.staticC.autoD.register2.有如下
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top