Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103717757
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: C/C++

2008-04-20 16:51:45

作者:    

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定义为浮点数。

阅读(703) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~