初始c语言(2)运算符与表达式

一  c语言提供的运算符类型

以上会后续介绍

现阶段我们掌握如下的基本操作符

注意!计算机的除法只会保留整数部分(若被除数未负则不同的软件取整的结果不唯一)

自加(++)自减(--)符号

若为++i 则使用之前让i的值先加减

若为i++则使用之后让i的值先加减

此符号常用于循环时打破循环条件自加或自减

举例  体会位置的重要

四 混合运算的优先性和不同类型数据之间的混合运算

        C 语言中运算符的优先级决定了表达式中运算的顺序。当一个表达式中有多个运算符时,会按照优先级从高到低的顺序进行计算。以下是常见运算符的优先级顺序(从高到低):

1. 单目运算符,如逻辑非`!`、取地址`&`、解引用指针`*`、正号`+`(作为正号时)、负号`-`(作为负号时)、自增`++`、自减`--`、按位取反`~`、`sizeof`等。

2. 乘法类运算符:乘法`*`、除法`/`、取模`%`。

3. 加法类运算符:加法`+`、减法`-`。

4. 位移运算符:左移`<<`、右移`>>`。

5. 关系运算符:小于`<`、小于等于`<=`、大于`>`、大于等于`>=`、等于`==`、不等于`!=`。

6. 位与运算符:`&`。

7. 位异或运算符:`^`。

8. 位或运算符:`|`。 9. 逻辑与运算符:`&&`。

10. 逻辑或运算符:`||`。

11. 条件运算符(三目运算符):`? :`。

12. 赋值运算符,如简单赋值`=`、复合算术赋值(`+=`、`-=`、`*=`、`/=`、`%=`等)、复合位运算赋值(`<<=`、`>>=`、`&=`、`^=`、`|=`等)。

13. 逗号运算符:`,`。

需要注意的是,所有双目运算符中只有赋值运算符的结合方向是从右往左,而单目运算符和三目运算符(条件运算符)的结合方向也是从右往左,其余运算符的结合方向均是从左往右。 例如,在表达式`a = b + c * d`中,由于乘法运算符`*`的优先级高于加法运算符`+`,所以会先计算`c * d`的结果,然后再将其与`b`相加,最后将结果赋值给`a`。 如果对于运算符的优先级不确定,为了避免混淆和提高代码的可读性,可以使用括号来明确指定运算的顺序。例如,`(b + c) * d`就明确表示先计算括号内的`b + c`,再与`d`相乘。 另外,在 C 语言的混合运算中还涉及不同类型数据的运算,其规则如下: 1. 进行`+`、`-`、`*`、`/`运算的两个数中如果其中有一个为`float`或者`double`类型,那么结果就是`double`类型。这是因为系统会将所有`float`型转换为`double`型,然后再进行运算,这样可以保证运算的精度,因为`double`类型能够表示更大的数值范围和更高的精度。 2. 当`int`型与`float`或`double`型数据进行运算时,先把`int`型转换为`double`型,然后再进行运算,结果也是`double`型。 3. 字符(`char`)型数据与整型数据进行运算时,是把字符首先转换为标准的 ASCII 码值再进行运算。

例如利用 ASCII进行运用使得整数类型和字符类型相结合

五 强制转换类型

(类型名)(表达式)”注意括号不能加错)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/46057.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue3 defineProps的使用

1.什么是defineProps defineProps是Vue3中的一种新的组件数据传递方式&#xff0c;可以用于在子组件中定义接收哪些父组件的props。当父组件的props发生变化时&#xff0c;子组件也会随之响应。 2.如何使用defineProps&#xff1f; 在子组件中可以使用defineProps声明该组件…

流媒体服务器(21)—— mediasoup 之媒体流score评分计算(二)

目录 前言 正文 1、期望收包数 2、实际收包数 3、丢包数 4、修复包数 5、重传包数 6、综合计算 结尾 《流媒体服务器》专栏总览丨蓄力计划_开源流媒体服务器对比-CSDN博客 前言 上一篇文章介绍了 mediasoup 有一套评估媒体传输通道优劣的机制,主要是通过 score 评分…

Jmeter-单用户单表查询千条以上数据,前端页面分页怎么做

这里写自定义目录标题 单用户单表查询千条以上数据 单用户单表查询千条以上数据 对于单用户查询千条以上数据&#xff0c;但是前端页面做了分页的情况下 可以直接把查询接口下的分页限制去掉&#xff0c;便可查询出当前页面查询条件下的全部数据 例如去掉如下内容&#xff1…

GESP CCF C++ 四级认证真题 2024年6月

第 1 题 下列代码中&#xff0c;输出结果是&#xff08; &#xff09; A. 12 24 24 12 B. 24 12 12 24 C. 12 12 24 24 D. 24 24 12 12 第 2 题 下面函数不能正常执行的是&#xff08;&#xff09; A. B. C. D. 第 3 题 下面程序…

AI Native时代:重塑人机交互与创作流程

随着2024年上海世界人工智能大会的圆满落幕&#xff0c;业界领袖们纷纷就AI应用的新机遇展开深入讨论。结合a16z播客中的观点&#xff0c;本文将探讨AI原生&#xff08;AI Native&#xff09;应用的几个关键特征&#xff0c;这些特征正在重新定义我们的工作方式和创作过程。 一…

0708,LINUX目录相关操作 + LINUX全导图

主要是冷气太足感冒了&#xff0c;加上少吃药抗药性差&#xff0c;全天昏迷&#xff0c;学傻了学傻了 01&#xff1a;简介 02&#xff1a; VIM编辑器 04&#xff1a;目录 05&#xff1a;文件 03&#xff1a;常用命令 06&#xff1a;进程 07&#xff1a;进程间的通信 cat t_c…

LeetCode 每日一题 2024/7/8-2024/7/14

记录了初步解题思路 以及本地实现代码&#xff1b;并不一定为最优 也希望大家能一起探讨 一起进步 目录 7/8 724. 寻找数组的中心下标7/9 3102. 最小化曼哈顿距离7/10 2970. 统计移除递增子数组的数目 I7/11 2972. 统计移除递增子数组的数目 II7/12 2974. 最小数字游戏7/13 301…

微信小程序毕业设计-青少年科普教学系统项目开发实战(附源码+论文)

大家好&#xff01;我是程序猿老A&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;微信小程序毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计…

ftp pool 功能分析及 golang 实现

本文探究一种轻量级的 pool 实现 ftp 连接。 一、背景 简要介绍&#xff1a;业务中一般使用较多的是各种开源组件&#xff0c;设计有点重&#xff0c;因此本文探究一种轻量级的 pool 池的思想实现。 期望&#xff1a;设置连接池最大连接数为 N 时&#xff0c;批量执行 M 个 F…

vs2017/2019串口Qt Serial Port/modbus使用报错

vs2017/2019 Qt Serial Port/modbus配置 /* * 严重性 代码 说明 项目 文件 行 禁止显示状态 错误 LNK2019 无法解析的外部符号 "__declspec(dllimport) public: __cdecl QModbusTcpClient::QModbusTcpClient(class QObject *)" (__imp_??…

基于javaScript的冒泡排序

目录 一.前言 二.设计思路和原理 三.源代码展示 四. 案例运行结果 一.前言 冒泡排序简而言之&#xff0c;就是一种算法&#xff0c;能够把一系列的数据按照一定的顺序进行排列显示&#xff08;从小到大或从大到小&#xff09;。例如能够将数组[5,4,3,2,1]中的元素按照从小到…

读书笔记 《软技能:代码之外的生存指南(第2版)》

关于时间 每天记录并追踪自己的时间&#xff0c;以便我能了解自己的时间都去哪儿了 每天高效工作的时间有多少 这点皮皮哥深有同感,我发现我其实真正效率高的是早上,我一般周末周日的早晨回起的很早,泡一杯挂耳☕️,就在我的mac本上开始了本周的创作,我喜欢这种感觉 关于营…

ES6 Class 的继承(十一)

Class 可以通过extends关键字实现继承&#xff0c;这比 ES5 的通过修改原型链实现继承&#xff0c;要清晰和方便很多。 class Point { } class ColorPoint extends Point { }继承的特性&#xff1a; extends 关键字&#xff1a;使用 extends 来表示一个类继承自另一个类。supe…

了解Maven

一.环境搭建 如果使用的是社区版 版本要求为&#xff1a;2021.1-2022.1.4 如果使用的是idea专业版就无需版本要求,专业版下载私信我&#xff0c;免费教你下载 二&#xff0c;Maven 什么是Maven&#xff0c;也就是一个项目管理工具&#xff0c;用来基于pom的概念&#xff0c…

使用druid对sql进行血缘解析

实体类&#xff1a; Data public class SqlFlowEntity {/*表名称*/private String tableName;/*表操作类型*/private String type;/*涉及字段*/private List<String> columnList; } 核心代码&#xff1a; import com.alibaba.druid.sql.SQLUtils; import com.alibaba.d…

Ghidra comment add script

init # -*- coding: utf-8 -*- import re from ghidra.program.model.listing import CodeUnit# 获取当前程序和指令迭代器 program getCurrentProgram() listing program.getListing() instructionIterator listing.getInstructions(True)# 用于存储唯一的指令类型和操作数…

PostgreSQL修改最大连接数

在使用PostgreSQL 的时候&#xff0c;经常会遇到这样的错误提示&#xff0c; sorry, too many clients already&#xff0c;这是因为默认PostgreSQL最大连接数是 100, 一般情况下&#xff0c;个人使用时足够的&#xff0c;但是在生产环境&#xff0c;这个连接数是远远不够的&am…

Linux笔记之显示当前路径下文件的数量

Linux笔记之显示当前路径下文件的数量 在Linux中&#xff0c;ls -l 和 wc -l 是两个常用命令&#xff0c;分别用于列出目录内容的详细信息和计算行数。将这两个命令结合使用&#xff0c;可以快速统计目录中包含的文件和子目录的数量。 ls -l ls -l 命令用于列出目录中的内容…

python机器学习5 数据容器

Python中有几个数据容器如下&#xff1a; List&#xff0c;数组&#xff0c;如同Array数组。 Dictionarie&#xff0c;字典&#xff0c;可以通过文字来访问数据。 Sets&#xff0c;序列集&#xff0c;做数学交集、并集等计算时使用。 Tuple&#xff0c;序列&#xff0c…

Elasticsearch-多边形范围查询(8.x)

目录 一、字段设计 二、数据录入 三、查询语句 四、Java代码实现 开发版本详见&#xff1a;Elasticsearch-经纬度查询(8.x-半径查询)_es经纬度范围查询-CSDN博客 一、字段设计 PUT /aoi_points {"mappings": {"properties": {"location": {…