本节主要介绍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. STM32F0308开发环境的选择--CooCox CoIDE篇

    STM32的开发环境有很多总,官方手册也提供了IAR Embedded Workbench.MDK-ARM和TrueSTUDIO这3种.今天我试用了CooCox CoIDE,是免费的集成开发环境,同T ...

  2. 传输层之TCP

    ---恢复内容开始--- 坞无尘水槛清,相思迢递隔重城. 秋阴不散霜飞晚,留得枯荷听雨声.    --李商隐 上一篇中我们了解了socket编程是基于TCP或者UDP,所以我们有必要对TCP,和UDP ...

  3. strcpy,memcpy,内存块重叠

    前段时间准备面试,看了一些库函数的实现,在看到memcpy时,发现有处理source和destination所指内存有重叠的情况,而strcpy没有,特别模仿库函数写了这个函数,并进行了测试.以下是具 ...

  4. 3 weekend110的job提交的逻辑及YARN框架的技术机制 + MR程序的几种提交运行模式

    途径1: 途径2: 途径3: 成功! 由此,可以好好比较下,途径1和途径2 和途径3 的区别. 现在,来玩玩weekend110的joba提交的逻辑之源码跟踪 原来如此,weekend110的job提 ...

  5. UVA 6199 不定根最小树形图

    首先是最小树形图的介绍. 看这个博客.最小树形图 上面介绍的很详细了,我就讲一下这道题的题意. 首先给出一些二维点坐标,这些坐标之间构成一些有向图,根据题意,假设两个点a(x1 ,y1) ,b(x2 ...

  6. 一、两种方式初始化Mybatis

    一.xml Configuration.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTY ...

  7. SQL 主键和外键约束

    SQL的主键和外键的作用: 外键取值规则:空值或参照的主键值. (1)插入非空值时,如果主键表中没有这个值,则不能插入. (2)更新时,不能改为主键表中没有的值. (3)删除主键表记录时,你可以在建外 ...

  8. servlet中web.xml配置

    常见的Servlet中url-pattren的配置 1.固定配置, 如:/hi 引入通配符 * 2.以"/XXX"开头,以"*"结尾 3.以"*&qu ...

  9. LabSharp莱博夏普简介

    莱博夏普提供实验室信息化解决方案,为实验室提供LIMS系统建设方案咨询,并为中小型LIMS系统供应商提供系统解决方案咨询.

  10. UVa 567: Risk

    这是一道很简单的图论题,只要使用宽度优先搜索(BFS)标记节点间距离即可. 我的解题代码如下: #include <iostream> #include <cstdio> #i ...