1. C语言的第一个程序

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/dugudaibo/article/details/82708631

本博客主要内容为 “小甲鱼” 视频课程《带你学C带你飞》【第一季】 学习笔记,在这里仅作学习交流。在文章中可能出现一些错误或者不准确的地方,如发现请积极指出,十分感谢。
也欢迎大家一起讨论交流,如果你觉得这篇文章对你有所帮助,记得评论、点赞哦 ~(。・∀・)ノ゙

1. C语言概括

  C 语言属于第三代编程语言,第三代编程语言我们称之为高级语言。正如你所听说的 C++、C#、JAVA、Delphi、Python、Object-C、Swift 这些都属于第三代编程语言。

  事实上使用 C 语言进行编程,编译器会将你的 C 语言代码编译成汇编语言,再由汇编语言的编译器编译为机器语言,通常我们看到的可执行文件事实上就是机器语言的形式,进而让 CPU 理解和执行。

2. C语言的优势

  效率高

  如图1所示,C 语言效率高是针对其他第三代编程语言来讲的,C 语言是编译型语言,源代码最终编译成机器语言,也就是我们所说的可执行文件,从此 CPU 就可以直接执行。

图1 编译型语言 vs 解释型语言

  除了编译型语言,还有解释型语言,像 JAVA,Python,Ruby 。如图1所示,解释型语言不直接编译成机器码,而是将源码转换成中间代码,然后发送给解释器,由解释器逐句翻译给 CPU 来执行。这样做的一个好处就是可以实现跨平台的特性,而缺点就是效率相对要低一些,因为每执行一次都要翻译一次。

  灵活度高

  C 语言不仅提供多种运算符,还可以完成类似于计算机底层操作的位运算;语法简单,约束少;丰富多变的结构和数据类型;还拥有可以直接操作计算机硬件能力。这一点大家在学习到指针这一章节的时候将深有体会。指针可以说是 C 语言的灵魂,C 语言有多灵活和强大,完全取决于你对指针这一知识点的掌握程度。

  可移植性高

  可移植性高是指源代码在不需要做改动或只需稍加修改,就能够在其他机器上编译后正确运行。

3. 搭建C语言学习环境

  在这里建议使用linux进行日后的编程学习,这部分的主要内容是安装虚拟机,ubuntu 系统以及gcc的部分,如果相关的学习环境已经搭建完笔或者有自己喜欢的学习环境,可跳过自此部分进入第4部分。平时使用 windows 的小伙伴可以在安装虚拟机,在虚拟机中安装 ubuntu 系统。在这里友善地给出 VMware Workstation 12 Pro 的安装包,需要的同学请自取。之后在虚拟机中创建一个ubuntu 的系统即可。

  可以通过在终端中执行下面的语句安装gcc

sudo apt-get  build-dep  gcc

安装完成后可以通过下面的方式来查看安装的版本

gcc --version

  如果你想更换自己的ubuntu系统的源,或者在使用上面的命令安装 gcc 的过程中出现了如下的错误

E: You must put some 'source' URIs in your sources.list

可参考博客《Ubuntu 16.04 换源》进行修改。

4. 执行第一个C语言程序

  在学习每一门语言时,所写的第一个程序都是"Hello world!"。我们也不例外,如下所示

#include <stdio.h>
int main()
{
	printf("Hello World!\n");
	return 0;
}

  之后我们在终端中进入这个 C 文件(比如说文件名为 tmp.c)所在的文件夹,输入如下的语句对我们所编写的程序进行编译

gcc tmp.c -o tmp

上面这句命令的含义是将 tmp.c 预处理、汇编、编译并链接形成可执行文件tmp,其中的 -o 选项用来指定输出文件的文件名。这时如果使用 ls ,会发现在当前文件夹中出现了一个名为 “tmp” 的文件,这个时候在终端中执行下面该命令便可以的到结果了。

./tmp

上面这句命令的含义是执行当前目录下的 tmp 。

参考

[1] “小甲鱼” 视频课程《带你学C带你飞》【第一季】P2

欢迎大家关注我的知乎号(左侧)和经常投稿的微信公众号(右侧)
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/dugudaibo/article/details/82708631