C语言参悟-运算符表达式和语句

news2024/11/20 18:30:37

C语言参悟-运算符表达式和语句

  • 一、概述
  • 二、运算符
    • 0. 运算符分类
    • 1. 数学运算符
    • 2. 逻辑运算符
    • 3. 二进制运算符
    • 4. 便捷运算符
  • 三、表达式
  • 四、语句

一、概述

在我刚开始学C语言的时候,语句和运算符号这些对我来说还是很陌生的。

现在来看我对于这个的理解其实就是一种 处理数据语法的规范,因为计算机处理数据和我们人来处理数据是有不一样的。计算机面对我们现实生活,计算机其实是做了抽象,编程语言就是对处理真实世界的方法提供的一种处理工具,里面的运算符和表达式语句这些都是用编程语言来描述真实世界罢了。

运算符、表达式、语句也是处理数据语法规范。也就是说编程语言能够处理这种符合规范的语句,在这个语法之外的情况是不能被处理的。就像英语一样,总是按照一定的规则,主谓宾之类的的规则。

  • 语法规范

我们人 类别于 计算机

我们就能明白:一天的时间是24小时。 这个语句的意思

但是我们可能不太明白:24一天是的时间 的语句意思,但即是认识语句,但是很可能误解我们的意图。

计算机也是只能接收合法的规则信息,也就是编程语言编写的有效语句。

  • 处理数据

编程语言的诞生就是为了方便人类来解决生活的问题。存在的意义就是解放人类,创造价值。解决问题就是需要处理问题,把问题以一定的形式输入到计算机里面成为计算机数据,再用编程语言编写出软件来处理数据,就达到了处理数据的目的啦。

二、运算符

运算符其实就是 C语言对数据进行一种处理的符号,我们可以用这些符号来解决真实世界中的任务。

运算符号和变量常量等等构成的一些式子,也叫运算符表达式和语句,这些就是处理数据的功能,完全是计算的功能。

0. 运算符分类

运算符 总是和参与运算的 运算单元 在一起的。运算符不能单独存在的哈,单独存在就失去其意义啦

就像下面的 j = i + j;

int i = 0, j = 0;

j = i + j;
j = (i + j) * j - j;

解释就像下面

i+j
运算单元运算符运算单元
(i+j)*j-j
运算符运算单元运算符运算单元运算符运算符运算单元运算符运算单元

这里面就会引出两个问题:

  • 一、1个运算符能够和几个 运算单元 组合
  • 二、运算符 之间 共用 运算单元 的时候 是谁先算呢?
  • 三、计算的顺序呢?-》这个一般就是从左到右计算的,

第一个问题其实就是在C语言里面会有这种概念叫 多目运算符 就三种

  • 单目运算符:++;- - 就是一个运算符 与 一个运算单元组合 -》 1 对 1
    就像 i++, i- -
  • 双目运算符:+ ;-;*;/;% 就是一个运算符 要和 两个运算单元组合 -》1 对 2
  • 三目运算符:? : 就是一个运算符 要和 三个运算单元组合 -》1 对 3

第二个问题 C语言也有解决的概念叫 运算符优先级

下面的表格其实就是 对 C语言里面所有的运算符的介绍。
在这里插入图片描述

1. 数学运算符

数学符号就是和 我们认知里面的数学是一致的。

  • +:加号
  • -:减号
  • *:乘号
  • /:除号
  • %:取余号
  • =:赋值号
    这个比较特殊,可以放在语句后面
int i = 0;
int j = 1;

j = j+i;
j = j-1;

2. 逻辑运算符

  • ||:或:两个条件满足一个即可

  • &&:且

  • ==:相等

  • !:取反

  • >:大于

  • >=:大于等于

  • <:小于

  • <=:小于等于

  • !=:不等于

3. 二进制运算符

在这里插入图片描述

4. 便捷运算符

三、表达式

四、语句

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

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

相关文章

AUTOSAR架构介绍

简介 AUTOSAR&#xff08;AUTomotive Open System ARchitecture&#xff09;是一种面向汽车电子系统的软件架构标准。AUTOSAR为汽车电子系统提供一种开放式的软件架构标准&#xff0c;以促进汽车电子系统的可重用性、互操作性和可扩展性。它包括一系列的规范和标准&#xff0c…

Force Dimension 全系列触觉反馈装置

力觉或触觉是人体感官中具有双向传递信息能力的信息载体。借助于力反馈&#xff0c;人们可以真实的按照人类的肢体语言进行人机自然互动和信息交流&#xff0c;用户通过应用力反馈&#xff0c;可以获得和触摸实际物体时相同的运动感&#xff0c;从而产生更真实的沉浸感。 力反馈…

毕业遭失业,前途一片黑暗...不得已转行软件测试,太多心酸和无助...

大家好&#xff0c;我叫小涵&#xff0c;一名应届毕业生&#xff0c;目前已经成功转行互联网。写这篇文章的目的是因为很多人不喜欢自己的现状&#xff0c;想通过学习改变&#xff0c;奈何没有出路&#xff0c;所以想为这部分人提供一些思路&#xff1b;其次文章会总结我自己转…

汽车电子设计之SBC芯片

参考英飞凌SBC官网资料&#xff1a;https://www.infineon.com/cms/cn/product/automotive-system-ic/system-basis-chips-sbc/ SBC芯片在汽车电子领域可谓占一席之地了。那么什么是SBC&#xff1f;怎么用&#xff1f;用在哪里&#xff1f;主要特性&#xff1f; 目录 1.什么是…

unity Sockets通信 使用UDP协议,设置客户端电脑网络配置,使用新线程获取数据,解决卡顿问题,

今天调试和服务器连接&#xff0c;发现始终获取不到服务器的数据&#xff0c; 电脑和服务器都在同一局域网&#xff0c;仍然获取不到&#xff0c; 下面是电脑环境配置&#xff0c; 第一步&#xff1a; 设置网络为专用网络&#xff0c;然后点击配置防火墙和安全设置&#xff0c;…

Unity——2D小游戏笔记整理

【每日一句&#xff1a;清晨和夜晚都请用尽全力去生活】 目录 一、环境搭建 二、人物 三、相机跟随人物移动 四、平铺精灵 五、血条跟随敌人行走 六、脚本逻辑 【玩家行走方法】 【玩家跳跃方法】 【改变玩家血量值方法】 【创建玩家子弹方法】 【主角血量&#xff…

《计算机网络——自顶向下方法》精炼——3.7(1)

少而好学,如日出之阳;壮而好学,如日中之光;志而好学,如炳烛之光。——刘向 文章目录 拥塞控制方法ATM ABR拥塞控制 TCP拥塞控制TCP拥塞控制算法的实现慢启动拥塞避免快速恢复总结 拥塞控制方法 在上一篇文章中&#xff0c;我们介绍了在数据传输过程中出现的问题。本节将简要介…

Bitbucket 的SSH keys 突然无法识别 -> Permission denied (publickey)问题

Bitbucket 的SSH keys 突然无法识别 -> Permission denied (publickey)问题 用了几年的SSH keys突然出现Permission denied (publickey)问题&#xff0c;如下图所示&#xff1a; 1、首先排查项目权限问题&#xff0c;确认其他账号可更新代码&#xff0c;排除 2、排除SSH k…

【软件测试】白盒测试与黑盒测试

白盒测试与黑盒测试 测试用例定义生成的基本准测设计步骤作用测试数据和测试用例的区别 黑盒测试定义优点缺点黑盒测试的实施过程等价类划分法边界值分析法错误推测法因果图判定表判定表例题 白盒测试介绍覆盖程度基本路径覆盖程序流程图简化成控制流图计算圈复杂度导出测试用例…

chatGPT 学习笔记

学习笔记&#xff1a;chatGPT chatGPT 概述 什么是 chatGPT &#xff1f;(要说明定义、来源、功能和特点) ChatGPT 是 OpenAI 开发的一个大型预训练语言模型&#xff0c;它基于 GPT-3.5 模型&#xff0c;可以在对话中生成类似人类的文本响应&#xff0c;简称对齐。它使用自监…

基于节点分层的配网潮流前推回代方法【IEEE33节点】(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

java的UDP(一)

文章目录 1. 简介2. UDP客户端3. UDP服务器4. DatagramPacket类 1. 简介 Java中的UDP实现分为两个类&#xff1a;DatagramPacket和DatagramSocket。DatagramPacket类将数据字节填充到UDP包汇总&#xff0c;这称为数据报&#xff0c;由你来解包接收的数据报。DatagramSocket可以…

2023北京大学首席营销官CMO高级研修班简介

【课程背景】自 2022 年以来&#xff0c;营销新趋势呈现以下变化&#xff1a;消费渠道多元化&#xff0c;社会化媒体 成为信息主要渠道&#xff0c;流量红利消失&#xff0c;数字营销成当下主流&#xff1a;元宇宙数字营销成热点&#xff1b;私域运营更受品牌重视&#xff1b;国…

MySQL主存复制

介绍 配置-主库master 第一步&#xff1a;修改MySQL数据库的配置文件/etc/my.cnf [mysqld] log-binmysql-bin #[必须]启用二进制日志 server-id100 #[必须]服务器唯一id第二部&#xff1a;重启MySQL服务 systemctl restart mysqld第三步&#xff1a;登录MySQL操作&#x…

Talk预告 | 新加坡国立大学张傲:10%成本定制类 GPT-4 多模态大模型

本期为TechBeat人工智能社区第502期线上Talk&#xff01; 北京时间06月01日(周四)20:00&#xff0c;新加坡国立大学在读博士生 — 张傲的Talk将准时在TechBeat人工智能社区开播&#xff01; 他与大家分享的主题是: “10%成本定制类 GPT-4 多模态大模型 ”&#xff0c;届时将介…

RemoteSensing投稿流程

RemoteSensing投稿流程&#xff0c;底部有官网地址和word模板 RemoteSensing投稿流程&#xff0c;遇到的坑RemoteSensing期刊官网地址&#xff0c;模板 RemoteSensing投稿流程&#xff0c; ##3.16 Submit &#xff08;第一次提交&#xff09; 3.17 Under review &#xff08;正…

中核浦原一号数字员工诞生,实在智能为智能制造再添强大引擎

头戴博士帽&#xff0c;脚踩喷气引擎&#xff0c;身披“科技蓝”披风&#xff0c;今年的全国科技工作者日&#xff0c;一位硬“核”数字员工正式诞生&#xff01; 这就是由上海中核八所科技有限公司&#xff08;下称中核八所&#xff09;人工智能研发中心为上海中核浦原有限公司…

网工内推 | 上海网工专场,NP认证,朝九晚六,多次调薪机会

01 上海伍贤信息技术股份有限公司 &#x1f537;招聘岗位&#xff1a;网络工程师 &#x1f537;职责描述&#xff1a; 1、在网络基础设施方面提供日常支持&#xff0c;例如&#xff0c;WIFI、局域网、视频会议等。 2、协助管理亚太地区的网络安全服务&#xff08;防火墙/代理/…

CVE-2023-33246 Apache RocketMQ 命令注入漏洞复现及分析

CVE-2023-33246 Apache RocketMQ 命令注入漏洞复现及分析 0x0.威胁情报&#xff1a; 漏洞编号CVE编号CVE-2023-33246漏洞评估危害评级高危漏洞类型RCE公开程度PoC已公开利用条件1.在受影响版本内威胁类型远程利用情报在野利用无漏洞活跃度中影响产品产品名称Apache RocketMQ受…

代码随想录算法训练营第二十四天| 回溯理论基础 、77. 组合

理论基础 回溯通常隐藏在递归函数的下面&#xff0c;递归和回溯是相辅相成的&#xff0c;通常来说 回溯函数就是指递归函数。 回溯法其实是一个纯暴力的搜索&#xff0c;有些问题只能依靠回溯法将所有的结果搜出来。 例如&#xff1a; 组合问题&#xff1a;N个数里面按一定规…