数据对象,左值,右值,操作数。
       数据对象:指数据存储区术语,数据存储区用于保存值。例如:用于保存变量或数组的数据存储区是一个数据对象。
       左值:指用于一个特定的数据对象的名字或表达示。例如:变量的名字是一个左值。所以对象指的是实际的数据存储,但是左值用于标识或定位那个存储区的标识符。
       右值:指用于能赋给可修改的左值的量。
       操作数:运算符操作的对象
//5-3.c ---三重赋值
#include <stdio.h>
int main (void)
{
       int a , b , c ;
       a = b = c = 68;
       printf ("                    a        b         c\n");
       printf ("First round score %4d %8d %8d\n",a,b,c);
       return 0 ;
}
       加法运算符:+
加法运算符:使得它两侧的值被加到一起。被加的值可是常量也可是变量
如:a = b + 10;使计算机查找右边的两个值,将它们加起来,最后将这个和赋值给a;
       减法运算符:-
减法运算符:从它前面的数中减去它后面的数
       符号运算符 + (正号)和 –(负号)
负号可以用于指示或改变一个值的代数符号。
正号不改变它的操作数的值或符号:它只是使您不能使用a = + 12;这样赋值语句。
       乘法运算符:*
乘法由符号*表示,如 a = 2 * b; 用2乘以变量b,然后将结果赋值给a
C没有计算平方的函数,但是可以用乘法来计算平方。
 
//---5-4.c 产生前20个整数的平方表
#include <stdio.h>
int main (void)
{
       int num = 1;
       while (num < 21)
       {
              printf ("%4d %6d \n",num ,num * num);
              num = num + 1;
       }
       return 0 ;
}
 
 
 
指数增长
在8×8的国际象棋的棋盘上,第一格放一粒米,第二格放二粒米,第三格放四粒米,第四格放八粒米,以此类推,后一格放的米粒的数量是前一格的两倍。请编写一个程序,求共需要几粒米
// 5-5.c------- 棋盘上的米粒
#include <stdio.h>
#define ZGZ 64 //棋盘上的格子数
int main (void)
 
{
    double  gm = 1; //第一格米粒数
       int gz = 1; //格子
       double mz = 1 ; // 总米数
       while (gz < ZGZ)
       {
              gm = 2 * gm;
              mz = mz + gm;
              gz = gz + 1;
       }
       printf ("米粒总数为:%.0f最后一格的米粒数为:%.0f格字数为:%d \n",mz,gm,gz);
}
 
 
除法运算符: /
       C使用符号/来表示除法,/左边的值被右边的值除(/左边的值除以/右边的值)
整数除法运算与浮点数除法运算不同之处:因为整数没有小数点所以它会丢弃小数部,是丢弃而不是得出与结果最近的四舍五入的整数,这个过程我们称为截尾。而浮点数的结果则会得到一个更精确的结果。当整数与浮点数混合时编译器会先将整数转换成浮点数在进行除法运算所得的结果也为浮点型。
 
// 5-6.c ------我们所知的除法
#include <stdio.h>
int main (void)
{
       printf ("integer division:5/4 is %d \n",5/4);
       printf ("integer division:6/3 is %d \n",6/3);
       printf ("integer division:7/4 is %d \n",7/4);
       printf ("integer division:7./4. is %1.2f \n",7./4.);
       printf ("integer division:7./4 is %1.2f \n",7./4); //运行时出错
       return 0 ;
}
运算符的优先级
      当一条语句里有多个运算符时,我们就需要一条规则既运算符的优先级,将一个优先级赋予每一个运算符,然后按照规则的顺序进行求值。当优先级相同或者共享一个操作数时:会根据它们在语句里出现在顺序执行它们,对于大多数的运算符这个顺序是从左到右的(=符号除外)
//   5-7.c ---优先级规则的试验
#include <stdio.h>
int main (void)
{
       int a,b;
       a = b = -(2 + 5) * 6 +(4 + 3* (2 + 3));
       printf ("a = %d\n",a);
       return 0 ;
}