目前大一,在学C++,编程能力如何快速提高?
我认为,大学生在提高自己编程能力的过程当中最好是进行练习,只有练习才能够获得一个很好的提高,其实任何的技术都是经过熟练的操作之后才能够达到目的的,没有足够的练习是不能够熟练操作的,这其实是每一个人都懂得道理。
一、理论知识必须要扎实其实各位都非常清楚,在学习任何技能的过程当中都是需要学习理论知识的,只有理论知识比较扎实,才能够继续去实际练习,没有理论的支撑是不会有太大的进一步的理论的支撑,其实就是让每一个人在学习技能的过程当中能够不断的进行思考和总结,思考和总结对于快速提升来说是非常关键的。
二、自己动手去练是必不可少的其实一直听老师讲课在短期内是有帮助的,但是在长期听老师讲课是没有太大的帮助的,必须要自己去动手练习,自己买一台电脑就可以进行很好的编程,有不懂的地方其实和自己的老师进行讨论和交流。
三、学习编程在未来的发展前途还是非常大的其实很多人在高考结束之后都是想报考这个专业的,因为这个专业在未来的发展方向还是非常好的,因为这个社会当中互联网的发展是非常迅速的,而且会出现一些比较奇怪的新东西,在这种情况之下是能够获得更好的机会的。
在目前的这个社会当中,其实编程能力是一个学计算机的学生最基本的一个技能,而且学计算机的学生在学习编程的过程当中,必须要进行很多的练习以及基础理论要很扎实才能够获得一个很好的进步。我认为在练习的过程当中还应该去看一些网课,因为网课上的老师所讲的内容是更加通俗易懂的,而且能够更好的进行知识的传授。
1、学好 C 语言。建议你一定要学好 C 语言,它应该作为你必须掌握好的语言。你要熟悉 C 语言的基本语法,包括:
顺序、条件、循环三大控制语句
C 中几大基元数据类型的用法
熟悉掌握数组的用法
熟练掌握指针的用法
熟练掌握结构体、枚举、联合等数据类型的用法
熟练使用常用 C 库函数,如控制台输入输出流、字符串操作、文件操作、时间函数等等
2、熟悉 C/C++ 语言相关的开发工具链
无论你的理论知识学的多么麻溜,连代码写在什么地方、如何编译、如何调试和运行都不知道,一切都是水中月镜中花。所以掌握 C/C++ 语言相关的开发工具链你才能不断练习,提高动手能力,我们学习开发最终是为了付诸实践的。
熟悉 C/C++ 语言的相关的 IDE 开发环境,Windows上我推荐 Visual Studio,Mac 上可以使用Subline 或者VSCode,如果你最终的程序需要在 Linux 跑,你需要熟悉 cmake/make/gcc/g++/gdb 工具链,vim 的基本操作也要熟悉,但绝对不要直接在 vim 中写代码,纯属浪费时间,实际企业级开发也没人会这么做。这里强调一下,如果可能,至少要熟悉 Visual Studio 和 gdb 调试。
3、编程语言方面
学好 C++ 本身,学习的阶段,请抛弃各种总结经验技巧的面经,逐个掌握 C++ 语言的各个语法,包括但不局限于:
指针和引用的概念
指针与内存关系
程序编译过程,静态链接库和动态链接库
static、const、#define的用法和区别
C和C++区别
内存中的栈和堆分配
面向对象理解
访问限定符 public/protected/private
构造函数/析构函数/拷贝构造
多态
虚函数与纯虚函数、虚函数实现机制、虚函数表
继承原理、虚继承、菱形继承
new/delete和malloc/free
重载、重写和覆盖
类型转换方式
RAII 与 pimpl 惯用法
内存溢出和内存泄漏
STL标准模板库
迭代器、空间配置器理解
常用容器特点、用法以及底层实现vector、list、deque、set、map、unorderedmap
C++11/14/17 新标准也慢慢成为主流,这块也要熟悉,要熟悉新标准常用的语法与新功能,包括:另外,时至今日,你一定要熟悉 C++11/14/17 常用的语言特性和类库,这里简单地列一下:
左值/右值/std::move/std::forward
统一的类成员初始化语法与 std::initializer_list
注解标签(attributes)
final/override/=default/=delete 语法
auto 关键字
Range-based 循环语法
结构化绑定
stl 容器新增的实用方法
std::thread
线程局部存储 thread_local
线程同步原语 std::mutex、std::condition_variable 等
原子操作类
智能指针类
std::bind/std::function
C++11/14 网上的资料已经很多了,C++17 的资料不多,重点掌握的还是 C++11 引入的各种实用特性,这就给读者推荐一些我读过的书:
《深入理解 C++11:C++11 新特性解析与应用》
《深入应用 C++11:代码优化与工程级应用》
《C++17 完全指南》
《Cpp 17 in Detail》
4、学好算法和数据结构
如果你想毕业后进大厂,从这时开始学习算法和数据结构。
一定要找一两本经典书籍系统地学习下常见的算法理论、思想和常用的数据结构知识。等熟悉了这块的知识,再适当地刷一些算法题目或者做一些算法练习。
学习算法和数据一定不能急功近利,算法和数据结构的知识一定要作为一个长期的学习目标。
5、注重代码规范与风格优化
在你学习的过程中,请一定要认真对待自己每一个变量名、函数名,养成良好的代码习惯。我学生时代花了大量时间去学习一些教人写出优美风格的代码书籍、资料、源码,在你还是个小白的时候,要认真精读一些优秀代码,不仅要学习它们的整体设计思路,还要学习它们的代码风格和细节。这里推荐《程序设计实践》《代码整洁之道》这两本书,特别是《程序设计实践》,强烈建议学生朋友看一下,能大幅度地提高你实际编码的技巧和编码风格。