C语言程序设计人民邮电出版社PPT课件
合集下载
C语言程序设计教程完整全套教学课件pptx
![C语言程序设计教程完整全套教学课件pptx](https://img.taocdn.com/s3/m/70ffac50fe00bed5b9f3f90f76c66137ee064f3f.png)
C语言与高级语言的关系
探讨C语言与Java、Python等高级语 言之间的联系与区别,以及各自适用 的场景。
C语言的特点与优势
阐述C语言高效、灵活、可移植等特 点,以及在系统级编程、嵌入式开发 等领域的广泛应用。
计算机系统基本概念
1 2 3
计算机系统的组成 介绍计算机硬件系统的基本组成,包括中央处理 器、内存、输入/输出设备等。
局部变量和全局变量
局部变量
在函数内部定义的变量,只在该函数内有效,不同函数中的局部变量互不影响。
全局变量
在函数外部定义的变量,可以在整个程序范围内访问,但过度使用全局变量会降低程序的可维护性和可读性。
模块化设计思想
模块化设计概念
01
将程序划分为若干个独立的功能模块,每个模块完成特
定的功能,提高程序的可维护性和可重用性。
函数原型声明
在调用函数之前,需要进行函数原型声明,以便编译 器识别函数。
参数传递方式
值传递
将实参的值复制给形参,形参的改变不会影响 实参。
地址传递
将实参的地址传递给形参,形参和实参共享同 一块内存地址,形参的改变会影响实参。
引用传递
通过引用传递方式,形参成为实参的别名,对形参的操作直接作用于实参。
强制类型转换
通过类型转换运算符来实现,其一般 形式为“(类型说明符)(表达 式)”,其功能是把表达式的运算结 果强制转换成类型说明符所表示的类 型。
03
控制结构
顺序结构
顺序结构的概念
按照代码的先后顺序,逐行执 行程序。
顺序结构的流程图
用箭头表示程序执行的顺序。
顺序结构的应用场景
适用于简单的计算和输出任务。
计算机中的数与编码 讲解计算机中数的表示方法,如二进制、十六进 制等,以及字符编码方式,如ASCII码、 Unicode等。
《C语言程序设计》课件
![《C语言程序设计》课件](https://img.taocdn.com/s3/m/7882a45afe00bed5b9f3f90f76c66137ee064fc8.png)
3 表达式
探讨C语言中的表达式,包括算术表达式和逻辑表达式。
控制流语句
if语句
介绍if语句的用法和 语法结构,以及如 何进行条件判断。
switch语句
解释switch语句的 工作原理和用法, 以处理多个条件分 支。
for循环
讨论for循环的语法 和使用方法,以便 重复执行特定的代 码块。
while循环
《C语言程序设计》PPT 课件
探索C语言程序设计的基本概念、结构和关键要点,为学习者打下坚实的基础。 通过简洁而实用的演示,带您深入了解C语言的奥秘。
概述C语言程序设计
基本概念
介绍C语言的基本概念, 如变量、数据类型和控制 流语句。
程序结构
详细解释C语言程序的基 本结构,包括预处理、编 译、汇编、链接和执行的 过程。
详解while循环的用 法,以便在满足特 定条件时重复执行 代码。
函数
1
函数概念
介绍函数的概念和作用,以及如何定义和声明函数。
2
函数调用和传参
解释如何调用函数并将参数传递给函数,以实现代码的模块化。
3
递归函数
讨论递归函数的原理和应用,以及递归的优缺点。
数组
数组定义
解释如何在C语言中定义数组, 以及如何进行初始化和访问数 组元素。
多维数组
探索多维数组的概念和用法, 以处理更复杂的数据结构。
数组指针
详细解释数组指针的概念和用 法,以访问和操作数组元素。
字符串
字符数组
介绍字符串的表示方法和处理方法,包括字符数组和字符串函数。
字符串常量
讨论字符串常量的定义和使用,以及转义字符的作用。
字符串函数
探索常用的字符串函数,如strcpy、strcat和strlen。
探讨C语言中的表达式,包括算术表达式和逻辑表达式。
控制流语句
if语句
介绍if语句的用法和 语法结构,以及如 何进行条件判断。
switch语句
解释switch语句的 工作原理和用法, 以处理多个条件分 支。
for循环
讨论for循环的语法 和使用方法,以便 重复执行特定的代 码块。
while循环
《C语言程序设计》PPT 课件
探索C语言程序设计的基本概念、结构和关键要点,为学习者打下坚实的基础。 通过简洁而实用的演示,带您深入了解C语言的奥秘。
概述C语言程序设计
基本概念
介绍C语言的基本概念, 如变量、数据类型和控制 流语句。
程序结构
详细解释C语言程序的基 本结构,包括预处理、编 译、汇编、链接和执行的 过程。
详解while循环的用 法,以便在满足特 定条件时重复执行 代码。
函数
1
函数概念
介绍函数的概念和作用,以及如何定义和声明函数。
2
函数调用和传参
解释如何调用函数并将参数传递给函数,以实现代码的模块化。
3
递归函数
讨论递归函数的原理和应用,以及递归的优缺点。
数组
数组定义
解释如何在C语言中定义数组, 以及如何进行初始化和访问数 组元素。
多维数组
探索多维数组的概念和用法, 以处理更复杂的数据结构。
数组指针
详细解释数组指针的概念和用 法,以访问和操作数组元素。
字符串
字符数组
介绍字符串的表示方法和处理方法,包括字符数组和字符串函数。
字符串常量
讨论字符串常量的定义和使用,以及转义字符的作用。
字符串函数
探索常用的字符串函数,如strcpy、strcat和strlen。
C语言程序设计PPT第一章绪论
![C语言程序设计PPT第一章绪论](https://img.taocdn.com/s3/m/e9030371ae45b307e87101f69e3143323968f5ed.png)
计
算 机
语 言
由计算机硬件系统可以识别的二进制指 令组成的语言称为机器语言。
计算机发展的初期,软件工程师们只能用机器 语言来编写程序。这一阶段,在人类的自然语言和
的 计算机编程语言之间存在着巨大的鸿沟。
发 汇编语言将机器指令映射为一些可以被
展 人读懂的助记符,如ADD、SUB等。
此时编程语言与人类自然语言间的鸿沟略有缩
象 在软件工程领域的全面应用。它包括:
的 软
面向对象的分析(OOA)
件
面向对象的设计(OOD)
开
面向对象的编程(OOP)
发
面向对象的测试(OOT)
面向对象的软件维护(OOSM)
20
C++语言程序设计
面 系统分析
向 对
象 的
系统分析阶段应该扼要精确地抽象出 系统必须做什么,但是不关心如何去 实现。
兆字节 1 MB = 1024 K
吉字节 1 GB = 1024 M
34
C++语言程序设计
信 二进制数的编码表示:原码
息
的 "符号──绝对值表示"的编码
表
例如:
示 与
X=+0101011 X=-0101011
[X]原= 0 0101011 [X]原= 1 0101011
符号位
存 缺点:
储
零的表示不惟一:
软 件 开 发
面向对象的系统分析,直接用问题域 中客观存在的事物建立模型中的对象, 对单个事物及事物之间的关系,都保 留他们的原貌,不做转换,也不打破 原有界限而重新组合,因此能够很好
地映射客观事物。
21
C++语言程序设计
算 机
语 言
由计算机硬件系统可以识别的二进制指 令组成的语言称为机器语言。
计算机发展的初期,软件工程师们只能用机器 语言来编写程序。这一阶段,在人类的自然语言和
的 计算机编程语言之间存在着巨大的鸿沟。
发 汇编语言将机器指令映射为一些可以被
展 人读懂的助记符,如ADD、SUB等。
此时编程语言与人类自然语言间的鸿沟略有缩
象 在软件工程领域的全面应用。它包括:
的 软
面向对象的分析(OOA)
件
面向对象的设计(OOD)
开
面向对象的编程(OOP)
发
面向对象的测试(OOT)
面向对象的软件维护(OOSM)
20
C++语言程序设计
面 系统分析
向 对
象 的
系统分析阶段应该扼要精确地抽象出 系统必须做什么,但是不关心如何去 实现。
兆字节 1 MB = 1024 K
吉字节 1 GB = 1024 M
34
C++语言程序设计
信 二进制数的编码表示:原码
息
的 "符号──绝对值表示"的编码
表
例如:
示 与
X=+0101011 X=-0101011
[X]原= 0 0101011 [X]原= 1 0101011
符号位
存 缺点:
储
零的表示不惟一:
软 件 开 发
面向对象的系统分析,直接用问题域 中客观存在的事物建立模型中的对象, 对单个事物及事物之间的关系,都保 留他们的原貌,不做转换,也不打破 原有界限而重新组合,因此能够很好
地映射客观事物。
21
C++语言程序设计
《C语言程序设计》课件第1章
![《C语言程序设计》课件第1章](https://img.taocdn.com/s3/m/5d8163b3bb0d4a7302768e9951e79b89680268e3.png)
2.函数体用“{”和“}”括起来,分别表示函数的开始和结束。函数体一般包 含声明部分和执行部分。
3.一个C语言程序总是从main()函数开始执行。如果程序中包含多个函数,从 main函数中开始执行,程序执行完后在main中结束。
1.3 C程序的举例
4.C语言编译系统区分字母大小写。C语言把大小写字母视为两个不同的字符。 5.C语言规定每条语句或数据说明均以分号(;)结束。分号是语句不可缺少的组
1.2 C语言程序的基本标识符
❖ 任何一种高级语言,都有自己的基本词汇符号和语法规 则,程序代码都是由这些基本词汇符号根据该语言规则 编写而成,C语言也不例外。C语言规定了其所需要的 基本字符集和标识符。
1.2 C语言程序的基本标识符
❖ 1.字符集 在计算机键盘上有的字符都可以作为C语言的有效字
第一章
C程序设计初步知识
本章目录
1.1 简介C语言发展史及特点 1.2 C语言程序的基本标识符 1.3 C程序的举例 1.4 C语言的编译环境
1.1简介C语言发展史及特点
❖ 1.C语言的发展史 程序设计语言是人与计算机进行信息交流的工具。
从1954年第一种高级语言FORTRAN问世后不久,不同 风格、不同用途、不同规模、不同版本的程序设计语言 风涌而起。在这些语言中,C语言以其高效、灵活、功 能丰富,殊含义的标识符,它们被 用作库函数名和预编译命令,这类标识符在c语言中成为预定义标识 符。一般来说不要把标识符再定义为其他标识符(用户定义标识符) 使用。
预定义标识符包括预编译程序命令和c编译系统提供的库函数 名。其中预编译程序命令有:
❖ define undef include ifdef ifndef line
1.4 C语言的编译环境
3.一个C语言程序总是从main()函数开始执行。如果程序中包含多个函数,从 main函数中开始执行,程序执行完后在main中结束。
1.3 C程序的举例
4.C语言编译系统区分字母大小写。C语言把大小写字母视为两个不同的字符。 5.C语言规定每条语句或数据说明均以分号(;)结束。分号是语句不可缺少的组
1.2 C语言程序的基本标识符
❖ 任何一种高级语言,都有自己的基本词汇符号和语法规 则,程序代码都是由这些基本词汇符号根据该语言规则 编写而成,C语言也不例外。C语言规定了其所需要的 基本字符集和标识符。
1.2 C语言程序的基本标识符
❖ 1.字符集 在计算机键盘上有的字符都可以作为C语言的有效字
第一章
C程序设计初步知识
本章目录
1.1 简介C语言发展史及特点 1.2 C语言程序的基本标识符 1.3 C程序的举例 1.4 C语言的编译环境
1.1简介C语言发展史及特点
❖ 1.C语言的发展史 程序设计语言是人与计算机进行信息交流的工具。
从1954年第一种高级语言FORTRAN问世后不久,不同 风格、不同用途、不同规模、不同版本的程序设计语言 风涌而起。在这些语言中,C语言以其高效、灵活、功 能丰富,殊含义的标识符,它们被 用作库函数名和预编译命令,这类标识符在c语言中成为预定义标识 符。一般来说不要把标识符再定义为其他标识符(用户定义标识符) 使用。
预定义标识符包括预编译程序命令和c编译系统提供的库函数 名。其中预编译程序命令有:
❖ define undef include ifdef ifndef line
1.4 C语言的编译环境
C语言程序设计人民邮电出版社PPT课件
![C语言程序设计人民邮电出版社PPT课件](https://img.taocdn.com/s3/m/552d8bc7770bf78a65295443.png)
1973 年,AT&T 贝尔实验室的 Dennis Ritchie
(D.M.RITCHIE,被尊为“C语言之父”) 在 BCPL 和 B 语言的基础上设计出了一种新的语言——C语言, 开发UNIX操作系统及其上的应用程序。
1999 年,ANSI 和 ISO 通过了最新版本的 C 语言 标准C99,这是关于 C 语言的最新、最权威的定义。
(2)源程序与目标程序:
• 源程序:程序员编写的程序
• 目标程序:计算机最终能识别并运行的程序(二进制)
源
汇编
目
程
编译
标
序
程 汇编编译
程
2用009机汇高.8 器编级朱语立华言俞编琼写王立
序
24
序
柱
C is the most beautiful language!
C 语言最早的原型是 ALGOL 60
既可以开发系统软件,又可以开发应用软件(中级语言) • C语言程序生成代码质量高,程序执行效率高 • C语言适用范围大,可移植性好,适合多种操作系统,多种
机型
2009.8 朱立华 俞琼 王立
26
柱
C程序开发过程
开始 编辑 编译
源程序 file.c
编辑 编译
程序代码的录入, 生成源程序*.c
语法分析查错,翻译 生成目标程序*.obj
操作码和操作数都用二进制数表示。 • 用机器语言编写的源程序就是机器能识别并执行的目标程序。
2009.8 朱立华 俞琼 王立
16
柱
SUCCESS
THANK YOU
2019/6/20
一台模型机的指令系统
指令名称 操作码|操作 说明 数
取数
01H
(D.M.RITCHIE,被尊为“C语言之父”) 在 BCPL 和 B 语言的基础上设计出了一种新的语言——C语言, 开发UNIX操作系统及其上的应用程序。
1999 年,ANSI 和 ISO 通过了最新版本的 C 语言 标准C99,这是关于 C 语言的最新、最权威的定义。
(2)源程序与目标程序:
• 源程序:程序员编写的程序
• 目标程序:计算机最终能识别并运行的程序(二进制)
源
汇编
目
程
编译
标
序
程 汇编编译
程
2用009机汇高.8 器编级朱语立华言俞编琼写王立
序
24
序
柱
C is the most beautiful language!
C 语言最早的原型是 ALGOL 60
既可以开发系统软件,又可以开发应用软件(中级语言) • C语言程序生成代码质量高,程序执行效率高 • C语言适用范围大,可移植性好,适合多种操作系统,多种
机型
2009.8 朱立华 俞琼 王立
26
柱
C程序开发过程
开始 编辑 编译
源程序 file.c
编辑 编译
程序代码的录入, 生成源程序*.c
语法分析查错,翻译 生成目标程序*.obj
操作码和操作数都用二进制数表示。 • 用机器语言编写的源程序就是机器能识别并执行的目标程序。
2009.8 朱立华 俞琼 王立
16
柱
SUCCESS
THANK YOU
2019/6/20
一台模型机的指令系统
指令名称 操作码|操作 说明 数
取数
01H
《C语言程序设计》第1讲概述PPT课件
![《C语言程序设计》第1讲概述PPT课件](https://img.taocdn.com/s3/m/c6ce9fb00b1c59eef9c7b4b2.png)
流程图符号
符号功能 开始、结束
处理 判断 输入、输出 流程方向
开始 1→i 0→s
i<100? Yes
s+i→s i+1→i
某 问 题 流 程 图
No
输出s
结束
3. 程序设计
程序设计就是编写程序。 是用程序设计语言实现算法的过程。
编写程序的基本要求:
高质量的程序体现在以下四个方面:
一是保证语法上的正确性。 可靠性高、运行速度快、占用存储空间小
从键盘输入数据从显示器输出结果c语言本身不提供输入输出语句输入输出操作是由函数实现的包括在库函数stdioh中它提供了多种输入输出函数使输入输出灵活方便
第1讲 程序设计概述
本讲主要内容: 一、程序设计的基本概念 二、C语言程序简介
学习目的与要求: ——掌握程序设计的基本概念; ——熟悉算法设计和描述的基本方法,能对简单的问题设计算法, 并用流程图表达出来; ——了解C语言程序结构的基本特点; ——能够在集成环境下编辑、运行简单的C语言程序。
在1970年,AT&T 贝尔实验室的 Ken Thompson根据 BCPL语言设计出较先进的并取名为 B的语言,最后导致 了C语言的问世。
1983年,美国国家标准化协会(ANSI)根据C语言问 世以来各种版本对 C的发展和扩充,制定了C的标准, 称为 ANSI C。1987年ANSI又公布了新的标准——87 ANSI C。
5.C语言程序的上机实现
在计算机上实现一个C语言程序通常包括四个阶段: (1)编辑(Edit):录入并保存编写的C源程序,扩展名一般为“.c”。 (2)编译(Compile):将源程序转化成二进制目标代码(*.obj ) 。 (3)连接(Link):编译所生成的目标文件还不能直接执行,需要通过连接程序
C语言程序设计教程ppt课件完整版pptx
![C语言程序设计教程ppt课件完整版pptx](https://img.taocdn.com/s3/m/2538c120001ca300a6c30c22590102020740f202.png)
C语言的应用领域
计算机系统基本概念
计算机系统的组成 操作系统的基本概念 计算机中的数与编码
编程环境与工具安装配置
01
常见的C语言编程环境
02
安装与配置C语言编译器
使用集成开发环境(IDE)进行C语言编程
03
第一个C程序:Hello, World!
01
C程序的基本结 构
02
编写Hello, World!程序
应用场景
适用于需要根据特定条件提前终 止循环或跳过某些循环操作的情 况。
04 函数与模块化设计
函数定义和调用
01
函数定义
包括函数名、参数列表、返回值 类型和函数体等部分,用于描述 函数的功能和实现细节。
函数调用
02
03
函数声明
通过函数名和参数列表来调用函 数,实现相应功能并获取返回值 。
在使用函数之前,需要对函数进 行声明,以便编译器识别函数的 存在和调用方式。
THANKS FOR WATCHING
感谢您的观看
指针运算符
包括取地址运算符&和取值运算符*,分别 用于获取变量的内存地址和通过指针访问内 存中的数据。
动态内存分配函数(malloc, free)使用方法
malloc函数
用于在堆区动态分配指定大小的内存空间,并返回 分配内存的起始地址。
free函数
用于释放之前通过malloc函数分配的内存空间,防 止内存泄漏。
动态规划思想
动态规划是一种在数学、计算机科学和经济学中 使用的,通过把原问题分解为相对简单的子问题 的方式来求解复杂问题的方法。动态规划常用于 优化重叠子问题的计算。
回溯与分支限界法
回溯法是一种通过探索所有可能的候选解来找出 所有解的算法,而分支限界法是一种通过剪枝来 减少搜索空间的优化算法。回溯与分支限界法常 用于解决组合优化问题。
计算机系统基本概念
计算机系统的组成 操作系统的基本概念 计算机中的数与编码
编程环境与工具安装配置
01
常见的C语言编程环境
02
安装与配置C语言编译器
使用集成开发环境(IDE)进行C语言编程
03
第一个C程序:Hello, World!
01
C程序的基本结 构
02
编写Hello, World!程序
应用场景
适用于需要根据特定条件提前终 止循环或跳过某些循环操作的情 况。
04 函数与模块化设计
函数定义和调用
01
函数定义
包括函数名、参数列表、返回值 类型和函数体等部分,用于描述 函数的功能和实现细节。
函数调用
02
03
函数声明
通过函数名和参数列表来调用函 数,实现相应功能并获取返回值 。
在使用函数之前,需要对函数进 行声明,以便编译器识别函数的 存在和调用方式。
THANKS FOR WATCHING
感谢您的观看
指针运算符
包括取地址运算符&和取值运算符*,分别 用于获取变量的内存地址和通过指针访问内 存中的数据。
动态内存分配函数(malloc, free)使用方法
malloc函数
用于在堆区动态分配指定大小的内存空间,并返回 分配内存的起始地址。
free函数
用于释放之前通过malloc函数分配的内存空间,防 止内存泄漏。
动态规划思想
动态规划是一种在数学、计算机科学和经济学中 使用的,通过把原问题分解为相对简单的子问题 的方式来求解复杂问题的方法。动态规划常用于 优化重叠子问题的计算。
回溯与分支限界法
回溯法是一种通过探索所有可能的候选解来找出 所有解的算法,而分支限界法是一种通过剪枝来 减少搜索空间的优化算法。回溯与分支限界法常 用于解决组合优化问题。
C语言第9章人民邮电出版社张小东.ppt
![C语言第9章人民邮电出版社张小东.ppt](https://img.taocdn.com/s3/m/7cdbdacf6bd97f192379e9a2.png)
久
性 存
文件概念:文件是指存储在永久性存储设备上的
储 具有名字(文件名)的一组相关数据的集合,通常也
被称为磁盘文件。
C
语 言
§9.2 文件的组织方式
程
序
设
根据编码方式,文件可以分为两种:一种是文本
计
文件(ASCII码文件),另一种是二进制文件。
文本(ASCII码)文件形式 (6字节)
第
九 章
内存中存放形式 00000000,00000011,
的
ferror() 文件访问错误测试
fwrite() 向文件流中写入指定大小的数据块
永
fgetc() 从文件流中读取(输入)一个字符
久
性
fputc() 写入(输出)一个字符到文件流中
rewind() fseek()
文件内部读写位置指针复位到文件头 文件内部读写位置指针置为特定位置
存
fgets() 从文件流中读一行或指定长度字符串
字符转换
00110010 00110000 ‘2’ (50) ‘0’ (48)
00110000 00111000 00110000 00111000 ‘0’ (48) ‘8’ (56) ‘0’ (48) ‘8’ (56)
数 据
00010000,01101000
整数 200808 (4字节)
直接存放
00000000,00000011,00010000,01101000
程 序
§9.3.1 stdio.h
设
计
stdio.h中关于文件的常用函数
第
函数名 功能说明
九
章
fopen() 打开文件流
函数名 fscanf()
《C语言程序设计》PPT课件
![《C语言程序设计》PPT课件](https://img.taocdn.com/s3/m/38e89bc9a8114431b80dd8b2.png)
②库函数与文件包含命令include #include <stdio.h>
库函数:系统提供的标准函数,程序可直接使用;
使用库函数必须将其有关说明信息写入程序。为 了用户方便,系统定义库函数时,把一类相关库 函数的说明信息,分别写在一些文件中。本例中 使用了库函数printf ,其有关说明信息写在文件 stdio.h中。所以在程序的开始加入了#include <stdio.h>
对硬件进行操作。 • 生成目标代码质量高,程序执行效率高。 • C语言编写的程序可移植性好。
1.2 简单的C语言程序介绍
• /*ex101.c-在屏幕上输出This is a C program. */
• #include <stdio.h>
• void main( )
•{
•
printf(“This is a C program.\n”);
• 对于C语言程序来说,这一过程一般分为4步: 第1步:编辑源程序; 第2步:编译; 第3步:链接; 第4步:执行;
(整个过程如下图)
编辑器
编译器
链接器
(excute/run) (link)
(compile) edit
( 编 filename.c预
处
)辑
理
编
filename.o bj
译
出错
库函数和 其他目标模
•
第6章~第11章为第三部分,讲述了模块化程序设计的
概念和实现的方法,为程序设计提供了更多、更方便的途径,
为进行综合程序设计奠定了基础。每一个章节里都有详细的程
序范例来说明程序的设计思想、语句的概念、作用、含义和使
用方法,使学生能够由浅入深系统地学习c语言的知识,同时掌
C语言程序设计(第2版)_C语言程序设计(第2版)_[共10页]
![C语言程序设计(第2版)_C语言程序设计(第2版)_[共10页]](https://img.taocdn.com/s3/m/f55a8cb40b1c59eef9c7b44a.png)
21世纪高等学校计算机规划教材
C语言程序设计(第2版)
安俊秀主编
于华陈晓红副主编
相万让主审
人民邮电出版社
北京
内容提要
本书针对高等院校学生的特点和认识规律,全面、系统地介绍了C程序设计及应用的知识。
全书分为三篇,第一篇介绍C程序设计基础知识,包括C程序设计预备知识,程序设计基础,C语言的基本概念,顺序、分支和循环结构程序设计,函数和数组。
第二篇介绍C语言高级编程技术知识,包括编译预处理、指针、结构体、共用体和枚举类型、文件。
第三篇是C语言综合应用与实践,培养综合编程能力及程序编码的规范性。
包括程序编码规范、学生成绩管理系统等知识。
本书结构清晰、语言通俗易懂、实例丰富。
每章都配有同步练习,用于熟练和巩固所学知识。
附录中提供了相应的常用资料,以方便师生查阅相关内容。
本书可作为大学本科计算机和相关专业的“C程序设计”教材,也可供计算机培训班的学员学习参考。
21世纪高等学校计算机规划教材
C语言程序设计(第2版)
♦主编安俊秀
副主编于华陈晓红
主审相万让
责任编辑邹文波
♦人民邮电出版社出版发行北京市崇文区夕照寺街14号
邮编 100061 电子函件 315@
网址
北京铭成印刷有限公司印刷
♦开本:787⨯1092 1/16
印张:21.25 2010年9月第2版
字数:558千字 2010年9月北京第1次印刷
ISBN 978-7-115-23156-7
定价:37.00元
读者服务热线:(010)67170985 印装质量热线:(010)67129223
反盗版热线:(010)67171154。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2009.8 朱立华 俞琼 王立
9
柱
计算机硬件的组成
地址总线
运算器
存储器
接口
控制器
控制总线
CPU
2009.8 朱立华 俞琼 王立 柱
数据总线
10
输入设备 输出设备
• 关于二进制问题
“世界上有10种人,一种人懂二进制,另一种人 不懂”
这里的10是一个二进制数,就是十进制的2
2009.8 朱立华 俞琼 王立
例:求和程序y=3+4所包含的指令如下:
操作码 操作数 指令含义
01H 3000H 将地址为3000H的单元中的数据放入累加器A
03H 3001H 将地址为3001H单元中的数据与累加器A中的 数据相加,结果留在A
02H 3002H 将累加器A中的数据存入地址为3002H的单元
07H
停机
2009.8 朱立华 俞琼 王立 柱
条指令执行时,PC便“指向”下一条指令,即PC的值变为
下一条将要执行的指令的地址。除非遇到转移指令或子程序
调用指令,CPU都是通过PC顺序地提取指令。
2009.8 朱立华 俞琼 王立
14
柱
机器内部执行程序的过程示例
程序是一组指令,指令联系着存储器和CPU,每条指 令有操作码,有的指令有操作数,指令存储在程序存 储区,操作数存储在数据存储区。
• 计算机应该采用二进制 • 操作指令也是一种信息 ,也
用二进制数表示 • 程序和数据的存储形式可以
完全相同 • 程序本身也可包含数据
2009.8 朱立华 俞琼 王立
7
柱
关于第一台计算机
1946.2.14 ENIAC(埃尼阿克)
现在保存在宾夕法尼亚大学
这台机器名为“电子数值积分 和计算机”(简称埃尼阿克, 完全是一个庞然大物,占地面 积达170m2,质量达30t,耗电 量也很惊人,功率为150kW, 共使用了近两万个电子管,在 工作时这些管子看上去活像两 万只点着的灯泡。
存储器的组成:由存储单元组成,每个单元1个字节 (1B),1B=8bit,每个单元有一个地址。
存储单元中的内容与存储单元的地址是两个概念,其 区别如同房间里的东西与房间号码。
存储器的大小指它有多少个字节,也就是有多少个不 同的地址号,取决于地址总线的根数,n根地址总线, 存储器容量为:2n
15
动 态各个硬件部分存在的意义和相互 的联系通过指令来体现。
对程序设计而言:计算机就是指令系统。 用机器语言进行程序设计:
• 首先要熟悉计算机的指令系统,熟悉每一条指令的含义及用 法。
• 设计算法,根据算法编写程序。 • 所编写的计算机程序体现为一系列指令的集合,每条指令的
常用存储单位:1TB=210GB=220MB=230KB=240B
存储器按功能分为3大区域:程序存储区、数据存储
区和栈
存取存数放据程都序在中一的端指,令无存放程序中的数据
2009.8 朱立华 俞琼 王立需计算地址,速13度快
柱
关于CPU
CPU:Central Processor Unit,中央处理器,完成各 种处理(运算+控制),是计算机最核心部件。
操作码和操作数都用二进制数表示。 • 用机器语言编写的源程序就是机器能识别并执行的目标程序。
2009.8 朱立华 俞琼 王立
16
柱
SUCCESS
THANK YOU
2019/6/20
一台模型机的指令系统
指令名称 操作码|操作 说明 数
取数
01H
N A←(N),将地址为N的单元的数据存入累加器A
C is the most beautiful language! C程序开发过程
2009.8 朱立华 俞琼 王立
4
柱
重点难点提示
计算机组成及机器内部执行程序的过程 动态 演示
子程序调用过程
动态 演示
C程序开发过程
2009.8 朱立华 俞琼 王立
5
柱
计算机及其组成
石器时代 石头、手指、绳子……
铁器时代 算盘
铜器时代 算筹(商周时代)、格子(西方)
计算机:(computer):用于计算的机器,用来处理存储的数据,处理和存储是一个整 体.
通过程序设计语言来开 发软件
计算机
加在硬件之上,控制硬 件完成功能
2009.8 朱立华 俞琼 王立 柱
物质基础 6
冯·诺依曼的程序存储思想
“计算机之父”—— 冯·诺依曼的程序存储思 想:
埃尼阿克主要用来进行弹道计 算的数值分析
2009.8 朱立华 俞琼 王立
8
柱
其他版本的第一台计算机
图灵机:计算机科学之父、人 工智能之父, “图灵奖”
德国人Conran Euse代号为“Z” 的计算机
哈佛,IBM的Mark系列大型电 子计算机
真正的第一台计算机是上面三 台中之一,无从考证
11
柱
• 关于二进制等进制问题
进 每位 逢几 位 n位数的 制 符号 进一 权 不同个数 十 0~9 10 10i 10n
二 0~1 2 2i
2n
例子(结果统一到十进制)
341=3*102+4*101+1*100=341 101=1*22+0*21+1*20=5
八 0~7 8 8i
8n
127=1*82+2*81+7*80=87
章节自测及在线编程练习:
高级语言程序设计
2009.8 朱立华 俞琼 王立柱
1
主讲人:朱立华
2009.8 朱立华 俞琼 王立
2
柱
第一章
计算机组 成与程序 设计语言
2009.8 朱立华 俞琼 王立
3
柱
内容提要
计算机组成及工作过程 机器语言程序设计
由低级语言到高级语言
十 0~9 16 16i 16n 六 A~F
31D=3*162+1*161+13*160=797
另:3位二进制数相当于1位八进制数: 101 011B=(53)8=53Q
4位二进制数相当于1位十六进制数: 1101 1001B=(D9)16=D9H=d9H
2009.8 朱立华 俞琼 王立
12
柱
关于存储器
CPU中设寄存器的目的:存放数据或计算的中间结果, 不通过地址总线和数据总线 ,处理速度快 。
寄存器有两种:通用寄存器和专用寄存器。
熟悉两个专用寄存器:
是运算器的组成部
每一个都有特定的作用
• (1)累分加,器暂A存:操与作算数术及逻辑运算器ALU一起完成各种运算
• (2)程运序算计的数中器间PC结:果寄存指令的地址,CPU通过PC取来一