参考答案和解析
正确答案:C
解析:c是char类型,而赋值给它的是字符串"\41"。
更多“unsigned char c="\41';printf("%d",c); 输出结果为()。A.AB.41C.语法错D.65 ”相关问题
  • 第1题:

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

    A.产生语法错

    B.随机值

    C.A

    D.65


    正确答案:C
    解析:共用体变量中所有成员共享一段存储空间,它们的值为最后一次对其中变量所赋的值。

  • 第2题:

    以下程序的功能是进行位运算 main() { unsigned char a,b; a=73;b=~4&3; printf("%d%d\n",a,b);} 程序运行后的输出结果是

    A.4 3

    B.7 3

    C.7 0

    D.4 0


    正确答案:A
    解析:a=73=11111=100=4(+进制),b=~4&3=~100&11=11&11=11=3(+进制),所以,答案为选项A)。注意:位运算的优先级及其所构成的表达式。

  • 第3题:

    有以下程序 main() { unsigned char,a,b,c; a=0x3;b=a|0x8;c=b<<1; printf(“%d%d\n”,b,c); } 程序运行后的输出结果是

    A.-11 12

    B.-19

    C.12 24

    D.11 22


    正确答案:D
    解析:将a的值转换为二进制位:00000011,再与Ox8的二进制“00001000”位与,得到结果“00001011”赋值给b,b的值为11,再将b左移一位得到:0001 0110,赋值给c,c的值为22,所以最后输出的b,c的值位11,22。

  • 第4题:

    以下程序的功能是进行位运算:include main( )unsigned char a,b;a =7∧3; b = ~4&3

    以下程序的功能是进行位运算:#include <stdio.h>main( ) unsigned char a,b; a =7∧3; b = ~4&3; printf("% d %d \n" ,a,b);}程序运行后的输出结果是( )。

    A.4 3

    B.7 3

    C.7 0

    D.4 0


    正确答案:A
    解析:“^”是按位异或运算,运算规则是:当两个二进制数对应位上的数相同时,异或结果为0,否则结果为1。73相当于0110011,所以a的值为4。“&”是按位与运算符,其运算规则是:当二进制数的所有对应位上的数值都为1时,结果才为1;“~”是按位取反。~4&3相当于1011&0011=0011,所以b的值为3。

  • 第5题:

    有以下程序: 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符合题意。

  • 第6题:

    有以下程序: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选项为所选。

  • 第7题:

    已知字符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。

  • 第8题:

    有以下程序: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。

  • 第9题:

    有以下程序 main() { union{ unsigned int n; unsigned char c; }ul; u1.c='A'; cout<<u1.n<<endl; } 执行后输出结果是

    A.产生语法错

    B.随机值

    C.A

    D.65


    正确答案:B
    解析:本题考查联合这种特殊的数据结构的基本知识。联合的本质在于联合的成员共事同一片连续的内存单元。本题中由于整型变量占两个字节,字符型变量占一个字节,而整型变量的一部分没有被赋值,故将输出随机值。本题答案为B。

  • 第10题:

    有以下程序 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选项为所选。

  • 第11题:

    (39)有以下程序

    #include <stdio.h>

    main()

    { unsigned char a=8,c;

    c=a>>3;

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

    }

    程序运行后的输出结果是

    A)32

    B)16

    C)1

    D)0


    正确答案:C

  • 第12题:

    单选题
    有以下程序#include main(){ unsigned char a=2,b=4,c=5,d; d=a|b; d&=c; printf(%d,d);}程序运行后的输出结果是(  )。
    A

    4

    B

    3

    C

    5

    D

    6


    正确答案: B
    解析:
    d = a|b = 00000010|00000100 = 00000110,d = d&c = 00000110 & 00000101 = (00000100)2=4。答案选择A选项。

  • 第13题:

    下面程序的输出结果是______。 unsigned fun(unsigned num) { unsigned k=1; do{ k*=num%10; num/=10; }while(num); return(k); } main() { unsigned n=26; printf("%d\n",fun(n)); }

    A.0

    B.4

    C.12

    D.无限次循环


    正确答案:C
    解析:本题定义了—个fun函数,用于num求和,具体执行过程如下:num=26:k=k*(num%10)=1*(26%10),所以k=6,num=num/10=2;num=2:k=k*(num%10)=6*(2%10),所以k=12,num=num/10=0;num=0:while条件不成立,所以返回k的值12。

  • 第14题:

    以下程序的输出结果为()。includemain(){ char *alpha[6]={"ABCDEFGH","IJKL","MNOP","

    以下程序的输出结果为( )。 #include<stdio.h> main() { char *alpha[6]={"ABCDEFGH","IJKL","MNOP","QRST","UVWX"}; char**p;int i; p=alpha; for(i=0;i<4;i++)printf(" %s" ,p[i]);printf("\n" );}

    A.ABCDEFGHIJKL

    B.ABCD

    C.ABCDEFGHIJKLMNOPQRST

    D.AEIM


    正确答案:C
    解析:字符串数组中的每个元素是一个指向字符串的字符指针,可用一个指向指针的指针来指向一个字符串数组,题中p即为一个这样的指针,p[i]则指向了数组alpha的第i+1各元素。注意:用带下标的指针变量引用一维数组中的元素。

  • 第15题:

    char c='\41';printf("%o",c); 的结果为( )。

    A.0101

    B.101

    C.41

    D.65


    正确答案:C
    解析:printf("%o",c);以八进制输出c,而'\41'就是八进制表示的字符。,

  • 第16题:

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

    A.32

    B.16

    C.1

    D.0


    正确答案:C
    题中定义了无符号数,c=a>>3;是指右移3位,然后输出。结果为C。

  • 第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
    解析:a=4 0 3中的“|”表示按位或,结果为
      4:100
      3: 011
      4|3:111
      所以a=7。
      b=4&3中,“&”表示按位与,结果为
      4:100
      3:011
      4&3:000
      所以b=0。

  • 第18题:

    有以下程序

    #include<stdio.h>

    main()

    {unsigned char a=8,c:

    c=a>>3;

    printf(“%d\n”,c):

    }

    程序运行后的输出结果是

    A.32

    B.16

    C.1

    D.O


    正确答案:C
    解析:无符号数a右移3位,高位补0.其过程为a:000011000(a=8,b=a>>  3:00000001(b=1)。

  • 第19题:

    有以下程序: main() {unsigned char a=2,b=4,c=5,d; d=a|b;d&=c;printf(“%d\n",D);} 程序运行后的输出结果是( )。

    A.3

    B.4

    C.5

    D.6


    正确答案:B
    解析:本题中主要进行位逻辑计算。将a的值转换为二进制000000010,b转换为二进制00000100,将a和b进行按位或运算,因此d的二进制数为00000110,c的二进制为00000101;接下来把d和c进行按位与运算,并转化为十进制输出。

  • 第20题:

    有以下程序: 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选项为所选。

  • 第21题:

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

    A.产生语法错

    B.随机值

    C.A

    D.65


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

  • 第22题:

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

    A.70

    B.7

    C.11

    D.430


    正确答案:A
    解析:按位与运算符“&”中参加运算的两位都为1时,其结果为1,否则结果为0,或位或运算符“|”中参加运算的两位只要有一个为1,则结果为1,只有当相应的两位都为0结果才为0。所以最后输出a和b的值为7和0。

  • 第23题:

    已知字母a的ASCII十进制代码为97,则执行下列语句后的输出结果为(). char a=’a’; a--; printf("%d,%c/n",a+’2’-’0’,a+’3’-’0’);

    • A、b,c
    • B、a--运算不合法,故有语法错
    • C、98,c
    • D、格式描述和输出项不匹配,输出无定值

    正确答案:C