完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在学习单片机的时候才真正知道C语言是什么它是来干什么的~但是C语言用到嵌入式只是它小小的一部分他的应用还有很多地方呢,呵呵我们这里就不讨论这个了。我们是不是在写程序的时候错误很多就算编译通过了也达不到我们预期的结果,完了自己是不是也很难找到错在哪儿吧?我绝得语言之所以能称之为语言,它肯定是一种工具一种相互交流相互通信相互传达之间的意图的工具,作为语言那肯定得有自己的语法,要想相互交流肯定得先学好它的语法吧(比如像表达式,函数,循环,指针)我称之为C语言的语法。C语言虽然很强大但是他也有不少陷阱,所以我发这篇博客有两个目的一是:把C语言一些误用易错的地方总结一下,二是把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 %dn",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与#define 2.1.typedef C语言除了直接使用标准的类型名(如 int char float double)和自己声明的结构体、共用体、指针、枚举类型外,还可以用typedef声明新的类型名来代替现有的类型名。 typedef unsigned char u8; typedef unsigned int u16; u8 count; u16 time; typedef struct { u8 month; u8 day; u16 year; }DATE; DATE brithday; 总结一下,声明新的类型名的方法: 1.先按定义变量的方法写出定义体(如 unsigned int i) 2.在变量名换成新的变量名(如将 i换成u16) 3.在最前面加上typedef (typedef unsigned int u16) 4.然后用新类型名去定义变量 2.2 #define 2.1.1不带参数的宏定义 #define 标识符 字符串 #define PI 3.1415926 |
|
相关推荐 |
|
你正在撰写讨论
如果你是对讨论或其他讨论精选点评或询问,请使用“评论”功能。
5370 浏览 1 评论
【⌈嵌入式机电一体化系统设计与实现⌋阅读体验】+《智能化技术在船舶维护中的应用探索》
2743 浏览 0 评论
2560 浏览 0 评论
2272 浏览 0 评论
1685 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-24 18:16 , Processed in 0.674267 second(s), Total 66, Slave 49 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号