当前位置: 首页 > ai >正文

嵌入式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.xdnf.cn/news/3361.html

相关文章:

  • 方案精读:58页华为:全面预算管理与实践【附全文阅读】
  • 补4月30日
  • python310 安装 tensorflow-gpu2.10
  • 内网穿透系列二:使用cpolar公开一个本地Web站点到公网
  • 补题:K - Magic Tree (Gym - 105231K)
  • Java 期中考试试题考点剖析
  • jupyter notebook汉化教程
  • 打包 Python 项目为 Windows 可执行文件:高效部署指南
  • 题解:CF1398D Colored Rectangles
  • 【一】 基本概念与应用领域【数字图像处理】
  • Python基本语法(控制语句)
  • Spring IoC容器的设计与实现
  • ERP系统(技术面)知识积累
  • Transformer架构的解耦重组现象
  • SpringTas定时任务使用详解
  • GPU虚拟化实现(七)
  • MySQL基础关键_003_DQL(二)
  • 动态规划简单题
  • 【验证技能】验证质量活动及其执行注意事项
  • 权限提升—Linux提权内核溢出漏洞辅助项目
  • 【QNX+Android虚拟化方案】138 - USB 底层传输原理
  • 实验五 完整性
  • 初学者如何学习AI问答应用开发范式
  • PostgreSQL数据类型
  • 使用Python和Pandas实现的Amazon Redshift权限检查与SQL生成用于IT审计
  • 【DeepMLF】具有可学习标记的多模态语言模型,用于情感分析中的深度融合
  • EBO的使用
  • 基于python的人工智能应用简述
  • Spring 提供了多种依赖注入的方式
  • C#泛型集合深度解析(九):掌握System.Collections.Generic的核心精髓