目录

  • 1 C语言的介绍
    • 1.1 C语言的简单介绍及历史背景
    • 1.2 C语言的特点
    • 1.3 C语言程序的结构分析案例
    • 1.4 C语言程序的结构
    • 1.5 C语言程序的规范
    • 1.6 运行C语言程序的步骤和方法
  • 2 数据类型、运算符与表达式
    • 2.1 C语言的数据类型
    • 2.2 浮点型数据
    • 2.3 变量赋初值
    • 2.4 算数运算符和算数表达式
  • 3 最简单的C程序设计——顺序程序设计
    • 3.1 顺序程序设计
    • 3.2 数据的输入与输出
  • 4 选择结构程序设计
    • 4.1 关系运算符和关系表达式
    • 4.2 逻辑运算符和逻辑表达式
    • 4.3 if语句
    • 4.4 switch语句
  • 5 函数
    • 5.1 函数概念及无参函数的定义
    • 5.2 有参函数的定义
    • 5.3 函数的参数
    • 5.4 函数的返回值及调用
  • 6 循环控制
    • 6.1 While语句及Do...While语句
    • 6.2 用For语句实现循环
    • 6.3 For语句的几点说明
    • 6.4 循环的嵌套
  • 7 数组
    • 7.1 数组及一维数组的定义
    • 7.2 一维数组的引用与初始化
    • 7.3 二维数组
    • 7.4 字符数组
算数运算符和算数表达式

 

 

 

 

 C语言的运算符范围很宽、类型丰富,除了控制语句和输入输出以外,几乎所有基本操作都作为运算符处理。

认识运算符,就要掌握每一种运算符号的 功能、优先级、结合性

C的算术运算符有三类:

   1.  基本算术运算符

   2.  强制类型转换运算符

   3.  自增、自减运算符

 

 

 

基本算术运算符有五个: + (加)   -  (减)  * (乘)    / (除)     % (求余)
注意事项:

1. “ % ” 运算符号的运算对象必须为整型数据 ,如 7%3;

2. 两个整数相除取整数(向零取整);

3.参加+、-、*和/运算的两个数中有一个为实数或双精度数,则结果必为double型。

例如:2. 5%3 会出错          2/3的结果为0
                 5/4的结果为1            (-5)/4的结果为-1

优先级: 在括号和单目运算符之后

如:       a-b*c相当于a-(b*c)

结合性:  左结合性(自左向右)

当一个运算对象两侧的运算符的优先级相同时,要考虑其结合性。 

如:       a-b+c      48+56%7/2*8

如果一个运算符的两侧的数据类型不同,先自动进行类型转换,使两者具有同一个类型,然后进行运算。

 

 

 

强制类型转换运算符为单目运算符,使用的形式为:      (类型名)(转换对象)
功能:将数据类型进行强制转换。

如:    (double)a      (int)(x+y)    (float)(5%3)

注意事项:(1)类型名一定要用括号括起来。

               (2)在进行强制类型转换时,得到一个所需类型的中间量,原来变量的类型和值都不变。

 

 

 

运算符:++(自增)    - -(自减)

功能:使变量的值自增1或自减1(常用于循环语句中)。

++i, - -i  (在使用i之前,先使i的值加1(减1))

i++, i- - (在使用i之后,使i的值加1(减1))

优先级:单目运算符,优先级仅次于括号类。

结合性:自右向左,具有“右结合性”。

1、自增运算符(++)和自减运算符(--)只能用于变量,不能用于常量或表达式,如:5++或(a+b)++都是不合法的。

2、自增运算符(++)和自减运算符(--)很容易出现一些歧义性和搞混的问题,如:i的原值为3,下列表达式的值是多少?
        (i++)+(i++)+(i++)    

有的系统得12,有的系统得9;i的值为6。

 3、在一个表达式中相邻出现两种运算符时,如:i+++j,是理解为(i++)+j呢?还是理解为i+(++j)呢?C编译系统将其解释为(i++)+ 

 

 

 

 算术表达式:用算术运算符号将运算对象按C语言的语法规则连接起来的式子叫做算术表达式。

运算对象:常量、变量、表达式、函数均可以做运算对象。