大一新生应该如何学习C语言,书上代码看不懂理解不了怎么办?(2)

简介: 大一新生应该如何学习C语言,书上代码看不懂理解不了怎么办?

C语言有两个关键部分:


第一是语法:也是入门教材里最看重的内容,也就是那些变量、数据类型、分支判断、循环、函数、指针等等。


第二是函数库:简单来说,函数库就是别人编写好的 C 函数,你可以直接拿来调用,比如说调用 printf() 函数就可以在屏幕上打印。很多人可能觉得库函数不重要,都是别人封装好的,只要记住函数名就可以了,但其实我想表达的是,库函数才是你学习 C语言并将其应用于实践的关键。


因为学会调用别人的库函数(例如malloc函数、calloc函数、realloc函数、free函数),才有机会写出自己的库函数,否则从零开始撸实在是太不现实了。


05)学习 C语言的一些建议


一般来说,学习 C语言可以分为以下 5 个阶段:


1)学习基础语法

2)学会使用 C语言自带的库函数,比如说 printf 级别的

3)学会使用一些基本的数据结构与算法

4)有了一定的 C语言基础,开始学习一些计算机专业的核心知识,比如说操作系统、计算机组成原理等

5)动手做出一些 lab,造一些简单的轮子,实现一些简单的小应用

这里推荐 2 个蓝桥云课上的免费小 lab,大家可以动手练起来。


1)可以进行加减乘除的计算器




课程地址:https://www.lanqiao.cn/courses/75

通过这个 lab,大家可以学到:


计算器设计思路

C 语言的格式检查

C 语言输入与输出

2)实现一个属于自己的编程语言




课程地址:https://www.shiyanlou.com/courses/670

通过这个 lab,大家可以学到:


解析器

波兰表达式

解析树的计算

S-Expression

变量定义和使用

条件判断

正则表达式

递归分析长字符串

出错处理

Q-Expression

函数

字符串

这个 lab 翻译自国外的 build your own lisp:


https://buildyourownlisp.com/

如果英语功底比较扎实的话,可以直接看原版。




认真跟着做这些 lab,真本领就学到手了。


06)学习 C语言的其他资源


给初中生看的《啊哈 C语言》,简单易懂,生动有趣,虽然只能学到 C语言的冰山一角,但也值了。




给高中生、大一新生看的入门书《c primer plus》,语法全覆盖,细节多,知识点讲的清楚,缺点是琐碎,细节弯弯绕。




还有一本《C 程序设计语言》,这本书的作者是 C语言之父,所以全书讲的都是 C语言的核心。代码示例大多都是库函数的实现方法,内容简洁明了,干净利落,没有废话。





想成为大佬的人

想进阶 C语言

想理解指针和内存

想搞懂 Linux 内核

想搞基础设备的

想搞单片机的

想进微软改进 Windows 的

想搞贴近生活硬件的,比如说闹钟、计时器、简单的机器人

看的进阶书《C 陷阱与缺陷》、《C 专家编程》、《C 和指针》




到此为止,C语言的重点就全部划出来了,剩下的学习就交给大家了。最后,二哥再唠叨几句:


1、自学才是硬道理。强大的自学能力是独自解决问题的根本,程序员需要拥有强大的自学能力。


2、一个人可以走得很快,但一群人才能走的更远。最好加入一些有氛围的技术交流群,结交一两个有能力的同阶段的人,切磋精进一下。


3、入门阶段,coding 为主,视频为辅,不要搞反了。记住这个公式:只看+不练=假把戏。


4、如果以后不想当一个优秀的工程师,不想在计算机这条道路上走得更远,只想躺平当个平平淡淡的码农,那么我推荐一条路:跟着老师一步步走,跟着大学的教学方案,一步步走就行了。


上面这4条建议其实不仅适用于C语言的学习,还适用于其他任何一门编程语言的学习。如果能够这样坚持下去,几年后,你将是一名善于解决实际问题的工程师,而不是一名普普通通的码农。


以上,希望能帮助到大家!




没有什么使我停留——除了目的,纵然岸旁有玫瑰、有绿荫、有宁静的港湾,我是不系之舟。


相关文章
|
1月前
|
存储 安全 数据管理
C语言之考勤模拟系统平台(千行代码)
C语言之考勤模拟系统平台(千行代码)
55 4
|
25天前
|
存储 算法 程序员
C 语言递归算法:以简洁代码驾驭复杂逻辑
C语言递归算法简介:通过简洁的代码实现复杂的逻辑处理,递归函数自我调用解决分层问题,高效而优雅。适用于树形结构遍历、数学计算等领域。
|
1月前
|
存储 安全 物联网
C语言物联网开发之设备安全与代码可靠性隐患
物联网设备的C语言代码安全与可靠性至关重要。一是防范代码安全漏洞,包括缓冲区溢出和代码注入风险,通过使用安全函数和严格输入验证来预防。二是提高代码跨平台兼容性,利用`stdint.h`定义统一的数据类型,并通过硬件接口抽象与适配减少平台间的差异,确保程序稳定运行。
|
26天前
|
并行计算 算法 测试技术
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面,旨在通过综合策略提升程序性能,满足实际需求。
57 1
|
2月前
|
存储 搜索推荐 C语言
深入C语言指针,使代码更加灵活(二)
深入C语言指针,使代码更加灵活(二)
|
2月前
|
存储 程序员 编译器
深入C语言指针,使代码更加灵活(一)
深入C语言指针,使代码更加灵活(一)
|
2月前
|
C语言
深入C语言指针,使代码更加灵活(三)
深入C语言指针,使代码更加灵活(三)
深入C语言指针,使代码更加灵活(三)
|
3月前
|
安全 C语言
在C语言中,正确使用运算符能提升代码的可读性和效率
在C语言中,运算符的使用需要注意优先级、结合性、自增自减的形式、逻辑运算的短路特性、位运算的类型、条件运算的可读性、类型转换以及使用括号来明确运算顺序。掌握这些注意事项可以帮助编写出更安全和高效的代码。
62 4
|
2月前
|
C语言
教你快速理解学习C语言的循环与分支
教你快速理解学习C语言的循环与分支
20 0
|
2月前
|
C语言
C语言练习题代码
C语言练习题代码