找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1843|回复: 0
打印 上一主题 下一主题
收起左侧

C语言教程(4)-运算符

[复制链接]
跳转到指定楼层
楼主
ID:99082 发表于 2015-12-10 03:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
--运算符归纳:


在编程中我们总要有些数据需要处理,C语言提供了大量的操作。可以进行算术计算、比较值的大小、修改变量、逻辑地组合关系等等。

在下面为大家用一个表格归纳常用的运算符:


--基本运算符:


赋值运算符:=

符号=不表示“相等”,而是一个赋值运算符。

i=2000;//语句将数值2000赋给名字i

符号=的左边是一个变量名,右边是赋给该变量的值。符号=被称为赋值运算符。要注意不要把“i=2000;”这个语句读作“i等于2000”,请一定务必读作“把数值2000赋值给变量i”

i=i+1;//给一个有限数加1

上边的语句在数学上是没有任何意义的。但是作为计算机赋值语句,它却是很合理的。它意味着“找到名字为i的变量的值,对那个值加1,然后将这个新的赋值给名字为i的变量”

加法运算符:+

加法运算符是使得在“+”两侧的值被加到一起,例如

i=i+1;//给一个有限数加1

减法运算符:-

减法运算符从它前面的数减去它后面的数,例如

i=i-1;//给一个有限数减1

符号运算符:-

符号运算符就是数学里边的“—”负号。

a=-2;//把-2赋值给变量a

乘法运算符:*

乘法由符号*表示。语句:

a=2*a;

除法运算符:/

C语言使用符号/来表示除法。“/”左边的数值被它右边的数值除。例如

a=a/12;

但是这里需要注意的是:整数型数值除法运算和浮点型数值除法运算有很大的不同。浮点型数值除法运算会得出一个浮点型的结果。那么自然啦,整数型数值除法运算会得出一个整数型的整数结果。整数型不能有小数部分,这使得5除以3很让人头疼,因为结果有小数部分。那咋办呢?整数除法结果的小数部分都被丢弃,这个过程被称为“截尾”。

取模运算符:%

取模运算符用于整数运算。该运算符计算出用它右边的整数去除它左边整数得到的余数。不要以为这个运算符是只供数学家使用的深奥工具,它是实际上我们非常常用常见的用途帮助你控制程序的流程。加入你存入一串字符串,但你只能按照要求每8个字节存一次,对存入的字符数进行除以8的取模(num%8)操作并检验结果是不是0。

增量和减量运算符:++、——

增量运算符完成简单的任务,即将其操作数的值增加1.这个运算符以两种方式出现。

在第一种方式中,++出现在它作用的变量的前面,这是前缀模式。

a=++a;//前缀:使用a的值之后改变a

在第二种方式中,++出现在它的作用的变量后面,这是后缀模式

a=a++;//后缀:使用b的值之前改变a

当然,之前我在不太熟练的情况下也使用下面不太精致的形式:

a=a+1;

但是,这个程序给别人看的时候,没有人会相信你是一个熟练的C程序员。


--基本位运算:


位运算:

在嵌入式的应用中,需要与各种字节、字双字,也就是以8位、16位、32位长为单位的寄存器打交道。

位移运算:<<、>>

<<在每次左移操作时,高位被舍,称之为溢出,低位被自动补入0。每次左移高位都会溢出,只是不关心0溢出,而在意1的溢出。

>>在每次右移操作时,高位自动补0,低位被舍弃。

左移一位相当于该数被乘以2,左移n位相当于该数乘以2的n次方。右移一位相当于该数除以2,右移n位,相当于该数除以2的n次方

按位与运算:&

参与按位与运算(&)的两个运算数,从低位开始,对齐每一位,逐位进行与操作运算只有当对应位上的数据都为1时,该位的结果为1,否则为0。

按位或运算:|

参与按位或运算(|)的两个运算数,从低位开始,对齐每一位,逐位进行与操作运算,当对应位的数据有一个数据位1时,该结果为1,只有都为0时才为0。
以下是本系列教程文章列表:欢迎大家踊跃讨论,有问题可在51黑论坛回帖提出.


C语言基础教程(1):http://www.51hei.com/bbs/dpj-41177-1.html
C语言教程(2)-关键字 变量:http://www.51hei.com/bbs/dpj-41178-1.html
C语言教程(3)-控制语句:http://www.51hei.com/bbs/dpj-41179-1.html
C语言教程(4)-运算符:http://www.51hei.com/bbs/dpj-41180-1.html
C语言教程(5)-函数:http://www.51hei.com/bbs/dpj-41181-1.html
C语言教程(6)-数组与函数指针:http://www.51hei.com/bbs/dpj-41182-1.html

51单片机教程:http://www.51hei.com/bbs/mcu-xuexi-1.html
STM32教程:http://www.51hei.com/bbs/dpj-41167-1.html

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表