第三章 程序的基本概念

你使用一个语言特征是因为你需要它,而不是因为它存在 ----Bjarne Stroustrup

首先掌握语言的特征及及其使用方法,再学习具体的语言实现才是语言学习之道!我们不能因为Bjarne说过那样的话就不去使用甚至不去学习C/C++的高级特性。
要想高效的使用一种语言,必须要了解它的各个特征和他们的使用方法,以及使用它们有什么利弊。此外,还必须了解几种编程方法和编程模式,以及高效地和高质量地把他们组合起来的技巧。

基本的编程方法和编程模式,比如:

- 结构化编程
1、三种基本结构 的堆叠 和嵌套
2、if… else…
3、while()
4、 for( )…

- 模块化编程
1、把任务分成若干子任务,每个子任务完成部分功能,并通过函数实现
2、确定模块(函数)之间的调用关系
3、在主函数中进行调用实现

- 过程式编程
1、面向过程编程,核心是编程二字,过程指的是解决问题的步骤,即先干什么、后干什么、再干什么、然后干什么……
2、就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了

高级的编程模式如:

  • 基于对象
  • 面向对象
  • 面向组件
  • 泛型编程
  • 事件驱动编程
  • 基于规则的编程

这还不够,要学习各中编译环境和标准库或其他库的使用方法,充分利用现有资源而不做重复劳动,这样才能用好一门语言,开发出高质量的程序。

**

程序的工作原理

**

任何一段程序都是有 待处理的数据 和 一系列处理他们的指令 组成的, 这些指令通过内存地址来访问待处理的数据,程序中任何 复杂的操作 最终 都被转换为 简单的加法运算来让计算机执行。

程序在运行时 :
首先 要求把内存操作数的地址通过数据总线(DB)传递到CPU寄存器,
然后 CPU指示将它送到地址总线(AB)
接着 内存单元的数据就会 “流” 入CPU的接受寄存器中
然后 取第二个操作数
最后 执行加法运算

高质量程序设计指南(笔记)相关推荐

  1. 高质量程序设计指南C/C++阅读笔记

    阅读书籍:<高质量程序设计指南C/C++语言>林锐.韩勇泉著 说明: 本文档为阅读笔记,要求有一定的C/C++基础,属于提高篇 一.软件质量基本概念 功能属性: 1.正确性Correcte ...

  2. C语言书籍阅读-读书笔记--高质量程序设计指南》--C/C++,林锐

    最近闲下来想找机会参加一些编程比赛锻炼锻炼,可没有一个相关网站可以搜集这些信息,因而自己记录下来: 百度之星,http://star.baidu.com/index/developer.时间07.25 ...

  3. 《高质量程序设计指南——C/C++语言》之开篇记

    <高质量程序设计指南--C/C++语言>是林锐博士和韩永泉先生撰写的著作,记得刚毕业那会读过了.应该说,这本书是对学校教科书的一个很好补充和提高.关于C/C++的经典书籍,国外已经有很多很 ...

  4. 高质量程序设计指南:C++/C语言

    <高质量程序设计指南:C++/C语言> 基本信息 作者: 林锐 韩永泉 [作译者介绍] 出版社:电子工业出版社 ISBN:9787121186172 上架时间:2012-10-24 出版日 ...

  5. 《高质量程序设计指南——C++/C》第三版勘误

    <高质量程序设计指南--C++/C>第三版勘误 1.Page IX:1.5 "关于软件开发..."存在印刷问题: 2.Page 7:倒数第13行,"啰里啰唆& ...

  6. 【高质量编程指南笔记】

    高质量编程指南-笔记 一.文件结构 1.1 版权和版本的声明 1.2 头文件的结构 1.3 定义(.cpp) 文件的结构 1.4 头文件的作用 1.5 目录结构 二.程序的版式 2.1 长行拆分 2. ...

  7. 【转贴】对《高质量程序设计指南--C++/C第二版》的探讨

    <高质量程序设计指南--C++/C(第二版)>的读书心得              作者:fang_rk     写这篇文章是出于一个偶尔的原因:读计算机系的女友即将升入研究生三年级,她说 ...

  8. 《高质量程序设计指南——C/C++语言》第1章 高质量软件开发之道

    第1章 高质量软件开发之道 本书的第1章之高质量软件开发之道,作者用大量的篇幅介绍了"软件质量"的基本概念,解释了软件质量的十大属性.这十大质量属性又分为功能性和非功能性两类,功能 ...

  9. C++ 高质量程序设计指南读书笔记

    第四章 入门 1,全局变量的初始化不要依赖另一个全局变量.因为无法判断顺序. 2,每一个源代码文件就是一个最小的编译单元,每一个编译单元都能独立编译而不需要知道其他编译单元的存在及其编译结果.好处:公 ...

  10. 读书笔记之:高质量程序设计指南——C++/C

    林锐博士的这本书写的非常的好,很多知识点都讲得非常透彻.是学习C++必须看的一本书. 第3章 程序的基本概念 1. 语言中的I/O接口 pic1 2. 语言的实现 pic2,3 3. 程序库 pic4 ...

最新文章

  1. Jenkins入门总结
  2. 【转载】程序员技术练级攻略
  3. Vue+elementUI时间选择器的应用
  4. 如何防止在listbox中添加很多数据出现不停的刷新
  5. 京东资深架构师代码评审歪诗
  6. JSP中报错only a type can be imported XXX resolves to package
  7. mysql group 最大值_MySQL groupwise最大值为字段的长度
  8. 2013Esri全球用户大会QA之Esri公司概况及未来发展
  9. 解决错误Establishing SSL connection without server‘s identity verification is not recommended.
  10. if condition 大于_「函数-基础篇」IF函数的应用
  11. 微信支付的服务器配置url超时,微信H5支付商家存在未配置的参数,请联系商家解决的...
  12. 使用react+redux+react-redux+react-router+axios+scss技术栈从0到1开发一个applist应用
  13. 操作系统,计算机网络,数据库刷题笔记11
  14. 多说最近访客通用代码使用方法
  15. 【强化学习PPO算法】
  16. RFID仓库管理系统之售后产品的管理-新导智能
  17. 七、ES对象(二) -- 正则表达式
  18. Ti3C2MXene(纳米片)|碳酸钙纳米颗粒,具有介孔,可以吸附药物,具有响应性
  19. 【Android底层学习总结】1. 驱动开发基础
  20. 小程序随意设置字体粗细(一行代码)

热门文章

  1. 计算机在保险的应用,浅谈计算机信息系统在医疗保险中的应用
  2. msxml3.dll 错误 '800c0008'
  3. matlab 二值图像连通区域标记法,一种二值图像连通区域标记的简单快速算法_葛春平...
  4. 【图神经网络】异构时间图卷积网络HTGCN——用于社区检测
  5. doom3中PDA信息
  6. 排序算法7——图解快速排序(两种主元选择方法)以及CUTOFF时间测试
  7. Flash 特效原理 震动效果
  8. vue中设置外部链接
  9. Android键盘 AOSP监听delete按键
  10. def序列化器---视图序列化反序列化