在大多数培训机构、甚至大学,现在学习软件编程,计算机编程课程已经不把C语言列入学习内容,或者重点学习内容了。但是上嵌一直把C语言作为第一门课程,重点学习。iOS课程也加大C语言和Linux学习比重。
大家都知道C语言难学,上嵌这种课程设置对学生来说有什么特别的指导意义?
一、为什么要学习C语言
C语言是现代通用编程语言的鼻祖语言,也是所有操作系统必须支持的语言,在全世界编程社区的排行榜中常年稳居榜首。不学好C语言,其它编程语言难于到精通的程度。
我们不想重复“C语言是编程的基础”、“学好 C 语言,走遍天下都不怕”等等。C作为一门工程实用性极强的语言,提供了对操作系统和内存的精准控制,高性能的运行时环境,源码级的跨平台编译等优点,这才是我们学习C的理由。
C语言也是个有趣的东西,对编程的认知越深,就会越觉得有意思,简单列举一些 C 的优点:
结构化设计语言,语法清晰、结构简单,模块化使得程序的各个部分除了必要的信息交流外彼此独立,便于开发、调试以及调试。
运算符多,把括号、赋值、强制类型转换等都作为运算符处理,灵活使用各种运算符,可以实现在其它高级语言中难以实现的运算。
数据结构丰富,能实现各种复杂的数据类型的运算,引入指针、结构体概念使程序效率更高。
为操作系统而生,可以像汇编语言一样对位、字节和地址进行操作,允许直接访问物理地址对硬件进行操作,把高级语言的基本结构和语句与低级语言的实用性结合起来。
程序执行效率高,一般比汇编程序生成的目标代码效率低 10%~20%。
可移植性好,C 语言抽象了针对 CPU 编程的细节,能广泛应用于针对大型操作系统和系统软件的编写。
具备强大的绘图功能,和 C++ 一样也可以写出很优雅的二维、三维图形和动画。
C++、Java语言是所有平台对C语言的功能补充,属于界面开发、服务器开发的首选。所以上嵌将C语言作为基础技能,非常重视学员在这方面的培养,会对后续的学习打下一个良好的基础,也对上嵌学员的持续发展奠定坚实基石。
二、C语言需要掌握哪些知识点
一些最基础的就不列出来了。关键及难点:
- 指针及使用注意
- 数组和字符串
- 指针和数组
- 预处理指令
- #include编译预处理命令与多文件团队开发
- 算法
三、上嵌C语言项目
-
开发要求
- 写出需求分析,明确自己的项目具有哪些功能,
- 根据自己的需求分析画出整个项目实现的流程图,做到对整个项目的框架有个把握。
3.根据流程图对整个项目进行模块化处理,分模块进行编写代码,最后通过makefile文件连接所有的模块进行编译生成可执行文件。
考察重点
- 链表的新建以及对链表的增,删,改,查操作
- 文件的读和取(fopen,fread,fwrite)
- makefile 的使用
- 开发及功能要求