在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
C++不但可以处理数字类型的值,也可以处理字符。字符数据类型(char)代表一个单独的字符。一个字符被单引号括起来,如: char lettter = 'A'; char number = '0'; 要注意这里的0不再是数字类型(int,double,float,long),而是字符(char)类型。 这里还有一点要注意,之后讲到的字符串类型(string)使用""括起来的,所以"A"是字符串类型而不是字符类型。 ASCII码众所周知,计算机只能识别0和1,那么计算机是如何识别字母,汉字或者其他语言呢。这里涉及到编码,即把一个字符映射为二进制数。而ASCII是比较原始的一种编码方式。常用的有数字('0'~'9',对应ASCII值48~57),大写字母('A'~'Z',对应ASCII值65~90),小写字母(''a~'z',对应ASCII值97~122)。详细的ASCII可以上网搜搜看,这里就不过多赘述了。 因为ASCII码只涉及到英文字母和一些英文符号,不能满足其他国家的需求,所以后来又出现了很多编码方式,如GBK,Unicode(万国码)等,其中又分为UTF-8, UTF-16等,汉字在UTF-8中常占3个字节,也有4个字节的。当然,这里主要介绍ASCII,额外的就不过多介绍了。 如何从键盘读入一个字符呢?见下面的代码: cout << "Enter a character: " << endl;
char ch;
cin >> ch;
cout << "The character you entered is " << ch << endl;
转义序列看下面一句代码 cout << "He said "I like C++"" << endl;
我们的本意是输出:He said "I like C++" ,但是程序以为我们的字符串只有: "He said " ,所以会报一个编译错误。想想也是理所应当的,否则的话就会有二义性了。 C++为了解决这一问题,使用了一种特殊符号——转义字符,来表示一下特殊符号。转义序列都是以一个反斜线打头,后面跟着一个字符。转义序列被看做一个整体,不可分割。详见下表:
所以,之前的语句可以表示为: cout << "He sai \"I like C++\"" << endl;
数值与字符的转换://1. 隐式类型转换
int i = 'A';
cout << "i is " << i <<endl;
//显示结果:65
//因为A的ASCII码为65
char c = 65;
cout << "c is " << c << endl;
//显示结果:A
//因为ASCII码为65所对应的字符为A
//2. 显式类型转换
int j = 'A' + 2;
//j的值为67
cout << j << " is the ASCII code for character " << static_cast<char>(j) << endl;
//显示 结果:67 is the ASCII code for character C
//static_cast<char>(value)的<>中的是要转换为的类型
字符之间的比较(实际上比较的是他们的ASCII码)'a' < 'b' 返回true,因为a的ASCII码是97,b的ASCII码是98 'a' < 'A' 返回false,因为a的ASCII码是97,A的ASCII码是65 字符函数
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论