getchar();
return0;
}
运行后……原来,false是0,true是1。
3).char类型的特殊
char的范围是-128~127
unsignedchar的范围是0~255
那么按照前面的说法,我们可以为这样为一个字符类型的变量赋值:
charc=120;
unsignedcharuc=250;
这样看来,所谓的“字符”类型,似乎除了取值范围小一点以外,和整型也没有什么区别。
这句话的确没错。
对于C、C++来说,字符类型完全可以当成一个整数来对待。
事实上,所有信息在计算机里,都是使用数字来表达。
英文字母'A'在计算机里表示为65;字母'B'表示为66。
所有你在键盘可以看到的字符,如大小写英文字母,阿拉伯数字符号,标点符号都可以有一个相应的数值表示。
但要让我们记住65就是'A',而33就'!
'等255个对应关系,显然很折磨人,所以,计算机高级语言允许我们直接为字符类型变量这样赋值:
char c='A';
char d='!
';//英文感叹号
char e='.';//英文句号
char f='';//空格
即:
将所要得到的字符用单引号括住。
(引号''是英文状态下的,千万不要使用中文符号)
另外,对于一个数值类型,如果它等于120,那么输出时显示的120,如果是一个字符类型,输出却是120对应的字符。
也就是说:
int k=120;
charj=120;
二者虽然值都为120,但输出j时,计算机并不显示120这个值,而是120对应的字符。
试试看!
为了不让教程中的代码重复占用版面,省略号省略掉的代码要多点了……
......
/////////////////char类型///////////////////////////////////////////////////
intk=120;
charj=120;
cout<<"k(int)="<
getchar();
......
输出结果,k当然是120,但j,原来120对应的字母是'x'。
写的是120,输出的却是x,很不直观对不?
所以,除非我们故意要和自已或者其他看代码的人玩“密码”,否则,还是直接想要什么字符,就写哪个字符吧。
/////////////////char类型///////////////////////////////////////////////////
intk=120;
charj=120;
cout<<"k(int)="<
charl='A';
charm=l+1;
cout<<"l="<
getchar();
......
输出结果,l为'A',而m为'B',想一想,为什么?
学完后面内容就有答案。
单引号本身也是一个字符,如何表示单引号呢?
是否用'''来表示?
看明白下面的常用字符ASCII码表以后再说。
(ASCII是指:
AmericanStandardCodeforInformationInterchange,美国信息交换标准码。
)
值
符号
值
符号
值
符号
0
空字符
44
91
[
32
空格
45
-
92
\
33
!
46
.
93
]
34
"
47
/
94
^
35
#
48~57
0~9
95
-
36
$
58
:
96
`
37
%
59
;
97~122
a~z
38
&
60
<
123
{
39
'
61
=
124
|
40
(
62
>
125
}
41
)
63
?
126
~
42
*
64
@
127
DEL(Delete键)
43
+
65-90
A~Z
(其中,0~31都是一些不可见的字符,所以这里只列出值为0的字符,值为0的字符称为空字符,输出该字符时,计算机不会有任何反应。
我们以后会学习0字符的特殊作用。
)
4).转义符的使用
根据前面的说法,单