大家好,我是小沐🤦♂️。一年以前曾学过c++的一部分基础知识,但是没有深入了解,目前打算系统的学习编程知识(从C语言开始),同时将自己所学到的东西分享到网络上。一方面是督促自己学习的同时能够进行有效的输出,同时打造属于自己的学习体系。另一方面,小沐子想通过这种方式来认识和帮助和我一样的铁子,大家可以一起交流,一起学习!话不多说,正文开始—>🤞🤞🤞
下面我将分为几个部分来与大家分享:
1.我们为什么要学习C语言?
(1).C语言的起源
(2). C语言的特性
(3).学完了C语言之后能做什么?
2.使用C语言的步骤
3.C语言标准
4.编程机制
5.C语言好不好学?
1.我们为什么要学习C语言?
对于理工科的学生来说,这个问题可能很容易找得到答案。曾经有一个人说过:“每个程序员都应该学习C语言,因为它有太多难以忽视的好处了。除了提供工作机会之外,C语言教会的更多是关于计算机的知识与思维模式,为以后的编程学习保驾护航!往下看也许你能找到答案。
(1)C语言的起源
1972年,丹尼斯·里奇和肯·汤普逊在开发UNIX操作系统时设计了C语言,它是里奇在B语言的基础上设计而来的。当时里奇以实用作为设计师的主要目的,随着计算机的发展,与之同期存在的Pascal和BASIC早已退出了时代的舞台,而C语言却成为了目前编程学习的首选之一。
(2)C语言的特性
①.设计特性
C语言能让用户轻松完成自顶向下的规划、结构化编程和模块化设计,换句话来说,用C语言写出的程序更易懂可靠!
②.高效性
C语言具有汇编语言才有的微调控制能力,可根据情况微调程序以获得最大运行速度或最有效的使用内存。
③.可移植性
与大多数语言所要求的运行环境不同,在一种系统中编写的C程序稍作修改或不修改就能在其他系统运行,另外由于C语言起源较早,现在已经有了各种PC端的C语言的编译器,因此C的可移植性非常强。
④.强大而灵活
这方面可以举出许多例子:UNIX系统、其他语言如(FORTRAN、Perl、Python、Pascal、LISP、Logo、BASIC)的编译器和解释器都是用C语言写的、C语言可以解决许多工程问题甚至制作电影特效······
⑤.面向程序员
C语言在有丰富运算符的同时,不像C++那么严格,为程序员提供了更多自由。当然,也承担了更大的出错风险。
(3).学完C语言之后能做什么?
C语言可以做上层开发和底层开发包括写应用软件、系统软件和图形的处理、嵌入式开发和游戏的开发等等,比如推箱子和贪吃蛇就是用C语言开发出来的。但是在这里小沐想说,学完C只是让我们开始进入了编程的世界,还有许多的未知等着我们去探索和学习,所以C语言只是一个开始!千万不要觉得学完C语言就能找到一份好的offer。
2.使用C语言的步骤
好的习惯对于一个优秀的程序猿来说是至关重要的,有的人写代码时往往是一看到问题直接上手写代码,结果没有清晰的思路半天写不出来,就算写出来了也是Bug百出。下面我们看看写程序应该从哪里开始:
(1)定义程序的目标
换言之,在写程序之前,先要有清晰的思路,明确自己想做什么以及如何去做,小沐建议大家可用汉字写在纸上;
(2)设计程序
这个时候应该明确程序该如何来完成,考虑需要用到的算法,数据的输入输出与处理,以及如何使程序的时间复杂度和空间复杂度尽可能小。
(3)编写代码
终于到了写代码的时候了,当你做好上面两步时,这一步仅仅是将你的思路翻译成代码,仅此而已!
#include <stdio.h>
#include <stdlib.h>
int main()
{
printf("Hello world!\n");
return 0;
}
(4)编译
编译是编译器来完成的,主要是把你写的源代码转换成可执行的程序。
(5)运行程序
这个时候就可以看到你的代码能出现什么结果了。
(6)测试和调试程序
当然,你的程序有可能运行错误,这个时候就需要检查错误了。
(7)维护和修改代码
大的项目当程序开始出现错误或者你想拓展程序的功能时,就是这一步的实施了!
3.C语言标准
C语言发展之初,并没有C标准的概念。但随着C语言的发展,出现了很多的C实现(可理解为编译器的不同),为了使它的运行情况在任何实现中都相同,人们制定了C标准。
(1).第一个ANSI/ISO C标准
1989年,美国国家标准协会(ANSI)正式公布了一套新标准,该标准(ANSI C)定义了C语言和C标准库。1990年国际标准化组织采用了这套C标准(ISO C)。
ISO C与ANSI为完全相同的标准。由于公布时间,该标准通常被称为C89或C90。由于ANSI首先公布,程序猿们通常使用ANSI C。至于具体的标准是什么样的,大家可以先不用考虑,再往后的学习中小沐会发布相关内容。
(2.C99标准
1994年,ANSI/ISO联合委员会开始修订C标准,并发布了C99标准,往后的学习中会有很多C99字眼出现。这是因为虽然该标准以及发布很长时间,但并不是所有的编译器都实现了C99的所以改动,所以,有的时候你会发现,自己写的代码有时候运行不了,换个编译器就能运行的情况。
(3).C11标准
标准的维护任重而道远啊,2011年委员会发布了C11标准。需要说明的是,修改标准的原因是为了跟进新的技术,对于标准的学习,会在往后体现出来,大家现在了解即可。
4.编程机制
C语言编程的基本策略是,用程序把源代码文件转换为可执行文件(其中包含可直接运行的机器语言代码),C实现通过编译和链接两步完成,编译器把源代码转换成中间代码,链接器把中间代码和其他代码合并,生成可执行文件。如下图所示:
简而言之,目标文件和可执行文件都由机器语言指令组成。目标文件中编译器为你编写的代码翻译的机器语言代码,可执行文件中还包含你编写的程序中使用的库函数和启动代码的机器代码。
5.C语言好不好学?
最后,跟大家聊聊C语言好不好学的问题,小沐的回答是好学,但也不好学。由于我接触过一段时间的C++语言,所以上手C语言会比较容易。而对于没有编程基础的同学来说,因为C语言是底层语言,所以相对逻辑性和数学能力不强的人来说会相对难一点。
在这里,我的建议是有想法长期从事IT行业的大学生,一定要从C语言开始学起,因为到了后面你就会发现,其他的大多数语言都为C-like语言。只要把C和C++学好,上手其他的语言是很快的,所以小沐的学习也是从C开始哈!最后,由于小沐的水平有限,文章中可能会有不对的地方,希望大家指正,希望大家少走弯路,早日秃头呀!(秃头是强者的象征)欢迎关注小沐呀!
💖 你要一直走,直到灯火通明!💖