c/c++语言开发共享C++ day01 预备知识、C++综述、教材、推荐阅读。

C++ day01: 1.预备知识? 1)什么是编程 编程,即编订程序。 程序 = 数据 + 算法(蛋糕 = 糖、鸡蛋、奶油 + 打鸡蛋、加糖、烤) 2)编程语言 最初的编程是用二进制代码(即“机器码”、“机器指令”)编写程序,不必多说,这种编程方式不可能得到普及。 于是人们发明了“汇编语言”来编写 …


c++ day01: 

1.预备知识?

  1)什么是编程

    编程,即编订程序。

    程序 = 数据 + 算法(蛋糕 = 糖、鸡蛋、奶油 + 打鸡蛋、加糖、烤)

 

  2)编程语言

    最初的编程是用二进制代码(即“机器码”、“机器指令”)编写程序,不必多说,这种编程方式不可能得到普及。

    于是人们发明了“汇编语言”来编写程序。这种语言通过“助记符”代替机器码,但是这种语言直接操作cpu,繁琐,也无法普及。但在今天,汇编还是绝大多数计算机生的必修课。在实际的劳动中,汇编的运用主要在和机器联系紧密的程序上,比如硬件(显卡、声卡……)的驱动、系统的引导程序之类。

    后来,人们发明了各种各样的“高级语言”,我们要学习的c++就是高级语言之一。高级语言的最大特征是十分接近自然语言(大部分是英语,当然也有令人诟病的中文编程),以下是一段python代码,大家可以自行体验

1 if a is b: 2     print(a) 3 else: 4     print(b)

 

 

 

     这段代码显而易见,略懂英语的人都能看出来这在说什么。

 

  3)高级语言的演变

    i.最初的高级语言是“过程性语言”,这种语言强调的是编程的算法方面。但是早期的高级语言,比如basic,存在很多分支语句,繁琐复杂,极大地限制了人类的想象力。这种编程被称为“意大利面条式的编程”。

    ii.后来逐渐出现并流行的c语言,也是过程性的,但是它有“结构性编程”的特点。它能够使用”一小组良好的结构“ (诸如for循环、while 循环等)实际上,c语言:高效、简洁、快速、可以移植,直至今日仍然十分流行。

另一种新原则是”自顶向下”设计,即将大型任务分解为小型、易于管理的任务。(比方说,任务是要整理房子。可以把这个任务分解为擦桌子、扫地、整理书架等等)

    iii.现在流行的编程方式是叫“面向对象编程”(object oriented progress,oop),它提高了程序的可靠性、清晰度。它看重的是程序的数据部分,它的设计理念是设计与问题本质特征相对应的数据格式。

与”自顶向下“向对应,c++的原则是“自下向上”:从低级组织(如类)到高级组织(程序)。

    iv.还有一种编程方式被称为“泛型编程”,这一编程方式也被c++支持(模板编程)。它强调独立于特定的数据类型,泛型即独立于类型的代码。面向对象是管理大型项目的工具,而泛型是对常见的任务的。

    v.有一种被称为“反射编程”的编程方式,c++不支持,java、python等语言支持。这种编程方式能够实现动态编程,对于上线的大型网站来说(比如youtube、bilibili等(实际上,youtube就是python的一个项目))不能每次修改代码都关掉服务器吧?

  附一张c/c++开发分享C++ day01 预备知识、C++综述、教材、推荐阅读。写作之时(2019/6)的pypl编程语言排行

C++ day01 预备知识、C++综述、教材、推荐阅读。

 

 2.我们使用的教材(我在看的书)

  1) c++ primer plus (cpppp)

    C++ day01 预备知识、C++综述、教材、推荐阅读。

  3)数据结构与算法分析 c++ 语言描述

C++ day01 预备知识、C++综述、教材、推荐阅读。

 

 3.推荐阅读(参考书)

  1)算法导论

    C++ day01 预备知识、C++综述、教材、推荐阅读。

 

  2)离散数学及其应用

    C++ day01 预备知识、C++综述、教材、推荐阅读。

  3)组合数学

    C++ day01 预备知识、C++综述、教材、推荐阅读。

 

4.开发环境

  dev-cpp 5.9.2,这是一个轻量级的ide,支持代码补全。

  microsoft vistul studio,这是一个完整的ide,基本支持开发所需的一切。

  vim & g++ , dalao都用这个,上古的命令行编辑器加上g++编译器。 

oriented

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/c-cdevelopment/603124.html

(0)
上一篇 2021年5月11日
下一篇 2021年5月11日

精彩推荐