前言

  • 在C语言中,赋值运算符用于将一个值赋给变量

  • 这个过程分为两个步骤:

  1. 计算赋值运算符右侧的表达式
  2. 将结果赋给左侧的变量。
  • 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语言 | 赋值运算符的更多相关文章

  1. 小C的故事(快速学C语言,,,极速版!)

    前几天这篇博客写了太多废话! 删啦~~. 本篇博客只是为chd A协的全嫩小鲜肉入门C语言的预科, 如果你在此处学习C语言, 不幸走火入魔, 小弱概不负责. //请直接随便找个C语言编译器,抄一下下面 ...

  2. 边看MHA源码边学Perl语言之一开篇

    边看MHA源码边学Perl语言之一开篇 自我简介 先简单介绍一下自己,到目前为此我已经做了7年左右的JAVA和3年左右php开发与管理,做java时主要开发物流行业的相关软件,对台湾快递,国际快递,国 ...

  3. 快看Sample代码,速学Swift语言(1)-语法速览

    Swift是苹果推出的一个比较新的语言,它除了借鉴语言如C#.Java等内容外,好像还采用了很多JavaScript脚本里面的一些脚本语法,用起来感觉非常棒,作为一个使用C#多年的技术控,对这种比较超 ...

  4. 我为什么要学Go语言

    # 我为什么要学Go语言 ### 公司的强烈推荐---之前也了解过Go语言并没有觉得有什么了不起,Go能做的其他语言都能做. ### 网上查找学习Go语言的理由---网上大体有两类人,一类说Go是大公 ...

  5. 为什么学Python语言,只需四步全面了解Python语言

    为什么学Python语言,只需四步全面了解Python语言每个时代都会悄悄犒赏会选择的人,Python现在风口的语言Python--第三大主流编程语言Python , 是一种面向对象的解释型计算机程序 ...

  6. 小朋友学C语言(7)

    数组 一.数组简介 C 语言支持数组数据结构,它可以存储一个固定大小的相同类型元素的顺序集合.数组是用来存储一系列数据,但它往往被认为是一系列相同类型的变量. 数组的声明并不是声明一个个单独的变量,比 ...

  7. 快看Sample代码,速学Swift语言(2)-基础介绍 快看Sample代码,速学Swift语言(1)-语法速览

    快看Sample代码,速学Swift语言(2)-基础介绍 Swift语言是一个新的编程语言,用于iOS, macOS, watchOS, 和 tvOS的开发,不过Swift很多部分内容,我们可以从C或 ...

  8. C语言和C++的应用领域都在哪些?学C语言好,还是学习C++好?

    从事嵌入式开发十几年,基本上围绕着这两种编程语言展开,都可以直接操作底层的编程语言,用的越熟练越是感觉工具属性越强.虽然两种编程语言分属于不同的编程思想,用的时间长了觉得差异也不是很大,现在就个人的从 ...

  9. 从零开始学C语言

    从零开始学C语言 @阆苑祁寒 更新时间:2019-09-13 写在前面:本文从一个初学者的角度,给出了对C语言的简单理解.如有谬误,敬请指出! Week1——基本语法 #include <std ...

  10. 重学C语言

    重学C语言 #include <stdio.h> int main() { ; ; printf("I am %d year old.\n",age); printf( ...

随机推荐

  1. white-space: pre-line;的坑

    html模版解析换行 这是字符串 跟标签设置white-space: pre-line: pre兼容ie8,pre-line不兼容ie 6-7 这行文字开头是没有空格的但是还是有很大的空格,代码方法截 ...

  2. Linux挂载U盘报错:mount: unknown filesystem type 'ntfs'

    原因:由于Linux上无法识别NTFS格式的分区的原因 解决方法:安装 ntfs-3g 1.下载:wget https://tuxera.com/opensource/ntfs-3g_ntfsprog ...

  3. Istio思考往前一小步~系列一

    思考起源于现实应用需求,随着微服务理念普及,基础设施从单机到容器到Kubernetes,体验过集群的各种好处之后,我们还缺少什么?为什么还要在kubernetes的基础上部署Istio?个人认为Ist ...

  4. bind、call、apply区别

    bind.call.apply都是用来改变函数内部this指向的方法,使用上仅有细微差别 一.代码 function person(p1, p2, p3) { console.log('this: ' ...

  5. Python学习笔记-argparse模块

    Python学习笔记-argparse模块 optparseargparse 昨天学习了一个简单的端口扫描器的脚本,其中涉及到了optparse模块,网上关于此模块的介绍已有很多,但这个模块已经不更新 ...

  6. JML

    1.JML规格设计策略 我三次作业采用的方法都是从性能与存储大小方面考虑.在满足规格的条件下尽量做到运行速度最快,所用空间最小.因为这个单元的作业如果单单只是照着jml规格来翻译的话就失去了意义(因为 ...

  7. IntelliJ IDEA常用插件

    Mybatis Log Plugin安装好插件后,在Tools工具栏中可以看到安装好的插件,点击即可打开相应窗口,在Debug时,相应的Sql语句即可输出到此窗口,方便查看.此插件相当好用,提升开发效 ...

  8. 【学习】蓝牙的一些基础知识or什么是蓝牙

    蓝牙----Bluetooth(短距离无线通信技术)  2022-07-29   14:31:27 蓝牙技术有什么特点(体积小,易集成,低功耗,适用广,抗干扰,成本低,开放性) (1) 蓝牙模块体积很 ...

  9. 全网最详细中英文ChatGPT接口文档(三)30分钟快速入门ChatGPT——资源库

    目录 Python library(Python库) Node.js library(Node.js库) Community libraries 社区图书馆 C# / .NET Crystal Go ...

  10. Windows xp 64 bit

    Windows XP Professional x64 Edition with SP2 - VL (English) 详细信息 文件名 en_win_xp_pro_x64_with_sp2_vl_X ...