逍遥自在学C语言 | 赋值运算符
前言
在C语言中,赋值运算符用于将一个值赋给变量
这个过程分为两个步骤:
- 计算赋值运算符右侧的表达式
- 将结果赋给左侧的变量。
- C语言提供了多个不同的赋值运算符,包括基本的赋值运算符、复合赋值运算符以及条件赋值运算符等

一、人物简介
- 第一位闪亮登场,有请今后会一直教我们C语言的老师 —— 自在。

- 第二位上场的是和我们一起学习的小白程序猿 —— 逍遥。

二、基本赋值运算符
最基本的赋值运算符是等号
=它的作用是将右侧表达式的值赋给左侧变量
例如,下面的语句将整数变量x的值赋为10:
int x;
x = 10;
注意,等号左侧必须是一个变量,不能是常量或表达式。
三、复合赋值运算符
- 复合赋值运算符是一种简写形式,用于将一个表达式和赋值操作合并在一起。
- 常用的复合赋值运算符如下表
| 运算符 | 含义 | 例子 |
|---|---|---|
| += | 加法赋值 | x += 5; // 等价于 x = x + 5; |
| -= | 减法赋值 | x -= 5; // 等价于 x = x - 5; |
| *= | 乘法赋值 | x *= 5; // 等价于 x = x * 5; |
| /= | 除法赋值 | x /= 5; // 等价于 x = x / 5; |
| %= | 取模赋值 | x %= 5; // 等价于 x = x % 5; |
| <<= | 左移位赋值 | x <<= 5; // 等价于 x = x << 5; |
| >>= | 右移位赋值 | x >>= 5; // 等价于 x = x >> 5; |
| &= | 按位与赋值 | x &= 5; // 等价于 x = x & 5; |
| ^= | 按位异或赋值 | x ^= 5; // 等价于 x = x ^ 5; |
| |= | 按位或赋值 | x |= 5; // 等价于 x = x | 5 |
- 例如,下面的语句将变量x的值加上5:
int x;
x += 5;
四、条件赋值运算符
- 条件赋值运算符(?:)是一种特殊的赋值运算符
- 用于根据条件选择赋值的结果,它的语法如下:
表达式1 ? 表达式2 : 表达式3
条件赋值运算符的作用是判断表达式1的值是否为真,如果为真,则返回表达式2的值,否则返回表达式3的值。
例如,下面的语句将变量x的值设置为1或2,具体取决于变量y是否等于0:
int x, y;
x = (y == 0) ? 1 : 2;
- 如果变量y等于0,则x的值为1,否则x的值为2。
五、赋值运算符的类型转换
在进行赋值运算时,C语言会根据赋值运算符两侧的数据类型进行自动类型转换。
如果赋值运算符右侧的表达式的类型和左侧变量的类型不一致,C语言会自动将右侧表达式的值进行类型转换,然后再赋值给左侧变量。
例如,如果将一个浮点数赋给一个整数变量,C语言会自动将浮点数的小数部分截断,并将整数部分赋给整数变量。
#include <stdio.h>
int main() {
float x = 1.25;
int a = 1;
a = a + x;
printf("a = %d\n", a);
return 0;
}
- 运行结果

小结
通过这篇文章,我们学会了
1、基本赋值运算符
2、复合赋值运算符
3、条件赋值运算符
欢迎各位 点赞 收藏 评论,如有错误请留言指正,非常感谢!
逍遥自在学C语言 | 赋值运算符的更多相关文章
- 小C的故事(快速学C语言,,,极速版!)
前几天这篇博客写了太多废话! 删啦~~. 本篇博客只是为chd A协的全嫩小鲜肉入门C语言的预科, 如果你在此处学习C语言, 不幸走火入魔, 小弱概不负责. //请直接随便找个C语言编译器,抄一下下面 ...
- 边看MHA源码边学Perl语言之一开篇
边看MHA源码边学Perl语言之一开篇 自我简介 先简单介绍一下自己,到目前为此我已经做了7年左右的JAVA和3年左右php开发与管理,做java时主要开发物流行业的相关软件,对台湾快递,国际快递,国 ...
- 快看Sample代码,速学Swift语言(1)-语法速览
Swift是苹果推出的一个比较新的语言,它除了借鉴语言如C#.Java等内容外,好像还采用了很多JavaScript脚本里面的一些脚本语法,用起来感觉非常棒,作为一个使用C#多年的技术控,对这种比较超 ...
- 我为什么要学Go语言
# 我为什么要学Go语言 ### 公司的强烈推荐---之前也了解过Go语言并没有觉得有什么了不起,Go能做的其他语言都能做. ### 网上查找学习Go语言的理由---网上大体有两类人,一类说Go是大公 ...
- 为什么学Python语言,只需四步全面了解Python语言
为什么学Python语言,只需四步全面了解Python语言每个时代都会悄悄犒赏会选择的人,Python现在风口的语言Python--第三大主流编程语言Python , 是一种面向对象的解释型计算机程序 ...
- 小朋友学C语言(7)
数组 一.数组简介 C 语言支持数组数据结构,它可以存储一个固定大小的相同类型元素的顺序集合.数组是用来存储一系列数据,但它往往被认为是一系列相同类型的变量. 数组的声明并不是声明一个个单独的变量,比 ...
- 快看Sample代码,速学Swift语言(2)-基础介绍 快看Sample代码,速学Swift语言(1)-语法速览
快看Sample代码,速学Swift语言(2)-基础介绍 Swift语言是一个新的编程语言,用于iOS, macOS, watchOS, 和 tvOS的开发,不过Swift很多部分内容,我们可以从C或 ...
- C语言和C++的应用领域都在哪些?学C语言好,还是学习C++好?
从事嵌入式开发十几年,基本上围绕着这两种编程语言展开,都可以直接操作底层的编程语言,用的越熟练越是感觉工具属性越强.虽然两种编程语言分属于不同的编程思想,用的时间长了觉得差异也不是很大,现在就个人的从 ...
- 从零开始学C语言
从零开始学C语言 @阆苑祁寒 更新时间:2019-09-13 写在前面:本文从一个初学者的角度,给出了对C语言的简单理解.如有谬误,敬请指出! Week1——基本语法 #include <std ...
- 重学C语言
重学C语言 #include <stdio.h> int main() { ; ; printf("I am %d year old.\n",age); printf( ...
随机推荐
- 代理模式_v1
代理模式 概念: 1.真实对象:要被代理的对象 2.代理对象 3.代理模式 : 代理对象代理真实对象,达到增强真实对象功能的作用 实现方式: 1.静态代理:有一个类文件描述代理模式 2.动态代理:在内 ...
- Lombok和MapStruct冲突
Lombok和MapStruct冲突导致无法生成正确的class文件. lombok自动生成getset等冗余代码. MapStruct对象copy.传统的BeanUtils.copy等利用的反射原理 ...
- termux搭建服务器方式
pkg install vim apt update 安装debian系统apt install proot-distroproot-distro install debianproot-distro ...
- iframe页面加载完成为什么还是获取不到里面的dom
iframe页面加载完成为什么还是获取不到里面的dom? 因为Iframe是跨域,跨域的情况下是无法获取到iframe里面的DOM的,即使iframe加载完成,也无法获取到里面的DOM. 有什么方法获 ...
- ffmpeg设置超时时间
使用 -rw_timeout 参数 注意:1.参数单位是微秒,而不是秒.1秒(s)=1000000微秒(μs) 2.参数要放在开流前,否则不会生效 参考资料: FFmpeg命令读取RTMP流如何设 ...
- Web部署
1.项目配置的理解 IDEA 中最重要的各种设置项,就是这个 Project Structre 了,关乎你的项目运行,缺胳膊少腿都不行.最近公司正好也是用之前自己比较熟悉的IDEA而不是Eclipse ...
- Appium--滑动屏幕、不常用API
1.滑动屏幕api #滑动屏幕 size = driver.get_window_size() #获取屏幕大小 width = size.get('width') #宽 height = size.g ...
- 实验六 开源控制器实践——RYU
(一)基本要求 搭建SDN拓扑,协议使用Open Flow 1.0,并连接Ryu控制器,通过Ryu的图形界面查看网络拓扑. 阅读Ryu文档的The First Application一节,运行当中的L ...
- 实验二:Open vSwitch虚拟交换机实践
基础要求提交 a) /home/用户名/学号/lab2/目录下执行ovs-vsctl show命令.以及p0和p1连通性测试的执行结果截图: b) /home/用户名/学号/lab2/目录下开启Min ...
- vue 数组修改 页面无法刷新
saveData: { current: 1, records:[] , total:0}, countSaveMoney:{ bidSuccessMoney:0, saveMoney:0},页面上有 ...