特殊字符
C语言 字符总结
1.ASCII码
计算机采用最广泛的字符集及其编码,是由美国国家标准局(ANSI)制定的ASCII码(American Standard Code for Information Interchange,美国标准信息交换码)。
第0~32号及第127号(共34个)是控制字符或通讯专用字符,如控制符:LF(换行)、CR(回车)、FF(换页)、DEL(删除)、BEL(振铃)等;通讯专用字符:SOH(文头)、EOT(文尾)、ACK(确认)等;
第33~126号(共94个)是字符,其中第48~57号为0~9十个阿拉伯数字;65~90号为26个大写英文字母,97~122号为26个小写英文字母,其余为一些标点符号、运算符号等。(第128~255号为扩展字符)
2. 奇偶校验
主要用于校验代码传输正确性。根据被传输的一组二进制代码的数位中“1”的个数是奇数或偶数来进行校验。通常专门设置一个奇偶校验位,用它使这组代码中“1”的个数为奇数或偶数,从而确定传输代码的正确性。
3. 计算机中采用二进制补码存储数据,即正数编码不变,而负数需要把除符号位以后的部分取反加1。
3.常量后缀 L或l 长整型 U或u 无符号数 F或f 浮点数
4.数据类型转换
不同数据类型的数据进行运算时,数据向数据长度增加的方向进行,以保证精度不降低。
非安全转换: 当较长类型转换为较短类型,超出其能表示的范围,其结果无意义。如不超出,则会降低精度。
浮点向整数转换,直接取整,不4舍5入。
浮点数未定义取模运算,两整数相除,结果直接取整。
5.格式字符
表示输出类型的格式字符 格式字符意义
d 以十进制形式输出带符号整数(正数不输出符号)
o 以八进制形式输出无符号整数(不输出前缀O)
x 以十六进制形式输出无符号整数(不输出前缀OX)
u 以十进制形式输出无符号整数
f 以小数形式输出单、双精度实数
e 以指数形式输出单、双精度实数
g 以%f%e中较短的输出宽度输出单、双精度实数
c 输出单个字符
s 输出字符串
标志字符为-、+、#、空格四种,其意义下表所示:
标志格式字符 标 志 意 义
- 结果左对齐,右边填空格
+ 输出符号(正号或负号)空格输出值为正时冠以空格,为负时冠以负号
# 对c,s,d,u类无影响;对o类, 在输出时加前
缀o 对x类,在输出时加前缀0x;对e,g,f 类当结果有小数时才给出小数点
格式字符串的一般形式为: %[*][输入数据宽度][长度]类型 其中有方括号[]的项为任选项。
6. 转义字符
转义字符是一种特殊的字符常量。转义字符以反斜线”\”开头,后跟一个或几个字符。转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符。例如,在前面各例题printf函数的格式串中用到的“\n”就是一个转义字符,其意义是“回车换行”。转义字符主要用来表示那些用一般字符不便于表示的控制代码。
常用的转义字符及其含义
转义字符 转义字符的意义
\n 回车换行 \t 横向跳格 \r回车
\\ 反斜线符”\”
\’ 单引号符
\0 空字符
\ddd 1~3位八进制数所代表的字符
\xhh 1~2位十六进制数所代表的字符
广义地讲,C语言字符集中的任何一个字符均可用转义字符来表示。表2.2中的\ddd和\xhh正是为此而提出的。ddd和hh分别为八进制和十六进制的ASCII代码。如\101表示字‘A’ ,\102表示‘B’,\134表示反斜线,\XOA表示换行等。