目录
前言
记录自己学习嵌入式开发过程,将主要知识点进行梳理,构建知识体系。
C语言简介
C语言由美国贝尔实验室丹尼斯·里奇设计,它是世界上最流行、使用最广泛的高级程序设计语言之一,广泛用于系统与应用软件的开发。
它具备很强的数据处理能力、高效、灵活、功能丰富、表达力强和较高的移植性等特点,同时也是一个面向过程的编程语言,熟练使用是我们学习嵌入式开发的基础。
开发环境
vmware: 虚拟机,Ubuntu可根据我们电脑的硬件基础(cpu、内存、网卡、声卡、usb等等),虚拟 一样的硬件基础,再在硬件基础上再安装一个新操作系统。
vmware:根据不同需求可安装windows, linux, unix(等操作系统),而我们需要Linux系统。
一、 数据存储与运算
(1)定义一个变量 (2)给变量赋值 (3)将变量里面的值打印输出
int 只能保存整型,如果我们保存小数、字符等其他类型呢?,下面将介绍C语言的其他常用类型
1.1 数据类型
数据类型是为了保存相应变量,而输入输出也需要与数据类型对应,每个类型在内存空间占的大小也是固定的,上图为32位下 数据类型所占空间的大小,而在64位中,long int 占内存大小位8字节,其他不变。
1.2 数制 及转换
二、运算符
C语言中运算符种类多样,有算术运算符、赋值、逗号、位运算、sizeof、关系运算符等等,且运算符也有不同的优先级,我们先认识基础的3种运算符:算术、关系、逻辑
2.1 算术运算符
练习:输入三个数,求和,求平均值分别打印
2.2 关系运算符
2.3 逻辑运算符
2.4 sizeof()运算符
sizeof()运算符作用:求变量或数据类型所占内存空间的大小(以字节为单位)
定义的类型必须和我们的目标相对应,例如小数只能用floa 或 double ;类型匹配
2.5 三目运算符 ? :
三、 选择结构(if语句)
目的:进一步理解并运用上面的关系、逻辑运算符。
3.1 if(条件){执行语句}
3.2 if-else
3.3 if嵌套
练习:从键盘输入一个数, 判断这个数是不是偶数,如果是偶数,打印此数;如果是偶数,再判断这个数的一半是不是偶数
在C语言中,if条件非0即为真,就会执行 而!是搬弄是非即:真变假,假变真
3.4 逻辑运算符
&& 一假即假 同真即真 || 一真即真 同假为假 ! 真变假 假变真
练习:某一时间的下一秒 输入三个数,代表小时 分钟 秒
eg:20 59 59
下一秒 :21:00:00
要求,如果用户输入了错误的时间,退出 25点退出, 61秒退出
四、字符与ASCII
美国国家标准委员会,规定了每一个字符,由一个有效的数字来表示,这个数字就是ascii码。 在terminal中输入man ascii,即可查看,q退出 ;数量较多,但为了方便我们只需要记住常用的几个
4.1 字符与数字
每一个字符都有唯一的ASCII值,可通过ASCII间的运算将我们的目标转换出来。
练习:输入一个字符,进行判断
判断这个字符到底是 小写字母 大写字母 数字
1)如果是 小写字母 打印输出 is small letter!!
2)如果是 大写字母 打印输出 is big letter!!
3)如果是 数字 打印输出 is number
不同类型进行运算,要进行类型转换,有3种转换模式:1.隐式转换 2.赋值转换 3.强制类型转换
转换原则:从小到大 char --> short --> int --> long --> float --> double
4.2 自加自减 (++ ; --)
常用于条件判断中,或者和逻辑运算符进行短路运算 && ||
五、C结构介绍
C语言的结构主要是顺序、选择、循环结构,是实现function的基础
5.1 顺序结构
程序程序自上而下顺序执行,不能改变顺序;所以变量、函数等凡事要使用的都要先定义、声明,否则编译无法通过。
5.2 选择结构
满足条件即执行,常用语句:
用switch语句实现多分支选择结构,只要是switch语句写出来的代码,必然能用if-else if - else 替换
if-else if - else语句写出来的代码,不一定能用switch替换
5.3 循环结构
总结
以上内容,是简单介绍了C语言的基础知识,和一些小练习,要多敲代码来消化吸收。