一篇文章带你了解C语言操作符

 更新时间:2021年08月31日 16:57:48   作者:不言511  
指令系统的每一条指令都有一个操作符,它表示该指令应进行什么样性质的操作,不同的指令用操作符这个字段的不同编码来表示,每个编码代表一种指令,这篇文章主要给大家介绍了关于C语言中操作符的相关资料,需要的朋友可以参考下

一、操作符分类

C语言的操作符有很多,我这里将其分为十类,然后再对每一类中的操作符进行详细讲解。

1、算术操作符

2、移位操作符

3、位操作符

4、赋值操作符

5、单目操作符

6、关系操作符

7、逻辑操作符

8、条件操作符

9、逗号表达式

10、其它操作符

 二、算术操作符

1、这五个操作符分别是加、减、乘、除、求余。

2、对于 / 操作符如果两个操作数都为整数,执行整数除法。而只要有浮点数执行的就是浮点数除 法。

3、除了 % 操作符之外,其他的几个操作符可以作用于整数和浮点数。% 操作符的两个操作数必须为整数,返回的是整除之后的余数。

三、移位操作符

左移操作符和右移操作符操作的对象都是二进制数。

1、左移操作符

左移操作符的移位规则是:左边抛弃,右边补0。

 但是num没有被赋值的情况下,自身的值不会发生变化

 2、右移操作符

右移操作符移位规则有两种:

2.1算术移位

左边用原该值的符号位填充,右边丢弃

 

 2.2逻辑移位

左边用0填充,右边丢弃

 注意: 对于移位运算符,不要移动负数位,这个是标准未定义的。

 四、位操作符

 1、按位与

 2、按位或

3、按位异或

 4、一道练习题

不能创建临时变量(第三个变量),实现两个数的交换

 

两个相同的数异或为0.

 五、赋值操作符

1、赋值操作符(=)是一个很棒的操作符,他可以让你得到一个你之前不满意的值。也就是你可以对其重新赋值。

 2、赋值操作符可以连续使用

 3、复合赋值符

 这些运算符都可以写成复合的效果。

例如:

六、单目操作符

 1、逻辑反操作

加上!与之形成相反的逻辑,例如=,加上!变为不等于。一个非零的值加上!输出为0。

 2、取地址

 3、sizeof

sizeof可以计算操作数的类型长度(以字节为单位)

 4、++和--运算符

 4.1前置++和--

 4.2后置++和--

 七、关系操作符

 这些关系运算符比较简单,没什么可讲的,但是我们要注意一些运算符使用时候的陷阱。

要注意: 在编程的过程中== 和=不小心写错,导致的错误。

八、逻辑操作符

&&     逻辑与

||        逻辑或 

这里要注意区分逻辑与和按位与 、逻辑或和按位或。

 逻辑与和或的特点:

当a=0,0&&任何数都为0,已经确定结果,后面的算式不再计算

 

 九、条件操作符

exp1 ? exp2 : exp3

 上面两种写法的逻辑是相同的。

十、逗号表达式

exp1, exp2, exp3, …expN

逗号表达式,就是用逗号隔开的多个表达式。

逗号表达式,从左向右依次执行。整个表达式的结果是最后一个表达式的结果。

 十一、其它操作符

1.下标引用操作符[ ]

操作数是一个数组名 + 一个索引值

2.函数调用操作符( )

接受一个或者多个操作数:第一个操作数是函数名,剩余的操作数就是传递给函数的参数。

3.访问一个结构的成员

      .        结构体.成员名

      ->     结构体指针->成员名

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!

相关文章

  • 详解C语言中的指针与数组的定义与使用

    详解C语言中的指针与数组的定义与使用

    这篇文章主要介绍了C语言中的指针与数组的定义与使用,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-12-12
  • C语言中的fscanf()函数与vfscanf()函数使用

    C语言中的fscanf()函数与vfscanf()函数使用

    这篇文章主要介绍了C语言中的fscanf()函数与vfscanf()函数使用,是C语言入门学习中的基础知识,需要的朋友可以参考下
    2015-08-08
  • 查找算法之二分查找的C++实现

    查找算法之二分查找的C++实现

    今天小编就为大家分享一篇关于查找算法之二分查找的C++实现,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • Qt实现导出QTableWidget/QTableView数据

    Qt实现导出QTableWidget/QTableView数据

    这篇文章主要介绍了在Qt中实现将QTableWidget或者QTableView中的数据直接导出的示例代码,文中的示例代码讲解详细,感兴趣的可以了解一下
    2022-01-01
  • C++实现学生信息管理系统(Map实现)

    C++实现学生信息管理系统(Map实现)

    这篇文章主要为大家详细介绍了C++实现学生信息管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-06-06
  • C++获取文件大小的4种常见技巧分享

    C++获取文件大小的4种常见技巧分享

    这篇文章主要介绍了C++获取文件大小的4种常见技巧分享,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • c++隐式类型转换存在的问题解析

    c++隐式类型转换存在的问题解析

    隐式转换,是指不需要用户干预,编译器私下进行的类型转换行为,很多时候用户都不知道具体进行了哪些转换,这篇文章主要介绍了c++隐式类型转换存在的陷阱,需要的朋友可以参考下
    2022-03-03
  • C语言实现手写红黑树的示例代码

    C语言实现手写红黑树的示例代码

    红黑树在表意上就是一棵每个节点带有颜色的二叉搜索树,并通过对节点颜色的控制,使该二叉搜索树达到尽量平衡的状态。本文主将用C语言实现手写红黑树,需要的可以参考一下
    2022-09-09
  • C++深入探究引用的本质与意义

    C++深入探究引用的本质与意义

    引用是C++一个很重要的特性,顾名思义是某一个变量或对象的别名,对引用的操作与对其所绑定的变量或对象的操作完全等价,这篇文章主要给大家总结介绍了C++中引用的相关知识点,需要的朋友可以参考下
    2022-04-04
  • C++中智能指针最常用的shared_ptr和unique_ptr

    C++中智能指针最常用的shared_ptr和unique_ptr

    C++中的智能指针最常用的是shared_ptr和unique_ptr,C++新手最常问的问题是我从一个函数中拿到unique_ptr,但要转成shared_ptr才能使用,要怎么转换?同理是否能将shared_ptr转换成unique_ptr,面对这些问题,跟随小编一起看看吧
    2022-08-08

最新评论