Linux 版 (精华区)
发信人: netiscpu (夜☆星光点点☆), 信区: Linux
标 题: ◇ 星星流讲座 0008
发信站: 紫 丁 香 (Sun Nov 8 18:24:51 1998), 转信
寄信人: guest.bbs@hgluo.hust.edu.cn
标 题: ◇ 星星流讲座 0008
发信站: 华南理工大学 BBS木棉站
日 期: Thu Feb 20 14:40:22 1997
发信人: ax.bbs@bbs.ee.nthu.edu.tw. (athena), 信区: test
标 题: 星星流讲座 0008
发信站: ☆清华电机☆ (Fri May 5 22:37:48 1995)
;35m第 3 讲 之 1 字元
Topic: Charactersm
电脑除了用来处理数值方面的资料之外,它也被广泛地应用於处理文字
方面的资料。C 语言提供了字元 char 这个型态供我们储存文字资料之
用,m每一个 char 型态的变数可以储存一个英文字元0m。请看下面的□例
程式:
/* char.c */
#include <stdio.h>
main ()
{
char a, b;
a = 'a';
b = 0x65;
printf ("%c %c\n", a, b);
}
执行结果:
a e
上面的程式中示□了两种给定字元初值的方法,第一种方法是直接把英文
字母用单引号 ' 括起来,然後指定给 char 型态的变数;第二种方法是给
定这个字母的 ASCII 码。程式中 printf 的参数变成 %c ,眼尖的读者
应该发现了,%c 是指定 printf 显示字元用的。
在电脑中有某些特殊字元是没有办法在萤幕上显示出来的,有某些字元如
单引号 ' 和倒斜线 \ 在 C 语言中有特殊的意义,如果我们想要储存这
种字元那要怎麽办呢? C 语言提供了逸出序列 (escape sequence) 作为
一种变通的解决方法,表列如下:
原来的字元 在 C 语言中的表示方法 注解
beep \a
倒退 \b backspace key
跳页 \f form feed
换行 \n line feed
印字头归位 \r carriage return
水平 tab \t horizontal tab
垂直 tab \v vertical tab
倒斜线 \ \\ backslash
问号 ? \? question mark
单引号 ' \' single quote
双引号 " \" double quote
\ooo octal ASCII code
\xhh hex ASCII code
逸出序列用在什麽时候呢?像上列的表中,beep、倒退、跳页、换行、印
字头归位、水平 tab 和垂直 tab 是无法写在程式中的字元 (因为会直接
反应在你的萤幕、喇叭和印表机上),这时候可以用逸出序列来代替,一个
很直接的例子就是我们一直用在 printf 中的 \n,它就是代表换行的字元。
另外如倒斜线、单引号、双引号、问号是在 C 语言中有特殊意义的符号,
为了避免混淆,当要显示这些符号时必须使用逸出序列。
逸出序列的最後有两个比较奇特的东西,我们在此稍做说明:我们知道 ASCII
码一共有 128 个字元,所以只要使用 7 个 bit 就可以储存了,而 ASCII
的标准是每个字元以 8 个 bit 储存,多出来的 1 bit 保留。那麽,一个
字元的 ASCII 码就可以用三位数的八进位数字来表示 (如 e = \145),也可
以用两位数的十六进位数字来表示 (如 e = \x65),当要用来表示一些奇怪
的字元时就可以派的上用场了。
--
本文原作者为徐振家,原作刊载於星星神教总坛 ☆清华电机☆ test 板。
你可以以电子文件的形式将本文自由流传於台湾学术网路,但必须包含此版权声明。
原作者依中华民国著作权法之规定,享有本文之著作权,请勿抄袭以免触法。
未经授权任何人不得以任何形式对本文做任何修改及商业上之应用。
其他网路的转载或其他用途的应用,请先知会作者,并取得其同意。
对本文有任何疑问或意见请 mail 给 ax.bbs@bbs.ee.nthu.edu.tw,谢谢。
--
m;32m※ 转寄:.华南网木棉站 bbs.gznet.edu.cn.[FROM: mtlab.hit.edu.cn]
--
Enjoy Linux!
-----It's FREE!-----
※ 来源:.紫 丁 香 bbs.hit.edu.cn.[FROM: mtlab.hit.edu.cn]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.886毫秒