第五章:运算符

时间:2021-03-05 23:45:59

基本运算符:

1,赋值运算符:=

   双目运算符,将可修改的左值赋给右边变量。

2,加法和减法运算符:+,-

 双目运算符

3,符号运算符:+,-

  单目运算符

4,乘法运算符:*

  双目运算符

5,除法运算符:/

  双目运算符

优先级和求值顺序

 示例程序:

//14.c--优先级规则的试验

#include<stdio.h>

int main()

{

   int top,score;

   top=score=-(2+5)*6+(4+3*(2+3));

   printf("top =%d\n",top);

   return 0;

 

}

当运算符共享一个操作数时,按照优先级运算,同优先级的按照自左向右的求值顺序计算。

其他运算符

1,取模运算符:%

  双目运算符,只适用于整数,浮点数无效。

 例如:13%5所得值为3

2,增量与减量运算符:++,--

  这种运算符有两种方式,前缀和后缀方式。

 

 

 

//18.c--后缀和前缀

#include<stdio.h>

int main()

{

   int a=1,b=1;

   int aplus,plusb;

   aplus=a++;

   plusb=++b;

   printf("a aplus b plusb \n");

   printf("%1d %5d %5d %5d\n",a,aplus,b,plusb);

   return 0;

}

运行结果:a   aplus   b     plusb

          2     1     2     2

 

  增量和减量具有很高的优先级,只有圆括号比它们的优先级高。

  所以x*y++代表(x)*(y++)而不是(x*y)++,并且(x*y)++无效,(x*y)++并不是一个变量。

while和typedef的简单介绍

格式:while()

    While分为三部分,首先是关键字while,然后是圆括号内的判断语句,最后是满足判断句将要执行的语句(既可以是简单的一个语句,也可以包含在花括号里。

  C具有一个typedef机制,允许为已有的类型创建一个别名。

   例如:typedef double real

使real成为double的一个别名。

   real deal;//使用typedef定义的类型。此时deal为double型变量

 

 

 

表达式和语句

表达式是由运算符和操作数组合构成的。表达式可以很简单,例如:4  就可以是一个表达式,也可以非常复杂。

每个表达式都有一个值

 =的表达式的值与左边变量取得的值相同,所以q=5*2作为一个整体的值为10;表达式q>3呢?这样的关系表达式如果条件为真取得的值为1,如果条件为假取得的值为0;

语句是构造程序的基本成分,在C中,语句用结束处的一个分号标识。

复合语句是用花括号组织起来的两个或者更多的语句,它也被称为一个代码块。