果然,最近在网上看到,C语言是程序员的母语,看来我更有必要学一学。除此之外,我发现我在学习算法(这里特指最近学的排序算法)的时候遇到了一些瓶颈,也是源自C语言这边的概念和原理,所以,抓紧学起来吧。
学习参考视频URL:https://www.youtube.com/watch?v=yWPGumB64tM&list=PLY_qIufNHc293YnIjVeEwNDuqGo8y2Emx&index=1
以下是一些总结:
C语言的特色:1.高阶语言 2.可携性:相同的代码可以在不同的机器上执行3.可写出有效率的程序
C语言写成的代码大概长这个样子:
#include <stdio.h>
int main () {
printf ("Hello world!\n");
return 0;
}
C语言的编译:
图源:https://www.youtube.com/watch?v=-CmItqdD53Q&list=PLY_qIufNHc293YnIjVeEwNDuqGo8y2Emx&index=5
常见的C语言的编译器:Visual C++(适用于win系统),GCC C(多平台),Clang(多平台)
编译器之间的差异:
1.效率(编译速度,从程序产生机器码的效率;机器码执行起来的效率)
2.兼容性(编译器在标准外的自定义功能)
3.一致性(Implementation-defined,由实作环境决定、实作定义:不同版本或者使用不同设定的同款编译器也可能产生不一样的行为)
集成开发环境(IDE):帮助程序开发人员开发软件的软件,通常是图形化界面(GUI),主要包含了:文字编辑器、编译器、自动化工具,同时还配有版本控制工具,代码提示工具等等工具
常见的集成开发环境(IDE)Visual Studio,Dev C++,Code::Blocks,Eclipse,Qt Creator,Xcode
本次学习用Code::Blocks来学习C语言,且看下回分解。
附录:提到C语言,感觉一下子就回到了七年前,那时除了我们专业的同学之外,剩余学院的同学几乎都修了C语言,“也许这门课是真的如此重要吧”,我想。于是,我在学校的许愿墙上写道:求一个C语言的大神来一起学习(抱大腿)啊(笑)。
那年我才大一,经常和同学约在综一、建馆等等自习室学习。那个时候,似乎有上不完的选修课、考不完的必修课考试、跑不完的两千米,那是充实又快乐又偶有迷茫的一段时光。
对了,还想说,大一下学期我们正好有机会可以转专业,但当时我真的犹豫了,逃避了很多事情,现在想来都十分后悔。不过后悔是没有用的,我应该把它当作一次教训,也就是要抓住年轻的时光,趁着自己还有旺盛的精力之时,努力完成自己内心的“理想”。
我不知道我还有没有机会回到凌水河了,不过我可以逐渐肯定的是,从那里出来的人正在不断改变着,或许是顺应着时代、或许他们本身就是那个样子的。去除我对他们种种的滤镜,我似乎看到了“杯子碰到一起,都是梦破碎的声音”的场景。是的,2016已不再,我只愿初心不改,钻研之心不变。