char型变量中能不能存贮一个中文汉字?为什么?
不能 。
CHAR只能存1个字符
而一个汉字是2个字符,
所以存不下。
在C/C++语言中,char变量为一个字节,8位,signed char表示的范围:-128~127【-128在内存中的二进制表示为1000 0000,127在内存中的表示为0111 1111】;unsign char表示的范围:0000 0000~1111 1111,即0~255;
注意:整数在内存中是以补码存取的,正数的补码:等于自己,负数的补码:取反加1,例如:127在内存中表示为0111 1111, -127在内存中表示为~(0111 1111)+1=1000 0001; 假定某内存单元p的内容是1111 1111,那么它一定是255吗?实际上取决于你的代码是要把它看成有符号还是无符号数,如果是无符号则表示255,如果是有符号则表示-1【对于有符号数,最高位为符号位,1表示负,0表示正】:
signed char c=*p; //c=-1
unsigned char c=*p;//c=255
第1题:
下列关于单目运算符++、--的叙述中正确的是
A.它们的运算对象可以是任何变量和常量
B.它们的运算对象可以是char型变量和int型变量,但不能是float型变量
C.它们的运算对象可以是int型变量,但不能是double型变量和float型变量
D.它们的运算对象可以是char型变量、int型变量和float型变量
第2题:
下面的变量说明中__________是正确的。
A.char:a, b, c;
B.char a; b; c;
C.char a, b, c;
D.char a, b, c
第3题:
已知:type def charCH;下列描述中,正确的是()。
A.使用CH定义的变量是char型变量
B.使用CH定义的是一个字符常量
C.使用CH定义的变量其类型不确定
D.使用CH定义的是一个字符串
第4题:
下列关于单目运算符++、--的叙述中,正确的是( )。
A.它们的运算对象可以是任何变量和常量
B.它们的运算对象可以是char型变量和血型变量,但不能是float型变量
C.它们的运算对象可以是int型变量,但不能是doule型变量和float型变量
D.它们的运算对象可以是char型变量、int型变量和float型变量
第5题:
若要用下面的程序片段使指针变量p指向一个存储字符型变量的动态存储单元,则应填入; char * p;p= ( ) malloc (sizeof (char));
A.char
B.char *
C.(* char)
D.(char *)
第6题:
A.A是一个指向有5个字符型元素的指针变量
B.A是一个有5个元素的一维数组,每个元素指向字符型的指针变量
C.A是一个指向字符型的函数的指针变量
D.A是一个有5个元素的一维数组,每个元素指向整型变量的指针变量
第7题:
下列关于单目运算符++、--的叙述中,正确的是A.它们的运算对象可以是任何变量和常量B.它们的运算对象可以是char型变量和int型变量,但不能是float型变量C.它们的运算对象可以是int型变量,但不能是double型变量和float型变量D.它们的运算对象可以是char型变量、int型变量和float型变量
第8题:
若有语句:char *line[5];,以下叙述中正确的是
A.定义line是一个数组,每个数组元素是一个基类型为char为指针变量
B.定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组
C.定义line是一个指针数组,语句中的*号称为间址运算符
D.定义line是一个指向字符型函数的指针
第9题:
语句Char(*P)说明了( )。
A.P是指向函数的指针,该函数返回一个Char型数据
B.P是指向Char型数据的指针变量
C.P是指向数组的指针变量
D.P是一个函数名,该函数的返回值是指向Char型数据的指针
第10题:
变量s的定义为“char *s="Hello world!";”,要使变量p指向s所指向的同一个字符串,则应选取(47)。
A.char *p=s;
B.char *p=&s;
C.char *p;p=*s;
D.char *p; p=&s;