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

news2024/11/27 8:30:26

一  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.coloradmin.cn/o/1929645.html

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

相关文章

【区块链 + 智慧政务】区块链 +ETC 下一代公路联网收费关键技术优化项目 | FISCO BCOS应用案例

2020 年&#xff0c;我国取消省界收费站项目完成后&#xff0c;随着收费模式与收费方式的变化&#xff0c;形成了以门架为计费单元的新收 费体系&#xff1a;按照车辆通行门架数&#xff0c;RSU 天线读取 ETC 卡、电子标签 OBU 或 CPC 卡内标识的车型信息&#xff0c;车型门架计…

SQL去重的四种方法

去重是指&#xff1a;查询的时候, 不显示重复&#xff0c;并不是删除表中的重复项 数据表&#xff1a; 方法1&#xff1a;distinct去重 作用&#xff1a;只能一列去重&#xff0c;当distinct后跟大于1个参数时&#xff0c;他们之间的关系是&&(逻辑与)关系&#xff0c;…

vue2学习笔记7 - Vue中的MVVM模型

MVVM Model-View-viewModel是一种软件架构模式&#xff0c;用于将用户界面&#xff08;View&#xff09;与业务逻辑&#xff08;Model&#xff09;分离&#xff0c;并通过ViewModel进行连接和协调。MVVM模式的目标是实现视图与模型的解耦&#xff0c;提高代码的可读性、可维护…

Qt | 绘制椭圆、弧、弦、扇形、圆角矩形

点击上方"蓝字"关注我们 01、简介 1、需要使用到的 QPainter 类中的函数 2、绘制椭圆的方法有 绘制给定矩形的内接椭圆和根据中心点与椭圆 x 方向和 y 方向的半径绘制,原理见下图 3、绘制弧、弦、扇形的原理: 1)、弧是椭圆上的一段曲线,因此其绘制方法就是首先…

【Apache Doris】周FAQ集锦:第 14 期

【Apache Doris】周FAQ集锦&#xff1a;第 14 期 SQL问题数据操作问题运维常见问题其它问题关于社区 欢迎查阅本周的 Apache Doris 社区 FAQ 栏目&#xff01; 在这个栏目中&#xff0c;每周将筛选社区反馈的热门问题和话题&#xff0c;重点回答并进行深入探讨。旨在为广大用户…

企业全历史行为数据助ToB企业决策层开启营销的上帝视角

“上帝视角”是每个企业家都渴望拥有的。上帝视角的能力有多么吸引人呢&#xff1f;通常&#xff0c;一个企业家在技术、产品、营销中的任何一个领域拥有上帝视角的能力&#xff0c;就足可以让他的企业大杀四方&#xff0c;甚至创造历史。 在技术或产品领域&#xff0c;靠“上…

10.1 标注、注记图层和注记整体说明

文章目录 前言标注、注记图层和注记QGis中的标注QGis中的注释(Annotation)图层QGis中的注记 总结 前言 介绍标注、注记图层和注记说明&#xff1a;文章中的示例代码均来自开源项目qgis_cpp_api_apps 标注、注记图层和注记 有时地图需要使用一些文字信息说明其中的地理要素或其…

Android 性能优化之卡顿优化

文章目录 Android 性能优化之卡顿优化卡顿检测TraceView配置缺点 StricktMode配置违规代码 BlockCanary配置问题代码缺点 ANRANR原因ANRWatchDog监测解决方案 Android 性能优化之卡顿优化 卡顿检测 TraceViewStricktModelBlockCanary TraceView 配置 Debug.startMethodTra…

Python中的数据结构:五彩斑斓的糖果盒

在Python编程的世界里&#xff0c;数据结构就像是一个个五彩斑斓的糖果盒&#xff0c;每一种糖果都有其独特的味道和形状。这些多姿多彩&#xff0c;形状和味道各异的糖果盒子包括了&#xff1a;List&#xff08;列表&#xff09;、Tuple&#xff08;元组&#xff09;、Diction…

Redis主从部署

主从部署 整体架构图 需要再建两个CentOs7,过程重复单机部署 查看自己ip地址命令 ifconfig 192.168.187.137 进入redis所在目录 cd /opt/software/redis cd redis-stable 进入配置文件 vim redis.conf 修改分身1、2的配置文件 搜索replicaof replicaof 192.168.187.137 63…

笔记 2 : 课本第 3 章开始,记录 arm 的汇编指令的格式

&#xff08;13&#xff09; 介绍 arm 中的第一个汇编指令的用法 mov &#xff1a; &#xff08;14&#xff09;立即数的概念&#xff1a; &#xff08;15&#xff09; 汇编中的移位写法&#xff1a; 举例 &#xff1a; &#xff08;16&#xff09; 学习一个新的指令 cmp &a…

二叉树相关理论知识

二叉树是计算机科学中一种基础且重要的数据结构&#xff0c;它属于树形结构的一个重要类型。以下是二叉树的理论基础&#xff0c;包括定义、基本形态、特殊类型、性质以及遍历方式等方面的内容。 一、定义 二叉树&#xff08;Binary Tree&#xff09;是n&#xff08;n≥0&…

【实战系列】PostgreSQL 专栏,基于 PostgreSQL 16 版本

我的 PostgreSQL 专栏介绍及进度 20240715&#xff1a;目前整体进度已完成 85%&#xff0c;完成 16 万字&#xff0c;还有近 5 万字就截稿了。 (venv312) ➜ mypostgres git:(dev) sh scripts/word_statistics_pg_style.sh Filename …

15分钟快速了解图新地球能做什么,解决什么问题,快速入门

1.图新地球桌面端是什么 1.1官方定义 图新地球桌面端(LSV)是一款集多源数据加载、应用分析、演示汇报为一体的三维GIS 软件。采用了中科图新自主研发的国产三维地图引擎&#xff0c;支持各类无人机航测、CAD、BIM、规划成果等多源数据的加载融合;实现了BIMGIS 技术在实际业务…

所有权与生命周期:Rust 内存管理的哲学

所有权与生命周期&#xff1a;Rust内存管理的哲学 博主寄语引言&#xff1a;编程语言的内存管理困境与 Rust 的解决方案。所有权基本概念&#xff1a;资源的绝对主权生命周期的理解与应用&#xff1a;编译时的守护神借用与引用的精妙设计&#xff1a;安全与效率的和谐共舞Rust …

Golang | Leetcode Golang题解之第231题2的幂

题目&#xff1a; 题解&#xff1a; func isPowerOfTwo(n int) bool {const big 1 << 30return n > 0 && big%n 0 }

C# Opencv实现本地以图搜图

地址&#xff1a;冯腾飞/本地以图搜图

shell脚本变量和运算

一、shell变量及赋值 1.1、shell的变量 变量是用来临时保存数据的&#xff0c;并且该数据时可以变化的&#xff0c;任何一个语言都离不开变量&#xff0c;如果某个内容需要多次使用并且会重复出现&#xff0c;这样就可以使用变量了&#xff0c;如果需要修改直接修改变量就可以…

InterSystems IRIS使用python pyodbc连接 windows环境,odbc驱动安装,DSN配置,数据源配置

一、创建的数据库和数据 SELECT 1SELECT $ZVERSIONCREATE TABLE MyApp.Person ( ID INT PRIMARY KEY, Name VARCHAR(100) NOT NULL, Age INT, Gender CHAR(1) );CREATE TABLE MyApp.Person2 ( ID INT PRIMARY KEY, Name VARCHAR(100) NOT NULL, Age INT, Gender CHA…

USB 转多路串口应用软件说明

概述 PL731模块实现1个USB接口转7个异步串口(USART[1-7])功能。用于为计算机扩展异步串口&#xff0c;满足大多数一对多应用场景。支持Windows 10及以上系统&#xff0c;绝大多数Linux系统。嵌入式Linux系统有可能经过裁剪&#xff0c;需要系统开发人员确保系统安装正式的驱动…