嵌入式每日学习心得2017.07.14

来源:互联网 发布:java swing的gui 编辑:程序博客网 时间:2024/05/20 20:18
sizeof  的用法和特点。n=sizeof(a)/sizeof(int);

循环结构的实现方式:(1+..100)
1.while
2.do...while
3.for
4.if...goto...
5.递归

goto语句的作用:无条件跳转

滥用goto语句会导致程序执行流程混乱,代码可读性大大降低,所以建议尽量不使用goto语句

break和continue语句在循环结构中的作用

break语句:结束当前循环,即退出循环
continue语句:结束本次循环,即进入下次循环

循环结构可以嵌套使用(二重循环或多重循环),但建议嵌套层次不要太多,否则影响代码可读性


数据交换


1.中间变量
2.变量特性
3.异或   a=a^b;  b=a^b;  a=a^b;
a^=b; b^=a;a^=b;
         a=a+b;  b=a-b;  a=a-b;


函数(Function):实现某个特定功能的代码块,相当于一个功能模块


在C语言项目开发中,一个复杂的项目可以划分为若干个功能模块,而每个功能模块可以通过一个函数去实现


函数分为两类:库函数和自定义函数


库函数:系统已经定义好,我们直接调用的函数,无需关注其实现细节。例如:printf, scanf, getchar等


C语言提供的库函数称为标准库函数,大概有300多个,例如:printf, scanf, getchar等
有些库函数是操作系统或第三方提供的,它们就不是标准库函数了,也不能像标准库函数一样跨平台使用了


C/C++语言是跨平台(源代码级别,不是二进制级别)的,即C/C++语言源代码在不同的操作系统平台上可以通用,不需要任何修改


平台是指操作系统(例如,Windows平台,Linux平台,Android平台等)或软件运行环境(例如,Java平台,.NET平台)


常用库函数:


1.时间处理相关的库函数:time(获取系统当前时间戳,即距离1970年1月1日0时0分0秒的秒数)
2.生成随机数相关的库函数:srand(设置随机数种子),rand(产生一个随机数)


rand函数生成的是伪随机数(pseudo-rand number),并不是真正的随机数,每次运行程序生成的随机数序列是一样的


操作系统内部维护着一个随机数序列,我们每次调用rand函数只是从这个序列中的某个位置开始依次获取一个随机数,这个取随机数的起始位置是由随机数种子决定的,如果随机数种子相同,则每次获取的随机数序列将是一样的,所以如果希望产生不同的随机数序列,就应该在每次产生随机数序列之前设置一个不同的随机数种子


3.执行一个程序:system


4.休眠函数:sleep(以秒为单位), usleep(以微秒为单位),注意它们不是标准库函数,是Linux系统提供的库函数,只能用于Linux平台