预览加载中,请您耐心等待几秒...
1/3
2/3
3/3

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

单片机C语言的误用 单片机C语言的误用导语:在学习单片机的时候才真正知道C语言是什么它是来干什么的,但是C语言用到嵌入式只是它小小的一部分他的应用还有很多地方呢,也经常出现误用,让我们了解一下吧!我们是不是在写程序的时候错误很多就算编译通过了也达不到我们预期的结果,完了自己是不是也很难找到错在哪儿吧?我绝得语言之所以能称之为语言,它肯定是一种工具一种相互交流相互通信相互传达之间的意图的工具,作为语言那肯定得有自己的语法,要想相互交流肯定得先学好它的语法吧(比如像表达式,函数,循环,指针)我称之为C语言的语法。C语言虽然很强大但是他也有不少陷阱,所以我发这篇帖子有两个目的:一是把C语言一些误用易错的地方总结一下,二是把C语言一些基本语法总结一下。第一次:1.关于自增自减(即++i,i++)要想给一个数加一或减一我们可以:i+=1;j-=1;而C语言还允许用++和--运算符,其实这里有误导,因为++和--可以作为前缀和后缀,这样的话他们就有可能改变操作数的值,下面让我们来看看:i=1;printf("iis%d",++i);/*printsiis2*/printf("iis%d",i);/*printsiis2*/计算表达式i++的结果是i,但是会引发i随后进行自增:i=1;printf("iis%d",i++);/*printsiis1/*/printf("iis%d",i);/*printsiis2*/第一个printf显示了i自增前的原始值,第二个printf显示了i变化后的新值;当然--类似我就不举例了~但在同一个表达式中多次使用++和--往往很难理解我们看看下面的例子:i=1;j=2;k=++i+j++;i,j,k最终值分别是2,3,4而++i是2j++是2;总结:不管是++i还是i++执行这条语句后i的'值都加一了只是(++i)的值加一了而(i++)没变,2.typedef与#define2.1.typedefC语言除了直接使用标准的类型名(如intcharfloatdouble)和自己声明的结构体、共用体、指针、枚举类型外,还可以用typedef声明新的类型名来代替现有的类型名。typedefunsignedcharu8;typedefunsignedintu16;u8count;u16time;typedefstruct{u8month;u8day;u16year;}DATE;DATEbrithday;总结一下,声明新的类型名的方法:1.先按定义变量的方法写出定义体(如unsignedinti)2.在变量名换成新的变量名(如将i换成u16)3.在最前面加上typedef(typedefunsignedintu16)4.然后用新类型名去定义变量