嵌入式C、C++概述
存储类型
存储类型关键字:register、static、const、auto、extern
register寄存器变量,
(1)不一定真的存放在寄存器中
(2)不能定义寄存器数组
(3)cpu读取寄存器变量比读取内存变量更快
(4)只能修饰字符型、整型无法修饰浮点型
(5)不在内存中所以无法取地址
static 静态
保存在静态区
const常量
意思只读,不能修改它的值
auto int a 与 auto是相同的意思
extern为外部的意思,一般用于函数和全局变量的声明
其他关键字
sizeof 变量数组占用存储空间的大小
typedef 重命名相关的关键字
volatile 易改变,提醒编译器从最新内存这提取变量的值
基本数据类型赋值并输出
定义char类型的变量并赋值,输出字符使用%c,使用%d可以输出对应的Ascii码值。
定义int类型的变量并赋值,输出int,short类型字符使用%d。
输出long类型字符使用%ld。
输出float类型字符使用%f,默认保留后六位。
输出double类型字符使用%lf,默认保留后六位。
常量与变量
对于计算机而言只能识别二进制代码,然而对应于其他非数字常量需要转化为数字,使用ASCII码表
整型数据
八进制:0开头
十六进制:0x开头
字符常量与字符串常量
‘a’为字符常量,“a”为字符串常量,每个字符串的结尾编译器都会自动添加一个结束标志位‘\0’
八进制数输出是需要加个#,%#o
十六进制输出时需要加个#,%#x
格式化输出字符
没有专门的变量保存字符串,一边使用数数组来保存
char e[] = "hello world";
printf("e = %s\n",e);
输出地址,利用取地址符
int f = 999;
printf("&f = %p\n",&f);
类型转化
自动类型转化
(1)当表达式中出现了char、short、int中的一种,参加运算的成员会全部变为int类型参加运算,结果为int类型
(2)表达式中出现了带小数点的实数,则全部变为double类型,结果也为double类型
(3)表达式中有无符号数和有符号数,参加运算的成员变为无符号数,结果为无符号数
(4) 在赋值语句中等号右边的类型自动转换为等号左边的类型
(5)自动类型转换只是在运算中的临时转换,不会影响自动类型转换的变量值和类型
强制类型转换
把表达式的运算结果强制转换为类型说明符表示的类型
(类型说明符)表达式
算数运算符
只有整数才能取余
关系运算符
关系运算符连接的表达式只有真和假,一般用int保存,如果为真则为非0,为假则为0
位运算符
1、&按位与
与0的0,与1得1,某位清0
2、|按位或
或1得1,或0不变
3、~按位取反
1变0,0变1
4、^按位异或
相同位0不同为1
5、位移
>>右移 分为逻辑右移:高位补0,地位溢出
算数右移:高位补符号位,低位溢出(有符号位)
<<左移
逗号运算符
逗号运算符必须要加括号,A=(B,C,D)
依次运行B,C,D最后A的值为D的表达式结果
循环语句
goto循环在一个函数中实现代码的跳转
在平时编写代码时少使用goto会使代码可读性变差。
嵌入式C、C++概述相关推荐
- 嵌入式系统工程设计概述
1.1 嵌入式系统设计的基本流程 不知各位读者是否记得在小学学过的一篇课文,说的是统筹方法,课文中举了泡茶喝这个例子.比方,想泡壶茶喝.当时的情况是:开水没有:水壶要洗,茶壶茶杯要洗:火生了,茶叶也有 ...
- 嵌入式学习笔记——概述
嵌入式系统概述 前言 "嵌入式系统"概念 1.是个啥? 2.可以干啥? 3.有哪些入坑方向? 4.入坑后可以有多少薪资? 单片机 1.什么是单片机? 2.架构简介 3.基于ARM架 ...
- 嵌入式系统(Embedded System)概述及其应用
前言 嵌入式系统?听到这个名词,没有接触的人是不是感觉很高大上?它真的有你心中想象的那样高级吗?关于嵌入式的基本概述,本篇博文将从以下几个方面阐述,部分内容可能不是很详细,感兴趣读者可以查阅相关资料. ...
- 嵌入式学习笔记——STM32的USART通信概述
文章目录 前言 常用通信协议分类及其特征介绍 通信协议 通信协议分类 1.同步异步通信 2.全双工/半双工/单工 3.现场总线/板级总线 4. 串行/并行通信 5. 有线通信.无线通信 STM32通信 ...
- 0.嵌入式控制器EC实战 Embedded Controller开发概述
文章目录 1.嵌入式控制器EC概述 2.EC芯片框图(IT8502为例) 3.General Purpose I/O Port (GPIO) 4.SMBus(System Management Bus ...
- 全球及中国嵌入式家电行业销售格局及竞争策略研究报告2021-2027年版
全球及中国嵌入式家电行业销售格局及竞争策略研究报告2021-2027年版 目录 2020年,全球嵌入式家电市场规模达到了 百万美元,预计2027年可以达到 百万美元,年复合增长率(CAGR)为 % ( ...
- linux 嵌入式串口通信设计目的,基于linux的嵌入式串口通信.doc
PAGE 天津电子信息职业技术学院 <嵌入式软件编程>课程报告 课程名称:基于linux的嵌入式串口通信 课程代码: 115229 姓 名: 甘琦 学 号: 48 专 业: 物联网应用技术 ...
- linux 嵌入式串口通信,基于linux的嵌入式串口通信综述.doc
PAGE 天津电子信息职业技术学院 <嵌入式软件编程>课程报告 课程名称:基于linux的嵌入式串口通信课程代码: 115229 姓 名: 甘琦 学 号: 48 专 业: 物联网应用技术 ...
- 1.1 嵌入式系统的定义和组成
1.1 嵌入式系统的定义和组成 1.1.1 嵌入式系统的定义 以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能.可靠性.成本.体积.功耗严格要求的专用计算机系统. 1.1.2 嵌入式 ...
- 《嵌入式系统设计师》笔记之一——嵌入式系统基础知识
1.1 嵌入式系统的定义和组成 1.1.1 嵌入式系统的定义 以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能.可靠性.成本.体积.功耗严格要求的专用计算机系统. 1.1.2 嵌入式 ...
最新文章
- 使用PHP应用查询SAP HANA Express Edition里的数据
- Loading 遮蔽层 简单实现。
- css-3秒(大概吧...)快速撸出YY游戏页面(三)
- Hash哈希(hashCode、HashSet 、HashMap)
- 《Java程序员面试秘笈》—— 面试题10 类继承的建模表示方法
- Android异常总结---res\layout\addUser.xml: Invalid file name: must contain only [a-z
- override java field_JAVA方法的重载(overload)和覆盖(override)
- 犀牛Rhino教程合集37部
- 数学建模英文论文写作
- C语言链表翻转的三种实现方式(栈、头插法、递归法)
- 爬取网易云音乐评论,延伸就能爬取网易云音乐的绝大多数数据
- 产品经理面试必备常见10道题及解析
- SEM和SEO有什么区别,哪种更好一些
- Ps抠图(小白教程)
- 为您奉上Dicom文件格式属性清单,不谢!
- 手机社会化分享到qq好友、qq空间、微信、微信朋友圈、微博等(区分浏览器)
- 树莓派的ssh连接配置
- 五千来字小作文,是的,我们是有个HTTP。
- 文字太多时给文本框添加滑动条——text + ContentSizeFitter + Scroll View
- html代码的魔方加密,三维魔方加密算法如何给文本文件加密
热门文章
- php 百度sitemap changefreq,php实现百度sitemap实时推送
- 全球与中国电梯光幕市场现状及未来发展趋势(2022)
- AOJ:Areas on the Cross-Section Diagram水域面积
- Keep客户端 In-App Purchase 掉单踩坑指南
- android 自动闪光灯,Android 控制闪光灯
- make makefile cmake qmake都是什么,有什么区别?
- 我的矛盾—自我意识与精神内耗
- 阿里云域名购买、认证、解析 腾讯企业邮箱注册、解析
- 学习前端开发的基本目录结构
- 51单片机K型热电偶温度采集及控制温控模块MAX6675热电偶LCD1602