更多“单选题下列赋值语句正确的是哪一项?()A  long val=6;B  int age = 23L;C  short x=1,y=2,z     z=x+y;D  int a= ‘A’;”相关问题
  • 第1题:

    有如下程序: include using namespace std; class Part{ public:

    有如下程序: #include <iostream> using namespace std; class Part{ public: Part(int x=0):val(x) { cout<<val; } ~Part() { cout<<val; } private: int val; }; class Whole { public: Whole(int x, int y, int z=0):p2(x),p1 (y),val(z) { cout<<val; } ~whole() { cout<<val; private: Part p1,p2; int val; }; int main() { Whole obj (1,2,3); return 0; }程序的输出结果是

    A.123321

    B.213312

    C.213

    D.123123


    正确答案:B
    解析:本题考查的知识点是:类的构造与析构。建立一个类的对象时,构造函数的执行顺序如下:
    ①执行基类的构造函数,调用顺序按照各个基类被继承时声明的顺序(自左向右);
    ②执行成员对象的构造函数,调用顺序按照各个成员对象在类中声明的顺序(自上而下:(如果一行声明了多个对象,则还要遵循自左向右)
    ③执行自身的构造函数。
    析构顺序与之相反。本题的Whole类没有基类,但有两个Part类的成员p1和p2。根据它们定义的顺序,应该先构造p1再构造p2,而不是按Whole的构造函数中初始化列表的顺序那样构造。所以,第1个被构造的是p1(y),输出一个2;第2个被构造的是p2(x),输出一个1;最后调用自身构造函数,输出val的值3。析构函数严格与之相反。故输出结果为213312,本题应该选择B。

  • 第2题:

    以下程序执行后的输出结果是( )。include usingnamespacestd;void try(int,int,int,in

    以下程序执行后的输出结果是( )。 #include <iostream> using namespace std; void try(int,int,int,int); int main ( ) { int x,y,z,r; x=1; y=2; try(x,y,z,r); cout<<r<<end1; return 0; } void try(int x,int y, int z,int r) { z = x+y; x = X*X; y = y*y; r = z+x+y; }

    A.18

    B.9

    C.10

    D.不确定


    正确答案:D
    解析:本题常见的错误解答是:把x=1,y=2代入到函数try中,逐步计算出r=8。最后得到r的输出值是8。下面是正确解答。根据程序逐步分析:①程序中定义了一个名为try的void型函数,即函数try()没有任何返回值。②而try()函数在主函数中是以一条独立语句的方式被调用的,且主函数最后输出变量r的值。③但在主函数中,并没有对变量r赋值。④在C++语言中,数据只能从实参单向传递给形参,称为按值传递。也就是说,当简单变量作为实参时,用户不能在函数中改变对应实参的值。所以,虽然在函数try()中,r的值为8,但它并不能传递给实参,当然最终的输出肯定是不确定的随机数了。

  • 第3题:

    有如下程序:includeusing namespace std;class Part{public:Part(int x=0):val(x){co

    有如下程序: #include<iostream> using namespace std; class Part{ public: Part(int x=0):val(x){cout< ~Part( ){cout<<val;} pritave: int val; }; class Whole{ public: Whole(int x,int Y,int z=0):p2(x),p1(Y),val(z){cout<<val;} ~Whole( ){cout<<val;} pritave: Part p1,p2; int val; f; int main( ){ Whole obj(1,2,3); return 0; } 程序的输出结果是

    A.123321

    B.213312

    C.213

    D.123123


    正确答案:B
    解析:当类中出现其他类的对象时,先对该对象初始化,即调用对象类的构造函数,然后调用本类的构造函数;进行撤销时,先调用本类的析构函数,然后再调用类中对象所对应的类的析构函数。对象的创建顺序和构造函数声明中的参数顺序无关,而同类中定义的先后顺序有关。故先创建p1,再创建p2,撤销时先撤销p2,再撤销p1。 

  • 第4题:

    以下程序的输出结果是______。 fun(int x, int Y, int z) { z=x*x+y*y;} main() { int a=31; fun(5, 2, a); printf("% d", a); }

    A.0

    B.29

    C.31

    D.无定值


    正确答案:C
    解析:函数fun的形参是简单变量,main函数中调用fun时只是把实参的值传递给形参,形参的改变不影响实参,所以调用完函数fun后a的值不发生变化,即a=31。

  • 第5题:

    若有以下变量和函数说明:includecharCh='*';void sub(int x,int y,char ch,double*

    若有以下变量和函数说明: #include<iostream.h> charCh='*'; void sub(int x,int y,char ch,double*Z) { switch(ch) { case'+':*Z=x+y;break; case'-':*Z=x-y;break: case'*':*Z=x*y;break; case'/':*z=x/y;break: } } 以下合法的函数调用语句是( )。

    A.sub(10,20,Ch,y);

    B.sub(1.2+3,2*2,'+',&Z);

    C.sub(sub(1,2,'+',&y),sub(3,4'+',&x),'-',&y);

    D.sub(a,b,&x,ch);


    正确答案:B

  • 第6题:

    已有定义int x=3, y=4, z=5;则表达式“!(x+y)+z-1y+z/2”的值是________。

    A.6

    B.0

    C.2

    D.1


    正确答案:D

  • 第7题:

    有如下程序: #jnClude<iostream> using namespaCe std; Class Part{ publiC: Part(int x=0):val(X){Cout<<val;} ~Part{Cout<<val;} private: int val; t }; Class Whole{ publiC: Whole(int x,int Y,int z=0):p2(x),pl(y),val(z){Cout<<val;} ~Whole{eout<<val;} private: Part pl,p2; int val; }; int main { Whole obj(1,2,3); return 0; } 执行这个程序的输出结果是( )。

    A.123321

    B.213312

    C.213

    D.123123


    正确答案:B
    本题考查带参数的构造函数。本题中定义了一个对象obj,那么执行其构造函数,初始化p1,p2的顺序是由声明这两个成员的顺序决定的,而不是由参数化列表顺序决定,所以本题中,会先执行p1,输出2,然后执行p2输出1,然后输出3,最后一次输出312。所以本题答案为8。

  • 第8题:

    下列函数定义不正确的是 ( )

    A.int max { int x y,z; z=x>y? x: y }

    B.int max(x,y) int x,y; { int z; z=x>y? x:y; return(z) }

    C.int max(x,y) { int x,y z; z=x>y? x: y; return(z); }

    D.int max( ) {}


    正确答案:C

  • 第9题:

    以下程序执行后的输出结果是()。includeusing namespace std;void try(int,int,int,in

    以下程序执行后的输出结果是( )。 #include<iostream> using namespace std; void try(int,int,int,int); int main() { int x,y,z,r; x=1; y=2; try(x,y,z,r); cout<<r<<endl; return 0; } void try(int x,int y, int z,int r) { z = x+y; X = x*x; y = y*y; r = z+x+y; }

    A.18

    B.9

    C.10

    D.不确定


    正确答案:D

  • 第10题:

    以下程序执行后的输出结果是include.using namespace std;void try(int,int,int,int)

    以下程序执行后的输出结果是 #include<iostream>. using namespace std; void try(int,int,int,int); int main() { int x,y,z,r; x=1; y=2; try(x,y,z,r); cout<<r<<end1; return 0; } void try(int x,int y, int z,int r) { z = x+y; x = x*x; y = y*y; r = z+x+y; }

    A.18

    B.9

    C.10

    D.不确定


    正确答案:D
    解析:本题考核函数调用(参数的传递)。本题常见的错误解答是:把x=1,y=2代入到函数try中,逐步计算出r=8。最后得到r的输出值是8。以下是正确解答,根据程序逐步分析:程序中定义了一个名为try的void型函数,即函数try没有任何返回值。而try函数在main函数中是以一条独立语句的方式被调用的,且main函数最后输出变量r的值。但在main函数中,并没有对变量r赋值。在C++语言中,数据只能从实参单向传递给形参,称为按值传递。也就是说,当简单变量作为实参时,用户不能在函数中改变对应实参的值。所以虽然在函数try中,r的值为8,但它并不能传递给实参,当然最终的输出肯定是不确定的随机数了。

  • 第11题:

    若有int x=3,y=4,z=5; ,则表达式 !(x+y)+z-1 && y+z/2的值是()


    正确答案:1

  • 第12题:

    单选题
    下列赋值语句正确的是哪一项?()
    A

     long val=6;

    B

     int age = 23L;

    C

     short x=1,y=2,z     z=x+y;

    D

     int a= ‘A’;


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

  • 第13题:

    下面结构体的定义语句中,错误的是( )。 A.struct ord{int x;int Y;int Z;};struet ord a;SXB

    下面结构体的定义语句中,错误的是( )。

    A.struct ord{int x;int Y;int Z;};struet ord a;

    B.struct ord{int x;int y;int Z;}struct ord a;

    C.struct ord{int X;int Y;int Z;}a;

    D.struct{int X;int y;int Z;}a;


    正确答案:B
    结构体定义的类型说明的一般形式为:struct结构体标识名{类型名1结构成员名表l;类型名2结构成员名表2;···};。注意:①结构体说明同样要以分号结尾;②紧跟在结构体类型说明之后进行定义;③在说明一个无名结构体类型的同时,直接进行定义;④先说明结构体类型,再单独进行变量定义等。所以B选项错误。

  • 第14题:

    以下程序的输出结果是 ( ) fun (int x,int y, int z) { z=x * x+y * y;} main( ) { int a=31; fun(5,2,a); print{("%d",a); }

    A.0

    B.29

    C.31

    D.无定值


    正确答案:C

  • 第15题:

    以下程序的输出结果是______。

    fun(int x,inty,int z)

    { z=x*x+y*y;}

    main()

    { int a=31;

    fun(6,3,a)

    printf("%d",a)

    }


    正确答案:
    在函数调用时,形参值的改变,不会改变实参值。

  • 第16题:

    有如下程序:includeusing namespace std;class Part{public:Part(int x=0):val(x) {c

    有如下程序: #include<iostream> using namespace std; class Part{ public: Part(int x=0):val(x) {cout<<val;} ~Part(){cout<<val;} private: int val; }; class Whole{ public: Whole(int x ,int y, int z=0):p2(x),p1(y),val(z){cout<<val;} ~Whole(){cout<<val;} private: Part p1,p2; int val; }; int main() Whole obj(1,2,3); return 0; } 程序的输出结果是( )。

    A.123321

    B.213312

    C.213

    D.123123


    正确答案:B
    解析:此题考查的是类的构造与析构。在建立类的对象时,构造函数的执行顺序如下:执行基类的构造函数,调用顺序按照各个基类被继承时声明的顺序(自左向右),接着执行成员对象的构造函数,调用顺序按照各个成员对象在类中声明的顺序,最后执行自身的构造函数。析构顺序与之相反。本题中,Whole类中有两个Part类的成员p1和p2,根据它们定义的顺序,先构造p1再构造p2。所以,首先被构造的是p1(y),输出2;第二个被构造的是p2(x),输出1;最后调用析构函数,输出val的值3;析构函数调用顺序与构造函数相反。故最后输出213312。

  • 第17题:

    已有定义:int x=3,y=4,z=5,则表达式!(x+y)+z-1&&y+x/2的值是

    A.6

    B.0

    C.2

    D.1


    正确答案:D
    解析:本题中,&&左边的表达式!(x+y)为!(3+7),结果为假,即为0。再加上z,然后减1,相当于0+5-1。左边等于4,&&右边的表达式y+z/2相当于4+5/2为6,所以整个表达式相当于4&&6为真,即为1。

  • 第18题:

    以下程序输出结果是 ______。includevoid fun(int x,int y,int z){z=x+y;}void main

    以下程序输出结果是 ______。 #include<iostream.h> void fun(int x,int y,int z){z=x+y;} void main() { int a=10; fun (2,2,a); cout<<a; }

    A.0

    B.4

    C.10

    D.无定值


    正确答案:C

  • 第19题:

    以下程序执行后的输出结果是include using namespace std;void try(int,int,int,int)

    以下程序执行后的输出结果是 #include <iostream> using namespace std; void try(int,int,int,int); int main () { int x,y,z,r; x =1 ; y = 2; try(x,y,z,r); cout<<r<<endl; return 0; } void try(int x,int y,int z,int r) { z = x+y; x = x*x; y = y*y; r = z+x+y; }

    A.18

    B.9

    C.10

    D.不确定


    正确答案:D
    解析:本题考核函数调用(参数的传递)。本题常见的错误解答是:把x=1,y=2代入到函数try中,逐步计算出r=8。最后得到r的输出值是8。以下是正确解答,根据程序逐步分析:程序中定义了一个名为try的void型函数,即函数try没有任何返回值。而try函数在main函数中是以一条独立语句的方式被调用的,且main函数最后输出变量r的值。但在main函数中,并没有对变量r赋值。在c++语言中,数据只能从实参单向传递给形参,称为按值传递。也就是说,当简单变量作为实参时,用户不能在函数中改变对应实参的值。所以虽然在函数try中,r的值为8,但它并不能传递给实参,当然最终的输出肯定是不确定的随机数了。

  • 第20题:

    以下程序执行后的输出结果是includeusing namcspace std;void try(int,int,int,int);

    以下程序执行后的输出结果是 #include<iostream> using namcspace std; void try(int,int,int,int); int main() { int x,y,z,r; x=1; y=2; try(x,y,z,r); cout<<r<<end1; return 0; } void try(int x,int y, int z,int r) { z = x+y; x = x*x; y = y*y; r = z+x+y; }

    A.18

    B.9

    C.10

    D.不确定


    正确答案:D
    解析:本题考核函数调用(参数的传递)。本题常见的错误解答是:把x=1,y=2代入到函数try中,逐步计算出r=8。最后得到r的输出值是8。以下是正确解答,根据程序逐步分析:程序中定义了一个名为try的void型函数,即函数try没有任何返回值。而try函数在main函数中是以一条独立语句的方式被调用的,且main函数最后输出变量r的值。但在main函数中,并没有对变量r赋值。在C++语言中,数据只能从实参单向传递给形参,称为按值传递。也就是说,当简单变量作为实参时,用户不能在函数中改变对应实参的值。所以虽然在函数try中,r的值为8,但它并不能传递给实参,当然最终的输出肯定是不确定的随机数了。

  • 第21题:

    已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 && y+z/2的值是

    A.6

    B.0

    C.2

    D.1


    正确答案:D
    解析:本题考查的知识点是!和&&的运算规则.本题中,&&左边的表达式!(x+y)为!(3+7),结果为假,即为0。再加上2,然后减一,相当于0+5-1=4。左边等于4,&&右边的表达式y+z/2相当于4+5/2为6,所以整个表达式相当于4&&6为真,即为1,所以选项D正确。

  • 第22题:

    下列带缺省值参数的函数说明中,正确的说明是 ______。

    A.int Fun(int x, int y=2,int z=3);

    B.int Fun(int x=1,int y,int z=3);

    C.int Fun(int x, int y=2,iht z);

    D.int Fun(int x=1,int y, int z=3);


    正确答案:A

  • 第23题:

    下列赋值语句正确的是哪一项?() 

    • A、 long val=6;
    • B、 int age = 23L;
    • C、 short x=1,y=2,z     z=x+y;
    • D、 int a= ‘A’;

    正确答案:D

  • 第24题:

    单选题
    下面结构体的定义语句中,错误的是(  )。
    A

    struct ord{int x;int y;int z;};struct ord a;

    B

    struct ord{int x;int y;int z;}struct ord a;

    C

    struct ord{int x;int y;int z;}a;

    D

    struct {int x;int y;int z;}a;


    正确答案: B
    解析:
    C语言中结构体变量的定义有三种方法:①定义结构体类型的同时定义结构体变量,如C项;②使用无名结构体类型定义结构体变量,如D项;③先定义结构体类型,后定义结构体变量,如A项,B项错在分别定义结构体类型与结构体变量时需要用“;”隔开。故答案选择B选项。