更多“根据变量定义“static int x[5],y[2][3]={9,6,3,1,4,7};”,x[4]=【 】,y[1][2]=【 】。”相关问题
  • 第1题:

    执行下列代码段之后,变量z的值为______。 Public class Test8 { public static void main(String[] args) { int x=2; int y=3; int z=4; z-....= y-x--; System.out.println(z); }

    A.1

    B.2

    C.3

    D.4


    正确答案:D
    解析:表达式中的运算次序应该是先对y做减量运算,得到y=2,然后再取x的值x=2,做减法运算得到0,最后用z减去0,得到答案为4。

  • 第2题:

    已有定义: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。

  • 第3题:

    下列程序的运行结果是()。includevoid sub(int*s,int*y){static int m=4;*y=s[0];m++;}

    下列程序的运行结果是( )。 #include<stdio.h> void sub(int*s,int*y) {static int m=4; *y=s[0]; m++; } void main() {int a[]={1,2,3,4,5},k; int x; printf("\n"); for(k=0;k<=4;k++) {sub(a,&x); printf("%d,",x); } }

    A.1,1,1,1,1,

    B.1,2,3,4,5,

    C.0,0,0,0,0,

    D.4,4,4,4,4,


    正确答案:A
    解析:本题中sub(int*s,int*y)函数的参数是两个指针型变量,在函数体内将数组s的第一个元素赋给y。主程序内,首先定义了一维数组并赋初值,然后通过for循环,5次调用sub(a,&x)函数,每一次调用都是将数组a的第一个元素1赋给x,并输出。

  • 第4题:

    下列程序的运行结果是()。includevoid sub(int*s,int*y){static int m=4:*y=s[m];m--;}

    下列程序的运行结果是( )。 #include<stdio.h> void sub(int*s,int*y) {static int m=4: *y=s[m]; m--; } void main() {int a[]={1,2,3,4,5},k,x; printf("\n"); for(k=0;k<=4;k++) {sub(a,&x); printf("%d,",x); } }

    A.5,4,3,2,1,

    B.1,2,3,4,5,

    C.0,0,0,0,0,

    D.4,4,4,4,4,


    正确答案:A
    解析:本题考查的是静态变量以及函数的实参与形参之间的地址值传递。sub()函数数中定义的变量m是一个静态变量,系统可为其分配固定的存储空间,重复使用时,变量的值保留;所以当mam()函数中的for循环中语句sub(a,&x);执行时,sub函数中m的值依次是4,3,2,1,0;因为变量x进行的是地址值传递,所以最后依次输出的是数组a的元素a[4]、a[3]、a[2]、a[1]、a[0]。

  • 第5题:

    设x和y均为int型变量,则执行下面的循环后,y值为()。include void main(){int x, y;f

    设x和y均为int型变量,则执行下面的循环后,y值为( )。#include <iostream.h>void main(){int x, y;for(y= 1,x= 1 ;y<=50;y++){ if(x>=10) }break;if (x%2==1){ x+=5; continue;} x-=3;} cout<<y;

    A.2

    B.4

    C.6

    D.8


    正确答案:C

  • 第6题:

    执行下列程序段后,变量y的值为( ) int x[]={1,2,3,4},y,*p=&x[1]; y=(*--P)++;

    A.1

    B.2

    C.3

    D.4


    正确答案:A
    从数据定义语句中可以得出下列结论:指针变量P指向的数组元素是x[1]。再来分析赋值句的右边表达式“(*--p)++”,其中的“--”优先于“*”先计算“--p”,使得p指向数组元素x[0];所以“(*--p)”就是数组元素a[0],再计算其后的“++”,由于“++”是后缀,所以表达式的值就是数组元素x[0]的值,为1,然后再对数组元素x[0]加1。因此变量y的值是1。本题答案应选A。

  • 第7题:

    下列程序段的输出结果是 ______。 void fun(int * x,int * y) {pnntf("%d%d",* x,* y);* x=3;*y=4;} main() { int x=1,y=2; fun(&y,&x); printf ("%d%d",x,y); }

    A.2 1 4 3

    B.1 2 1 2

    C.1 2 3 4

    D.2 1 1 2


    正确答案:A
    解析:本题中函数传递的是变量的地址,如果形参在函数中发生改变,相刘应的实参也就有了改变。

  • 第8题:

    假设变量定义int x=1,y=2,z=3;则表达式y+=z--/++x的值是()。

    • A、3
    • B、3.5
    • C、4
    • D、5

    正确答案:A

  • 第9题:

    下列变量定义正确的是()

    • A、int   x_1 ; y;
    • B、int  printf=2,x_y=2;
    • C、int  for=4;
    • D、int  x,y=5 ;

    正确答案:D

  • 第10题:

    class TestMain {   static int x = 2;   static { x = 4; }   static public void main(String[] args) {   int y = x + 1;   System.out.println(y);  }  }   和命令行:   java TestMain   结果为:()

    • A、 3
    • B、 5
    • C、 编译失败
    • D、 运行时异常被抛出

    正确答案:B

  • 第11题:

    单选题
    若有定义 class A{int x,y; static float f(int a){…} float g(int x1,int x2){…}} 及A a1=new A( );则下列用法中非法的是( )。
    A

    g(3,2)

    B

    f(3)

    C

    a1.f(4)

    D

    a1.g(2,5)


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

  • 第12题:

    单选题
    假设变量定义int x=1,y=2,z=3;则表达式y+=z--/++x的值是()。
    A

    3

    B

    3.5

    C

    4

    D

    5


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

  • 第13题:

    设x和y均为int型变量,则执行下面的循环后,y值为( )。 public class Sun { public static void main(String args[ ]) { int x, y; for (y=1, x=1; y<=50; y++) { if(x>=10) break; if (x%2==1) { x+=5; continue; } x-=3; } System.out.println (y); } }

    A.2

    B.4

    C.6

    D.8


    正确答案:C
    解析:该题考查for循环和if条件语句的嵌套应用。当y=1,x=1时,不满足第1个if语句向下继续执行第2个if语句,x=6,继续执行for循环:当y=2,x=6时,不满足第1个和第2个if语句,x=3,继续执行for循环;当y=3,x=3时,不满足第1个if语句向下继续执行第2个if语句,x=8,继续执行for循环;一直执行下去,直到y=6,x=12是满足第1个 if语句退出for循环。故本题答案是C。

  • 第14题:

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

    A.6

    B.0

    C.2

    D.1


    正确答案:D

  • 第15题:

    下列程序的输出结果是( )。

    void fun(int*X,int y)

    { printf("%d%d",*x,*y);*x=3;*y=1;}

    main

    { int x=1,y=2;

    fun(&y,&x);

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

    }

    A.2 1 4 3

    B.1 2 1 2

    C.1 2 3 4

    D.2 1 1 2


    正确答案:C
    当执行fun函数时,因为参数传递时是地址传递,因此形参值的改变会影响实参中的数,在执行fun函数时先输出12,接着把*X赋3,*y赋4,此时带回主函数中,输出的值为34。

  • 第16题:

    下面程序段的输出结果是______。 public class Test{ public static void main(String args[ ]){ int x,y; x=(int)Math.sqrt(5/2)+(int)Math.random( )*5/2; y=(int)Math.sqrt(3/2)+(int)Math.random( )*3/2; if(x>y) System.out.println("x>y"); else if(x==y) System.out.println("x=y"); else System.out.println("x<y"); } }

    A.x>y

    B.x=y

    C.x<y

    D.编译错误


    正确答案:A
    解析: 本程序中两个赋值语句右边的表达式分别求两个标准函数的值,再进行整除,判断 x和y的大小。Math.sqrt( )方法计算一个数的平方根,Math.random( )方法输出[1,0]之间的随机数,本题中经过两条赋值语句,x=1,y=0。进入分支结构后,满足if条件执行相应的System.out.println("x>y")操作。所以输出结果应该是选项A。

  • 第17题:

    设x和y为int型变量,则执行下面的循环后,y的值为( ) for(y=l, x=l; y<=50; x="">=10) break; if(x%2==1){ x+=5; continue;} X -= 3; }

    A.2

    B.4

    C.6

    D.8


    正确答案:C
    for循环语句的初始化部分置变量x和y的初值为1,循环条件是(y<=50),每次循环后变量y的值增1,控制循环最多执行50次。循环体有三个语句:首先在发现变量X的值大于等于10时,结束循环;接着是当变量X除2的余数为1(即变量X是奇数)时,让变量X值增5,让X变成偶数,并直接进入下一轮循环;如变量X是偶数,则从变量X减去3,让变量X变成奇数。由上述分析知,每两次循环使变量X的值增加2.第一次循环后,变量X的值变成6。第二次循环后,变量X的值变成3。第三次循环后,变量X的位变成8。第四次循环后,变量X的值变成5。第五次循环后,变量X的值变成10。第六次循环时,因变量X的位大于等于10,直接跳出循环,这次循环是非正常结束,对变量y的修正只执行了5次。所以循环结束后,变量y的值增至6。正确的解答是C。

  • 第18题:

    若有定义语句:int x=3,y=2,z=1;,表达式:2*=(x>y?++x:y+)的值是

    A.4

    B.0

    C.1

    D.3


    正确答案:A
    解析:本题考查了条件表达式和自加运算。首先判断x>y这个关系表达式的值,通过计算知其值为真,所以关系表达式的值为++x(为4),最后执行z*=4,z的值为4。

  • 第19题:

    仔细阅读下面程序,请给出运行结果( )。#include#includeint f1(int x){return x*x;}int f2(int x){return x*x*x;}main( ){int x=3,y1,y2,y3,y4;int(*f)( );f=f1;y1=(*f)(x);y2=f1(x);f=f2;y3=f(x);y4=f2(x);printf(“y1=%d,y2=%d,y3=%d,y4=%d\n”,y1,y2,y3,y4);}

    A.y1=9,y2=9,y3=27,y4=27
    B.y1=3,y2=9,y3=27,y4=9
    C.y1=3,y2=3,y3=9,y4=9
    D.y1=3,y2=9,y3=9,y4=27

    答案:A
    解析:
    题中y2和y4是直接函数调用,毫无疑问是9和27,关键在于f=f1是将函数指针f指向了函数f1,因此y1=(*f)(x)本质是调用了函数f1,其结果与直接调用y2=f1(x)相同,y3同理。

  • 第20题:

    若有定义 class A{int x,y; static float f(int a){…} float g(int x1,int x2){…}} 及A a1=new A( );则下列用法中非法的是( )。

    • A、g(3,2)
    • B、f(3)
    • C、a1.f(4)
    • D、a1.g(2,5)

    正确答案:C

  • 第21题:

    设x和y均为int型变量,则执行下的循环后,y值为()for(y=1,x=1;y<=50;y) {if(x==10))break; if(x%2==1) {x=5;continue;} x-=3; }

    • A、2
    • B、4
    • C、6
    • D、8

    正确答案: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
    解析: 暂无解析