niusouti.com
更多“下列语句中,错误的是( )。A.const int buffer:256;B.const int temp;C.const double*point;D.const double*rt=new double(5.5);”相关问题
  • 第1题:

    下列的符号常变量定义中,错误的定义是()。

    A.const M=10;

    B.const int M=20;

    C.const char ch;

    D.const bool mark=true;


    参考答案:C

  • 第2题:

    ( 18 ) 下列语句中,错误的是

    A ) const int buffer=256;

    B ) const double *point;

    C ) int const buffer=256;

    D ) double * const point;


    正确答案:D

  • 第3题:

    若已经声明了函数原型“void fun(int a,double b=0.0);”,则下列重载函数声明中正确的是( )。

    A.void fun(int a=90,double b=0.0);

    B.int fun(int a,double B);

    C.void fun(double a,int B);

    D.bool fun(int a,double b=0.0);


    正确答案:C
    解析:此题考查的是函数重载。在C++语言中,允许定义一系列函数名相同,但形参的个数和类型不完全相同的函数,即函数的重载。重载函数对返回值类型不做要求,返回值类型也不参与区分函数的重载形式。选项A)中参数表相同,返回类型也相同,所以错误。选项B),选项D)中相同参数表,不同返回类型所以错误。

  • 第4题:

    阅读下列C++程序和程序说明,将应填入(n)处的字句写在对应栏内。

    【说明】Point是平面坐标系上的点类,Line是从Point派生出来的直线类。

    include <iostream.h>

    class Point

    {public:

    Point (int x, int y) ;

    Point (Point &p) ;

    ~Point();

    void set (double x, double y) ;

    void print();

    private:double X,Y;

    };

    Point::Point (int x, int y) //Point 构造函数

    {X=x; Y=y; }

    Point::Point ( (1) ) //Point 拷贝构造函数

    {X=p.X; Y=p.Y;}

    void Point::set (double x, double y)

    {X=x; Y=y; }

    void Point::print()

    {cout<<' ('<<X<<","<<Y<<") "<<endl; }

    Point::~Point()

    {cout<<"Point 的析构函数被调用! "<<endl;

    class Line: public Point

    {public:

    Line (int x, int y, int k) ;

    Line (Line &s) ;

    ~Line();

    void set (double x, double y, double k)

    void print();

    private:double K;

    };

    (2)//Line 构造函数实现

    { K=k;}

    (3)//Line 拷贝构造函数实现

    {K=s.K;}

    void Line::set (double x, double y, double k)

    { (4);

    K=k;

    }

    void Line::print()

    {cout<<" 直线经过点";

    (5);

    cout<<"斜率为: k="<<K<<endl;

    }

    Line: :~Line()

    {cout<<"Line 析构函数被调用! "<<endl;

    }

    void main()

    {Line 11 (1,1,2) ;

    11 .print();

    Linel2 (11) ;

    12.set (3,2,1) ;

    12.print();

    }


    正确答案:(1)Point &p (2)Linc::Line(int xint y int k):Point(xy) (3)Line::Line(Line &s):Point(s) (4)Point::set(x y) (5)Point::print()
    (1)Point &p (2)Linc::Line(int x,int y, int k):Point(x,y) (3)Line::Line(Line &s):Point(s) (4)Point::set(x, y) (5)Point::print() 解析:(1)Point &p
    Point拷贝构造函数的形参必须是Point对象的引用。
    (2)Linc::Line(int x,int y, int k):Point(x,y)
    Line的构造函数必须先调用Point构造函数构造Line的基类Point。
    (3)Line::Line(Line &s):Point(s)
    Line的拷贝构造函数必须先调用Point拷贝构造函数来构造并复制Line对象的基类 Point部分。
    (4)Point::set(x, y)
    Line的set成员函数必须通过Point的set成员函数才能访问基类的私有成员。而且在 set名前必须加成员名限定Point::,以区别Line的set函数。
    (5)Point::print()
    Line的print成员函数必须通过Point的print成员函数才能访问打印基类的私有成员。而且在print名前必须加成员名限定Point::,以区别Line的print函数。

  • 第5题:

    下列声明语句中没有起到定义作用的是( )。

    A.int count;

    B.const double pi=3.14159;

    C.extern long index;

    D.int max(int a,int b){return a>b? a:b;}


    正确答案:C
    解析:在C++程序中,一个名称在使用之前必须先被声明。声明的目的是告诉编译器某个名称所指代的实体类型。选项A是对变量的声明和定义,选项B是常量的声明、定义和初始化,选项D是函数的声明和定义,选项C是对外部变量index进行了声明,而没有进行定义。

  • 第6题:

    下列符号常量的声明中,______ 是不合法的。

    A.Const a As Single =1.1

    B.Const d As Integer =“12”

    C.Const b As Double = Sin(1)

    D.Const c As String = “OK”


    正确答案:B

  • 第7题:

    下面的语句中错误的是( )。

    A.int a=5;int x[a];

    B.const int a=5;int x[a];

    C.int n=5;int *p=new int[n];

    D.const int n=5;int *p=new int[a];


    正确答案:A

  • 第8题:

    若有函数定义:double fun(int a[10]){...},则在对该函数进行原型声明时,错误的声明语句是()

    • A、double fun(int[])
    • B、double fun(intb[10])
    • C、double fun(inta)
    • D、double fun(int*a)

    正确答案:C

  • 第9题:

    以下正确的函数定义形式是()。

    • A、double FUN(int x;int y)
    • B、double FUN(int x,int y)
    • C、double FUN(int x,int y);
    • D、double FUN(int x,y)

    正确答案:B

  • 第10题:

    单选题
    若有以下函数首部int fun(double x[10],int*n)则下面针对此函数的函数声明语句中正确的是(  )。
    A

    int fun(double*,int*);

    B

    int fun(double,int);

    C

    int fun(double *x,int n);

    D

    int fun(double x,int*n);


    正确答案: B
    解析:
    函数声明应该和函数调用的参数保持一致,声明时的参数(形参)名字可以省略,数组在参数传递过程中变成指针。答案选择A选项。

  • 第11题:

    单选题
    以下正确的重载函数是()
    A

    int same(int,double);double same(int,double);

    B

    int same1(int,double);int same2(int,double);

    C

    int same(int=0);int same(int);

    D

    int same(int,double);int same(int,double,double);


    正确答案: D
    解析: 暂无解析

  • 第12题:

    单选题
    下列语句中,错误的是(  )。
    A

    const int buffer=256;

    B

    const double*point;

    C

    int const buffer=256;

    D

    double*const point;


    正确答案: B
    解析:
    常量指针是指向一个常量的指针变量,指针自身的内容可以改变但指针指向的内容不可以改变;指针常量是一个常量,不能修改指针自身的内容,但可以通过指针修改其所指向的内容。A项和C项声明常量buffer=256;B项声明常量指针point;D项,指针常量point没有初始化,编译无法通过。

  • 第13题:

    下列语句中,错误的是 <br>

    A . const int buffer=256; <br>

    B . const int temp;<br>

    C . const double *point ; <br>

    D . const double *rt =new double(5.5);<br>


    正确答案:B

  • 第14题:

    下列语句中错误的是( )。

    A.const int a;

    B.const int a=10;

    C.const int*point=0;

    D.const int*point=new int(10);


    正确答案:A
    解析:此题考查的是符号常量的概念。符号常量必须在声明的同时赋初值,故选项A)错误。

  • 第15题:

    以下正确的函数原型语句是( )。

    A、double fun(int x,int y)

    B、double fun(int x;int y)

    C、double fun(int,int);

    D、double fun(int x,y);


    参考答案C

  • 第16题:

    若有以下函数首部: int fun(double x[10],int *n) 则下面针对此函数的函数声明语句中正确的是( )。

    A.int fun(double x, int *n);

    B.int fun(double, int);

    C.int fun(double *x, int n);

    D.int fun(double*, int*);


    正确答案:D
    解析:本题中的fun函数有两个参数,一个类型是double型一维数组,另—个是int型指针。而在C语言中,一维数组用作函数参数和该数组元素的指针类型是等价的。所以本题的正确答案是选项D。

  • 第17题:

    若有以下函数首部 int fun(double x[lO],int *n) 则下面针对此函数的函数声明语句中正确的是______。

    A.int fun(double x, int *n);

    B.int fun(double, int);

    C.int fun(double *x, int n);

    D.iht fun(double*,int*);


    正确答案:D
    解析:函数声明可以照写已定义的函数的首部,再加一个号就成为了对函数的声明,在函数声明中也可以不写形参名,而只写形参的类型,但要保证与函数首部写法上的—致,即函数类型、函数名、参数个数、参数类型和参数顺序相同。字符数组可用指针来表示,所以选顶D正确。

  • 第18题:

    下列符号常量的声明中,不合法的是

    A.Const a As Single=1.1

    B.Const a="OK"

    C.Const a As Double=Sin(1)

    D.Const a As Integer="12"


    正确答案:C
    解析:在用Const定义符号常量时,格式是:Const常量名=表达式[,常量名=表达式]……,其中常量名中可以用类型说明符,需要注意的是,“表达式”中不能使用字符串连接运算符、变量及用户定义的函数或者内部函数。

  • 第19题:

    下面的语句中错误的是

    A.int a = 5; int x[a];
    B.const int a = 5; int x[a];
    C.int n = 5; int *p = new int [a];
    D.const int n = 5; int *p = new int [a];

    答案:A
    解析:
    在C++中定义数组时,数组的范围参数在静态定义时必须是一个常数,而在动态分配内存定义时可以是常数,也可以是一个赋了值得参数。故选项A)是错误的定义方法。

  • 第20题:

    以下正确的重载函数是()

    • A、int same(int,double);double same(int,double);
    • B、int same1(int,double);int same2(int,double);
    • C、int same(int=0);int same(int);
    • D、int same(int,double);int same(int,double,double);

    正确答案:D

  • 第21题:

    intFunc(int,int);不能与下列哪个函数构成重载()

    • A、intFunc(int,int,int)
    • B、doubleFunc(int,int)
    • C、doubleFunc(double,double)
    • D、doubleFunc(int,double)

    正确答案:B

  • 第22题:

    单选题
    若已经声明了函数原型“void fun(int a,double b=0.0);”,则下列重载函数声明中正确的是(  )。
    A

    void fun(int a=90,double b=0.0);

    B

    int fun(int a,double B);

    C

    void fun(double a,int B);

    D

    bool fun(int a,double b=0.0);


    正确答案: B
    解析:
    函数重载的原则是至少要在参数个数或参数类型上有所不同。如果只是函数的返回值类型不同,而其他完全相同,则不能作为重载函数来使用。

  • 第23题:

    单选题
    下列语句中,错误的是(  )。
    A

    const int buffer=-256;

    B

    const int temp;

    C

    const double*point;

    D

    const double*rt=new double(5.5);


    正确答案: A
    解析:
    在C++语言中,符号常量声明语句的语法格式是:const 类型名 符号常量=初值表达式,常变量必须要赋初值。