嵌入式C语言的运算符与输入输出

目录

1. 运算符

1.1 位运算符

1.1.1 位运算 ~

1.1.2 位逻辑与 &

 1.1.3 位逻辑或 |

1.1.4 位逻辑异或 ^

1.1.5 位移位运算

1.1.6 将无符号位的某位快速置 1

1.2 三目运算符

 1.3 逗号运算符

 1.4 运算符优先级

 2. 输出

2.1 字符输出函数

2.2 格式输出函数

2.3 字符串输出函数

 3. 输入

3.1 字符输入函数

3.2 格式输入函数

 3.3 垃圾遗留

 3.4 字符串输入函数


1. 运算符

算术运算符  关系运算符  逻辑运算符老生常谈

需要记住:

算术运算符 :float 与 double 数据类型的变量不可以进行取余操作

逻辑运算符:&&(与)都为真才为真(数字 1 表示真,0 表示假);|| (或)有一个为真便为真

1.1 位运算符

嵌入式开发中使用 C 语言的位运算符

其运算效率比算术运算符的效率要高;

涉及硬件时离不开寄存器,可以借助位运算对数据进行修改

1.1.1 位运算 ~

以下测试中,char 声明为无符号型,取反时符号位也要参与计算

1.1.2 位逻辑与 &

 1.1.3 位逻辑或 |

1.1.4 位逻辑异或 ^

1.1.5 位移位运算

1.1.6 将无符号位的某位快速置 1

1.2 三目运算符

表达式1 ? 表达式 2 :表达式 3

即表达式 1 成立,执行 表达式 2 ,表达式 1 不成立,执行 表达式 3

 1.3 逗号运算符

作用:按从左到右的顺序依次执行每个子表达式,并返回最后一个子表达式的值。

 1.4 运算符优先级

 2. 输出
2.1 字符输出函数

格式:putchar( c )

c 为字符常量,变量或表达式

2.2 格式输出函数

格式:printf ( “%m.nd/x/o”,a )

按指定格式向显示器输出数据

 %md:m < 该数的位数,按实际输出;若大于,输出数前面有空格;

%m.nf:保留小数点后 n 位,域宽为 m ;

 0:左边空格补 0 ;

+:有符号的正整数前显示正号;

2.3 字符串输出函数

格式:puts ()

说明:使用其会自动换行

 3. 输入
3.1 字符输入函数

格式:getChar( ) ;

从键盘读一个字符,返回读取的代码值,出错或结束返回 -1

3.2 格式输入函数

格式:scanf (”格式控制串“,地址表 ) ;

scanf 使用时记得使用取地址符:&

空格作为字符串输入结束的标志

 输入十六进制,输出 十进制;

 获取 scanf 输入数据的个数:

 scanf 中 %md 的使用:自动划分输入的数据

 抑制符:*

 字符型变量输入:用 “ %c ” 格式符时,空格和转移字符作为有效字符输入

(对于整数:输入时按空格,tab 键,回车都不影响最后的输出)

 3.3 垃圾遗留

如下,输入整数之后,遗留的“回车”会输入到 scanf ("%c",&x) ,成为垃圾符号

影响下一次字符的输入

 方法一:添加 getchar( ) ;

 方法二:scanf ("%c",&x) 格式串加上空格或者 %*c;

 3.4 字符串输入函数

一般使用字符数组存储字符串

格式:gets( );

输入串长度应小于字符数组长度(字符串默认以" \0" 结尾

 不会以空格作为输入结束的标志

 若用 scanf( )输入字符串,不能有空格

空格相当于结束符

若要输入空格,可以使用 for 循环

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

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

相关文章

IPD研学:76页页基于IPD思想-华为需求管理培训方案【附全文阅读】

适应人群 本方案适用于企业中参与产品研发、市场、销售、项目管理等部门的人员,尤其是负责需求管理工作的相关从业者;致力于提升产品竞争力,对优化需求管理流程、提高产品开发质量感兴趣的企业管理者;以及希望了解行业前沿需求管理方法,寻求突破和创新的相关人士。…

米酒的功能和优缺点

米酒&#xff08;又称甜酒、酒酿&#xff09;是一种以糯米或其他谷物为原料&#xff0c;经发酵制成的传统发酵饮品&#xff0c;酒精度较低&#xff08;通常1%-10%&#xff09;。以下是其功能、优点及缺点分析&#xff1a; 一、米酒的功能 营养补充 富含B族维生素&#xff08;B1…

注册登录页面项目

关系型数据库地址&#xff1a;C:\Users\ASUS\AppData\Local\Temp\HuaweiDevEcoStudioDatabases\rdb #注册页面register.ets import dataRdb from ohos.data.rdbconst STORE_CONFIG {name: weather4.db } const TABLE_NAME weather_info const SQL_CREATE_TABLE CREATE TAB…

yum源配置文件CentOS-Base.repo完整内容

1.CentOS Yum 源配置文件 CentOS-Base.repo 的完整内容示例&#xff1a; 以下是适用于不同版本 CentOS 系统的 CentOS-Base.repo 文件的标准模板。这些模板基于常见的国内镜像源&#xff08;如阿里云、清华大学等&#xff09;&#xff0c;可以帮助解决仓库配置失败的问题。 适…

深度学习基础--目标检测入门简介

博主简介&#xff1a;努力学习的22级本科生一枚 &#x1f31f;​ 博客主页&#xff1a;羊小猪~~-CSDN博客 内容简介&#xff1a;探索AI算法&#xff0c;C&#xff0c;go语言的世界&#xff1b;在迷茫中寻找光芒​&#x1f338;​ 往期回顾&#xff1a;yolov5基础–一步一步教…

雅思写作--70个高频表达

文章目录 1. learn new skills学生通过户外活动学到很多新技2. take immediate action to do各国采取有效行动以保护环境政府采取了必要行动以减少失业。你应该立即采取行动来解3. communication skills4. grow significantly5. have many advantages1. learn new skills “lea…

深入理解虚拟机与容器:原理、对比与应用场景分析

目录 前言1 虚拟机技术详解1.1 虚拟机的基本原理1.2 虚拟机的优势与局限 2 容器技术详解2.1 容器的运行机制2.2 容器的优势与局限 3 虚拟机与容器的核心差异对比3.1 架构对比3.2 启动速度与资源消耗3.3 安全性与隔离性3.4 兼容性与迁移性 4 实际应用场景分析4.1 适合使用虚拟机…

SQL Server数据库提权的几种方法——提权教程

SQL Server数据库提权的几种方法——提权教程 一、简介 在利用系统溢出漏洞没有效果的情况下,可以采用数据库进行提权。 数据库提权的前提条件: 1、服务器开启数据库服务 2、获取到最高权限用户密码 (除Access数据库外,其他数据库基本都存在数据库提权的可能) 二、使用x…

【第19节 信息加解密技术】

本章目录: 一、节概述二、知识详解1. 信息加密的基本分类2. 对称加密算法详解3. 非对称加密算法详解4. 密钥控制技术5. 密钥分发机制6. 公钥体系的密钥管理机制7. 密钥分类与生成 三、关键点提炼四、考试提示五、总结与建议 一、节概述 在信息安全体系中&#xff0c;信息加解密…

记录搭建自己的应用中心-需求看板搭建

记录搭建自己的应用中心-需求看板搭建 人员管理新增用户组织用户登录和操作看板状态看板任务通知任务详情 人员管理 由于不是所有人都有应用管理权限&#xff0c;所以额外做了一套应用登录权限&#xff0c;做了一个新的组织人员表&#xff0c;一个登录账户下的所有应用人员共享…

Java从入门到精通 - Java入门

Java 入门 此笔记参考黑马教程&#xff0c;仅学习使用&#xff0c;如有侵权&#xff0c;联系必删 文章目录 Java 入门01 Java快速入门1. Java 是什么&#xff1f;能干什么&#xff1f;1.1 Java 背景知识1.2 Java 能做什么&#xff1f;1.3 Java 技术体系 2. 如何使用 Java&…

MySQL-排序

介绍 在MySQL中&#xff0c;排序查询结果可以使用 ORDER BY 子句来实现。这个子句允许你根据一个或多个列进行排序&#xff0c;并且可以选择升序&#xff08;ASC&#xff09;或者降序&#xff08;DESC&#xff09;的方式。以下是基本的语法结构&#xff1a; SELECT column1, …

当插入排序遇上“凌波微步“——希尔排序的奇幻漂流

文章目录 一、排序江湖的隐藏高手二、分而治之的魔法1. 核心思想拆解2. 动态演示&#xff08;脑补版&#xff09; 三、C语言实现大揭秘代码要点解析&#xff1a; 四、性能分析与实战技巧1. 时间复杂度迷思2. 实测性能对比 五、为什么说它永不过时&#xff1f;六、进阶思考题 一…

一种导弹追踪算法的MATLAB仿真实现

代码说明&#xff1a; 参数设置&#xff1a;设定时间步长、总模拟时间、初始位置和速度等参数。空气动力学模型&#xff1a;利用简化的空气阻力公式来计算两个导弹所受的阻力。追踪算法&#xff1a;采用比例导引算法&#xff0c;让防空导弹追踪机动变轨导弹。机动变轨模拟&…

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(13): ておきます ています & てあります

日语学习-日语知识点小记-构建基础-JLPT-N4阶段&#xff08;13&#xff09;&#xff1a; ておきます &ています &#xff06; てあります 。 1、前言&#xff08;1&#xff09;情况说明&#xff08;2&#xff09;工程师的信仰 2、知识点&#xff08;1&#xff09;&#x…

基于tabula对pdf中多个excel进行识别并转换成word中的优化(五)

优化地方&#xff1a;处理合并的单元格内容。 1、修改为stream"complex" 2、增加换行符f"{table_data[i - 1][j]}\n{table_data[i][j]}".strip() 一、pdf中excel样例 二、完整代码 import tabula import numpy as np from docx import Document from docx…

pytest基础知识----配置

1、自动化主流框架介绍 当前业界基于python语言的自动化框架主要包括&#xff1a;Unittest,Pytest这2种&#xff0c;其中&#xff1a;Unittest是Python标 准库中自带的单元测试框架&#xff0c;Unittest有时候也被称为PyUnit&#xff0c;就像JUnit是Java语言的标准单元测试框…

Python实现简易博客系统

下面我将介绍如何使用Python实现一个简易的博客系统,包含前后端完整功能。这个系统将使用Flask作为Web框架,SQLite作为数据库,并包含用户认证、文章发布、评论等基本功能。 1. 系统架构设计 技术栈选择 ​​后端​​:Flask (Python Web框架)​​数据库​​:SQLite (轻量…

蓝桥杯比赛

蓝桥杯全国软件和信息技术专业人才大赛是由工业和信息化部人才交流中心主办&#xff0c;国信蓝桥教育科技&#xff08;北京&#xff09;股份有限公司承办的计算机类学科竞赛。以下是其相关信息&#xff1a; 参赛对象 具有正式全日制学籍且符合相关科目报名要求的研究生、本科生…

高性能、云原生的对象存储服务MinIO 详细介绍与案例应用

什么是MinIO&#xff1f; MinIO是一个高性能、云原生的对象存储服务&#xff0c;采用Apache License v2.0开源协议发布。它与Amazon S3云存储服务API兼容&#xff0c;适合构建高性能、可扩展的存储基础设施。支持大规模非结构化数据的存储&#xff0c;适合图片、视频、日志、备…