执行下列程序段后,变量a,b,c的值分别为() int a,b,c,x=10,y=9; a=(--x==y++)?--x:++y; b=x++; c=y;A.a=9,b=9,c=9B.a=8,b=8,c=10C.a=9,b=10,c=9D.a=1,b=11,c=10

题目

执行下列程序段后,变量a,b,c的值分别为() int a,b,c,x=10,y=9; a=(--x==y++)?--x:++y; b=x++; c=y;

A.a=9,b=9,c=9

B.a=8,b=8,c=10

C.a=9,b=10,c=9

D.a=1,b=11,c=10


相似考题
更多“执行下列程序段后,变量a,b,c的值分别为() int a,b,c,x=10,y=9; a=(--x==y++)?--x:++y; b=x++; c=y;”相关问题
  • 第1题:

    下列程序段执行以后,内存变量y的值是( )。 CLEAR x=12345 y=0 DO WHILE x>O y=y+x%10 x=int(x/10) ENDDO ?y

    A.54321

    B.12345

    C.51

    D.15


    正确答案:D
    解析:程序的功能是从后往前依次读取各位上的数值,并对它们求和,所以最终的结果为15。

  • 第2题:

    有如下程序:includevoid main(){int x=2,y=3,a,b,c,d;a=(x++>=--y);b=(x==++y);c=(x

    有如下程序:

    include<iostream.h>

    void main()

    {

    int x=2,y=3,a,b,c,d;

    a=(x++>=--y);

    b=(x==++y);

    c=(x--!=y);

    d=(++x>y--);

    Cout<<a<<b<<c<<d<<end1;

    }

    则程序执行后变量a,b,c,d的值分别是【 】。


    正确答案:1 1 0 0
    1 1 0 0

  • 第3题:

    执行下列程序段后, int x=10,y=9;int a,b,c;a=(--x= =y++)?--x:++y;b=x++;c=y; 变量a,b,c的值分别是( )

    A.a=9,b=9,c=9

    B.a=8,b=8,c=10

    C.a=9,b=10,c=9

    D.a=8,b=8,c=9


    正确答案:B 

  • 第4题:

    执行以下程序段后,a,b,c的值分别是()。inta,b=100,c,x=10,y=9;a=(--x==y++)?—x:++y;if(x9)b=x++;c=y;

    A.9,9,9

    B.8,8,10

    C.9,10,9

    D.1,11,10


    正确答案:B

  • 第5题:

    执行下列程序段以后,内存变量y的值是( )。x=76543y=0DO WHILE x>0 y=x%10+y*10 x=int(x/10)ENDDO

    A.3456

    B.34567

    C.7654

    D.76543


    正确答案:B
    解析:程序执行情况如下表所示:

    最终变量y的结果为34567。

  • 第6题:

    下列语句序列执行后,k的值是______。 int x=10,y=30; do{ y-=x; X++; }while(x++<y--);

    A.0次

    B.1次

    C.2次

    D.3次


    正确答案:C
    解析:题目中的循环为“直到型”循环,至少做1次,选项A可以被排除;程序首先执行循环体,得到x=11,y=20,然后计算终止条件值为true,而x和y的值分别改变为12和19:接着进行第二次循环,执行循环体,得到x=13,y=7,然后计算终止条件值为false,退出循环,因此执行了2次循环,答案为选项C。

  • 第7题:

    函数定义如下: void fun(int x,int& y){x++;y++;} 如果执行代码段: int a=0,b=1; fun(a,b); 则变量a和b的值分别是( )。

    A.0和1

    B.0和2

    C. 1和1

    D.1和2


    正确答案:B
    解析:本题中定义了一个fun函数,当调用fun(a,b);函数时,形参x和y被初始化为实参a和b的引用,参数x为非引用类型,参数y为引用类型,在执行该函数时,对形参x的改变不会影响到实参,形参y的改变将会影响到实参,因此调用fun函数后,形参变量x=1,y=2,实参变量a=0,b=2。

  • 第8题:

    下列程序段执行以后,内存变量Y的值是( )。 CLEAR x=12345 y=O DO WHILE x>0 y=y+x%10 x=int(x/l0) ENDDo ?Y

    A.54321

    B.12345

    C.51

    D.15


    正确答案:D
    D。【解析】程序的功能是从个位起依次读取各位上的数并求和,最终的结果为l5。

  • 第9题:

    若有定义 int x=3,y;则执行语句y=(x++)+(x++)+(x++)后,y=( )。

    A、9

    B、12

    C、15

    D、18


    答案:B

  • 第10题:

    设有定义“int x=8,y,z;”,则执行“y=z=x++,x=y==z;”后,变量x值是( )

    A.0

    B.1

    C.8

    D.9


    正确答案:B
    这是逗号表达式组成的语句,要先计算“y=z=x++”,结果变量y和z的值均为8。注意++是后缀运算符,同时x等于9。再计算“x=y==z”,由于“==”优先于“=”,所以x的值等于“y==z”,而y和z值相等,所以运算结果为1,即x值为1。本题答案应选B。

  • 第11题:

    ( 17 )下列程序段执行以后,内存变量 y 的值是

    x =76543

    y=0

    DO WHILE x>0

    y=x%10+y*10

    x=int(x/10)

    ENDDO

    A ) 3456

    B ) 34567

    C ) 7654

    D ) 76543


    正确答案:B

  • 第12题:

    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

  • 第13题:

    有如下程序:

    void main()

    {

    int x=2,y=3,a,b,c,d;

    a=(x++>=--y);

    b=(x==++y);

    c=(x--!=y);

    d=(++x>y--);

    }

    则程序执行后变量a,b,c,d的值分别是______。


    正确答案:1 1 0 0
    1 1 0 0

  • 第14题:

    有如下程序:

    void main()

    {

    in(x=2,y=3,a,b,C,d;

    a=(x++>=--y);

    b=(x==++y);

    c=(x--!=y);

    d=(++x>y--);

    }

    则程序执行后变量a,b,c,d的值分别是______。


    正确答案:1 1 0 0
    1 1 0 0

  • 第15题:

    下列程序的运行结果是_______。

    main()

    { int x=1,y=2,z=3;

    printf("%d,",x<y?y:x);

    primf("%d,",z<y?x++:y++);

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

    }


    正确答案:2213
    2,2,1,3 解析:本题考查++,--运算符和条件运算符的使用。
    “表达式1?表达式2:表达式3”的功能是:表达式 1的值若非0,则计算表达式2的值,且表达式2的值为最终结果;若表达式1的值为0,则计算表达式3的值,且为最终结果。
    本题中,x=1,y=2时,xy成立,输出y的值2;y=2, z=3时,zy不成立,执行y++,输出2后y值增1,所以最后一个输出x的值不变为1,y的值为增加后的3。

  • 第16题:

    执行下列程序后,变量a,b,C的值分别是( )。 int x=5,y=4; int a,b,c; a=(--x==y++)?X:++y; b=++x: c=y:

    A. a=5,b=5,c=5

    B.a=4,b=5,c=5

    C.a=5,b=6,c=5

    D.a=1,b=5,c=6


    正确答案:B
    本题考查自加(++)、自减(--)运算符的使用。“++x,--x”,在变量x前使用,先使X的值加1或者减1,再使用此时的表达式的值参与运算;“x++,x--”,先把使用X的值参与运算,在使用X之后,再使x的值加1或者减1。对于表达式--x=4,y++=4,两者相等,--x=y++为真,所以a=x=4,执行完此语句后y的值是5。第2个表达式b=++x,x的值先加1,然后赋给b,即b=x+1=5;第一个表达式c=y=5。故B正确。

  • 第17题:

    下列程序段执行后,内存变量y的值是( )。 x=76543 y=0 DO WHILE x>0 y=x%10+Y*10 X=int(x/10) ENDDO

    A.3456

    B.34567

    C.7654

    D.76543


    正确答案:B
    解析:此题考查考生对赋值语句、函数运算及循环语句的理解。在程序中的y=x%10+y*10语句表示将y值乘10后加上x值与10相除的余数后,再赋值给y,在第一次循环x=76543时,y值等于0+3,为3,下一语句中,将x除以10后取整,此时x值为7654;则第二次循环,y值等于30+4,为34,而在循环结束时,x=765;以此类推,则最终的y值为34567,所以,选项B为正确答案。

  • 第18题:

    设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。

  • 第19题:

    下列程序段执行以后,内存变量y的值是( )。 x=34567 y=0 DO WHILE x>0 y=x%10+y*10 x=int(x/10) ENDDO

    A.3456

    B.34567

    C.7654

    D.76543


    正确答案:D
    D。【解析】INT<数值表达式>的功能是返回数值表达式的整数部分。DOWHILE<表达式条件>ENDDO,当<表达式条件>为真时执行循环体,当遇到ENDD0则自动返回到DOWHILE语句继续判断循环条件是否成立,以决定是否继续循环。当<表达式条件>为假时结束循环,执行ENDDO后面的语句。

  • 第20题:

    设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

  • 第21题:

    若有如下程序: main() { int k,x=0,y=0; for(k=0;k<=2;k++) switch(k) { case 0: X++; case 1: y++; case 2: X++;y++; } printf("%d,"d\n",x,y); } 则程序运行后的输出结果是( )。

    A.3,3

    B.2,2

    C.4,5

    D.2,3


    正确答案:C
    解析:本题使用了一个for循环,循环变量k从0递增到2共循环3次,循环体是一个switch语句,第一次循环k为0,所以从case0:处开始执行,变量x和y都自增两次。然后分别从case1:和case2:处执行,变量x共自增两次,y共自增3次,所以最后输出的结果是4,5。故应该选择C。

  • 第22题:

    执行下列程序段后,变量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。

  • 第23题:

    执行以下程序后,y的值是() main( ) { int a[]={2,4,6,8,10}; int y=1,x,*p; p=&a[1]; for(x=0;x<3;x++) y + = * (p + x); printf(""%d/n"",y); }

    • A、17
    • B、18
    • C、19
    • D、20

    正确答案:C

  • 第24题:

    单选题
    执行以下程序后,y的值是() main( ) { int a[]={2,4,6,8,10}; int y=1,x,*p; p=&a[1]; for(x=0;x<3;x++) y + = * (p + x); printf(""%d/n"",y); }
    A

    17

    B

    18

    C

    19

    D

    20


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