📄 00000001.htm
字号:
<HTML><HEAD> <TITLE>BBS水木清华站∶精华区</TITLE></HEAD><BODY><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER>发信人: <A HREF="mailto:ax.bbs@bbs.ee.nthu.edu.tw.">ax.bbs@bbs.ee.nthu.edu.tw.</A> (athena), 信区: test <BR>标 题: 星星流讲座 0004 <BR>发信站: ☆清华电机☆ (Tue May 2 22:07:07 1995) <BR> <BR> <BR>第 2 讲 之 1 Arithmetic Operations <BR> Topic: 数值型态 <BR> <BR>在 C 语言中,我们表示一个数的方法有两种。第一种方法就是直接 <BR>写出这个数,我们叫它做立即值 (immediate value),例如 3、5.5 <BR>这些都叫做立即值,也就是你可以直接看出值的量 (quantity)。 <BR> <BR>第二种方法就是设定一个变数 (variable),这个变数储存了某个值, <BR>我们经由取用这个变数的程序来得到我们要的值。在 C 语言中,每个 <BR>变数都具有它自己的资料型态 (data type),这是为什麽呢? <BR> <BR>真实世界的数被分成许多的体 (field) 或环 (ring) 或群 (group), <BR>当然,这是像作者这种只学过一点点数学的人的笨分法,学过很多数 <BR>学的人就不会这样儿分了。但是没有关系,因为电脑也很笨,所以电 <BR>脑对於数它只有以下两种二分法: <BR> <BR>第一种分法:有号数和无号数 <BR> <BR> 有号数就是带正负号的数,无号数就是不带正负号的数。 <BR> <BR>第二种分法:整数和浮点数 <BR> <BR> 整数就是不带小数点的数,浮点数就是带小数点的数。 <BR> <BR>C 语言为了表示出电脑里这两种二分法,所以规定所有的变数都必须 <BR>有型态,以便翻译成机器语言给笨笨的电脑去处理。C 语言对於整数 <BR>和浮点数的分法如下所示: <BR> <BR> ┌ 短整数 short <BR> 整数 ┼ 普通整数 int <BR> └ 长整数 long <BR> <BR> ┌ 单精度浮点数 float <BR> 浮点数 ┼ 倍精度浮点数 double <BR> └ 加倍精度浮点数 long double <BR> <BR>为什麽要把整数和浮点数分成这麽多类呢?这是因为要让程式设计者 <BR>能有更多的选择。孟子曰:「鱼与熊掌,不可得兼」,由於电脑硬体 <BR>的限制,如果我们在处理数字时要求比较高的精确度的话,那麽我们 <BR>必须花比较大的空间来存这些数字 (因为位数比较多),同时我们也 <BR>必须花比较长的时间对这些数作算术运算。所以 C 语言提供了各三 <BR>种精确度的整数和浮点数供程式设计师使用。 <BR> <BR>那麽 C 语言是如何表示有号数和无号数的呢?很简单,它的做法就是 <BR>以 unsigned 和 signed 两个修饰子 (modifier) 来区别。 <BR> <BR>那麽在程式中,我要怎麽样使用及设定数值变数呢?首先你必须记住: <BR>任何变数使用前必须先宣告它的资料型态。例如: <BR> <BR>unsigned int a; <BR> <BR>就表示我们宣告了一个变数,它的名字叫做 a,它的型态是无号整数。 <BR>变数的名字不可以是纯数字 (因为会和立即值混淆),不可以含有特殊 <BR>符号 (通常除了底线字元 _ 之外都是不允许的),也不可以是保留字 <BR>(reserved words)。保留字就是像 int、float ... 这些在 C 语言中 <BR>有特殊意义的字,为了避免混淆当然不可以当作变数啦! <BR> <BR>那麽 C 语言有那些保留字呢?请看: <BR> <BR>auto double int struct <BR>break else long switch <BR>case enum register typedef <BR>char extern return union <BR>const float short unsigned <BR>continue for signed void <BR>default goto sizeof volatile <BR>do if static while <BR> <BR>某些编译器会增加下面的保留字: <BR> <BR>asm fortran <BR> <BR>再来请注意的就是 unsigned 它必须放在宣告的最前面,如果你写 <BR> <BR>int unsigned a; <BR> <BR>可能会产生错误 (当然不是绝对,和你的编译器有关,不过没人这样写就是了)。 <BR>C 语言内定数值型态是有号数,也就是说,你写 <BR> <BR>int a; <BR> <BR>和 <BR> <BR>signed int a; <BR> <BR>的意思是相同的。 <BR> <BR>-- <BR>本文原作者为徐振家,原作刊载於星星神教总坛 ☆清华电机☆ test 板。 <BR>你可以以电子文件的形式将本文自由流传於台湾学术网路,但必须包含此版权声明。 <BR>原作者依中华民国著作权法之规定,享有本文之著作权,请勿抄袭以免触法。 <BR>未经授权任何人不得以任何形式对本文做任何修改及商业上之应用。 <BR>其他网路的转载或其他用途的应用,请先知会作者,并取得其同意。 <BR>对本文有任何疑问或意见请 mail 给 <A HREF="mailto:ax.bbs@bbs.ee.nthu.edu.tw,谢谢。">ax.bbs@bbs.ee.nthu.edu.tw,谢谢。</A> <BR> <BR> <BR><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -