长沙建站公司模板,余姚网站如何进行优化,网站建设法语,一键优化表格0、引言
本专栏的系列文章是在学习 北京邮电大学 崔毅东 老师的《C程序设计 (面向对象进阶)》课程过程中整理的。欢迎前往专栏了解更多相关内容~ #x1f600;
有关于现代 C 的基本介绍#xff0c;请前往《现代C基本介绍》#xff01; #x1f514; 先决条件 本专栏的系列…0、引言
本专栏的系列文章是在学习 北京邮电大学 崔毅东 老师的《C程序设计 (面向对象进阶)》课程过程中整理的。欢迎前往专栏了解更多相关内容~
有关于现代 C 的基本介绍请前往《现代C基本介绍》 先决条件 本专栏的系列文章并不适合从未接触过编程的同学读者需要确保自己已经具备编程基础特别是 C 基础您可以参考笔者的「面向对象程序设计(基础)」专栏了解 C 基础的相关内容。 1、导论
C 即 C Plus Plus 即 CPPC 之父Bjarne Stroustrup如果读者还不会念他的名字那么可以请他本人亲自教授一下哦( •̀ ω •́ )✧不是C/C 在计算机科学中所处的位置 先导知识 计算机专业导论 计算机基本结构布尔代数 C 语言/ Java 语言 数据类型、运算符、表达式分支、循环函数、数组、引用、指针(C 语言) 后续学习 数据结构、面向对象系统分析与设计数据库原理、计算机网络计算机组成原理、操作系统软件工程 2、C 编程范式Programming Paradigm 编程范式 规范编程的一系列思想、方法以及程序设计语言构造块所构成的一种模式。 C 是一门复杂的语言支持多种编程范式。换句话来说我们可以使用 C 编写多种不同风格的程序来。下面介绍几种 C 支持的编程范式 Structural Programming 结构化编程 任何函数都可以直接访问所有数据数据是完全暴露的。 Object-Oriented Programming 面向对象编程 对象应该是封装起来的受保护的对象里面的数据是不被别人直接访问的。对象通过接口(Interface)来和外界打交道。 Generic Programming 泛型编程 在 C 中泛型编程通常使用模板实现。这个时候类型type成为了模板的参数。 Functional Programming 函数式编程 在 C 中函数式编程通常使用 Lambda 表达式实现。它将计算机运算视为函数运算并且避免使用程序状态以及易变对象。它是面向数学的抽象将计算描述为一种表达式求值。其实函数式程序就是一个表达式。 3、语言演化与标准
本门课程要介绍的 C 是 C11 之后的 C在此之前高级编程语言已经经历了长足的发展。如下是部分高级语言之间的演化关系 Haskell 在这张图中最顶上的 Haskell 语言是如此的“孤独”。它是一门纯粹的函数式编程语言没有面向对象的概念。后续在学习到编程语言的高级阶段时我们会逐步接触“函数式编程”这一概念的。 C 标准发布时间 请参阅《 现代C基本介绍》 本课程主要在 C11、C14、C17 三代标准的基础之上介绍 C 的特性。
4、C 开发工具
C 作为一门编译型语言通常需要考虑如下几类开发工具
Editor 编辑器Compiler 编译器Linker 链接器
当然如果嫌麻烦的话可以直接使用 IDE (Integrated Developing Environment) 集成开发环境。 在使用 IDE 进行开发时我们应尽量选择其最新版本以获得更加现代化和智能化的开发体验。 下面是一些推荐的 IDE
Visual StudioEclipse CDT GccVisual Studio Code Gcc/ClangXCode (Mac) 如果你需要安装 IDE 并运行第一个 C 程序的教程请参考 《在 Visual Studio 上开启自己的 C 学习之旅》 有关几款 IDE 的使用介绍请参考崔毅东老师的教学视频本文不再花大篇幅阐述
Visual Studio 介绍 第1单元 第03节Eclipse 介绍 第1单元 第04节 1.2演示 安装 GCC 针对 C 语言Eclipse CDT 和 Visual Studio Code 本质上来说都只提供编辑功能他们并不能直接编译、链接 C 程序。因此使用这两款开发工具还需要安装第三方的编译器和链接器才能够合作形成 C 的集成开发环境。在 Windows 平台下我们可以尝试安装 GCC 编译器套件的 Windows 移植版 —— MinGW (MinGW-W64)、Msys (Msys2) 或 CygWin。 相关工具的安装教程请参考崔毅东老师的教学视频本文不再花大篇幅阐述
安装 MinGW-W64 和 Msys2 工具 第1单元 第04节 2.2演示、3.2演示
4.1、在 Eclipse 中配置 GCC 编译器
请参考崔毅东老师的教学视频 第1单元 第04节 4.2演示
4.2、Eclipse 工程和工作空间
请参考崔毅东老师的教学视频 第1单元 第04节 4.3演示
Q如何学习 C
APractice! 实践
参考书目 适用于无任何基础的初学者 《Introduction to Programming with C》(3rd Ed.), Y.Daniel Liang《C 程序设计》(第3版)梁勇 适用于有恒心的读者 《C Primer》(5rd Ed.), Stanley B.Lippman等 适用于已入门的读者 《Thinking in C》(2nd Ed.), Volume 1, Bruce Eckel 电子英文版 《Essential C》, Stanley B.Lippman 适用于当字典 《The C Programming language》, Bjarne Stroustrup 适用于课后拓展 《The C Standard Library》, Nicolai M. Josuttis 直接进行一个 C 标准库的学习( •̀ ω •́ )✧ 《Inside C Object Model》, Stanley B.Lippman 从编译器的角度来探讨 C 的实现方法和优缺点。