6. C 语言 -- 运算符

本文介绍了C语言中的算术运算符、关系运算符和逻辑运算符。算术运算符包括加减乘除及取余,关系运算符用于比较大小,逻辑运算符涉及短路求值。文章通过实例解释了运算符的用法,包括类型转换、运算优先级和结合性,并提醒读者注意不同类型的混合运算中编译器的类型转换规则。
摘要由CSDN通过智能技术生成

本博客主要内容为 “小甲鱼” 视频课程《带你学C带你飞》【第一季】 学习笔记,文章的主题内容均来自该课程,在这里仅作学习交流。在文章中可能出现一些错误或者不准确的地方,如发现请积极指出,十分感谢。
也欢迎大家一起讨论交流,如果你觉得这篇文章对你有所帮助,记得评论、点赞哦 ~(。・∀・)ノ゙

  C 语言通过提供大量的运算符来支持我们对数据进行处理,例如将一个值存放到变量中,使用的是赋值运算符(=);对字符串中的某个字符进行索引,使用方括号([])作为下标运算符实现。本篇博文将主要介绍算术运算符关系运算符逻辑运算符这三种运算符。

1 . 算术运算符

  算术运算符就是做加减乘除运算的运算符了,常见的运算符有如下这些
在这里插入图片描述
其中有三点需要注意:
  (1) 整数间的除法采用的是取整的方式,而不是四舍五入的方式,如 5/3 = 1
  (2) 浮点数间的除法则能获得一个相对逼近结果的值,如5.0/3.0 = 1.666667
  (3) 求余运算符要求 % 两边的操作数都要是整数,其结果也是整数。

1.1 什么是 “目”

  在上面的表格中有的运算符是双目运算符,有的运算符是单目运算符,那什么是 “目” 呢?如下图所示

其中的加号就是运算符,被运算符作用的运算对象称之为操作数,比如 1 + 2,那么 1 和 2 就是被加法运算符(+)作用的两个操作数。我们说一个运算符是双目运算符还是单目运算符,就是看它有多少个操作数。所以很明显,除了正负号运算符,剩下的都是单目运算符。

1.2 表达式

  用运算符和括号将操作数连接起来的式子,我们称之为表达式。比如说1+2'a' + 'b'1 + 2 + -1 - 9%5,这些都是表达式。

  对于较为复杂的表达式我们应该考虑运算符的优先级和结合性,大部分的运算符和我们的认识一致,比如先乘除后加减,有括号的先算括号内的。但是也会有一些较为特殊的运算符需要我们注意下计算的顺序,这里我们给出一个参考,可以快速查看运算符号的优先级。顺便在这里我也安利下我常用的方法,很简单!就是遇到不确定的优先级直接用括号把想优先计算的括起来~

1.3 类型转换

  当一个运算符的几个操作数类型不同时,编译器需要将它们转换为共同的某种数据类型,才能进行运算。通常情况下,编译器会将占内存比较小的操作数,先转换为与占内存较大的操作数的相同类型,然后再进行运算。这样做的目的就是为了确保计算的精确度。

  除了编译器帮你自动转换不同类型的操作数之外,C 语言还允许你强制转换操作数的数据类型。做法就是在操作数的前边用小括号将目标数据类型括起来。

1.4 举例说明

  第一个程序是关于运算优先级的示例

#include <stdio.h>
#include <math.h>

int main()
{
   
	int i, j, k;

	i = 1 + 2;
	j = 1 + 2 * 3;
	k = i + j + -1 + pow(2, 3); // 3 + 7 + (-1) + 8

	printf("i = %d\n", i);
	printf("j = %d\n", j
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值