C语言程序设计----第一章 概述

  • 第一章 概述
    • 1.1. 计算机发展
      • 计算机发展(4个发展时代)
    • 1.2. 计算机语言
      • 机器语言
      • 汇编语言
      • 高级语言
    • 1.3. 算法及其描述方法
      • 算法定义:解决问题的步骤序列就是算法
      • 算法必须具备的五个特征:
      • 算法的描述方法:
        • 1、自然语言
        • 2、传统流程图
        • 3、N-S流程图
        • 4、伪代码
        • 5、计算机语言
    • 1.4. 程序和程序设计方法
      • 程序
        • 预处理
      • 程序设计方法
        • 结构化程序设计方法的优点:
        • 面向对象程序设计
        • 二者之间的最大差别表现在:

第一章 概述

1.1. 计算机发展

计算机发展(4个发展时代)

电子计算机经历的四个发展时代:
第一代:20世纪50年代,主要采用真空电子管制造计算机。
第二代:20世纪50年代末期,出现了以晶体管为主要元件的第二代计算机。
第三代:1964年,IBM公司推出了世界上第一个采用集成电路的通用计算机系列IBM360系统研制成功,并垄断了60%~70%的国际市场, 它的出现标志着计算机进入第三代。
第四代:90年代至今,随着大规模集成电路和微处理器的出现,计算机进入第四代。
注意:
世界上第一台现代意义上的计算机于1946年在美国问世,其名称是ENIAC电子数字积分计算机,它的主要原件是电子管。在ENIAC问世的同时,冯·诺伊曼提出了存储程序的概念。

1.2. 计算机语言

机器语言

汇编语言

高级语言


1.3. 算法及其描述方法

算法定义:解决问题的步骤序列就是算法

算法必须具备的五个特征:

1、可执行性
2、确定性
3、有穷性
4、有输信息的说明
5、有输信息的步骤

算法的描述方法:

1、自然语言

    用自然语言描述算法通俗易懂,但文字冗长,容易出现“歧义”。自然语言就是人们日常使用的语言,可以是汉语或英语或其它语言。用自然语言表示通俗易懂,但文字冗长,容易出现“歧义性”。自然语言表示的含义往往不大严格,要根据上下文才能判断其正确含义,描述包含分支和循环的算法时也不很方便。因此,除了那些很简单的问题外,一般不用自然语言描述算法。

2、传统流程图

流程图是用一些图形表示各种操作。用图形描述算法形象直观、易于理解。

3、N-S流程图

三种基本结构:顺序结构、选择结构、循环结构。
顺序结构示意图:

选择结构示意图:

循环结构示意图:

4、伪代码

伪代码是用介于自然语言和计算机语言之间的文字和符号描述算法。

5、计算机语言

计算机是无法识别流程图和伪代码的。只有用计算机语言编写的程序才能被计算
机执行(当然还要编译为目标程序才能被计算机识别和执行)。

1.4. 程序和程序设计方法

程序

计算机程序(简称程序)是指根据算法描述,用计算机语言表示的能被计算机识别和执行的指令集合。

预处理

程序设计语言的预处理的概念:在编译之前进行的处理。
预处理命令以符号"#"开头。
C语言的预处理主要有三个方面的内容:
1.宏定义; (#define标识符文本,也可以理解成常量)
2.文件包含;(#include <文件名>,一般是以.h结尾的头部文件,编译后得到一个目标文件.obj)
3.条件编译。 (有些语句在条件满足时才编译。)

程序设计方法

1.结构化程序设计
2.面向对象程序设计

结构化程序设计方法的优点:

1、采用自顶向下,逐步求精的方法使得整个设计方案层次分明,程序员容易编码实现,读者容易阅读理解。对于复杂的程序,可以“先易后难,先抽象后具体”,使得程序设计工作整体思路清楚,目标明确,程序员能够有条不絮地推进。
2、程序由相互独立的模块构成,因此在设计某个模块时,不会受到其他模块的牵连,因而可将较为复杂的问题化简为一系列简单模块的设计。模块的独立性还为扩充已有的系统、建立新系统带来方便。

面向对象程序设计

面向对象程序设计与传统的结构化程序设计相比,面向对象程序设计吸取了结构化程序设计的一切优点(自顶向下、逐步求精的设计原则)。

二者之间的最大差别表现在:

1、面向对象方法采用数据抽象和信息隐藏技术使组成类的数据和操作是不可分割的,避免了结构化程序由于数据和过程分离引起的弊病。
2、面向对象的程序是由类、对象(类的实例)和对象之间的动态联系组成的。
而结构化程序是由结构化的数据、过程的定义以及调用过程处理相应的数据组成的。

《高级语言程序设计》 (自考课程代码:00342) (2017年版) 编著:郑岩 机械工业出版社

高级语言程序设计(C语言)----第一章 概述相关推荐

  1. c语言程序设计林小茶,C语言第一篇概述林小茶

    <C语言第一篇概述林小茶>由会员分享,可在线阅读,更多相关<C语言第一篇概述林小茶(8页珍藏版)>请在人人文库网上搜索. 1.第一章,C,语言概述,1.1,程序与程序设计语言, ...

  2. 006-高级语言程序设计C 第六章,高级语言程序设计_C语言(第六章 数组.ppt

    <高级语言程序设计_C语言(第六章 数组.ppt>由会员分享,可在线阅读,更多相关<高级语言程序设计_C语言(第六章 数组.ppt(30页珍藏版)>请在人人文库网上搜索. 1. ...

  3. 《Abaqus GUI程序开发指南(Python语言)》——第一章 概述1.1 简单插件实例——创建带孔板有限元模型...

    本节书摘来自异步社区<Abaqus GUI程序开发指南(Python语言)>一书中的第1章,第1.1节,作者: 贾利勇 , 富琛阳子 , 贺高 , 周正光 更多章节内容可以访问云栖社区&q ...

  4. c语言运行时更入下一行,C语言高级语言程序设计(一)_第二章 C程序设计基础(二).ppt...

    C语言高级语言程序设计(一)_第二章 C程序设计基础(二) * 问a,b能否交换?不能.示例 传值调用 如何改变参数的值?在后续章节中介绍 下:传值 * 传值的好处 下:问题3.2 * * * 使用范 ...

  5. 数字图像处理:第一章 概述

    第一章 概述 数字图象处理是一门关于如何用计算机对图象进行处理的学科,本课程主要讲解基本原理和方法,针对计算机系的学生,强调编程实践和建立图象处理应用系统的方法.推荐的教材与图象编程参考书包括: R. ...

  6. 《程序设计技术》第一章例程

    <程序设计技术>例程 <程序设计技术>第一章 C语言与程序设计(例程) <程序设计技术>第二章 C语言基础知识(例程) <程序设计技术>第三章 程序控制 ...

  7. 计算机网络 知识点归纳 第一章 概述

    第一章-概述 互联网的概述 网络的网络 计算机网络(简称为"网络") 由若干节点(node)和链接这些节点的链路 (Link)组成. 网络中的节点可以是:计算机,集线器,交换机或路 ...

  8. 高级语言程序设计与c语言,高级语言程序设计-C语言.pdf

    非计算机专业计算机公共课系列教材 高级语言程序设计 --C 语言 主 编:汪同庆 张 华 参 编:关焕梅 侯梦雅 刘 珺 王 鹃 谭明新 武 汉 大 学 出 版 社 3 非计算机专业计算机公共课 系列 ...

  9. Linux基础第一章 概述

    第一章 概述 1.1 前言 本章讨论系统的概念,从硬件.操作系统角度更加深刻的理解计算机系统,并快速浏览Linux系统提供的服务. 1.2 系统组成 1.3 操作系统和应用程序 操作系统这个词语有二意 ...

  10. 通信系统概论_现代通信系统概论 第一章 概述(1)

    2020年,又开始上一门新课!!! 喜欢挑战! 让同学们开阔知识是本课程的主要目的! 本课程讲解导航.遥控遥测等军用尖端技术和数字电话.广播电视.综合信息网.多媒体宽带网等现代民用技术. 通信在过去分 ...

最新文章

  1. 11.3-全栈Java笔记:线程的生命周期
  2. 基于新唐M0的XXTEA加密解密算法源码
  3. 手机APP测试几个要点
  4. java多线程优先级的方法_Java多线程以及线程优先级
  5. sonarqube扫描安卓代码
  6. docker镜像底层是文件联合系统
  7. Some projects cannot be imported because they already exist in the workspace
  8. idea打war包时,JDK版本的问题解决方式
  9. java 自动转 golang_基于dubbo-go的golang与java通信解决方案实践——伍:golang代码的生成...
  10. delphi idtcpclient 发送十六进制00_91413足球推荐分析 法甲 04:00 南特 VS 巴黎圣日尔曼...
  11. JMeter 连接 sql server
  12. Xshell和Xftp使用教程
  13. jmeter接口压力测试详解
  14. CTO 说公司的 ES 性能不够好、集群不够稳定!直到我用了这些调优技巧后。。。...
  15. CPU的分身术:千手观音与齐天大圣
  16. 晨之替——谷川 俊太郎
  17. 云主机安全防护服务有哪些
  18. 基于mobileNet实现狗的品种分类(迁移学习)
  19. dsp的ad标志位是什么_关于STM32 AD转换的ADC_FLAG_EOC标志位问题
  20. 概率论与统计学的关系是什么?

热门文章

  1. 浅谈jQuery WeUI框架
  2. A visual proof that neural nets can compute any function
  3. Java中常见异常及异常处理方式
  4. 软件开发 | 如何写软件开发文档
  5. 20221103使用ffmpeg提取mp4视频的字幕
  6. 记录一下postman汉化踩过的坑
  7. oracle 启动报错03113,oracle数据库无法启动,总报ora-03113错误
  8. php 转换中文乱码,解决php中文乱码转换问题
  9. python多层bp网络_多层bp神经网络 python
  10. Mysql的持久层_持久层(数据层,Dao层) MyBatis框架