算数运算符和算数表达式

基本算数运算符

算数运算符:

+(加法运算符或正值运算符)、-(减法运算符或负值运算符)、*(乘)、/(除)、%(求余数)

双目运算符:

双目运算符两边的数值类型必须一致才能进行运算,如果不一致,系统要先进性一致性转换,即运算符两边的数值类型向更高级别的一方保持一致

转换规则:

char->short->int->unsigned->long->float->double

数据精度:

所有实数的运算都以双精度方式进行,若是单精度,则需要在尾数后面补0转换为双精度数。

算数表达式和运算符的结合性和优先级

定义:

用算数运算符和括号将运算量连接起来的、符合C语言语法规则的表达式

运算对象:

函数、常量、变量等

可使用多层圆括号,但括号必须配对。运算时由内向外依次计算各表达式的值

对于不同优先级的运算符,按照运算符的优先级由高到低进行运算,若优先级相同,则按照结合方向进行运算

若运算符两侧的操作数类型不同,则先利用自动转换或强制类型转换,然后进行计算。

自加、自减运算符:

作用:

自加运算符"++"使运算变量的值增1,自减运算符"--"使运算变量的值减1

性质:

运算对象是整型或实型变量,但是不能对常量或表达式进行运算。均为单目运算符。

规则:

既可以作为前缀运算符,又可以作为后缀运算符

++i,--i:先使i的值加1或减1,在使用i的值

i++,i--:先使用i的值,再使i的值加1或减1

结合方向:

自左向右

赋值运算符与赋值表达式

"="称作为赋值运算符,作用是将一个数值赋值给一个变量或将一个变量的值赋值给另一个变量,由赋值运算符组成的表达式为赋值表达式

一般形式:

变量名=表达式

注意事项:

赋值运算符的优先级别高于逗号运算符

赋值运算符"="有别于关系运算符"=="

赋值运算符的左侧只能是变量,不能是常量或表达式。右侧可以是表达式,也包括赋值表达式

赋值表达式将最后赋值的值作为最终结果

复合赋值运算符

定义:

在赋值运算符的前面加上其他运算符就构成了符合赋值运算符,包括+=、-+、*=、/=、%=、<<=、>>=、&=、^=、|=

注意事项:

两个符号之间不可以由空格

符合赋值运算符的优先级与赋值运算符的相同

赋值运算中的类型转换

当赋值运算符两侧的类型不一致时,在赋值前系统将自动把右侧表达式求得的数值按照赋值号左边的变量类型进行转换(也可以用强制类型转换的方式)

常见题型与易错题

解析:

由printf输出的数据都隐含右对齐

scanf和printf都是C语言提供的库函数,不是语句

赋值语句时一种执行语句,必须放在函数的可执行部分才行

printf输出数据所占的宽度由系统决定

解析:

++i; --i; 也可以算赋值语句

位运算

C原因呢提供的6种位运算符

位运算的相关说明

操作数个数:

位运算种除了反"~"运算之外,其他所有位运算都是双目运算,要求运算符两侧各有一个操作数。

操作数类型:

位运算的操作数类型只针对整型或字符型数据,不能对实型数据进行位运算操作。

注意事项:

位运算仅作计算,不改变原有变量的值,只有赋值运算和自增自减运算才会改变原有变量的值。

常见题型与易错题

相关推荐
刃神太酷啦28 分钟前
Redis 进阶核心:持久化 (RDB/AOF)、事务与主从复制全解析----《Hello Redis!》(5)
linux·c语言·数据库·c++·redis·缓存·bootstrap
是隼人5 小时前
buuctf-pwn mrctf2020_easy_equation(64位fmt)题解(学习过程持续更新)
c语言·学习·安全·pwn入门·ctf入门
AC赳赳老秦5 小时前
文旅市场公开数据分析:基于 OpenClaw 采集景区客流与门票公示数据,生成区域文旅热度监测报告
java·c语言·python·php·symfony·deepseek·openclaw
HRTOS5 小时前
HRTOS应用示例:信号量机制详解
c语言·人工智能·嵌入式硬件·51单片机
从零开始的嵌入式之旅5 小时前
day36
linux·c语言·经验分享·笔记·嵌入式硬件
HRTOS6 小时前
HRTOS应用示例:Mutex互斥锁机制详解
c语言·单片机·嵌入式硬件·51单片机
Sumerking7 小时前
llc_control.c 专项评审(v3 更新版)
c语言·开发语言·算法·obc
繁星蓝雨7 小时前
C++设计原理———重载(extern “C“的由来、顺序依赖、语义依赖、overload、名称修饰符、对象操作、运算符重载、新增运算符、枚举和布尔类型)
c语言·c++·extern c·overload·重载·语义依赖·顺序依赖
SuperByteMaster8 小时前
编译器将unsigned short 整体提升int和unsigned short 在内存中的分配2byte的理解
c语言
XiaoQiao6669999 小时前
C 语言常用头文件及里面核心函数
c语言·开发语言