1、算术运算符:+—*/%

%要求参与运算的两个量必须是整型或字符型的,实型(float,double等)的数据不能做%运算。

算术表达式

运算符和数据可以组成运算的式子,称为表达式。举例:10+20    (a*2)/b   (x+r)*8-(a+b)/10   5

单个的常量、变量、函数也可作为是表达式的特例。

C语言的表达式写法还有一些讲究,下面都是错误的表达式:2ab  等。表达式中的乘号(*)是不能省略的。

C语言中,表达式的大、中、小括号都要用小括号()表示。

用单引号或双引号引起来的内容不是运算符或表达式,例如'+'不是运算符,它们是字符型常量;“10+20”也不是表达式,他是包含5个字符的字符串常量。

表达式是没有分号的,如果在表达式后添加了分号,就构成表达式语句,后者可被计算机执行。

表达式都有一个值和类型。例如表达式1+1的运算结果是2,2就是这个表达式的值。表达式的类型就是结果值的类型,即2的类型,所以该表达式的类型也是int型的。

算术运算时,两个量类型不一致的允许参与运算,运算结果的类型与其中较高类型量的类型一致。(在计算表达式时,参与运算的两个数的类型有可能一致,也有可能不一致;一致时,与两个量的类型一样。不一致运算结果的类型与高类型一致。数据类型由低到高的顺序依次为:char-int-float-double)例如:3.4+3结果为6.4

注意:运算的结果可能超出变量所能表示的数值范围。

自动类型转换有两种。

强制类型转换:

强制类型转换的写法是在“量”前加“带括号的类型说明符”:(类型说明符)表达式。其功能是把表达式的运算结果强制转换为“类型说明符”所说明的类型。举例:(int)3.8;/3

c语言规定类型说明符必须用括号括起来。“量”加与不加括号在语法上都正确,但效果不同:举例:

float  x=4.5,y=2.1;则:(int)(x+y)值为6,先求和为6.6,在将和转换为int型的6.

(int)x+y 值为6.1,先把x转换为int型的值为4,然后在求和为6.1.

赋值(=):将值送入变量保存。

赋值表达式:在C语言中,=也被认为是运算符,成为赋值运算符。c语言规定赋值表达式的值为赋值后左边变量的新值,赋值表达式的类型与左边变量的类型相同。举例:赋值表达式a=1的值是1赋值表达式b=10+20式子的值是30,赋值表达式c=a+1,,该赋值表达式的值是2,这三个表达式值的类型都是整型。

注意:int x=y=25;错误:变量定义时赋初值不允许连等。连等只能出现在执行语句中。也就是说有int、float、double、char等类型说明词时不允许连等,没有这些类型说明词就允许连等。

复合赋值运算:+=  -=  *=  /=  %=

逗号运算:

c语言中逗号(,)也是一种运算符,称逗号运算符。逗号可以把多个表达式连接起来。表达式1,表达式2,表达式3;

它的作用是依次从左到右分别计算各个表达式的值;以最后一个表达式(上例为表达式3)的值作为整个逗号表达式的值。逗号运算符优先级最低。

++ 、--自增运算符、自减运算符

++ 、--的运算符的优先级仅次于括号()。

++、--与数据同样可以组成表达式。

单独作为一个语句时,i++;和++i;是一样的,都是使i自增1,i--;和--i;也是一样的,都是使i自减1,没有什么区别,但在表达式中,数据位于左、右就有区别了。

设i=5;j=10;规定表达式i++的值为i被+1之前的值,所以表达式i++的值为5.但在计算表达式后,变量i的值要变为6。规定++i的值为i被+1之后的值,即6.也就是说,++i这个表达式的值为6,在计算后变量i的值也为6.

C语言为运算表达式添加括号,读书笔记-c语言-运算符与表达式相关推荐

  1. R语言ggplot2移除图例_读书笔记:R语言绘图—ggplot2

    这次给大家带来的是R语言绘图神器-ggplot2绘图包,根据Hadley的说法,这个包的核心思想,是来源于 Leland Wilkinson<The Grammar of Graphics> ...

  2. Unix朝代歌《精通Unix下C语言编程与项目实践》读书笔记(7)

      文章试读  <精通Unix下C语言编程与项目实践>读书笔记(new) <精通Unix下C语言编程与项目实践>文章试读 第1回 回评论读者展迷茫,出<笔记>浪子释 ...

  3. 每天一道LeetCode-----对表达式添加括号并求值,返回所有可能的计算结果

    Different Ways to Add Parentheses 原题链接Different Ways to Add Parentheses 给出一个只有加,减,乘运算的表达式,要求在这个表达式中添 ...

  4. c语言字母表关键字,读书笔记-C语言关键字

    001 关键字 C语言一共32个关键字 1. 声明和定义 在开始认识关键字前,必须要明白什么是声明,什么事定义: 定义:(编译器)创建一个对象,为这个对象分配一段内存并给他取上一个名字.在一个作用域内 ...

  5. 笔记整理1----Java语言基础(一)01 变量与数据类型+02 运算符与表达式+03 条件判断与循环语句+04 JAVA数组+05 函数与方法

    01 变量与数据类型+02 运算符与表达式+03 条件判断与循环语句+04 JAVA数组+05 函数与方法 第01天 java基础知识 今日内容介绍  Java概述.helloworld案例  工 ...

  6. 【读书笔记】语言基础- Lua语言入门(一)

    目录 注:本系列为<Lua程序设计-第4版> 的读书笔记,其中的见解有不完善的地方,可以在评论区指出,原版请看图书 Lua运行环境 一. 使用Lua语言解释器运行Lua语言:(下面的实例以 ...

  7. 【Python 自然语言处理 第二版】读书笔记1:语言处理与Python

    文章目录 前言 语言处理与Python 一.语言计算:文本和单词 1.NLTK入门 (1)安装(nltk.nltk.book) (2)搜索文本 (3)词汇计数 2.列表与字符串 (1)列表操作 (2) ...

  8. 好语言,就该善用它——《C++语言的设计与演化》读书笔记

    C++真是让人又爱又恨的语言之一.很多人都说C++功能强大,其实很多时候他们都是足够幸运的,没有遇到太多需要用代码杂技解决的需求,或者没有亲身维护太多充满"高技巧"的代码的项目.我 ...

  9. [读书笔记]C语言函数调用过程

    *** 本文是<老码识途>第一章的读书笔记 *** 函数调用 例子代码如下所示: int Add(int x, int y) {int sum;sum = x + y;return sum ...

最新文章

  1. AJAX学习基础:简单介绍数据岛使用方法
  2. 学习正点原子讲解FreeRTOS中断管理心得和cortex-M3权威指南笔记
  3. 我看360与酷派的“爱情”之争
  4. Html 垂直滚动条 定位到 指定位置
  5. 2021年《职业防治法》宣传周活动资料海报挂图及职业病知识小手册等
  6. 按键精灵找图找色找字比色等图色命令失败的通用解决思路
  7. Layui Table格式化日期(表格)
  8. 动作捕捉系统用于下肢外骨骼开发
  9. EtherCAT从站协议栈代码笔记之ecat_def.h
  10. Codeforces Round #727 (Div. 2) A~D题
  11. 如何使用宝塔搭建个人网站
  12. unity摄影机depth模式_Unity3d摄像机详解
  13. 《架构师修炼之道》读书笔记之五:换位思考
  14. 流水线-流水线相关计算
  15. docker 安装Oracle12 (absolutapps/oracle-12c-ee )(无废话版)---------------(六)
  16. 巧用canvas实现画板功能,使用画笔在图片上涂画,橡皮擦可擦除涂画,并保存
  17. 通达信指标转python_通达信转python
  18. 电脑不能正常连接网络常见问题解决方法
  19. 自制WordPress响应式主题-9IPHP 上线了~~
  20. Photoshop CS6自学(五)图片编辑

热门文章

  1. matlab2c使用c++实现matlab函数系列教程-polyder函数
  2. zynq开发系列2:GPIO连接MIO控制LED闪烁(SDK端代码编写详解)
  3. 汇编三星题:已知数组A包含20个互不相等的字型整数,数组B包含30个互不相等的字型整数,试编制一程序把在A中而不在B中出现的整数放于数组C中。
  4. 笔记:UITextView内容垂直居中方法
  5. python3,判断,循环练习1
  6. 【Unity3D基础教程】给初学者看的Unity教程(一):GameObject,Compoent,Time,Input,Physics...
  7. (转)Mahout Kmeans Clustering 学习
  8. [转载] Python程序输入一个字符串并查找总数的大写和小写字母
  9. [转载] Python 3.x | 史上最详解的 导入(import)
  10. [转载] Java为什么不允许覆盖静态方法?