在c语言中字符是用单引号括起来的,如:'a' ,'A','@'
我们知道在计算机中所有信息都是以二进制的形式进行存储的,同样字符也是通过二进制进行存储。如果我们每个人自己给这些字符中的每个字符编一个二进制序列,这就叫做编码,为了方便大家互相通信,不造成混乱,后来美国国家标准协会(ANSI)出台了一个ASCII编码,c语言的字符就遵从了ASCII编码的方式。
ASCII(American Standard Code for Information Interchange,美国信息互换标准代码)是一套基于拉丁字母的字符编码,共收录了 128 个字符,用一个字节就可以存储,它等同于国际标准 ISO/IEC 646。
ASCII 编码于 1967 年第一次发布,最后一次更新是在 1986 年,迄今为止共收录了 128 个字符,包含了基本的拉丁字母(英文字母)、阿拉伯数字(也就是 1234567890)、标点符号(,.!等)、特殊符号(@#$%^&等)以及一些具有控制功能的字符(往往不会显示出来,0-31位)。
在平常使用中,我们不需要全盘背诵,只需会查找即可,以下为最好进行记忆的数据:
- 字符A~Z的ASCII码值从65~90
- 字符a~z的ASCII码值从97~122
- 注:对应大小写字符(a和A)的ASCII码值的差值为32
- 数字字符ASCII码值从48~57
- 换行\n的ASCII码值为10
- 在这些字符ASCII码值中0~31这32个字符是不可以打印的字符,无法打印在屏幕上观察
对于不可打印字符具体功能可参考:ASCII码对照表,ASCII码一览表(非常详细) - C语言中文网
示例:
- 单个字符的打印可以用%c(字符型的占位符)来指定格式:
#include <stdio.h>
int main()
{
//此代码揭示了字符的本质为整型
printf("%c\n",'Q');
printf("%c\n",81);//此处的81对应Q的ASCII码值,也是可以正常打印Q的
return 0;
}
2. 可打印字符展示:
#include <stdio.h>
int main ()
{
int i = 0;
for (i = 32 ; i <= 127 ; i++)
{
printf ("%c ",i);
if (15 == i % 16)
printf("\n");//每16个字符进行换行
}
return 0;
}