BBS水木清华站∶精华区

发信人: ax.bbs@bbs.ee.nthu.edu.tw. (athena), 信区: test 
标  题: 星星流讲座 0005 
发信站: ☆清华电机☆ (Wed May  3 18:27:07 1995) 
 
 
第 2 讲 之 2            Arithmetic Operations 
                        Topic: 数值的运算 
 
现在我们来看看如何作数值的运算,请看下面的□例程式: 
 
/* arop.c */ 
/* Arithmetic Operations */ 
 
#include <stdio.h> 
 
main () 

    int a, b, c; 
 
    a = 4; 
    b = -3; 
    c = a / b; 
 
    printf ("%d\n", a + b); 
    printf ("%d %d %d %d\n", a - b, a * b, c, a % b); 

 
它的执行结果如下: 
 

7 -12 -1 1 
 
我们现在来看看这个程式。首先又是 #include <stdio.h> 这个编译指示, 
这是因为我们如果要使用 printf 这个函数的话,就必须含入 stdio.h 这个 
标头档,详细的情形留待讨论函数时再说明。 
 
接下来我们宣告了三个变数 a, b, c,它们的型态是有号整数。C 语言提供 
了几个基本的运算子 (operator) 供数值运算使用: 
 
        *       乘 (multiply) 
        /       除 (divide) 
        %       求馀数 (modulo) 
        +       加 (add) 
                正号 (plus sign) 
        -       减 (subtract) 
                负号 (minus sign) 
        ()      括号 (parenthesis) 
 
比较值得注意的是 C 语言并没有求次方的运算子,想求 x 的 y 次方必须叫 
用标准函式库,而不能直接写成 x^y。 
 
我们仔细观察上面的程式,首先看到 
 
printf ("%d\n", a + b); 
 
这一行,它的意思就是把 a + b 显示在萤幕上,然後把游标移动到下一行的开头。 
printf 的用法是: 
 
printf (format string, expression, expression ....); 
 
格式 (format string) 是一个字串 (string),现在你只要记得 "%d\n" 是显示一个 
整数,"%d %d %d\n" 是显示三个整数就可以了 (当然,相信聪明的你知道要怎麽显 
示两个整数 ^_^ ),每一个 %d 依次序对应到後面运算式 (expression) 的运算结果。 
 
所以我们现在可以知道 7 -12 -1 1 分别对应到 a - b, a * b, a / b, a % b。你 
也许会觉得奇怪,a / b 应该是 -4/3 = -1.3333 才对呀,为什麽会显示 -1 呢?这 
是因为我们用一个整数型态的变数 c 来存 a / b 的结果,当你用整数型态的变数来 
存浮点数时,小数点以後的数字会被无条件舍去。 
 
-- 
本文原作者为徐振家,原作刊载於星星神教总坛 ☆清华电机☆ test 板。 
你可以以电子文件的形式将本文自由流传於台湾学术网路,但必须包含此版权声明。 
原作者依中华民国著作权法之规定,享有本文之著作权,请勿抄袭以免触法。 
未经授权任何人不得以任何形式对本文做任何修改及商业上之应用。 
其他网路的转载或其他用途的应用,请先知会作者,并取得其同意。 
对本文有任何疑问或意见请 mail 给 ax.bbs@bbs.ee.nthu.edu.tw,谢谢。 
 
 

BBS水木清华站∶精华区