itgle.com

以下( )表达式是不合法的。A.String x="Sky";int y=5;x + =y:B.String x="Sky":int y=5:if(x==y){}C.String x="Sky":int y=5:x=x+y:D.String x=null:int y=(x!=null) && (x.length( )>0)?x.length:0

题目

以下( )表达式是不合法的。

A.String x="Sky";int y=5;x + =y:

B.String x="Sky":int y=5:if(x==y){}

C.String x="Sky":int y=5:x=x+y:

D.String x=null:int y=(x!=null) && (x.length( )>0)?x.length:0


相似考题
更多“以下()表达式是不合法的。A.String x="Sky";int y=5;x + =y:B.String x="Sky":int y=5:if(x==y){} ”相关问题
  • 第1题:

    有以下程序

    void f( int y, int *x)

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

    main()

    { int x=2,y=4;

    f(y,&x);

    printf("%d %d\n",x,y);

    }

    执行后输出结果是______。


    正确答案:8 4
    8 4 解析:本题考核的知识点是函数的调用、值传递和地址传递的区别。“值传递”指实参将值传递给形参后,实参与形参再无联系。也就是说对行参的改变将不影响实参;地址传递是指地址或数组名作为形参时的参数传递,这种情况下对形参的改变将对实参产生影响.函数 f(Y*x)的作用是让y的值加上指针x所指向变量的值,让指针x所指向变量的值加上y的值。由于形参y是传值的,形参x是传地址的,故调用该函数后,作为实参的y的值将不改变,而实参x的值将改变,故最后输出的y的值为4,而x的值为8。

  • 第2题:

    下列函数定义中,会出现编译错误的是 ______。

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

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

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

    D.int max(int x,int y) { return(x>y?x:y);}


    正确答案:B
    解析:本题考查函数的定义。选项B中函数形参y没有说明数据类型。

  • 第3题:

    下列函数定义中,会出现编译错误的是

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

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

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

    D.int max(int x,int y) { return(x>y?x:y); }


    正确答案:B
    解析:定义函数时,若需要声明形式参数时,则每个形式参数都必须单独声明类型。

  • 第4题:

    主调函数中的两个变量a和b,要求调用函数交换a、b的值,返回交换结果,则以下正确的函数是______。

    A.funa(int*x,int*y) {int*p; *p=*x;*x=*y;*y=*p; }

    B.funb(int x,int y) {int t; t=x;x:y=y=t;}

    C.func(int*x,int*y) {*x=*y;*y=*x;}

    D.fund(int *x,int*y) {*x=*x+*y;*y=*x-*y;*x=*x-*y;}


    正确答案:D
    解析:选项A中指针变量p没有明确的指向,选项B是值传递方式,显然不能改变实参中的值,选项C不能完成交换,实参中的值都变成一样的,只有选项D是正确的。

  • 第5题:

    下列程序的输出结果是______。 int t(int x,int y,int cp,int dp) { cp=x*X+y*y; dp=x*x-y*y; } main() { int a=4,b=3,c=5,d=6: t(a,b,c,d); printf("%d%d\n" ,c,d);

    A.4 5

    B.4 6

    C.5 6

    D.5 5


    正确答案:C

  • 第6题:

    有以下程序:includeint fun(int x,int y){if(x!=y)return(y);else return((x+y)/2);}ma

    有以下程序: #include<stdioh> int fun(int x,int y) {if(x!=y)return(y); else return((x+y)/2); } main() {int a=4,b=5,c=6; printf("%d\n",fun(2*a,fun(b,C))); } 程序运行后的输出结果是( )。

    A.3

    B.6

    C.8

    D.12


    正确答案:B

  • 第7题:

    有以下定义:int a;long b;double x,y;则以下选项中正确的表达式是( )。

    A.a%(int)(x-y)

    B.a=x!=y;

    C.(a*y)%b

    D.y=x+y=x


    正确答案:B
    选项中如果x与Y的值相等那么取余时就会有除数为0的情况。C)选项中取余的两个数据都应为整数,不能有一方为实型变量,而a*y的结果为double型。D)选项表达式本身就错误,不能给表达式赋值。所以,本题答案为B)。

  • 第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题:

    以下( )表达式是不合法的。

    A.string x="hello";int y=9;x+=y;

    B.string x="hello";int y=9;if(x=y){}

    C.string x="hello";int y=9;x=x+y;

    D.string x=null;inty=(x!=null)&&(x.length()>0)?x.length():0;


    正确答案:B

  • 第10题:

    以下不合法的赋值语句是()

    • A、x=(1,y=2);
    • B、++x;
    • C、x=y=15;
    • D、y=int(x);

    正确答案:D

  • 第11题:

    单选题
    有以下定义int a;long b;double x,y;则以下选项中正确的表达式是(  )。
    A

    a%(int)(x-y)

    B

    a==x!=y

    C

    (a*y)%b

    D

    y=x+y=a


    正确答案: D
    解析:
    %运算是取两整数相除后余数的运算符,它只适用于整数的运算。A项正确,x-y结果为double型,但是通过强制类型转换将其转换为int型;B项错误,a==x!=y中==和!=是同一个优先级的,先运行a==x,而因为double是占8位的,不能自动转换,必须要强制类型转换,a==(double)x!=y才是正确的;C项错误,(a*y)%b中的(a*y)为double型;D项错误,x+y不能作为左值。答案选择A选项。

  • 第12题:

    单选题
    有以下定义int a;long b;double x,y;则以下选项中正确的表达式是(  )。
    A

    (a*y)%b

    B

    a==x<>y

    C

    a%(int)(x-y)

    D

    y=x+y=x


    正确答案: B
    解析:
    %运算是取两整数相除后余数的运算符,它只适用于整数的运算。A项错误,(a*y)%b中的(a*y)为double型;B项错误,C语言中没有<>运算符;C项正确,x-y结果为double型,但是通过强制类型转换将其转换为int型; D项错误,x+y不能作为左值。答案选择C选项。

  • 第13题:

    以下程序运行后的输出结果是【】。 include void fun(int x,int y) {x=x+y;y=x-y

    以下程序运行后的输出结果是【 】。

    include<iostream.h>

    void fun(int x,int y)

    { x=x+y;y=x-y;x=x-y;

    cout<< x << "," <<y << " ,";}

    void main( )

    { int x=2,y=3;fun(x,y);

    cout<< x << "," << y << endl;}


    正确答案:3223
    3,2,2,3 解析:main函数和fun函数中的变量x和y都是局部变量,它们各自独立,在本题 fun函数中:接入实参的值传递:x=2,y=3,执行:x=x+y后,x=5,y=3,执行:x=x-y后,x=5,y=3,执行:y=x-y后,x=3,y=2。所以,第一次执行cout显示结果是3和2返回到main函数中,输出main函数中的x和y的值2,3。

  • 第14题:

    以下程序的执行结果是______。 include void main() { int x=5 y=2; cout<

    以下程序的执行结果是______。

    include<iostream.h>

    void main()

    {

    int x=5 y=2;

    cout<<! (y==x/2)<<",";

    cout<<(y!=x%3)<<",";

    cout<<(x>0 && y<0=<<",";

    cout<<(x!=y||x>=y)<<endl;

    }


    正确答案:0001
    0,0,0,1

  • 第15题:

    下列程序的运行结果为 include class Location { protected: int X,Y;

    下列程序的运行结果为 #include<iostream.h> class Location { protected: int X,Y; publiC: void SeX(int myx){X=myx;} void SetY(int myy){Y=myy;} void showxy( ) {cout<<"X=" <<X<<" " <<"Y"=<< Y<< endl;} }; Class Rectangle :public Location{

    A.X=3 Y=5 X=3 Y=5 H=4 W=6

    B.X=3 Y=5 X=3 Y=5 H=3 W=6

    C.X=3 Y=5 X=3 Y=4 H=4 W=6

    D.X=3 Y=5 X=3 Y=3 H=4 W=6


    正确答案:A
    解析:本题是一道简单的成员函数应用题,考生只要按着主函数中生成的类Rectangle的对象r1进行成员函数的调用即可得到答案。

  • 第16题:

    主调函数中的两个变量a和b,要求调用函数交换a、b值,返回交换结果,则以下正确的函数是______。

    A.funa(int*x,int*y) { int*p; *p=*x;*x=*y;*y=*p; }

    B.funb (int x,int y) {int t;t=x;x=y;y=t;}

    C.func(int *x,int*y) {*X=*y;*y=*x;}

    D.fund(int *x,int *y) {*x=*x+*y;*y=*x-*y;*x=*x-*y;}


    正确答案:D

  • 第17题:

    有以下程序includeint fun(int x;int y){if(x=y)reurn(x); elsereturn((x+y)/2);}main

    有以下程序 #include<stdio.h> int fun(int x;int y) { if(x=y)reurn(x); else return((x+y)/2); } main() { int a=4,b=5,c=6; printf("%d\n",fun(2*a,fun(b,c))); } 程序运行后的输出结果是______。

    A.3

    B.6

    C.8

    D.12


    正确答案:B
    解析:在主函数中,第—次调用fun函数,将变量b,c的值传给形参x,y,在fun()函数中执行if语句,判断b和c的值是否相等,由于在主函数中赋初值b=5,c=6,所以判断条件不满足,执行else语句,返回表达式(x+y)/2的值,即:(5+6)/2,因为参数的类型都为int型,所以结果也为整型:5,第二次调用时8和5也不相等,所以返回值为6,因此,选项B是正确的。

  • 第18题:

    以下程序运行后的输出结果是void fun(int x,int y){ x=x+y;y=x-y;x=x-y; printf("%d,%d,",x,y);}main(){ int x=2,y=3; fun(x,y); printf("%d,%d\n",x,y);}


    正确答案:3,2,2,3
    被调用函数fun()实现的功能是交换变量x和y的值并打印,由于该函数无返回值,所以在主函数中打印出的x和y的值仍然为2,3。

  • 第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题:

    若x=6 ,y=5 则表达式int max=x>y?x:y 的结果为()

    A.6

    B.5

    C.true

    D.false


    答案:A
    解析:三元表达式语法结构:判断条件? 表达式1 : 表达式2当判断条件成立时,运算结果为表达式1的值,否则结果为表达式2的值



  • 第21题:

    设有如下类:

    class MyPoint {

    void myMethod() {

    int x, y;

    x = 5; y = 3;

    System.out.print( " ( " + x + ", " + y + " ) " );

    switchCoords( x, y );

    System.out.print( " ( " + x + ", " + y + " ) " );

    }

    void switchCoords( int x, int y ) {

    int temp;

    temp = x;

    x = y;

    y = temp;

    System.out.print( " ( " + x + ", " + y + " ) " );

    }

    }

    如果执行myMethod()方法,则输出结果为?

    A. (5, 3、(5, 3、(5, 3、

    B. (5, 3、(3, 5、(3, 5、

    C. (5, 3、(3, 5、(5, 3、


    正确答案:C

  • 第22题:

    Which two code fragments are most likely to cause a StackOverflowError?()

    • A、int []x = {1,2,3,4,5};for(int y = 0; y < 6; y++)    System.out.println(x[y]);
    • B、static int[] x = {7,6,5,4};static { x[1] = 8;x[4] = 3; }
    • C、for(int y = 10; y < 10; y++)doStuff(y);
    • D、void doOne(int x) { doTwo(x); }void doTwo(int y) { doThree(y); }void doThree(int z) { doTwo(z); }
    • E、for(int x = 0; x < 1000000000; x++) doStuff(x);
    • F、void counter(int i) { counter(++i); }

    正确答案:D,F

  • 第23题:

    多选题
    Which two code fragments are most likely to cause a StackOverflowError?()
    A

    int []x = {1,2,3,4,5};for(int y = 0; y < 6; y++)    System.out.println(x[y]);

    B

    static int[] x = {7,6,5,4};static { x[1] = 8;x[4] = 3; }

    C

    for(int y = 10; y < 10; y++)doStuff(y);

    D

    void doOne(int x) { doTwo(x); }void doTwo(int y) { doThree(y); }void doThree(int z) { doTwo(z); }

    E

    for(int x = 0; x < 1000000000; x++) doStuff(x);

    F

    void counter(int i) { counter(++i); }


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