C语言程序设计基本概念ppt课件_第1页
C语言程序设计基本概念ppt课件_第2页
C语言程序设计基本概念ppt课件_第3页
C语言程序设计基本概念ppt课件_第4页
C语言程序设计基本概念ppt课件_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

1、21.07.2020,.,1,C语言程序设计,任课教师介绍 许 创 副教授 (工学院计算机系) 手机:692211 E-mail: 网站: FTP:05,21.07.2020,.,2,上机习题,CH1EX3: 调试程序,找出其中错误并改正。 CH2ABS: a, b是任意输入的两个整数,计算 a+|b|,并显示计算结果。 CH2CVS: 输入一个华氏温度F,输出对应的摄氏温度。公式为:c=5/9(F-32) 练习:2.6 2.7 2.8,21.07.2020,.,3,第1章 C语言程序设计基本概念,了解C语言的历史和特点 熟悉计算机语言的不同类型 了解C语言的结构 理解C

2、语言程序的开发过程 了解算法的概念 了解结构化程序设计方法,学习目标,21.07.2020,.,4,C语言的特点 语言简洁、紧凑,使用方便、灵活 运算符丰富,具有多种运算功能 有丰富的数据类型 生成代码质量高,程序执行效率高 C程序的可移植性好 是一种结构化程序设计语言 语法限制不严,程序设计自由度大 C提供的位运算可直接对硬件操作,21.07.2020,.,5,程序设计语言 人与计算机进行信息交流的工具 机器语言 汇编语言 高级语言 面向过程语言 (C、PASCAL等) 面向对象语言 (JAVA、C+等) 甚高级语言 (尚在开发),21.07.2020,.,6,机器语言 1、与计算机硬件的设

3、计密切相关 (无移植性) 2、是计算机能直接识别的语言 3、由一组二进制0和1序列构成,【例】计算 4+8 取数 1011 0000 0000 0100 将4送累加器 加 0000 0100 0000 1000 8与累加器中的4相加 停机 1111 0100,特点:繁琐、难记、难读、难写、不可移植,21.07.2020,.,7,汇编语言 1、与计算机硬件的设计密切相关 2、计算机不能直接识别 3、计算机基本操作是采用英语缩写的助记符来编写程序,【例】计算 4+8 MOVE AL, 4 将4 送累加器 ADD AL, 8 8 与累加器中的 4相加 HLT 停机,21.07.2020,.,8,汇编

4、程序: 将汇编语言程序转换为计算机能识别的机器语言,21.07.2020,.,9,高级语言 基本与计算机的硬件设备无关,【例】计算4+8(用C语言编写) sum=4+8;,编译程序: 高级语言转换为机器语言的翻译程序,21.07.2020,.,10,简单的C程序实例,运行结果: Welcome to C programming.,【例1-1】 /第一个C程序 #includestdio.h void main() /* 函数头 */ printf(Welcome to C programming.n); ,注释,头文件,主函数、注释,系统提供的输出函数,21.07.2020,.,11,【例1-

5、2】编写求三数中最大值问题的程序,#include int max_value(int a, int b, int c) int max; if(ab) max=a; else max=b; if(maxc) max=c; return (max); ,void main() int x, y, z, maxx; scanf(%d%d%d, ,输入:8 5 7 输出:max=8,21.07.2020,.,12,C语言程序的构成 C程序由函数组成 每个函数完成相对独立的功能 C提供了丰富的库函数 每个C程序都有一个叫做main的主函数 main( )后面花括号内的部分叫函数体 函数体含“说明部分

6、”和“执行部分” 说明部分和执行部分各由若干语句组成 语句以分号为结束标记,21.07.2020,.,13,C函数的一般形式 函数类型 函数名(形式参数表) 说明、定义部分 函数执行部分 ,21.07.2020,.,14,Niklaus Wirth 提出的著名公式: 数据结构+算法 = 程序 什么是算法? 对特定问题求解方法和步骤的一种描述。 算法的两大要素: 操作 控制结构 算法解决的问题: 做什么 如何做,算法,21.07.2020,.,15,算法的特性: 1. 有穷性 2. 确定性 3. 有效性 4. 有零个或多个输入 5. 有一个或多个输出 描述算法的工具: 自然语言 伪代码 流程图

7、NS图 等等,21.07.2020,.,16,【例】求三个数中最大值问题,自然语言: 日常使用的语言 先将a,b进行比较,找出其中的大数;然后再把它和第三个数c进行比较,如果它比c大,则它就是最大数,否则c是最大数。,伪代码: 介于自然语言和计算机语言之间的文字和符号进行描述,IF ab THEN max=a ELSE max=b IF maxc THEN 输出 max ELSE 输出 c,21.07.2020,.,17,流程图: 传统图语言表示法 ANSI规定了一些常用的流程图符号:,起止框 输入输出框 判断框 处理框 流程线 连接圈,【例】酱油与醋的问题:试用自然语言描述如何将酱油与醋互换

8、位置的过程。,21.07.2020,.,18,三个数中最大值问题的流程图(图1-4),21.07.2020,.,19,N-S图(结构化流程图): 图语言表示法 三个数中最大值问题的 N-S图(图1-5),21.07.2020,.,20,结构化程序设计方法,结构化程序设计的基本方法: 自顶向下,逐步求精,将复杂问题分解为若干的独立的小问题(小模块)。,【例】求解两个数的平均值 1、分解:问题分解为三个模块 : S1: 输入两个数a, b S2: 求两个数的平均值赋给aver S3:输出平均值,21.07.2020,.,21,2、实现方法,算法细化 S1: 调用输入函数,完成输入 S2: 设计一个

9、求解平均值的函数averge( ) S3: 调用输出函数,完成输出,3、C 语言实现主函数的编程 /求两个数的平均值 void main() /主函数 float a, b, ave; /声明a、b和ave为实型变量 scanf(%f%f, /输出ave的值 ,21.07.2020,.,22,4、逐步求精:设计averag(float x,float y)函数的算法(设两个参数为float x,float y) S2.1 :把x加y的和除2的值送给aver S2.2 :把aver的值返回给主函数。,5、C 语言实现averag(float x,float y)函数的编程 #include fl

10、oat average(float x, float y) /求两个数的平均值 float aver; /声明aver为实型变量 aver=(x+y)/2; /计算两个数的平均值赋给aver return (aver); /aver的值作为函数的的返回值 ,21.07.2020,.,23,6、两模块连接成一个完整的求解程序 #include float average(float x, float y) /求两个数的平均值 float z, aver; /声明aver为实型变量 aver=(x+y)/2; /计算两个数的平均值赋给aver return (aver); /aver的值作为函数的

11、的返回值 void main() /主函数 float a, b, ave; /声明a、b和ave为实型变量 scanf(%f%f, /输出ave的值 ,21.07.2020,.,24,用自然语言描述: S1: 输入两个整数x, y S2: 交换x, y 细化S2: S2.1:将x赋给t S2.2:将y赋给x S2.3:将t赋给y,相应的程序段: /输入x、y scanf(%d%d, ,【例1-3】设计两整数交换的算法,21.07.2020,.,25,两数交换的另一个奇特难懂的算法: S1: 输入两个整数x, y S2: 将x+y赋给x S3: 将x-y赋给y S4: 将x-y赋给x 相应的程

12、序段: scanf(%d%d, ,21.07.2020,.,26,【例】对于一个大于3的整数,判断它是不是素数(循环之例) 算法如下: 1. 输入n 2. i=2 3. n被i除,得余数r 4. 若r=0,则输出n“不是素数”,算法结束 5. i=i+1 6. 若in/2,则重新执行3. ;否则执行7. 7. 输出n“是素数”,算法结束,21.07.2020,.,27,结构化程序的三种基本控制结构: 顺序结构 选择结构(if_else) 循环结构(while, repeat_until),顺序结构:,流程图,N-S图,先执行A操作, 再执行B操作。,21.07.2020,.,28,选择结构:,

13、流程图,N-S图,当P 条件成立 (为真T)执行A 否则 (为假 F)执行B,21.07.2020,.,29,循环结构1(while ):,流程图,N-S图,当P条件成立 (为真 T)反复执行A, 直到P为 假时结束。,21.07.2020,.,30,循环结构2(repeat_until),流程图,N-S图,先执行A操作,再判断P,若为假,再执行A,直到P为 真时结束。,21.07.2020,.,31,三种基本结构的共同特点: 1)单入口 2)单出口 3)无死语句 4)无死循环,顺序,选择,循环,21.07.2020,.,32,C程序的编辑、编译和执行,编辑:利用编辑器,通过键盘将C源程序输入

14、到计算机,并以文件形成保存到磁盘。 编译:利用编译器,将C源程序编译成目标程序。 连接:利用连接器,将C已编译的目标程序和库函数连接之后,生成可执行文件,并以文件形成存入到磁盘上,文件扩展名为 .exe。 运行: 在操作系统下运行可执行文件。,21.07.2020,.,33,上机实践 运行环境turbo C (2.0或3.0) 编辑录入、修改 编译翻译为二进制代码(obj) 连接连接各模块的二进制代码,生成可执行文件(exe) 运行运行程序,21.07.2020,.,34,Turbo C 2.0上机环境简介,四个最主要菜单 File 创建新文件、打开文件、保存文件、改变目录、退出系统 Edit

15、 切换到编辑状态 Compile 编译、连接成目标文件或可执行文件 Run 自动编译、连接并运行,21.07.2020,.,35,Turbo C 3.0上机环境简介,五个最主要菜单 File 创建新文件、打开文件、保存文件、改变目录、退出系统 Edit 常用编辑命令 Compile 编译、连接成目标文件或可执行文件 Run 自动编译、连接并运行 Windows 窗口切换,21.07.2020,.,36,可用快捷键打开菜单 如按+F 可打开文件菜单 输入程序前一般应先改变好目录 File/Change dir 先编译、后保存、再运行 在3.0版本,可用鼠标,在多程序窗口环境下可选Windows-Next命令作窗口切换,21.07.2020,.,37,Turbo C 常用编辑命令,上翻一屏 下翻一屏 移到行首 移到行尾 QR移到文件首 QC移到文件尾,21.07.2020,.,38,QF查找 I查找下一个 QA查找并替换 Y删除一行 N或插入一行 向前删一个字符

温馨提示

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

最新文档

评论

0/150

提交评论