更多“char a=0xdb,则~a的值为()A、0xdbB、0xbdC、0x24D、0x42”相关问题
  • 第1题:

    若有以下定义: char a: int b; float c; double d; 则表达式a*b+d c的值的类型为 ______。

    A.float

    B.int

    C.char

    D.double


    正确答案:D

  • 第2题:

    下列语句片断中,four的值为:( )。 int three=3; char ne="1"; char four=(char)(three+one);

    A.3

    B.1

    C.31

    D.4


    正确答案:D

  • 第3题:

    若有以下定义char a;int b;float c;double d;则表达式a*b+d-c值的类型为


    正确答案:双精度类型
    在本题中,定义了四个不同类型的变量,然后在同一个表达式中进行计算。在C语言中规定,不同数据类型的数据在进行运算时,其结果保存为精度相对较高的类型,即所占字节空间较多的类型。因此,在对本题的四个不同类型的变量进行运算后,最终的结果为double类型。

  • 第4题:

    设char型变量x中的值为 10100111,则表达式(2+x)^(~3)的值是A.10101001 B.10101000 C.11111101 D.01010101


    正确答案:D
    本题主要考查位运算。“按位取反”运算(~)是单目运算符,运算对象应置于运算符的右边,其功能是把运算对象的各二进制位求反;“按位异或”运算(^)是双目运算符,其功能是把参与运算的两数各对应的二进制位相异或。该操作通常用来使一个数中某些指定位翻转,而另一些位保持不变。
    本题中,首先定义一个字符型变量x,并给出了该变量的二进制表示形式,然后求表达式(2+x)^( ~3)的结果值,在该表达式中,首先运算( ~3)和(2+x)部分,3转换为二进制数的表示为00000011,对它进行取反运算的结果为11111100,2转换为二进制数的表示形式为00000010,它与x的值10100111进行加运算后的结果为10101001(进行这个计算时需要注意:由于变量x是一个符号类型,无负值)。然后对10101001与11111100进行“按位异或”运算,得到结果01010101。因此本题的正确答案选D。

  • 第5题:

    在执行完下列的c语句段之后,则B的值是( )。 char a=A; int b; B=((34&&56)&&(a<b));A.0SXB

    在执行完下列的c语句段之后,则B的值是( )。 char a=A; int b; B=((34&&56)&&(a<b));

    A.0

    B.1

    C.TRUE

    D.FALSE


    正确答案:B
    本题考查3个知识点:将一个字符赋给一个字符变量时,是将该字符对应的ASCIl码存储到内存单元中;常见ASCII码的值如A和a;只要逻辑与运算符&&的两个运算对象都为真时,返回值就是1。

  • 第6题:

    设char型变量x中的值为10100111,则表达式(2+x)(-3)的值为______。

    A.10101001

    B.10101000

    C.11111101

    D.1010101


    正确答案:D
    解析:异或运算符(^)的运算规则是:参加运算的两个相应位同号,则结果为0(假);异号则为1(真)。取反运算符(~)的运算规则是:对一个二进制数按位取反,即将0变为1,1变为0。本题(~3)是对3(二进制形式为00000011)按位取反即11111100。表达式(2+x)(-3)的值就等价于(00000010+10100111)^1111100,结果为01010101。

  • 第7题:

    串的操作函数str定义为: int str(char*s){ char*p=s; while(*p!=’\0')p++; return p=s; } 则str("abcde")的返回值是 ( )

    A.3

    B.4

    C.5

    D.6


    正确答案:C
    解析:由此操作函数可知,循环执行前,P和S均指向字符串的首字符,循环执行结束后,S仍指向首字符,而P指向字符串之后的结束符(\0),故P—S返回的是整个字符串的长度。

  • 第8题:

    执行char*p=new char(’a’)操作后,p所指向的数据对象的值为()。


    正确答案:‘a’

  • 第9题:

    设a是int型变量,其值为3,则把其值变成字符’3’的表达式是()

    • A、(char)a
    • B、a=3
    • C、a=a-48
    • D、a=a+48

    正确答案:D

  • 第10题:

    Sql server提供了一些系统函数,以下说法错误的是()。

    • A、selectdatalength(&lsquo;abcde&rsquo;)返回值为:5
    • B、selectconvert(char(3),12345) ;返回值为:123
    • C、selectconvert(char(5),12345) ;返回值为:12345

    正确答案:A

  • 第11题:

    单选题
    char a=0xdb,则~a的值为()
    A

    0xdb

    B

    0xbd

    C

    0x24

    D

    0x42


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

  • 第12题:

    填空题
    执行char*p=new char(’a’)操作后,p所指向的数据对象的值为()。

    正确答案: ‘a’
    解析: 暂无解析

  • 第13题:

    设char型变量x中的值为10100111, 则表达(2+x)∧(~3)的值是

    A.10101001

    B.10101000

    C.11111101

    D.1010101


    正确答案:D
    解析:本题考核的知识点是位运算符的基本使用.表达式(2+x)二进制表示为“10101001”,(-3)即把3按位取反得到二进制值为“11111100”,再把这两个;进制按位加(异或),得到结果位“01010101”。所以,D选项为所选。

  • 第14题:

    若有以下定义:char a;int b;float c;double d;则表达式“a*b+d-c”值的类型为( )。

    A.float

    B.int

    C.char

    D.double


    正确答案:D
    解析:参加运算的数据类型不同,要转换为统一的数据类型,double在数据类型转换中的级别最高,其他数据类型都要转化为double,因此表达式值的类型为double。

  • 第15题:

    现有定义int a;double b;float c;char k;,则表达式a/b+c-k值的类型为

    A.int

    B.double

    C.float

    D.char


    正确答案:B

  • 第16题:

    若有以下定义: char a;int b; float c;double d; 则表达式a*b+b-c值的类型为( )。A. floatSX

    若有以下定义: char a;int b; float c;double d; 则表达式a*b+b-c值的类型为( )。

    A. float

    B.int

    C.char

    D.double


    正确答案:D
    在表达式a*b+d-c中,double的类型最高,C语言中,由低类型自动向高类型转换,所以最后的结果一定是double型。

  • 第17题:

    关于类型转换的说法中,错误的是( )。

    A.如果a为血型变量,b为char型变量,则a+b的值为血型

    B.如果a为float型变量,b为int型变量,则a-b的值为float型

    C.如果a为double型变量,b为float型变量,则a*b的值为double型

    D.如果a为血型变量,b为血型变量,则a/(double)b的值为int型


    正确答案:D
    解析:C++中数据类型转换有两类,即隐式类型转换和显式类型转换。①隐式类型转换是由编译器自动完成的类型转换。当编译器遇到不同类型的数据参与同一运算时,会自动将它们转换为相同类型后再进行运算。赋值时,会把所赋值的类型转换为与被赋值变量类型一样。隐式类型转换按从低到高的顺序进行。②显式类型转换是由程序员显式指出的类型转换,使用显式类型转换的好处是,编译器不必自动进行两次转换,而由程序员负责类型转换的正确性。由此可知选项D中a/(double)b的值应为double型。

  • 第18题:

    设有如下说明:char[] c = new char[100];则,c[50]的值为?

    A. 50

    B. '/u0000'

    C. " "

    D. 不定

    E. 为null,直到被赋值。


    正确答案:B

  • 第19题:

    设x为float型变量,y为double型变量,a为int型变量,b为long型变量, c为char型变量,则表达式x+y*a/x+b/y+c的值为()类型。

    • A、int
    • B、long
    • C、double
    • D、char

    正确答案:C

  • 第20题:

    指针变量pv和pc定义为“void*pv=”Hello,word!”;char*pc;”,要将pv值赋给pc,则正确的赋值语句是pc=()pv。


    正确答案:char*

  • 第21题:

    设a是char型变量,其值字符为’1’,则把其值变成整数1的表达式是()。

    • A、(int)a
    • B、int(a)
    • C、a=a-48
    • D、a/(int)a

    正确答案:C

  • 第22题:

    填空题
    指针变量pv和pc定义为“void*pv=”Hello,word!”;char*pc;”,要将pv值赋给pc,则正确的赋值语句是pc=()pv。

    正确答案: char*
    解析: 暂无解析

  • 第23题:

    单选题
    若有说明和语句:char str[]=Hello, *p; p=str;则此时*(p+5)中的值为(  )。
    A

    '\0'

    B

    'o'

    C

    'o'的地址

    D

    不确定的值


    正确答案: B
    解析:
    定义字符数组并为其初始化,str数组前5个元素为Hello,第六个元素自动赋值为'\0'。定义指针使等于字符串首地址,p+5指向字符串第六个元素。答案选择A选项。