【单选题】以下C程序正确的运行结果是 main() {long y=23456; printf("y=%3lxn",y); printf("y=%8lxn",y); printf("y=%#8lxn",y); }A.y=5ba0 y=□□□□5ba0 y=□□0x5ba0B.y=□□□5ba0 y=□□□□□□□□5ba0 y=□□0x5ba0C.y=5ba0 y=5ba0 y=0x5ba0D.y=5ba0 y=□□□□5ba0 y=####5ba0

题目

【单选题】以下C程序正确的运行结果是 main() {long y=23456; printf("y=%3lxn",y); printf("y=%8lxn",y); printf("y=%#8lxn",y); }

A.y=5ba0 y=□□□□5ba0 y=□□0x5ba0

B.y=□□□5ba0 y=□□□□□□□□5ba0 y=□□0x5ba0

C.y=5ba0 y=5ba0 y=0x5ba0

D.y=5ba0 y=□□□□5ba0 y=####5ba0


相似考题
参考答案和解析
3
更多“【单选题】以下C程序正确的运行结果是 main() {long y=23456; printf("y=%3lxn",y); printf("y=%8lxn",y); printf("y=%#8lxn",y); }”相关问题
  • 第1题:

    有以下程序include<stdio.h>main{int y=9;for(;y>0;y--)if(y%3==0)printf("%d&quo

    有以下程序

    include<stdio.h>

    main

    {int y=9;

    for(;y>0;y--)

    if(y%3==0)printf("%d",--y);

    }

    程序的运行结果是( )。

    A.741

    B.963

    C.852

    D.875421


    正确答案:C

    在for循环中,当y的值为9、6或3时,执行输出语句,输出表达式--Y的值。Y先自减l,然后再输出y的值。

  • 第2题:

    main(){ long y=-43456;printf ("y=%-8ld\n",y);printf ("y=%-08ld\n",y);printf ("y=%08ld\n",y);printf ("y=%+8ld\n",y);}以上C程序正确的运行结果是( )(u代表空格)

    A.y=uu-43456(换行)y=-uu43456(换行)y=-0043456(换行)y=-43456

    B.y=-43456(换行)y=-43456(换行)y=-0043456(换行)y=+u-43456

    C.y=-43456(换行)y=-43456(换行)y=-0043456(换行)y=uu-43456

    D.y=uu-43456(换行)y=-0043456(换行)y=00043456(换行)y=+43456


    正确答案:C 

  • 第3题:

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

    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。

  • 第4题:

    下面程序的运行结果是______。includemain(){ int y,a;y=2,a=1;while(y--!=-1){do{a*=y;

    下面程序的运行结果是______。

    include<stdio.h>

    main()

    { int y,a;

    y=2,a=1;

    while(y--!=-1)

    {do{a*=y;a++;}while(y--);}

    printf("%d,%d",a,y);}


    正确答案:

  • 第5题:

    有以下程序:include main(){inty=9;for( ; y>0; y--)if(y%3==0) printf("%d", --y);}

    有以下程序: #include <stdio.h> main() {int y=9; for( ; y>0; y--) if(y%3==0) printf("%d", --y); } 程序的运行结果是( )。

    A.741

    B.963

    C.852

    D.875421


    正确答案:C
    解析:本题首先令y为9,然后通过一个for循环,当y还大于0则循环,每次循环让y递减1。循环体中是一条if语句,通过%运算符计算每当y能被3整除的时候,输出--y的值,即先将y减1,然后输出y的值。故当y等于9、6、3时会输出,输出值分别为8、5、20所以应该选择C。

  • 第6题:

    有以下程序includemain(){int y=9;for(;y>0;y--)if(y%3==0)printf("%d",--y);}程序的

    有以下程序 #include<stdio.h> main() {int y=9; for(;y>0;y--) if(y%3==0)printf("%d",--y); } 程序的运行结粜是( )。

    A.741

    B.963

    C.852

    D.875421


    正确答案:C
    解析:y的初值为9,所以在for循环中,当y的值为9、6或3时,if语句的条件成立,执行输出语句,输出表达式--y的值。因为自减符号在y的前面,所以首先y自减1,然后再输出y的值,故输出结果为8 5 2。

  • 第7题:

    有以下程序 include mare() { int x=1,y=2,z=3; if(x>y) if

    有以下程序 #include <stdio.h> mare() { int x=1,y=2,z=3; if(x>y) if(y<z) printf("%d",++z); else printf("%d",++y); printf("%d\n",x++); } 程序的运行结果是______。

    A.331

    B.41

    C.2

    D.1


    正确答案:D
    解析:本题考查的是if语句的嵌套。C语言规定else总是与它上面的最近的且不带else的if配对,所以本题else与if(yz)配对,即为内嵌if。在程序执行时,先判断if(x>y)的条件表达式x>y,即1>2,不成立,所以不执行内嵌if,直接执行“printf("%d",x++);”语句。由于x++表示在使用后再将x加1,所以输出1。

  • 第8题:

    以下程序运行后的输出结果是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。

  • 第9题:

    以下程序运行后的输出结果是______。 main () { int y=18,i=0,j,a[8]; do { a[i]=y%2;i++; y=y/2; } while(y>=1); for(j=i-1;j>=0;j--)printf("%d",a[j]); printf("\n"); }

    A.1000

    B.10010

    C.110

    D.10100


    正确答案:B

  • 第10题:

    有以下程序:includemain(){int a[]={1,2,3,4},y,*p=&a[3];--p;y=*p;printf("y=%d\n",y

    有以下程序: #include<stdio.h> main() { int a[]={1,2,3,4},y,*p=&a[3]; --p;y=*p;printf("y=%d\n",y); } 程序的运行结果是( )。

    A.y=0

    B.y=1

    C.y=2

    D.y=3


    正确答案:D
    解析:本题主要考查一维数组及数组元素的地址。程序中定义数组a后知,a[0]=1,a[1]=2,a[2]=3,a[3]=4;在定义指针p时给其赋值为a[3]的地址。执行--p;语句后,p指向数组元素a[2];然后执行y=*p;语句,y的值为指针p所指向的变量的值为3。

  • 第11题:

    有以下程序:includo main(){int y=10; while(y--)printf("y=%d\n",y);} 程序执行后的

    有以下程序: #includo <stdio.h> main() { int y=10; while(y--)printf("y=%d\n",y); } 程序执行后的输出结果是( )。

    A.y=0

    B.y= -1

    C.y=1

    D.while 构成无限循环


    正确答案:B
    解析:程序首先判断y值是否非0,显然y=10满足条件,y自减1,再次执行while语句,判断y为9的值是否满足条件,满足条件,y自减1,……,直到y为0,条件不成立,结束循环,y自减1后变为-1,所以输出结果为y=-1。

  • 第12题:

    有以下程序      main( )  {int y=10;  while(y--);printf(”y=%d/n”,y);      }  程序执行后的输出结果是()

    • A、y=0
    • B、y=-l
    • C、y=1
    • D、while构成无限循环

    正确答案:B

  • 第13题:

    以下程序段的运行结果是( )。 include main() {int x=2,y=1: switch(x) {case 1: switch

    以下程序段的运行结果是( )。 include<stdio.h> main() {int x=2,y=1: switch(x) {case 1: switch(y) {case 0:printf("x=2,y=1\n");break; case 1:printf("y=1\n");break; } case 2:printf("x=2\n"); } }


    正确答案:x=2
    x=2

  • 第14题:

    若有以下程序 main() {int y=10; while(y- -); printf(“y=%d\n”y); } 程序运行后的输出结果是()

    A: y=0

    B: y=-1

    C: y=1

    D: while构成无限循环


    正确答案: B

  • 第15题:

    下面程序的运行结果是()。includemain(){int y=10; do{y--;}while(--y); printf("%d\n"

    下面程序的运行结果是( )。 #include<stdio.h> main() { int y=10; do{y--;}while(--y); printf("%d\n",y--); }

    A.-1

    B.1

    C.8

    D.0


    正确答案:D
    解析:本题考查“++”和“--”运算符,运算符“++”是操作数加1,而“--”则是操作数减1。在do-while循环中,首先执行y--,再执行--y。当y=2时,执行y--,y的值变为1,--y使y值变为0,循环结束。执行输出时,先输出y的值0,然后执行y--,使y的值变为-1。

  • 第16题:

    有如下程序main(){float x=2.0,y;if(x<0.0)y=0.0;else if(x>10.0)y=1.0/x;else y=1.0;printf("%f

    有如下程序 main() {float x=2.0,y; if(x<0.0)y=0.0; else if(x>10.0)y=1.0/x; else y=1.0; printf("%f\n",y);} 该程序的输出结果是

    A.0.000000

    B.0.250000

    C.0.500000

    D.1.000000


    正确答案:D

  • 第17题:

    有以下程序 include main() { int y=9; for( ; y>0; y--) if(y%

    有以下程序 #include <stdio.h> main() { int y=9; for( ; y>0; y--) if(y%3==0) printf("%d",--y); } 程序的运行结果是

    A.741

    B.963

    C.852

    D.875421


    正确答案:C
    解析:本题首先令y为9,然后通过一个for循环,当y还大于0则循环,每次循环让y递减1。循环体中是一条if语句,通过%运算符计算每当y能被3整除的时候,输出--y的值,即先将y减1,然后输出y的值。故当y等于9、6、3时会输出,输出值分别为8、5、2。所以应该选择C。

  • 第18题:

    有以下程序: #include<stdio.h> main { int x=4,y; do { y=x; if(!y)printf("x"); else printf("y"): x--; }while(x); } 程序的输出结果是( )。

    A. xyyx

    B.yyyy

    C.yyxx

    D.yxyx


    正确答案:C
    本题考查do-while语句和if…else语句。do-while语句的功能是先执行循环体再判断条件,所以,先判断if语句的条件,y=-4,!y为逻辑0,条件不成立,执行下面的else语句,输出y,然后将x的值减1,x=3,条件不成立,执行下面的else语句,输出Y,然后将X的值减1,x=2,满足while循环条件,继续循环。第三次循环:先判断if语句的条件,y=2,!y为逻辑0,条件不成立,执行下面的else语句,输出y,然后将X的值减1,x=l,满足while循环条件,继续循环。第四次循环:先判断if语句的条件,y=-1,!y为逻辑0,条件不成立,执行下面的else语句,输出Y,然后将x的值减1,x=0,不满足while循环条件,结束循环。所以B正确。

  • 第19题:

    有以下程序 #include<stdio.h> main {int y=9; for(;y>0;y--) if(y%3==0)printf("%d",--y); } 程序的运行结果是( )。

    A.741

    B.963

    C.852

    D.875421


    正确答案:C
    在for循环中,当y的值为9、6或3时,执行输出语句,输出表达式--Y的值。Y先自减l,然后再输出y的值。

  • 第20题:

    有以下程序 main() { int y=10; do {y--;}while(--y); printf("%d\n",y--); } 程序运行后的输出结果是( )

    A.-1

    B.1

    C.8

    D.0


    正确答案:D

  • 第21题:

    以下程序运行后,输出结果是( )。 main() {int y=18,i=0,j,a[8]; do { a[i]’y%2; i++; y=y/2; } while(y>=1); for(j=i-1;j>=0;j--) printf("%d",a[j]); printf("\n"); }

    A.1000

    B.10010

    C.110

    D.10100


    正确答案:B
    解析:do-while循环的功能是对数组a中的元素赋值,值为0、1、0、0、1。for循环的功能是将数组a中元素按下标从大到小的顺序输出,所以选项B符合题意。

  • 第22题:

    有以下程序includemain0{inty=9; for( ;y>0;y--) if(y%3==0)printf("%d",--y);}程序的

    有以下程序 #include <stdio.h> main0 { int y=9; for( ;y>0;y--) if(y%3==0) printf("%d",--y); } 程序的运行结果是

    A.741

    B.963

    C.852

    D.875421


    正确答案:C
    解析:本题考查变量的自加“++”和自减“--”问题。当y的值为9、6或3时,if语句的条件成立,执行输出语句,输出表达式--y的值,y的自减要先于输出语句执行,故输出结果为8 5 2。

  • 第23题:

    若输入60和13,以下程序运行后的输出结果是()。   #include    #define SURPLUS(x,y)  ((x)%(y))    main( )   { int x,y;    scanf(“%d,%d”,&x,&y);     printf(“%d”,SURPLUS(x,y));  } 


    正确答案:8

  • 第24题:

    以下程序运行后的输出结果是()。    main( )    {double d=3.2;int x,y;    x=1.2;y=(x+3.8)/5.0;    printf(”%d/n”,d*y);    } 


    正确答案:0