已知字符'0'的ASCII码为十六进制的30H,下面程序的输出是()。 void main() { union { unsigned char c; unsigned int i[4]; } z; z.i[0]=0x39; z.i[1]=0x36; printf("%cn",z.c); }A.6B.9C.0D.3

题目

已知字符'0'的ASCII码为十六进制的30H,下面程序的输出是()。 void main() { union { unsigned char c; unsigned int i[4]; } z; z.i[0]=0x39; z.i[1]=0x36; printf("%cn",z.c); }

A.6

B.9

C.0

D.3


相似考题
更多“已知字符'0'的ASCII码为十六进制的30H,下面程序的输出是()。 void main() { union { unsigned char c; unsigned int i[4]; } z; z.i[0]=0x39; z.i[1]=0x36; printf("%cn",z.c); }”相关问题
  • 第1题:

    有以下程序:includeunion pw{int i; char ch[2];}a;main(){a.ch[0]=13;a.ch[1]=0;prin

    有以下程序: #include<stdio.h> union pw { int i; char ch[2]; }a; main() { a.ch[0]=13;a.ch[1]=0;printf("%d\n",a.i);} 程序的输出结果是( )。

    A.13

    B.14

    C.208

    D.209


    正确答案:A
    解析:在本题中,首先定义了一个共用体pw,其中有两个域:整型变量i和字符数组ch。因为共用体中的域是共享内存空间的,数组元素由低到高存储:ch[0]在低字节;ch[1]在高字节;整型变量i占两个字节,高位与ch[1]共用存储空间,低位与ch[0]共用存储空间,而高位ch[1]的值为0,所以输出的成员变量i的值就是ch[0]的值13。

  • 第2题:

    已知字符0的ASCⅡ码为十六进制数30,下面程序的输出是______。 main() { int i; union{unsigned char c;unsigned int i[4];}z; z.i[0]=0x39;z.i[1]=0x36; printf("%d\n",z.c); }

    A.56

    B.57

    C.58

    D.59


    正确答案:B
    解析:共用体变量中的所有成员共享存储空间,因此变量中的所有成员的首地址相同,且变量的地址也就是该变量成员的地址。

  • 第3题:

    下面程序的运行结果为【】。 include void main() {unsigned char value=127;int tota

    下面程序的运行结果为【 】。

    include <iostream.h>

    void main()

    {

    unsigned char value=127;

    int total=100;

    value++;

    total+=value;

    cout<<total<<end1;

    }

    A) 227 B) 100 C) 127 D) 27


    正确答案:4 10
    4 10 解析:本题主要考察C++类中静态数据成员的使用。程序首先定义了类 count,其内部含有private类型数据成员static int n;同时含有public类型构造函数 count()和静态成员函数static inttest(),这两个函数的功能分别是为对象申请系统资源并将静态数据成员n加1和将静态数据成员n加4。主函数前,程序将静态数据成员n初始化为0,该数据成员为所有类count的对象所共有的数据成员;主函数中程序首先执行静态成员函数test()(由于test声明为static,因此其调用时无需通过具体对象),其执行过程中,静态数据成员n应该加4变成n=4,因此此处输出为4;此后程序创建对象c1和c2,由于在每次创建过程中都要调用构造函数count(),而每次调用count()函数后,静态数据成员n值都会加1。因此,创建两个对象之后,n值变为n=6;再次执行test()函数后,n的值再次加4,因此变为n=6+4=10。故程序全部执行后,变量n值变为10,而中间程序输出为“410”。

  • 第4题:

    已知小写母a的ASCII码为97,大写字母A的ASCII码为65,以下程序的结果是_______。 main() { unsigned int a=32,b=66; printf("%c\n",a|B) ; }

    A.66

    B.98

    C.b

    D.B


    正确答案:C
    解析:位运算符“|”的作用是按位或,即两个二进制数的相应位中只要有一个为1,该位的结果值为1。最后以字符型输出,98对应的字符“b”

  • 第5题:

    下列程序的执行结果是______。 lnCludeunion un{ int i;char c[2];};void main(){union

    下列程序的执行结果是______。 #lnClude<stdio.h> union un { int i; char c[2]; }; void main() { union un x; x.c[0]=10 x.c[l]=1; printf("\n%d,x.i); }

    A.266

    B.11

    C.265

    D.138


    正确答案:A
    解析:由于本题定义的是共用体,所以成员表列中的整型变量x与字符数组c共占用同—个存储单元,且此存储单元为 2个字节,通常c[0]位于低字节,c[1]位于高字节,所以x.i的值为266。

  • 第6题:

    字符‘0’的ASCⅡ码的十进制数为48,且数组的第0个元素在低位,则以下程序的输出结果是______。 #include<stdio.h> main() { union{int i[2];long k;char c[4];}r,*s=&r; s->i[0]=0x39; s->i[1]=0x38; printf("%c\n",s->c[0]); }

    A.39

    B.9

    C.38

    D.8


    正确答案:B
    解析:本题考查的是共用体变量的引用。

  • 第7题:

    下面程序的输出为【】。include void main(){int a[10],i, k=0;for(i=0,i<10;i++)a[i]=

    下面程序的输出为【 】。

    include <iostream.h>

    void main()

    {

    int a[10],i, k=0;

    for(i=0,i<10;i++)

    a[i]=i;

    for(i=1;i<4;i++)

    k+=a[i]+i;

    cout<<k<<end1;

    }


    正确答案:12
    12

  • 第8题:

    有以下程序includevoid main(){char s[]={"01aXy"};int i,n=0;for(i=0;s[i]!=0;i++)if

    有以下程序 #include<stdio.h> void main() { char s[]={"01aXy"};int i,n=0; for(i=0;s[i]!=0;i++) if(s[i]<='a'&&s[i]>='z')n++; printf("%d\n",n); } 程序运行后的输出结果是( )。

    A.0

    B.2

    C.3

    D.5


    正确答案:A

  • 第9题:

    阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。

    【函数2.1】

    void sort(char *s,int num)

    {int i,j--num;

    char t;

    while(j-->1)

    for(i=0;i<j;i++)

    if(s[i]>s[i+1])

    {t=s[i];

    s[i]=s[i+1];

    s[i+1]=t;

    }

    void main()

    {char *s="CEAedea";

    sort(s,5);

    printf("%s",s);

    }

    上述程序的结果是(1)

    【函数2.2】

    void main()

    { union {int ig[6];

    Char s[12];} try;

    try. ig[0]=0x4542; try.ig[1]=0x2049;

    try. ig[2]=0x494a; try.ig[3]=0x474e;

    try. ig[4]=0x0a21; try.ig[5]=0x0000;

    pintf("%s",try, s);

    }

    上述程序的结果是(2)

    【函数2.3】

    void main()

    { char *letter[5]= { "ab","efgh","ijk","nmop","st"};

    char **p;

    int i;

    p=letter;

    for(i=0;i<4;i++) .

    printf("%s",p[i]);

    }

    上述程序的结果是(3)

    【函数2.4】

    main()

    {int i=4,j=6,k=8,*p=&I,*q=&j,*r=&k;

    int x,y,z;

    x=p==&i;

    y=3*-*p/(*q)+7;

    z=*(r=&k)=*p**q;

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

    }

    上述程序的结果是(4)

    【函数2.5】

    int a[]={5,4,3,2,1 };

    void main()

    {int i;

    int f=a[0];

    int x=2;

    for(i=0;i<5;i++)

    f+=f*x+a[i];

    printf("%d",f);

    }

    上述程序的结果是(5)


    正确答案:(1)ACEdeea (2) BEI JING! (3) abefghijkmnop (4) x=1y=5z=24 (5) 129
    (1)ACEdeea (2) BEI JING! (3) abefghijkmnop (4) x=1,y=5,z=24 (5) 129

  • 第10题:

    若输入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


    正确答案:A

  • 第11题:

    有以下程序:include main(){unsigned char a,b; a=413; b=4&3;printf("%d%d\n",a,

    有以下程序: #include <stdio.h> main() { unsigned char a,b; a=413; b=4&3; printf("%d%d\n",a,b); } 执行后的输出结果是( )。

    A.7 0

    B.0 7

    C.1 1

    D.43 0


    正确答案:A
    解析:&是按位“与”运算符,其运算规则是:参加运算的两个运算量,如果两个相应的位都为1,则该位的结果值为1,否则为0。|是按位“或”运算符,其运算规则是:两个相应位中只要有一个为1,该位的结果为1。4转换为二进制数为0100,3转换为二进制数为0011,则4|3=0111,即7,4&3=0000,即0。

  • 第12题:

    下列程序的执行结果是______。include union un{ int i;char c[2];};void main(){union

    下列程序的执行结果是______。 #include <stdio.h> union un { int i; char c[2]; }; void main() { union un x; x.c[0]=10; x.c[1]=1; printf("\n%d",x.i) }

    A.266

    B.11

    C.265

    D.138


    正确答案:A
    解析:由于本题定义的是共用体,所以成员表列中的整型变量x与字符数组c共占用同一个存储单元,且此存储单元为2个字节,通常c[0]位于低字节,c[1]位于高字节,所以x.i的值为266。

  • 第13题:

    已知C源程序如下: include include void reverse(char S[]){ int C,i,J; f

    已知C源程序如下:

    include<stdio. h>

    include<string. h>

    void reverse(char S[]){

    int C,i,J;

    for(i=0,j=strlen(s)-1;i<j;i++,j++){

    c=s[i];

    s[i]=s[j];

    s[j]=c;

    }

    }

    void getHex(int number,char s[]){

    int I;

    i=0;

    while(number>0){

    if(number%16<10)

    s[i++]=number%16+'0';

    else

    switch(number%16){

    case 10:s[i++]='A';break;

    case 11:s[i++]='B';break;

    case 12:s[i++]='C';break;

    case 13:s[i++]='D';break;

    case 14:s[i++]='E';break;

    case 15:s[i++]='F';break;

    default:printf("Error");break;

    }

    number/=16;

    }

    s[i]:'\o';

    reverse(s);

    }

    int main(){

    unsigned int number;

    int i=0:

    char s[50];

    printf("%s","please input number;\n");

    scanf("%d",&number):

    getHex(number,s);

    i=0;

    while(s[i])

    printf("%c",s[i++]);

    return 0;

    }

    画出程序中所有函数的控制流程图。


    正确答案:流程图
    流程图

  • 第14题:

    已知字符'0'的ASCII码的十进制数为48,并且数组的第0个元素在低位,有以下程序includema

    已知字符'0'的ASCII码的十进制数为48,并且数组的第0个元素在低位,有以下程序 #include<stdio.h> main() { union{int i[2];long k:char c[4];}r,*s=&r; s->i[0]=0x39;s->i[1]=0x38;printf("%c\n",s->c[0]); } 程序运行后的输出结果是 ( )

    A.39

    B.9

    C.38

    D.8


    正确答案:B

  • 第15题:

    下列程序的执行结果是_______。includeunion un{ int i;char c[2];};void main(){union

    下列程序的执行结果是_______。 #include<stdio.h> union un { int i; char c[2]; }; void main() { union un x; x.c[0]=10; x.c[1]=1; printf("\n%d",x.i); }

    A.266

    B.11

    C.265

    D.138


    正确答案:A
    解析:由于本题定义的是共用体,所以成员表列中的整型变量x与字符数组c共占用同一个存储单元,且此存储单元为2千字节,通常c[0]位于低字节,c[1]位于高字节,所以x.i的值为266。

  • 第16题:

    下列程序的输出结果是______。 main() { union} int a[2]; long k; char c[4]; }un,*sp=&un; sp->a[0]=0x39; sp->a[1]=0x38; printf("%1x\n",sp->k); }

    A.3938

    B.3839

    C.390038

    D.380039


    正确答案:D
    解析:结构体变量un的存储情况如图18-3所示,第一列表示地址,第二列为每个字节的值,可用两位的十六进制数表示,当把这4个字节的内容作为long型数据时,高地址字节的值表示高位,低地址字节的值表示低位。

  • 第17题:

    有以下程序: main() { unsigned char a,b; a=4 | 3; b=4 & 3; printf("%d %d\n",a,b); } 执行后输出结果是( )。

    A.7 0

    B.0 7

    C.1 1

    D.43 0


    正确答案:A
    解析:在位与运算符&中参加运算的两位都为1时,其结果为1,否则结果为0。所以本题中的4|3:01002|00112=01112=7。位与运算符|中参加运算的两位只要有一个为1,则结果为1,只有当相应的两位都为0结果才为0。所以本题中的4&3=01002&00112 =00002=0。最后输出a和b的值为7和0。故4个选项中选项A符合题意。

  • 第18题:

    6 写出下列程序在X86 上的运行结果。

    struct mybitfields

    {

    unsigned short a : 4;

    unsigned short b : 5;

    unsigned short c : 7;

    }test

    void main(void)

    {

    int i;

    test.a=2;

    test.b=3;

    test.c=0;

    i=*((short *)&test);

    printf("%d\n",i);

    }


    正确答案:
     

  • 第19题:

    有以下程序:main(){ union{ unsigned int n; unsigned char c; }u1; u1.c='A'; printf("%c\n",u1.n);}执行后输出结果是( )。

    A.产生语法错

    B.随机值

    C.A

    D.65


    正确答案:C
    解析:在定义共用体的同时,定义了—个共用体型变量u1,共占两个字节,有两个成员n和c,两个成员的首地址是相同的。因此给u1.c赋一个“A”,其实就是给无符号整型成员u1.n的低字节赋一个“A”,输出u1.n的时候是以字符型的形式输出,只输出它的低地址的一个字节,因此为“A”。所以,C选项为所选。

  • 第20题:

    已知字符0的ASCII码为十六进制的30,现有程序如下:includemain(){union{ unsigned char

    已知字符0的ASCII码为十六进制的30,现有程序如下: #include <stdio.h> main() { union{ unsigned char c; unsigned int i[4]; }z; z.i[0]=0x39; z.i[1]=0x36; printf("%c\n",z.c); } 此程序的输出结果是( )。

    A.6

    B.9

    C.0

    D.3


    正确答案:B
    解析:根据共用体的定义可知:共用体z的成员c和成员i[4]是共用着同一段内存空间,所以,当程序给z.i[0]赋值后,实际上共用体成员c的值也确定了,为0x39,所以在以字符方式打印时,打印结果应是ASCII码等于0x39的字符,即是9。

  • 第21题:

    下列程序的执行结果是______。include union {int i;char c[2]; }; void main() {union

    下列程序的执行结果是______。 #include<stdio.h> union { int i; char c[2]; }; void main() { union un x; x.c[0]=10; x.c[1]=1; printf("\n%d",x.i); }

    A.266

    B.11

    C.265

    D.138


    正确答案:A
    解析:由于本题定义的是共用体,所以成员表列中的整型变量x与字符数组c共占用同—个存储单元,且此存储单元为2个字节,通常c[0]位于低字节,c[1]位于高字节,所以兄i的值为266。

  • 第22题:

    下列程序的输出结果是______。include main(){union {int k;char i[2]; }*S,a; s=&

    下列程序的输出结果是______。#include <stdio.h>main(){ union { int k; char i[2]; } *S,a; s=&a; s->i[0]=0x39; s->i[1]=0x38; printf("%x\n",s->k);}

    A.3839

    B.3938

    C.380039

    D.390038


    正确答案:A

  • 第23题:

    有以下程序: main() { union{ unsigned int n; unsigned char c; }u1; u1.c='A'; printf("%c\n",u1.n); } 执行后输出结果是( )。

    A.产生语法错误

    B.随机值

    C.A

    D.65


    正确答案:C
    解析:本题在定义共用体的同时,定义了一个共用体型变量u1,共占两个字节,有两个成员n和c,两个成员的首地址是相同的。因此给u1.c赋一个A,其实就是给无符号整型成员u1.n的低字节赋一个A,输出u1.n的时候是以字符型的形式输出,只输出它的低地址的一个字节,因此为A。所以,C选项为所选。

  • 第24题:

    有以下程序 main() { union{ unsigned int n; unsigned char C; }ul; u1.C='A'; printf("%c\n",u1.n); } 执行后输出结果是

    A.产生语法错

    B.随机值

    C.A

    D.65


    正确答案:C
    解析:在定义共用体的同时,定义了一个共用体型变量u1,共占两个字节,有两个成员n和c,两个成员的首地址是相同的.因此给u1.c赋一个“A”,其实就是给无符号整型成员u1.n的低字节赋一个“A”,输出u1.n的时候是以字符型的形式输出,只输出它的低地址的一个字节,因此为“A”。所以,C选项为所选。