单片机C语言基本语法总结和误用总结.doc
《单片机C语言基本语法总结和误用总结.doc》由会员分享,可在线阅读,更多相关《单片机C语言基本语法总结和误用总结.doc(6页珍藏版)》请在三一文库上搜索。
1、单片机C语言基本语法总结和误用总结单片机的时候才真正知道C语言是什么它是来干什么的但是C语言用到嵌入式只是它小小的一部分他的应用还有很多地方呢,呵呵我们这里就不讨论这个了。我们是不是在写程序的时候错误很多就算编译通过了也达不到我们预期的结果,完了自己是不是也很难找到错在哪儿吧?我绝得语言之所以能称之为语言,它肯定是一种工具一种相互交流相互通信相互传达之间的意图的工具,作为语言那肯定得有自己的语法,要想相互交流肯定得先学好它的语法吧(比如像表达式,函数,循环,指针)我称之为C语言的语法。C语言虽然很强大但是他也有不少陷阱,所以我发这篇博客有两个目的一是:把C语言一些误用易错的地方总结一下,二是把
2、C语言一些基本语法总结一下第一次:1.关于自增自减(即+i,i+)要想给一个数加一或减一我们可以:i += 1;j -= 1;而C语言还允许用+和-运算符,其实这里有误导,因为+和-可以作为前缀和后缀,这样的话他们就有可能改变操作数的值,下面让我们来看看:i = 1;printf(i is %dn,+i); /* prints i is 2 */printf(i is %dn,i); /* prints i is 2 */计算表达式i+的结果是i,但是会引发i随后进行自增:i = 1;printf(i is %dn,i+); /* prints i is 1/ */printf(i is %d
3、n,i); /* prints i is 2 */第一个printf 显示了i自增前的原始值,第二个printf显示了i变化后的新值;当然 - 类似我就不举例了但在同一个表达式中多次使用+和-往往很难理解我们看看下面的例子:i = 1;j = 2;k = +i + j+;i,j,k最终值分别是2,3,4而+i是2 j+是2;总结:不管是+i还是i+执行这条语句后i的值都加一了只是(+i)的值加一了而(i+)没变,2.typedef与#define2.1.typedefC语言除了直接使用标准的类型名(如 int char float double)和自己声明的结构体、共用体、指针、枚举类型外,还
4、可以用typedef声明新的类型名来代替现有的类型名。typedef unsigned char u8;typedef unsigned int u16;u8 count;u16 time;typedef structu8 month;u8 day;u16 year;DATE;DATE brithday;总结一下,声明新的类型名的方法:1.先按定义变量的方法写出定义体(如 unsigned int i)2.在变量名换成新的变量名(如将 i换成u16)3.在最前面加上typedef (typedef unsigned int u16)4.然后用新类型名去定义变量2.2 #define2.1.1不
5、带参数的宏定义#define 标识符 字符串#define PI 3.1415926注意:1.它的作用是在本程序中用指定的标识符PI来代替3.14159262.宏定义是用宏来代替字符串也就是做简单的置换,不做正确性检查如果写成#define PI 3.l4l6926即把1写成了字母l但是预处理照常代入不做任何语法检查!2.1.2带参数的宏定义#define 宏名(参数) 字符串#define S(a,b) a*barea = S(a,b);#define MAX(x,y) (x)(y) ? (x)y)3.typedef和#define的区别一般来说typedef 因为它能正确处理指针类型typ
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 语言 基本 语法 总结 误用
链接地址:https://www.31doc.com/p-3398083.html