算数运算符和算数表达式

基本算数运算符

算数运算符:

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

双目运算符:

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

转换规则:

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种位运算符

位运算的相关说明

操作数个数:

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

操作数类型:

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

注意事项:

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

常见题型与易错题

相关推荐
艾莉丝努力练剑2 分钟前
【Linux:文件】文件基础IO进阶
linux·运维·服务器·c语言·网络·c++·centos
程序猿编码14 分钟前
基于ncurses的TCP连接可视化与重置工具:原理与实现(C/C++代码实现)
linux·c语言·网络·c++·tcp/ip
nunca_te_rindas17 分钟前
算法刷体小结汇总(C/C++)20260328
c语言·c++·算法
是翔仔呐2 小时前
第10章 串口通信USART全解:轮询/中断/DMA三种收发模式与上位机通信实战
c语言·开发语言·stm32·单片机·嵌入式硬件·学习·gitee
计算机安禾2 小时前
【数据结构与算法】第12篇:栈(二):链式栈与括号匹配问题
c语言·数据结构·c++·学习·算法·visual studio code·visual studio
AI科技星3 小时前
基于v≡c光速螺旋理论的正确性证明:严格遵循科学方法论的完整路径
c语言·开发语言·人工智能·线性代数·算法·机器学习·数学建模
潜创微科技--高清音视频芯片方案开发11 小时前
2026年C转DP芯片方案深度分析:从适配场景到成本性能的优选指南
c语言·开发语言
青桔柠薯片12 小时前
从C语言到裸机运行:i.MX6ULL 的 GPIO 控制与编译链接过程分析
c语言·开发语言·imx6ull
xiaobobo333013 小时前
c语言结构体相关箭头运算符和点号运算符的联系以及c语言的“索引”思想
c语言·箭头运算符·点号运算符·索引思想
weixin_5375904513 小时前
《C程序设计语言》练习答案(练习1-13)
c语言·开发语言·c#