网站首页 > 技术文章 正文
C语言是一种面向过程的语言,目前主要应用于嵌入式开发,因为桌面开发有更高效的面向对象的开发技术。面向过程就是语言的设计流程是按照事物的时序来进行开发的,因此,当项目非常大的时候,维护起来就比较困难。
1.设计目标
是为提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。相对于汇编语言,C语言标志易懂、上手快、可读性好、易于调试、修改和移植,而代码质量与汇编语言相当。一般C语言代码只比汇编语言代码生成的目标代码效率低10%~20%。在当前单片机性能大幅提升、存储器大幅拉升的情况下,这点牺牲换来了极大的提高了开发速度、降低了编程难度,完全值得。
2.主要特点
- 简洁 关键字非常少,而且意义明确,易懂易记。比如int是integer,char是character,float等等。
- 运算符丰富 C语言包含34个运算符,它将赋值、括号等均视作运算符来操作,使C程序的表达式类型和运算符类型均非常丰富。并且运算规则不是那么严格,编程非常灵活。比如一个字符char可以不进行转换直接赋值给整数int,枚举型直接赋值给char或int等,这些操作在高级语言里如果不进行明确转换都是不允许直接赋值的。
- 地址读写 在嵌入式系统的应用中,必须要涉及对寄存器的访问。C语言可以便捷高效的实现这个功能。比如,ARM的CMSIS通用接口代码里,就用C的结构定义了所有片上的寄存器,对这些寄存器的访问,和访问变量没什么两样。如定义一个指向寄存器的变量,
uint32_t regData= *((uint32_t*)0x08000000);
//读取
x = regData;
//赋值
regData = a;
3.注意事项
C语言也是在不断的发展变化,因此也有许多不同的版本,如C89、C90、C95、C99等。这要求我们在实际应用的时候同样要注意版本的兼容性。这一点很容易被初学者忽略。比如C99支持在函数中任意位置定义变量,但是早期的版本就不支持。
4.难不难学
任意事物,只要下功夫,肯定会有收获。况且现在程序员那么多,说明了只要学习,肯定是很掌握的。当然熟练的程度,要取决于做项目的多少,熟能生巧。建议初学者理论联系实际,多做实际,学好它并不难。
最后,如果你想学C/C++可以私信小编“01”获取素材资料以及开发工具和听课权限哦!
猜你喜欢
- 2025-09-12 编程语言那么多,为何C语言能成为最成功的语言?
- 2025-09-12 为什么Java用途这么广泛,而地位不如C++
- 2025-09-12 学java还是学C++?_学java还是学c语言
- 2025-09-12 编程究竟难在哪?_编程难学吗举个例子
- 2025-09-12 中小学生学习编程选择C++还是Python
- 2025-09-12 今天测试一个常用功能时,发现纯C语言竟然比C++快15倍
- 2025-09-12 C语言这么难,为何大家都如飞蛾扑火般学习?现在带你揭秘
- 2025-09-12 C++真的很难学好?大师告诉你程序设计要怎么做
- 2025-07-02 嵌入式程序开发,C语言和C++究竟应该用哪个?
- 2025-07-02 C语言?c++?到底先学哪个才能更好的理解编程,这些你造吗
- 最近发表
- 标签列表
-
- cmd/c (90)
- c++中::是什么意思 (84)
- 标签用于 (71)
- 主键只能有一个吗 (77)
- c#console.writeline不显示 (95)
- pythoncase语句 (88)
- es6includes (74)
- sqlset (76)
- apt-getinstall-y (100)
- node_modules怎么生成 (87)
- chromepost (71)
- flexdirection (73)
- c++int转char (80)
- mysqlany_value (79)
- static函数和普通函数 (84)
- el-date-picker开始日期早于结束日期 (76)
- js判断是否是json字符串 (75)
- asynccallback (71)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)