《理学c语言》ppt课件

上传人:tia****nde 文档编号:70749647 上传时间:2019-01-18 格式:PPT 页数:43 大小:448.81KB
返回 下载 相关 举报
《理学c语言》ppt课件_第1页
第1页 / 共43页
《理学c语言》ppt课件_第2页
第2页 / 共43页
《理学c语言》ppt课件_第3页
第3页 / 共43页
《理学c语言》ppt课件_第4页
第4页 / 共43页
《理学c语言》ppt课件_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《《理学c语言》ppt课件》由会员分享,可在线阅读,更多相关《《理学c语言》ppt课件(43页珍藏版)》请在金锄头文库上搜索。

1、C语言程序设计,信息学院 谢群英 ,2/40,C语言程序设计,教学要求 掌握程序设计语言的基本知识 常用算法 初步的程序设计能力 学习方法 自主学习 重视上机实践,3/40,如何尽快学会用C语言进行程序设计,了解程序设计语言(C语言) 模仿、改写、编写 通过不断的编程实践,逐步领会和掌握程序设计的基本思想和方法。,4/40,教材和参考书,C语言程序设计,何钦铭、颜晖主编,高等教育出版社,2008 C语言编程(第3版),美Stephen, G.Kochan,张小潘译,电子工业出版社,2006 C语言教程(第4版),美Al Kelley, Ira Pohl,徐波译,机械工业出版社,2007 标准C

2、语言基础教程(第4版),美Gary J. Bronson,单先余等译,电子工业出版社,2006 C程序设计语言,美Brian W. Kernighan, Dennis M. Ritchie,徐宝文等译,机械工业出版社,2006,5/40,Chap 1 引 言,一个C语言程序 程序与程序设计语言 C语言的发展历史与特点 实现问题求解的过程,6/40,本章要点,什么是程序?程序设计语言包含哪些功能? 程序设计语言在语法上包含哪些内容? 结构化程序设计有哪些基本的控制结构? C语言有哪些特点? C语言程序的基本框架如何? 形成一个可运行的C语言程序需要经过哪些步骤? 如何用流程图描述简单的算法?,7

3、/40,1.1 一个C语言程序,例1-1求阶乘问题。输入一个正整数n,输出n!。 #include /* 编译预处理命令 */ int main(void) /* 主函数 */ int n; /* 变量定义 */ int factorial(int n); /* 函数声明 */ scanf(“%d“, ,输入 4 输出 24,C程序由函数组成 有且只有一个主函数main,8/40,1.2 程序与程序设计语言,程序 人们为解决某种问题用计算机可以识别的代码编排的一系列加工步骤。 程序的执行过程实际上是对程序所表达的数据进行处理的过程。 程序设计语言 提供了一种表达数据与处理数据的功能 要求程序员

4、按照语言的规范编程,9/40,1.2 程序与程序设计语言,程序与指令 程序设计语言的功能 程序设计语言的语法 程序的编译与编程环境,10/40,程序与指令,指令:计算机的一个最基本的功能 如实现一次加法运算或实现一次大小的判别 计算机的指令系统:计算机所能实现的指令的集合 程序:一系列计算机指令的有序组合,11/40,程序与指令,例1-2 编写程序,分别求和与乘积 虚拟的计算机指令系统(7条指令 ) 指令1:Input X 将当前输入数据存储到内存的X单元 指令2:Output X 将内存X单元的数据输出。 指令3:Add X Y Z 将内存X单元的数据与Y单元的数据相加并将结果存储到Z单元。

5、 指令4:Sub X Y Z 将内存X单元的数据与Y单元的数据相减并将结果存储到Z单元。 指令5:BranchEq X Y P 比较X与Y,若相等则程序跳转到P处执行,否则继续执行下一条指令。 指令6:Jump P 程序跳转到P处执行。 指令7:Set X Y 将内存Y单元的值设为X。,12/40,程序与指令,输入输入3个数A, B和C,求A+B+C的结果 Input A; 输入第1个数据到存储单元A中 Input B; 输入第2个数据到存储单元B中 Input C; 输入第3个数据到存储单元C中 Add A B D; 将A、B相加并将结果存在D中 Add C D D; 将C、D相加并将结果存

6、在D中 Output D; 输出D的内容,13/40,程序与指令,输入2个数A和B,求A*B的结果 1Input A; 输入第1个数据到存储单元A中 2Input B; 输入第2个数据到存储单元B中 3Set 0 X; 将X设为0,此处X用以统计A累加的次数 4Set 0 Z; 将Z设为0,此处Z用以存放A*B的结果 5BranchEq X B 9; 判别X与B是否相等;若相等说明A已累加了B次,程序跳转到第9条指令,输出结果 6Add Z A Z; Z = Z + A 7Add 1 X X; X = X + 1 8Jump 5; 程序跳转到第5条指令,继续循环执行第6条、7条指令 9Outp

7、ut Z; 输出Z的值,该值等于A*B,第 14 /54页,计算机语言的发展 1. 机器语言 2. 汇编语言 3. 高级语言,第 15 /54页,机器语言 面向机器的语言,指令和数据都是0、1序列。 可以被计算机硬件直接识别,不需要翻译,因此执行速度快,执行效率高。 不直观,编程工作量大,易出错,程序难读,不具有通用性,对编程人员要求高。 汇编语言 用一些简单的助记符来描述指令(如加法指令用“ADD”,数字用10进制或16进制来表示),因此又叫作“符号语言”。一般情况下,汇编语言的指令和机器语言的指令是一一对应的。 高级语言 为普通用户设计,接近自然语言,与机器无关,具有可移植性 易学、易用、

8、易维护。 用变量名代替存储单元地址,机器分配地址和管理存储空间。 不能被计算机硬件直接识别,需要翻译成机器可执行的目标代码后方可执行。,第 16 /54页, IBM-PC的机器语言程序如下: 1011 0000 0000 0111 : 把7放入累加器A中 0010 1100 0000 1000 : 8与累加器A中的值相加,结果放A 1111 0100 : 停机 汇编程序(符号化了的机器语言)如下: ORG 00H : 设置程序起始地址 MOV A,7 : 把7放入累加器A中 ADD A,8 : 8与累加器A中的值相加,结果仍放入A中 HALT : 停机 高级语言程序(C语言)如下: A=7+8

9、 : 7与8相加的结果放入变量A中 printf(“%d“,A) : 在显示器上输出变量A的值 return : 结束程序,17/40,程序设计语言的功能,数据表达:表达所要处理的数据 流程控制:表达数据处理的流程,18/40,数据表达,数据表达:一般将数据抽象为若干类型 数据类型:对某些具有共同特点的数据集合的总称 代表的数据(数据类型的定义域) 在这些数据上做些什么(即操作或称运算) 例如:整数类型 包含的数据:,-2,-1,0,1,2, 作用在整数上的运算:+ 、 - 、 * 、 /等,19/40,数据表达,C语言提供的数据类型 基本数据类型:程序设计语言事先定义好,供程序员直接使用,如

10、整型、实型(浮点型)、字符型等。 构造类型:由程序员构造,如数组、结构、文件、指针等。 各种数据类型的常量与变量形式 常量(常数)与变量,20/40,流程控制,结构化程序设计方法 将复杂程序划分为若干个相互独立的模块 模块:一条语句(Statement)、一段程序或一个函数(子程序)等 单入口、单出口,21/40,流程控制,任何程序都可以将模块通过3种基本的控制结构进行组合来实现,顺序结构,循环结构,分支结构,22/40,流程控制,语句级控制:3种基本的控制结构 顺序控制结构:自然顺序执行 分支控制结构(选择结构):根据不同的条件来选择所要执行的模块 循环控制结构:重复执行某个模块 单位级控制

11、:函数的定义与调用 处理复杂问题时, 将程序分为若干个相对独立的子程序(函数),23/40,程序设计语言的语法,用程序设计语言所写的程序必须符合相应语言的语法 源程序(源代码)是一个字符序列,这些字符序列按顺序组成了一系列“单词”,“单词”的组合就形成了语言有意义的语法单位,一些简单语法单位的组合又形成了更复杂的语法单位,最后一系列语法单位组合成程序。,24/40,程序设计语言的语法,C语言的主要“单词” (1)标识符: C语言的标识符规定由字母、数字以及下划线组成,且第一个字符必须是字母或下划线。 (2)保留字(关键字): 它们是C语言规定的、赋予它们以特定含义、有专门用途的标识符。 (3)

12、自定义标识符: 包括在程序中定义的变量名、数据类型名、函数名以及符号常量名。有意义的英文单词,25/40,(4)常量: 常量是有数据类型的,如,123、12.34 (5)运算符。代表对各种数据类型实际数据对象的运算。如,+(加)、-(减)、*(乘)、/(除)、%(求余)、(大于),合法的标识符和变量名: sum, average, _total, Class, S_name, lotus_1, BASIC,不合法的标识符和变量名: M.D.john, ¥124, # 333,3d65, ab,判断下列符号中,哪些是合法的变量名? a3B 3aB +a -b *x $ _b5_ next_ da

13、y e_2 OK? Intger MAXNUMBER i*j,26/40,程序设计语言的语法,C语言的主要语法单位 (1)表达式: 运算符与运算对象组合就形成了表达式。如,2 + 3 * 4 (2)变量定义,C语言中, 变量须先定义,后使用 如: int student ; student=30; 则若写成student=30, 则未定义, 编译时指出其错。,如: a % b 表示a与b整除求余,则a,b必须为整型量。,一旦变量被定义, 则: 类型确定,可为其分配相应数量的存储单元。 可检查其运算的合法性。,27/40,程序设计语言的语法,其中,(3)语句: 语句是程序最基本的执行单位,程序的

14、功能就是通过对一系列语句的执行来实现的。 表达式语句:表达式加分号“;” 分支语句:实现分支控制过程 if (a b) x = a; else x = b; 循环语句:实现循环控制的过程 sum = 0; /* 初始化sum和i */ i = 1; while (i = 100) /* while循环语句 */ sum = sum + i; i = i + 1; 复合语句:用一对“ ”,将若干语句顺序组合在一起就形成了一个复合语句。,28/40,程序设计语言的语法,(4)函数定义与调用 函数是完成特定任务的独立模块,函数的使用最主要涉及到函数的定义与调用。 (5)输入输出: C语言没有输入输出

15、语句,用库函数printf、scanf等实现。,29/40,程序的编译与编程环境,程序的编译 编译器 程序 计算机直接能理解的指令序列 编译器:对源程序进行词法、语法与语义分析,生成可执行的代码。 编程环境 包括编辑程序(Edit)、编译(Compile)、调试(Debug)等。 掌握程序设计语言:根据语言的语法,用语言表达数据、实现程序的控制,并会使用编程环境。,30/40,C 语言上机过程,源程序 test.cpp test.obj 可执行代码 test.exe,编译,连接,运行,31/40,1.3 C语言的发展历史与特点,历史 1972年:贝尔实验室的Dennis Ritchie在B语言的基础上设计并实现了C语言。 1978年:B.W.Kernighan和D.Ritchie(简称K & R)合著的The C Programming Language是各种C语言版本的基础,称之为旧标准C语言。 1983年:美国国家标准化协会(ANSI)制定了新的C语言标准,称ANSI C。,32/40,1.3 C语言的特点,只有通过学习,方可理解C之特点,先简叙之:,1. 简洁、紧凑、方便、灵活 32个关键字,9种控制语句,程序书写形式自由,主要用小写字母,压缩

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号