C语言之基本运算和流程控制


C语言一共有34种运算符,包括了常见的加减乘除运算

一、运算符的分类

主要分为三类:算术运算符,关系运算符,逻辑运算符

运算符根据参与运算数分为:

单目运算:只有一个运算数参与运算;i++

双目运算:有两个运算数参与;a++,b++

三木运算:c中唯一的,问号表达式

1. 算数运算符

1> 加法运算 +

除开能做加法运算,还能表示正号:+5+90

2> 减法运算 -

除开能做减法运算,还能表示符号:-10-29

3> 乘法运算 *

注意符号,不是x,而是*

4> 除法运算 /

注意符号,不是÷,也不是\,而是/

整数除于整数,还是整数。1/2的值是0,这个并不是二分之一

5> 取余运算%

  • 什么是取余:两个整数相除之后的余数
  • %两侧只能是整数
  • 正负性取决于%左侧的数值


6. 注意点

1> 自动类型转换

int a = 10.6;

int b = 10.5 + 1.7;

自动将大类型转换为了小类型,会丢失精度

2> 自动类型提升

int b = 10.5 + 10;

将右边的10提升为了double类型

double b = 1.0 / 2;

解决除法的精度问题

3> 强制类型转换

double a = (double)1 / 2;

double b = (double)(1 / 2);

4> 运算顺序

表达式:

  结合性(结合方向):2+3+4

优先级:5+4*8-3

2.赋值运算符:

1> 简单赋值

int a = 10 + 5;  //  先运算等号右边10+5=15,然后将15赋值给a;

a = b = 10;  //  运算过程是 将10 赋值给 b,然后再讲b=10赋值给a

  等号左边不能是常量,比如10 = 11;

2.>复合赋值

复加减乘除余:a += 4 + 5; //  a = a + 4 + 5

             3> 注意:

如果赋值运算符两边的数据类型不相同,系统将自动进行类型转换,即把赋值号右边的类型换成左边的类型。

总结如下:

  • 实型赋予整型,舍去小数部分。
  • 整型赋予实型,数值不变,但将以浮点形式存放,即增加小数部分(小数部分的值为0)。
  • 字符型赋予整型,由于字符型为一个字节,而整型为二个字节,故将字符的ASCII码值放到整型量的低八位中,高八位为0。整型赋予字符型,只把低八位赋予字符量。

3. 逻辑运算符:

1> &&逻辑与运算符

2> ||逻辑或运算符

3> !逻辑非运算符

测试运算结果为真,显示‘1’,为假,显示‘0‘

4. 关系运算符:

1. <小于运算符

2. >大与运算符

3. <=小于等于运算符

4. >=大于等于运算符

5. ==等于运算符

6. !=不等于运算符

二、 流程控制

流程控制分为以下三种结构

顺序结构:默认的流程结构。按照书写顺序执行每一条语句。

选择结构:对给定的条件进行判断,再根据判断结果来决定执行哪一段代码。

循环结构:在给定条件成立的情况下,反复执行某一段代码。

1. 选择结构

if的几种结构

1. if的第1种结构

 if(条件)
  {
    语句1;
    语句2;
    ......
  }
  2. if的第2种结构
  if(条件1)
  {
     语句1;
     语句2;
     ......
  } 
  else
 {
 }
 
  3. if的第3种结构
  if(条件1)
  {
     语句1;
      语句2;
      ......
  }
  else if(条件2)
  {
  }
  else if(条件3)
  {
  }
  else if(条件4)
  {
  }
  else 
  {
  }
 4. if的第4种结构
  if (条件)
   语句1;

if语句举例:


posted @ 2014-12-03 09:42  ishizhen  阅读(216)  评论(0编辑  收藏  举报