C编程入门到精通 第1课 C语言简介

看视频讲解

本节学习目标

  1. 了解计算机语言及其发展,了解高级语言的优点。
  2. 什么是程序?什么是程序设计方法?
  3. 开发环境简单介绍。

计算语言发展历史

  1. ​​​计算机是无知觉无生命的机器,要使它能够按照人们的意图工作,就必须使计算机懂得人的意图,接受人向它发出的命令和信息,这就要解决一个"语言"的问题。
  2. 打个比方,一个中国人想要同一个美国人进行交流,首先需要学习英语,因为英语是美国人可以理解的语言,美国人不理解中国人的汉语。同样,计算机也不懂人类的语言,无论是汉语还是英语,计算机都不能接受,因此要求人们用特定的计算机可以理解的语言与计算机交流,这就是计算机编程语言。
  3. 这种语言同英语、汉语等等人类长期使用的自然语言有很大的不同,它有严格的定义,并且一般没有二义性,因为人们在使用自然语言交谈时,很容易根据语境确定具有二义性的对话的含义;但是计算机却做不到这一点,至少现在它还没有这么聪明。

程序设计方法

什么是程序?

  1. 程序规定了计算机执行的动作和执行的顺序,如同开会的议程,每周的课程安排表一样。一个程序应包括以下两方面的内容:

(1) 对数据的描述:在程序中要指定数据的类型和数据的组织形式,即数据结构。

(2) 对操作的描述:即操作步骤,也就是代码执行逻辑,包括了流程控制和算法。

  1. 数据是操作的对象,操作的目的是对数据进行加工处理,以得到期望的结果。作为程序设计人员,必须认真考虑和设计数据结构和操作步骤。
  2. 著名的计算机科学家 Nikiklaus Wirth 提出了一个公式:程序 = 数据结构 + 算法。我个人理解的这里叫算法不是很准确,程序还有一个最重要的东西是业务流程控制,算法只是对数据的计算和分析,这里要注意理解他包含的实际含义。

程序设计和程序编码

  1. 一些程序员,尤其是初学程序设计者,常常认为程序设计就是用某种程序设计语言编写代码,这其实是错误的认识。
  2. 上述工作应该被看成为编码(coding),它是在程序设计完成之后才开始的。
  3. 拿房屋设计的例子来讲,房屋设计这个过程不涉及砌转垒瓦的具体工作,这些工作是房屋施工阶段进行的。在完成了房屋设计,有了设计图纸之后,施工阶段才能开始。如果不作设计,直接施工,很难想象房屋能不能建造完成,或者建造的房屋合不合要求。同样,程序设计一定要在具体的程序编码之前完成。程序设计完成的好坏直接影响了后面的编码质量。
  4. 完整开发过程包括:需求分析、概要设计、详细设计、编码实现、测试阶段、维护阶段。对于程序员来讲最重要的就是前面 4 个阶段。

C语言的发展

  1. 20 世纪 60 年代,贝尔实验室的研究员 Ken Thompson(肯·汤普森)发明了 B 语言,并使用 B 编了个游戏 - Space Travel,他想玩自己这个游戏,所以他背着老板找到了台空闲的机器 - PDP-7,但是这台机器没有操作系统,于是 Thompson 着手为 PDP-7 开发操作系统,后来这个 OS 被命名为 - UNIX。
  2. C 语言是一种通用的、面向过程式的计算机程序设计语言。1972 年,为了移植与开发 UNIX 操作系统,丹尼斯·里奇在贝尔电话实验室基于 B 语言设计开发了 C 语言。
  3. C 语言是一种广泛使用的计算机语言,它与 Java 编程语言一样普及,二者在现代软件程序员之间都得到广泛使用。
  4. 在 1978 年,布莱恩·柯林汉(Brian Kernighan)和丹尼斯·里奇(Dennis Ritchie)制作了 C 的第一个公开可用的描述,现在被称为 K&R 标准。
  5. UNIX 操作系统,C 编译器,和几乎所有的 UNIX 应用程序都是用 C 语言编写的。由于各种原因,C 语言现在已经成为一种广泛使用的专业语言。
  6. 当前最新的 C 语言标准为 C11,在它之前的 C 语言标准为 C99。

C语言的特点

  1. C 语言是为了编写 UNIX 操作系统而被发明的。
  2. C 语言是以 B 语言为基础的,B 语言大概是在 1970 年被引进的。
  3. C 语言标准是于 1988 年由美国国家标准协会(ANSI,全称 American National Standard Institute)制定的。
  4. 截至 1973 年,UNIX 操作系统完全使用 C 语言编写。
  5. 目前,C 语言是最广泛使用的系统程序设计语言。
  6. 大多数先进的软件都是使用 C 语言实现的。
  7. C 语言最初是用于系统开发工作,特别是组成操作系统的程序。由于 C 语言所产生的代码运行速度与汇编语言编写的代码运行速度几乎一样。
  8. 当今最流行的 Linux 操作系统和 RDBMS(Relational Database Management System:关系数据库管理系统) MySQL 都是使用 C 语言编写的。PostgreSQL 也是 C 语言。

C语言开发环境

如果您想要设置 C 语言环境,您需要确保电脑上有以下两款可用的软件,文本编辑器和 C 编译器。

文本编辑器:

  1. 这将用于输入您的程序。文本编辑器包括 Windows Notepad、OS Edit command、Brief、Epsilon、EMACS 和 vim/vi。
  2. 文本编辑器的名称和版本在不同的操作系统上可能会有所不同。例如,Notepad 通常用于 Windows 操作系统上,vim/vi 可用于 Windows 和 Linux/UNIX 操作系统上。
  3. 通过编辑器创建的文件通常称为源文件,源文件包含程序源代码。C 程序的源文件通常使用扩展名 “.c”。
  4. 在开始编程之前,请确保您有一个文本编辑器,且有足够的经验来编写一个计算机程序,然后把它保存在一个文件中,编译并执行它。

C 编译器:

  1. 写在源文件中的源代码是人类可读的源。它需要"编译",转为机器语言,这样 CPU 可以按给定指令执行程序。
  2. C 语言编译器用于把源代码编译成最终的可执行程序。这里假设您已经对编程语言编译器有基本的了解了。
  3. 最常用的免费可用的编译器是 GNU 的 C/C++ 编译器,如果您使用的是 HP 或 Solaris,则可以使用各自操作系统上的编译器。
  4. 以下部分将指导您如何在不同的操作系统上安装 GNU 的 C/C++ 编译器。这里同时提到 C/C++,主要是因为 GNU 的 gcc 编译器适合于 C 和 C++ 编程语言。

Linux 上的安装

如果您使用的是 Linux 或 UNIX,请在命令行使用下面的命令来检查您的系统上是否安装了 GCC。如果安装,Ubuntu 使用: $ sudo apt install gcc 进行安装

$ gcc -v
gcc version 7.4.0 (Ubuntu 7.4.0-1ubuntu1~18.04.1)

Windows 上的安装

初学者推荐 VS(Visual Studio)。

具体怎么安装,看第二课视频课程有详细讲解。

课后作业

下去了解一下 C 语言的历史和发展历程。

C编程入门到精通 专辑目录

程内容100+集 C 语言编程实战程,由 WangTeacher 主讲 。大神手把手教你编程,精心制作一部视频教学实战程,细致到开发环境的搭建,都是手把手传授。并结合 15 年的编程经验,把最先进的软件开发流程和编程技巧融合到程中,代码示例涵盖了 C 语言的每一个知识点,你值得拥有!第一章 基础技能篇:C 语言简介,基础语法和规则,数据类型,变量,运算符,流程控制,数组,字符串,函数,结构体,联合体,指针,文件操作,代码调试等知识点。第二章 实战技能篇:编程规范、内存管理、Makefile、进程内存布局、动态库、静态库、链表、排序算法、C 函数库介绍、递归函数、多进程调试等适用技能。第三章 案例分享篇:学员管理系统,从需求设计,架构设计,到模块设计,再到各个模块编码,学会从专业软件开发的角度去理解编程,他确实就是一门艺术。第四章 面试题篇:所有付出了时间和精力的学习,都是为了有回报,学习计算机技术更是如此,通过分析常见面试题,可以帮助你查漏补缺,更快、更容易实现回报。第五章 补充程:在学员学习的过程中如果出现一个疑问,或者不够深入讲解的地方进行补充的程。  程特色案例:从专业程序员的角度思考问题和编写代码。实用:程中融合了多年总结的编程技巧。快速:最快掌握编程的方法就是模仿和刻意练习。方式:脱离实践的传道都是扯蛋,能用代码演示的地方,绝不废话,每都是编码,以最接近专业程序员日常的方式,手把手带你入行,和大神结对编程就是高效。 适合人群小学中学生,专科本科生,就业想转行生;逻辑思维差,空间想象差,编程可以改善;平时爱唱歌,却五音不全,写程序很合适;想尽快挣钱,迎娶白富美,达到人生巅峰。 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

道知极限编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值