若输入000051,下列程序的运行结果为______。 main(){ unsigned int a; scanf("%o",&a); printf("%o\n",getbits(a));}getbits(value)unsigned int value;{ int i,j,m,n; unsigned int z,a,q; z=0; for(i=1;i<=15;i+=2) { q=1; for(j=1;j<=(16-i-1)/2;j++) q=q*2; a=value>>(16-i); a=a<<15;

题目

若输入000051,下列程序的运行结果为______。 main(){ unsigned int a; scanf("%o",&a); printf("%o\n",getbits(a));}getbits(value)unsigned int value;{ int i,j,m,n; unsigned int z,a,q; z=0; for(i=1;i<=15;i+=2) { q=1; for(j=1;j<=(16-i-1)/2;j++) q=q*2; a=value>>(16-i); a=a<<15; a=a>>15; z=z+a*q; } return(z);}

A.6

B.51

C.51

D.10


相似考题
更多“若输入000051,下列程序的运行结果为______。main(){unsigned int a; scanf("%o",&a); printf( ”相关问题
  • 第1题:

    若输入ab,程序运行结果为【 】 main() { static char a[3]; scanf("%s",a); printf("%c,%c",a[1],a[2]); }

    A.b

    B.a,

    C.b,

    D.程序出错


    第一空: No answer. Open

  • 第2题:

    已知字符A的ASCII代码值为65,以下程序运行时若从键盘输入:B33<回车>,则输出结果是________。 main() { char a,b; a=getchar();scanf("%d",&b); b=b*2; printf("%cn",b); }


    1B 1B 解析:从键盘输入后,有a=B,b=33。a=a-'A'+'0'='B'-'A'+'0'='1',b=b*2=66,在输出时均需要把a,b转化为字符型,因此输出为1B。

  • 第3题:

    【填空题】若从键盘输入58,则以下程序输出的结果是 () 。 main() { int a; scanf("%d",&a); if(a>50) printf("%d",a); if(a>40) printf("%d",a); if(a>30) printf("%d",a); }


    585858 本题考查对if语句的掌握,当输入58以后,程序中的3个if语句都成立,所以分别输出58。

  • 第4题:

    【填空题】以下程序的输出结果为()。 main() {short i; i=-4; printf("ni:dec=%d, oct=%o, hex=%x, unsigned=%un",i,i,i,i); }


    A

  • 第5题:

    12、若从键盘输入58,则以下程序输出的结果是__ main() { int a; scanf("%d",&a); if(a>50) printf("%d",a); if(a>40) printf("%d",a); if(a>30) printf("%d",a); }


    585858 在程序中,执行scanf()语句后,a被赋值为58。接着执行第一个if语句,因为,a=58>50,执行第一个if语句后面的输出语句,输出58;接着执行第二个if语句,因为,a=58>40,执行第二个if语句后面的输出语句,输出58;接着执行第三个if语句,因为,a=58>30,执行第三个if语句后面的输出语句,输出58,所以最后的输出为585858。