本节主要介绍c语言中运算符。

运算符主要分为四类:

1、算术运算符

加(+),减(-),乘(*),除(/),取余(%,两数相除,得到余数)

2、关系运算符

3、逻辑运算符

4、换位运算符

下面将依次介绍运算符。

1、算术运算符:

//加(+):让两个操作数相加得到它们的和。
//例如:
int num = ;
int num1 = ;
//int sum = num+num1;printf("num+num1=%d \n",sum );
printf("num+num1=%d \n",num+num1);
//减(-):让两个操作数相减得到它们的差。
//例如:
int num = ;
int num1 = ;
//int poor = num-num1;printf("num-num1=%d \n",poor );
printf("num-num1=%d \n",num-num1);
//乘(*):让两个操作数相乘得到它们的积。
//例如:
int num = ;
int num1 = ;
//int product = num*num1;printf("num*num1=%d \n",product );
printf("num*num1=%d \n",num*num1);
//除(/):让两个操作数相除得到它们的商。
//注意:除号(/)两边的数字如果都是整数的时候,相除所得的结果一定是整数。当有任意一个数字为浮点数的时候,结果也一定是浮点数,运算结果是double还是float是根据浮
//点数据类型来确定的;如果0作除数的表达式两边都是常量,运行时不会报错,其运算结果是垃圾值;若0作除数,两边任意一方为变量,运行时会报错。
//例如:
int num = ;
int num1 = ;
//int quotients = num/num1;printf("num/num1=%d \n",quotients );
printf("num/num1=%d \n",num*num1);
    
//取余(%):让两个操作数相除得到它们的余数。浮点数不能取余。
//注意:取余结果的的正负性,取决于左边操作数的正负性。
//例如:
int num = ;
int num1 = ;
//int remains= num/num1;printf("num/num1=%d \n",remains);
printf("num%num1=%d \n",num%num1);
//预算法则:先乘除,后加减,有括号的先算括号里面的,如果同级,就从左到右一次运算。
 //加等(+=):在原值的基础上进行加一个值的操作。例如:
int num = ;
num+=;
printf("num=%d \n",num);
//减等(-=):在原值的基础上进行减一个值的操作。例如:
int num = ;
num -= ;
printf("num=%d \n",num);
//乘等(*=):在原值的基础上进行乘一个值的操作。例如:
int num = ;
num *= ;
printf("num=%d \n",num);
//除等(/=):在原值的基础上进行除一个值的操作。
//注意:除号(/)两边的数字如果都是整数的时候,相除所得的结果一定是整数。当有任意一个数字为浮点数的时候,结果也一定是浮点数,运算结果是double还是float是根据浮
//点数据类型来确定的;如果0作除数的表达式两边都是常量,运行时不会报错,其运算结果是垃圾值;若0作除数,两边任意一方为变量,运行时会报错。
//例如:
int num = ;
num /= ;
printf("num=%d \n",num);
//余等(%=):在原值的基础上进行余一个值的操作。浮点数不能进行取余操作。
//注意:取余结果的的正负性,取决于左边操作数的正负性。
//例如:
int num = ;
num %= ;
printf("num=%d \n",num);
//自增(++):在原来基础上+1。例如:
int num = ;
num++;
printf("num=%d",num);
//注意:当printf("num=%d",num++);这种写法时,程序会先打印之后才会执行++;当printf("num=%d",++num);这种写法时,程序会先执行++之后才会打印 //自减(--):在原来基础上-1。例如:
int num = ;
num--;
printf("num=%d",num);
//注意:当printf("num=%d",num--);这种写法时,程序会先打印之后才会执行--;当printf("num=%d",--num);这种写法时,程序会先执行--之后才会打印 //前缀++/--和后缀++/--的区别:
//前缀:先自增/自减之后在参与运算
//后缀:先拿自身的值参与运算,后自增/自减
//不管如何,都会执行++/--;

扩展一个逗号表达式:

//逗号运算符:英文的逗号  ,
//逗号运算式:(表达式1,表达式2,.......表达式n);
//执行方式:会从表达式1执行到表达式n,但是只会取最后一个表达式的值为最终结果。
//例如:
int num1= ;
int num2 =;
int sum = (,,,,,num1+num2,num1*num2);
printf("sum = %d \n" ,sum)//最终输出 2

c语言学习之基础知识点介绍(四):算术运算符和逗号表达式的更多相关文章

  1. c语言学习之基础知识点介绍(三):scanf函数

    本节继续介绍c语言的基础知识点. scanf函数:用来接收用户输入的数据. 语法:scanf("格式化控制符",地址列表); 取地址要用到取地址符:&(shift+7) 例 ...

  2. c语言学习之基础知识点介绍(二):格式化控制符和变量的补充

    上节简单介绍了c语言中的一些基础知识点,本节将对之前介绍的不够详细的知识点进行补充. 格式化控制符的消息介绍: %d的其他控制符: 1.%md:m代表这个整数位占用多少位,m是一个整数.实际数字不足的 ...

  3. c语言学习之基础知识点介绍(五):关系运算式和逻辑运算式

    本节主要说关系运算式和逻辑运算式. 一.关系运算式 1.等于(==):判断左边的表达式是否等于右边的表达式 2.大于(>):判断左边的表达式是否大于右边的表达式 3.大于等于(>=):判断 ...

  4. oc语言学习之基础知识点介绍(四):方法的重写、多态以及self、super的介绍

    一.方法重写 /* 重写:当子类继承了父类的方法时,如果觉得父类的方法不适合,那么可以对这个方法进行重新实现,那么这个就重写. 注意:也就是说,一定只能发生在父类和子类关系中. 然后是子类重新实现父类 ...

  5. c语言学习之基础知识点介绍(十四):指针的进阶

    一.指针的加.减法运算 /* 1.加法运算 1).可以跟整数进行加法运算,得到的还是一个地址 公式: 地址 + 1 = 地址 + 1 * 类型所占的字节数 地址 + n = 地址 + n * 类型所占 ...

  6. oc语言学习之基础知识点介绍(五):OC进阶

    一.点语法介绍 /* 以前封装后,要给属性赋值,必须调用方法 这样做,有两个缺点: 1.代码量多,调用方法要写的东西多. 2.看起来并不像是给属性赋值,也不像取值. 我们用点语法就可以更好的解决! 点 ...

  7. oc语言学习之基础知识点介绍(二):类和对象的进一步介绍

    一.类.对象在内存中的存储 /* 内存分区: 栈:局部变量 堆:程序员自己写代码申请开辟的 程序员自己维护,编译器现在帮我们自动优化了,它在合适的给我们加上了释放空间的语句,所以我们现在写的对象不会造 ...

  8. c语言学习之基础知识点介绍(十一):字符串的介绍、使用

    本节主要介绍c语言中的字符串的应用. 一:字符串介绍 因为c语言中没有像Java.C#那样的字符串类型,所以无法直接用字符串.需要借助数组来解决这个问题. /* 定义:把多个字符连在一起就叫字符串.但 ...

  9. c语言学习之基础知识点介绍(七):循环结构

    本节主要介绍循环结构 一.while循环 /* 语法: while(表达式){ //循环体; } 注意:循环变量.循环条件和循环控制语句三者缺一不可. 例如: */ ; //循环变量 ){ //循环条 ...

随机推荐

  1. Node.js权威指南 (12) - Node.js中的其他模块

    12.1 使用dns模块解析域名 / 313 12.1.1 使用resolve方法将域名解析为DNS记录 / 313 12.1.2 使用lookup方法查询IP地址 / 315 12.1.3 使用re ...

  2. HDU 5937 Equation 【DFS+剪枝】 (2016年中国大学生程序设计竞赛(杭州))

    Equation Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total S ...

  3. 关于vim打开中文文件出现乱码问题

    中文字符编码问题. 在你的vi配置文件(~/.vimrc)里面添加一行: set fileencodings=ucs-bom,utf-8,cp936,gb18030,latin1 意思是让vim从 这 ...

  4. CAS协议 - CAS URIs

    http://desert3.iteye.com/blog/1703449 2.CAS URIs:  CAS是一个基于HTTP的协议,这就要求其每一个组成部分可以通过特定的URIs访问到.所有相关的U ...

  5. Can't connect to MySQL server on localhost (10061)解决方法

    出现这种错误的原因是由于MySQL的服务被关闭的原因,重新启动一下服务就可以了,启动服务的操作如下: 右键[计算机]-[管理]

  6. <s:form action="login"...与<s:form action = "login.action".的区别

    1.<s:form action="login" namespace="/login"> 它表示的是<form id="login& ...

  7. 《Linux内核设计与实现》学习笔记之“Linux进程管理机制”

    一.进程(或者称为“任务”)简介 进程是OS最基本的抽象之一,通常进程包括“可执行程序代码”,“其他资源”(如:打开的文件,挂起的信号,内核内部数据,处理器状态,地址空间,一个或多个执行线程等) 二. ...

  8. Linux kernel驱动相关抽象概念及其实现 之“bus,device,driver”

    bus,device,driver三个很重要的概念贯穿Linux内核驱动架构,特转载一篇博文: (转载自http://blog.csdn.net/gdt_a20/article/details/642 ...

  9. 单表扫描,MySQL索引选择不正确 并 详细解析OPTIMIZER_TRACE格式

    单表扫描,MySQL索引选择不正确 并 详细解析OPTIMIZER_TRACE格式     一 表结构如下:  万行 CREATE TABLE t_audit_operate_log (  Fid b ...

  10. 编写跨平台代码之memory alignment

    编写网络包(存储在堆上)转换程序时,在hp-ux机器上运行时会遇到 si_code: 1 - BUS_ADRALN - Invalid address alignment. Please refer ...