最新C语言概述_第1页
最新C语言概述_第2页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、最新C语言概述 1 C语言程序设计语言程序设计 最新C语言概述 2 课程目标: u熟悉C 语言的基本概念 u熟悉Turbo C的上机操作环境 u会读、会编、会调试C程序 u顺利通过省二级考试 课程要求: u课堂做笔记 u多上机实习 最新C语言概述 3 计计 算算 机机 系系 统统 硬件硬件 软件软件 运算器运算器 控制器控制器 存储器存储器 输入输出设备输入输出设备 系统软件系统软件 操作系统操作系统 数据库系统数据库系统 网络系统网络系统 程序设计语言程序设计语言 与语言处理程序与语言处理程序 机器语言和汇编语言机器语言和汇编语言 高级语言高级语言:C语言语言、Fortran、Pascal

2、面向对象的程序设计面向对象的程序设计:C+ + 应用软件应用软件 最新C语言概述 4 n 1.1 程序与程序语言 n 1.2 算法概述 n 1.3 C语言概况 n 1.4 C程序的开发过程与开发环境 C语言概述第1章 最新C语言概述 5 本章从C语言的发展出发,主要介绍C语言的发展 历史、基本特点和简单的C语言程序结构与组成,重 点介绍了算法的含义与算法的描述工具,以传统流 程图为重点分析了算法的描述方法。 通过本章的学习,要求达到以下目标: 了解C语言的形成、发展和基本特点;了解程序、 程序设计、高级语言的概念;掌握C语言程序的基本 结构和组成;掌握计算机算法的基本概念和算法描 述的基本工具

3、;运用传统流程图描述一个具体的算 法。 【本章导读】 最新C语言概述 6 1.1 程序与程序设计语言 n 1程序:指令的集合 数据结构+算法=程序 n 程序设计语言 机器语言特点:面向机器的二进制表示的语言。 汇编语言特点:面向机器的符号化的机器语言。 高级语言特点:面向问题的类自然语言。 2+31ADD 2, 32+3 最新C语言概述 7 p程序设计语言的发展 机器语言 汇编语言 高级语言 面向过程 面向对象 一种CPU指令系统,由0、1序列构成的指令码组成 如:10000000 加 10010000 减 用助记符号描述的指令系统 如 ADD A, B 面向机器的语言 程序设计侧重于系统功能

4、 解题过程是数据被加工的过程 客观世界可以分类,对象是类的实例 对象是数据和方法的封装 对象间通过发送和接受消息发生联系 程序设计关键是定义类,并由类派生对象 C语言发展历史语言发展历史 最新C语言概述 8 n 程序设计 p 确定数据结构 p 确定算法 p 编写程序 p 程序调试 p 整理源程序并总结资料 n 程序设计结构 p 顺序结构 p 选择结构 p 循环结构 最新C语言概述 9 算法是指解决问题的方法和步骤。算法是指解决问题的方法和步骤。 正确的计算机程序必须具备两个基本条件:正确的计算机程序必须具备两个基本条件: 一是掌握一门计算机高级语言的规则一是掌握一门计算机高级语言的规则 二是要

5、掌握解题的方法和步骤二是要掌握解题的方法和步骤 n算法概念算法概念 1.2 1.2 算法概述算法概述 最新C语言概述 10 算法简例算法简例 可以用最原始的方法进行。可以用最原始的方法进行。 步骤步骤1: 先求先求12,得到结果,得到结果2。 步骤步骤2: 将步骤将步骤1得到的乘积得到的乘积2再乘以再乘以3,得到结果,得到结果6。 步骤步骤3: 将将6再乘以再乘以4,得,得24。 步骤步骤4: 将将24再乘以再乘以5,得,得120。 这样的算法虽然是正确的,但太繁琐。如果要求这样的算法虽然是正确的,但太繁琐。如果要求 121000,则要写,则要写999个步骤,显然是不可取的。个步骤,显然是不可

6、取的。 而且每次都直接使用上一步骤的数值结果而且每次都直接使用上一步骤的数值结果(如如2,6,24 等等),也不方便。应当找到一种通用的表示方法。,也不方便。应当找到一种通用的表示方法。 【例】【例】求求 12320 最新C语言概述 11 设置两个变量,一个变量代表被乘数,一个变量代表乘数。设置两个变量,一个变量代表被乘数,一个变量代表乘数。 不另设变量存放乘积结果,而直接将每一步骤的乘积放在不另设变量存放乘积结果,而直接将每一步骤的乘积放在 被乘数变量中。今设被乘数变量中。今设t为被乘数,为被乘数,i为乘数。用循环算法来结为乘数。用循环算法来结 果。可以将算法改写如下:果。可以将算法改写如下

7、: S1: 使使1 =t S2: 使使2 =i S3: 使使ti,乘积仍放在变量,乘积仍放在变量t中,可表示为中,可表示为ti=t S4: 使使i的值加的值加1,即,即i+1 = i S5: 如果如果i =20,返回重新执行步骤,返回重新执行步骤S3以及其后的步骤以及其后的步骤S4 和和S5;否则,算法结束。最后得到;否则,算法结束。最后得到t的值就是的值就是20!的值。的值。 例续例续 最新C语言概述 12 n 算法 衡量算法优劣的标准: (1) 思路:清晰、正确。 (2) 过程:简单、明了、扼要。 (3) 算法:合适。 最新C语言概述 13 算法的五个基本特征:算法的五个基本特征: 有穷性

8、有穷性 一个算法必须在有限次执行后完成。一个算法必须在有限次执行后完成。 (2) 确定性确定性 算法中的每一个步骤都应当是确定的,而不应当是含算法中的每一个步骤都应当是确定的,而不应当是含 糊的、模棱两可的糊的、模棱两可的 (3) 输入输入 是指在执行算法时需要从外界取得必要的信息是指在执行算法时需要从外界取得必要的信息,提供运算对象提供运算对象 的初始情况,一个算法有的初始情况,一个算法有0个或多个输入。个或多个输入。 (4) 输出输出 一个算法要有一个或多个输出。若无输出,则无法知道结果。一个算法要有一个或多个输出。若无输出,则无法知道结果。 (5) 有效性有效性 算法中的每一个步骤都应该

9、被有效地执行,并应能得到一算法中的每一个步骤都应该被有效地执行,并应能得到一 个明确的结果。个明确的结果。 实质上,算法反映的是解决问题的思路。许多问题,只要仔细分析对实质上,算法反映的是解决问题的思路。许多问题,只要仔细分析对 象数据,就容易找到处理方法。象数据,就容易找到处理方法。 算法的特征算法的特征 最新C语言概述 14 n 算法的表示方法很多,主要有:算法的表示方法很多,主要有: p自然语言自然语言 p 传统流程图传统流程图 pN-S图图 p伪代码伪代码 p计算机程序语言计算机程序语言 算法的表示算法的表示 最新C语言概述 15 传统流程图传统流程图 起止框起止框 处理框处理框 判断

10、框判断框 连接点连接点 流程线流程线 1 1 图 常用流程图符号 数据数据 最新C语言概述 16 输出输出x输出输出-x YN x0 图图 条件判断图条件判断图图图 具有连接点的流程图具有连接点的流程图 最新C语言概述 17 画出求画出求12320的流程图的流程图【例】 图图1.4 求求20! 图图1.5 求求20!并输出并输出 i =20 Y N i =20 Y N 最新C语言概述 18 A B P 成立 不成立 A B 当P成立 A A 直到P成立 1973年美国学者提出了一种新的流程图形式。在这年美国学者提出了一种新的流程图形式。在这 种流程图里,完全去掉了带箭头的流程线。全部算法写种流

11、程图里,完全去掉了带箭头的流程线。全部算法写 在一个矩形框内,在框内还可以包含其它从属于它的方在一个矩形框内,在框内还可以包含其它从属于它的方 框,即由一些基本的框组成一个大框。这种流程图适于框,即由一些基本的框组成一个大框。这种流程图适于 结构化程序设计算法的描述。结构化程序设计算法的描述。 0 0s,1s,1i i 当当i i100100成立成立 s+is+is s i+1i+1i i 输出输出s s的值的值 2 2 N-SN-S图图 最新C语言概述 19 用传统的流程图表示算法,直观易懂,但画起来比较费事。用传统的流程图表示算法,直观易懂,但画起来比较费事。 因此,流程图适宜表示一因此,

12、流程图适宜表示一 个算法,但在设计算法过程中个算法,但在设计算法过程中 使用不是很理想。为了设计算法时方便,常用一种称为伪使用不是很理想。为了设计算法时方便,常用一种称为伪 代码代码(pseudo code)的工具。的工具。 伪代码是用介于自然语言和计算机语言之间的文字和符号伪代码是用介于自然语言和计算机语言之间的文字和符号 来描述算法。它如同一篇文章,自上而下地写下来。每一来描述算法。它如同一篇文章,自上而下地写下来。每一 行行(或几行或几行)表示一个基本操作。它不用图形符号,因此书表示一个基本操作。它不用图形符号,因此书 写方便写方便 、格式紧凑,也比较好懂,便于向计算机语言算、格式紧凑,

13、也比较好懂,便于向计算机语言算 法法(即程序即程序)过渡过渡. 3 3用伪代码表示算法用伪代码表示算法 最新C语言概述 20 例如例如 “打印打印x的绝对值的绝对值”的算法可以用伪代码表示如的算法可以用伪代码表示如 下:下: IF x is positive THEN print x ELSE print x 它像一个英语句子一样好懂,在国外用得比较普遍。也可以用汉字伪代码,如:它像一个英语句子一样好懂,在国外用得比较普遍。也可以用汉字伪代码,如: 若若 x为正为正 打印打印 x 否则否则 打印打印 x 也可以中英文混用,如:也可以中英文混用,如: IF x 为正为正 print x ELSE

14、 print x 最新C语言概述 21 开始开始 置置t的初值为的初值为1 置置i的初值为的初值为2 当当it 2=i while it i+1=i print t END(算法结束算法结束) 在本算法中采用当型循环(第在本算法中采用当型循环(第3行到笫行到笫5 行是一个当型循环)。行是一个当型循环)。while意思为意思为 “当当”, 它表示当它表示当i=5时执行循环时执行循环 体(大括弧中的两行)的操作。体(大括弧中的两行)的操作。 求求20!用伪代码表示的算法如下:用伪代码表示的算法如下: 最新C语言概述 22 4 4用计算机语言表示算法用计算机语言表示算法 要完成一件工作,包括设计算法

15、和实现算法两个部分。设要完成一件工作,包括设计算法和实现算法两个部分。设 计算法的目的是为了实现算法。计算法的目的是为了实现算法。 我们的任务是用计算机解题,也就是要用计算机实现算法。我们的任务是用计算机解题,也就是要用计算机实现算法。 计算机是无法识别流程图和伪代码的。计算机是无法识别流程图和伪代码的。 只有用计算机语言编写的程序才能被计算机执行(当然还只有用计算机语言编写的程序才能被计算机执行(当然还 要经过编译成目标程序才能被计算机识别和执行)。要经过编译成目标程序才能被计算机识别和执行)。 因此,在用流程图或伪代码描述出一个算法后,还要将它因此,在用流程图或伪代码描述出一个算法后,还要

16、将它 转换成计算机语言程序。转换成计算机语言程序。 用计算机语言表示算法必须严格遵循所用语言的语法规则,用计算机语言表示算法必须严格遵循所用语言的语法规则, 这是和伪代码不同的。我们将前面介绍过的算法用这是和伪代码不同的。我们将前面介绍过的算法用C语言语言 表示。表示。 最新C语言概述 23 【例】【例】求求10! void main( ) int i,long t; t=1; i=2; while(i=10) t=t*i; i=i+1; printf(%d,t); 最新C语言概述 24 产生背景 汇编语言程序依赖于计算机硬件,可读性和可移植性 都差 一般的高级语言又难以实现对计算机硬件的直接

17、操作 产生过程 (BCPL B C) 时间:19721973 地点:美国贝尔实验室 目的:UNIX操作系统 设计人: Ken.Thompson、Dennis.M.Ritchie和 Brian.W.Kernighan C标准 标准C: K /*ch1_1.c*/ 注释 预处理命令 函数 语句 输出: Hello,World! C程序格式和结构特点程序格式和结构特点 最新C语言概述 29 /* example calculate the sum of a and b*/ #include /* This is the main program */ main() int a,b,sum; a=10

18、; b=24; sum=add(a,b); printf(”sum= %dn,sum); /* This function calculates the sum of x and y */ int add(int x,int y) int z; z=x+y; return(z); /*ch1_2.c*/ 运行结果: sum=34 函数 语句 预处理命令 注释 最新C语言概述 30 习惯用小写字母,大小写敏感 不使用行号,无程序行概念 可使用空行和空格 常用锯齿形书写格式 main( ) . . . . . . . main( ) int i , j , sum; sum=0; for(i=1;

19、 i10;i+) for(j=1;jtc 1.4 C1.4 C程序的上机步骤程序的上机步骤 最新C语言概述 33 编辑 链接 编译 执行 程序代码的录入, 生成源程序*.c 语法分析查错,翻 译生成目标程序 *.obj 与其它目标程序或 库链接装配,生成可 执行程序*.exe 源程序目标程序可执行程序 内容程序设计语言机器语言机器语言 可执行不可以不可以可以 文件名后缀.c.obj.exe C程序开发步骤程序开发步骤 最新C语言概述 34 上机步骤:上机步骤: (1)启动Turbo C (2)输入源程序 (3)源程序保存 (4)编译连接运行程序:Ctrl+F9 (5)若编译有错,改错,再按Ct

20、rl+F9 (6)看程序结果:Alt+F5 (7) 若程序结果有错,重复(5) (8)程序结果正确,结束; 最新C语言概述 35 集成界面如下集成界面如下,第一行是第一行是“主菜单主菜单”, 其中包括下面其中包括下面8个菜单项个菜单项: File Edit Run Compile Project Option Debug break/watch 分别代表分别代表:文件操作、编辑、运行、编译、项目文件、选项、调试、文件操作、编辑、运行、编译、项目文件、选项、调试、 中断中断/观察等功能观察等功能 最新C语言概述 36 用键盘上的用键盘上的“”和和“”键可以选择菜单条中所需要的菜单项,键可以选择菜单条中所需要的菜单项, 被选中的项以被选中的项以“反相反相”形式显示形式显示 最新C语言概述 37 选中选中“Load” , 并按回车键,并按回车键, 表示要调入一个已有的源文件,此时表示要调入一个已有的源文件,此时 屏幕上出现一个对话框。要求你输入该文件的名字。用户可输入该文屏幕上出现一个对话框。要求你输入该文件的名字。用户可输入该文 件名,例如件名,例如:tc1.c,如果已存在此文件,则系统会将此文件调入内存并,如果已存在此文件,则系统会将此文件调入内存并 显示在屏幕上。此时自动转为编辑显示在屏幕上。此时自动转为编辑(Edit)状态。状态。 如果原来

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论