5. 运算符
Turbo C的运算符非常丰富, 主要分为三大类: 算术运算符, 关系运算符与
逻辑运算符, 按位运算符。除此之外, 还有一些用于完成特殊任务的运算符。下
面分别进行介绍。
5.1 算术运算符
Turbo C的算术运算符如下:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
操作符 作用
────────────────────────────
+ 加, 一目取正
- 减, 一目取负
* 乘
/ 除
% 取模
-- 减1
++ 加1
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
一、一目和二目操作
一目操作是指对一个操作数进行操作。例如: -a是对a进行一目负操作。
二目操作(或多目操作)是指两个操作数(或多个操作数)进行操作。
在Turbo C中加、减、乘、除、取模的运算与其它高级语言相同。需要注意
的是除法和取模运算。
例如:
15/2 是15除以2商的整数部分7
15%2 是15除以2的余数部分1
对于取模运算符"%", 不能用于浮点数。
另外, 由于Turbo C中字符型数会自动地转换成整型数, 因此字符型数也可
以参加二目运算。
例如:
main()
{
char m, n; /*定义字符型变量*/
m='c'; /*给m赋小写字母'c'*/
n=m+'A'-'a'; /*将c中的小写字母变成大写字母'B'后赋给n*/
...
}
上例中m='c'即m=98, 由于字母A和a的ASCII码值分别为65和97。这样可以将
小写字母变成大写字母, 反之, 如果要将大写字母变成小写字母, 则用c+ 'a'
-'A'进行计算。
二、增量运算
在Turbo C中有两个很有用的运算符, 在其它高级语言中通常没有。这两个
运算符就是增1和减1运算符"++"和"--", 运算符"++"是操作数加1, 而"--" 则是
操作数减1。
例如:
x=x+1 可写成x++, 或++x
x=x-1 可写成x--, 或--x
x++(x--)与++x(--x)在上例中没有什么区别, 但x=m++和x=++m却有很大差别。
x=m++ 表示将m的值赋给x后, m加1。
x=++m 表示m先加1后, 再将新值赋给x。
三、赋值语句中的数据类型转换
类型转换是指不同类型的变量混用时的类型改变。
在赋值语句中, 类型转换规则是:
等号右边的值转换为等号左边变量所属的类型。
例如:
main()
{
int i, j; /*定义整型变量*/
float f, g=2.58; /*定义浮点型变量*/
f=i*j; /*i与j的乘积是整型数, 被转换成为浮点数赋给f*/
i=g; /*g中的浮点型数转换成为整型数赋给i*/
...
}
由于Turbo C按上述数据类型转换规则, 因此在作除法运算时应特别注意。
例如:
main()
{
float f;
int i=15;
f=i/2;
}
上面程序经运行后, f=7并不等于准确值7.5。正确的程序应该是:
main()
{
float f;
int i=15;
f=i/2.0;
}
也可直接将i定义为浮点数。