您的位置:首页 > 编程语言 > C语言/C++

C++基础---字符型

2015-08-15 13:09 267 查看

1. 字符型

1.1 字符型变量

字符型变量:存放的是字符,此处的字符指的是计算机字符集中的字符(ASCII 码);

字符型变量:字符型变量只占1个字节,一个字节为8位(二进制的8位),而最大的8位二进制数为11111111,换算成十进制为255,因此字符型变量可存储256个字符,而一个字符可解释为0-255之间的一个数或某个ASCII码;

1.2 各种字符型占用字节数

各种字符型占用字节数列表

数据类型字节数位数上限下限计算公式
char18-128127-2^7~(2^7 - 1)
usigned char1802550~(2^8 - 1)

1.3 ASCII码表

ASCII码有128个字符,所以可以用signed char(即char)中的所有正数表示所有ASCII码值,而负数表示非正常状态。



注:(1)48~57号:0~9十个阿拉伯数字;(2)65~90号:26个大写英文字母;(3)97~122号:26个小写英文字母。

1.4 字符型的字符字面值及ASCII码值

通过字符的字面值求对应的ASCII码值

#include <iostream>

using namespace std;
int main()
{
char ch = 'A';
cout<<"字符ch的字符字面值"<<ch<<endl;
int asc_ch = (int)ch;
cout<<"字符ch的ASCII码值"<<asc_ch<<endl;
system("pause");
return 0;
}
=>字符ch的字符字面值A
字符ch的ASCII码值65


通过ASCII码值求对应的字符的字面值

#include <iostream>

using namespace std;
int main()
{
cout<<"打印26个大写英文字母:";
for(int i=65; i<91; i++)
{
cout<<(char)i;
}
cout<<endl;
system("pause");
return 0;
}
=>打印26个大写英文字母:ABCDEFGHIJKLMNOPQRSTUVWXYZ


1.5 奇偶校验

在计算机的存储单元中,一个ASCII码值占一个字节(8个二进制位),其最高位用作奇偶校验位,校验方式如下:

(1)奇校验:规定正确的代码一个字节中1的个数必须为奇数,若非奇数,在最高位添1;

(2)偶校验:规定正确的代码一个字节中1的个数必须为偶数,若非偶数,在最高位添1;

1.6 wchar_t双字节型变量

char型变量可存储1个字节的字符,它用来保存英文字符与标点符号是可以的,但是存储汉字、韩文、日文却不可以,因为汉字、韩文、日文都是占据2个字节,为了解决这个问题,C++提供了wchar_t类型,也就是双字节类型,又叫宽字节类型

如:wchar_t wt[] = L”中”;//定义了一个wchar_t类型的数组变量wt,它用来保存中文字符“中”,大写字母L告诉编译器为“中”字分配两个字节的空间。

宽字符的输出的程序示例:

#include <iostream>

#include <locale>

using namespace std;
int main()
{
setlocale(LC_ALL, "chs");//setlocale函数将本机的语言设为中文
wchar_t wt[] = L"中";
wcout<<wt;
return 0;
}
=>中


注:标准C++的iostream类库包含了可以支持宽字符的类和对象,如wcout对象可以代替cout对象来执行对宽字符的输出。

参考文献 :

[1]《C++全方位学习》范磊——第四章

[2]《C++程序设计教程(第二版)》钱能——第三章

[3] 百度搜索关键字:C++数据类型、字符型、ASCII码表、宽字节字符型
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: