一、基本运算符

(1)赋值运算符:=

  • a=2002;    //将值2002赋给变量a,动作从右到左
  • 赋值运算左边必须指向一个存储位置(变量名——指针)

(2)加法、减法运算符:+、—(二元或双目运算符)

  • printf("%d",4+20);
  • 被加的值(操作数)可以是变量也可以是常量

(3)符号运算符:+和—(一元)

  • a=-12;b=-a;    //把值12赋给b.(只需要一个操作数)

(4)乘法运算符:*

  • cm=2.54*inch;//用2.54的值乘以变量inch,然后将结果赋给cm.

(5)除法运算符:/

  • for=12.0/3.0;   //左边的值被右边的值除,把值4.0赋给for
  • 截尾:整数除法小数部分被丢弃。5/4的结果是1.(C99趋零截尾)
  • 混合类型:运算之前将整数转化为浮点数

(6)取模运算符:%

  • 用于整数运算,对浮点数运算无效
  • a%b=a-(a/b)*b
  • 取模运算的结果符号与第一个操作数的符号一致

(7)增量和减量运算符:++和——(只影响一个变量)

  • 前缀和后缀模式的区别在于值的改变这一动作发生的准确时间是不同的。
  • a++:先使用a,然后将它的增加;++a:先将a的值增加,然后再使用它。
  • shoe=3.0;while(shoe<10){...++shoe;}和shoe=2.0;while(++shoe<9){...}等价。
  • 替换方式b=++i;  ### ++i;b=i;//如果第一行使用了i++,b的结果仍然相同。

(8)sizeof运算符和size_t类型:#、sizeof以字节为单位返回操作数的大小。#、允许为一个类型创建一个别名(typedef double  real;real a;//用real替代dobule)。
二、优先级

  • ()>+-(一元运算符)>*/%>+-(二元运算符)>=    +、-(一元)和=结合性从右向左。
  • y=6*12+5*20;除了两个运算符共享一个操作数的情况以外,C不保证复杂表达式的哪个部分首先被求值。
  • y=2;n=3;nextnum=(y+n++)*6;     //nexnum=(2+3)*6=5*6=30;n=4;

三.表达式和语句

(1)表达式:表达式是运算符和操作数的组合,在C里每个表达式都有一个值。5>3(值为1),{6+(c=3+8)}#值为17。

(2)语句:用分号标识。

  • a=4是一个表达式,a=4;是一条语句。
  • int a=0,b  (如果从声明语句里去掉一个;则他既不是表达式也不具有一个值。
  • 副作用和顺序点。states=50;这个表达式的副作用是把变量states的值改变为50。语句里的分号标志了一个顺序点。
  • 复合语句用{};整个符合语句被认为是一个语句。缩排对编译器不起作用。

四、类型转换

  • 提升和降级(包含两种数据类型的运算中,两个值被转换成两种类型里较高的的级别),提升是平滑的无损害过程,降级会出现错误。
  • 避免自动类型转换特别是降级。
  • 指派运算符:【mice=1.6+1.7;//mice=3.3】【mice=(int)1.6+(int)1.7;//mice=2】

【C-运算符】的更多相关文章

  1. shell运算符

    原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用. expr 是一款表达式计算工具,使用它能完成表达式的求值操作. #!/bin/bash v ...

  2. SQL Server-聚焦APPLY运算符(二十七)

    前言 其实有些新的特性在SQL Server早就已经出现过,但是若非系统的去学习数据库你会发现在实际项目中别人的SQL其实是比较复杂的,其实利用新的SQL Server语法会更加方便和简洁,从本节开始 ...

  3. java中的移位运算符:<<,>>,>>>总结

    java中有三种移位运算符 <<      :     左移运算符,num << 1,相当于num乘以2 >>      :     右移运算符,num >& ...

  4. 我的MYSQL学习心得(五) 运算符

    我的MYSQL学习心得(五) 运算符 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据 ...

  5. .NET 基础 一步步 一幕幕[运算符、占位符、转义符]

      运算符.占位符.转义符 好吧,在五局全胜之后,终于升到了三个钻,距离一个星星还有一大段距离,忽然想起来今天的博客还没写,果断坑队友,来写博客了....感觉以后还是每天更新一篇比较好.要不晚上就该熬 ...

  6. ECMASCript2015 提案 stage-3的对象展开运算符

    看源码时看到如下的代码 export default { //通过mapActions将actions映射到methods里 methods: { ...mapActions([ 'updateSta ...

  7. JavaScript权威设计--JavaScript表达式与运算符,语句(简要学习笔记六)

    1.delete是一元操作符,用来删除对象属性或者元素. var a={ x:1, y:2 } delete a.x; //删除x属性 “x”in a //false:a对象中已经不存在x属性 ale ...

  8. JavaScript权威设计--JavaScript表达式与运算符(简要学习笔记五)

    1.3种原始表达式     1.直接量:    1.23    //数字直接量                         “hello”    //字符串直接量                 ...

  9. LINQ to SQL语句(18)之运算符转换

    运算符转换 1.AsEnumerable:将类型转换为泛型 IEnumerable 使用 AsEnumerable<TSource> 可返回类型化为泛型 IEnumerable 的参数.在 ...

  10. El表达式的关系运算符

    El表达式的关系运算符: ==  对应  eq !=   对应  ne >    对应  gt <    对应  It

随机推荐

  1. oracle函数应用

    ----Oracle中的函数 oracle中函数的分类: --第一种:日期函数 --第二种: 字符函数 --第三种: 数学函数 --第四种: 转换函数 --第五种: 分析函数 ------------ ...

  2. CODE[VS] 1230 元素查找

    1.题目戳这里 2.代码: #include<iostream> #include<algorithm> using namespace std; int n,m,a[1000 ...

  3. 关于在gridview中有dorpdownlist的情况下使用自带编辑模板的方法

    今天记录一下在gridview中,如果有dropdownlist的情况下使用gridview自带编辑模式的方法. 好吧,今天的这个问题有点绕,详细解释一下目的. 因为gridview中的某些列的数据是 ...

  4. Ajax用法总结

    ajax:      AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术.      AJAX ...

  5. OOP之C#设计及其UML(反向工程)

    现在总结一下C#类关键字(virtual.abstract.override.new.sealed)的使用(以C#代码体现),并再次熟悉一下OOP思想,使用UML工具EA(Enterprise Arc ...

  6. Apache htpasswd命令用法详解

    一. 基础 htpasswd建立和更新存储用户名.密码的文本文件, 用于对HTTP用户的basic认证. # /usr/local/apache/bin/htpasswd –help Usage: h ...

  7. 服务器Linux系统安全维护基础知识介绍

    事先规划好Linux操作系统的分区 Linux操作系统的分区规划跟微软操作系统的分区规划不同.后者分区规划对于其性能的影响很小.但是Linux操作系统的分区规划则不同,其对服务器的性能影响很大.其实我 ...

  8. jvm 原理和优化

    在csdn 上看到的,觉得很好,收藏了: 原博文地址: 濤子 http://blog.csdn.net/ning109314/article/details/10411495/ JVM工作原理和特点主 ...

  9. 接收新信息,在会话中看不到(thread表数据插入/更新失败)

    分析原因:收到短信,sms表插入信息,触发器会自动更新thread表,更新失败导致一直有一条未读信息数量显示,但在会话列表中却看不到. (偶现,低概率. 解决方法:接收新信息插入后,立即查询threa ...

  10. 注册表信息(安装包ProductCode,设置启动运行)

    一.获取安装包ProductCode后,再获取安装包DisplayVersion,比对安装包版本,确定是否更新当前应用(重新下载安装包,并运行安装包) //获取当前应用程序的安装包的ProductCo ...