语言程序设计基本概念.ppt_第1页
语言程序设计基本概念.ppt_第2页
语言程序设计基本概念.ppt_第3页
语言程序设计基本概念.ppt_第4页
语言程序设计基本概念.ppt_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

1,第一章 C语言程序设计基本概念,2,学习目标,了解C语言的历史和特点 熟悉计算机语言的不同类型 了解C语言的结构 理解C程序的开发过程 了解结构化程序设计方法,3,主要内容,C语言的发展历史以及特点 程序设计语言 简单的C程序实例 C语言程序的结构 C程序的编辑、编译和执行 算法 结构化程序设计方法 课堂练习,4,C语言的发展历史,历史悠久,战勋卓著 诞生于上世纪70年代初,成熟于80年代 “ANSI C”标准的发布是C语言成熟的标志 很多重量级软件都是用C写的 上天入地,无所不能 几乎没有不能用C写出来的软件,没有不支持C的系统,5,C语言特点,语言简洁紧凑,使用灵活方便 32个关键字,9种控制语句 介于高级语言和低级语言之间的语言。 从C+,到Java,再到C# 运算符丰富 34种运算符 +、-、*、%、+、- 等 可以实现其他高级语言难以实现的运算,6,数据结构类型丰富 标准数据类型:整型、实型和字符型; 构造类型:数组、结构体、共同体、指针 生成的代码质量高 可移植性强 结构化语言 主要结构函数, 实现模块化设计 结构化的控制语句,支持多种循环结构,C语言特点,7,程序设计语言,程序设计语言 人与计算机进行信息交流的工具。,大致可分为三类 机器语言 汇编语言 高级语言,8,程序设计语言,机器语言 1、计算机硬件的设计密切相关 2、计算机能直接识别的语言 3、由一组二进制0和1序列构成,例如,计算 4+8 取数 1011 0000 0000 0100 将4 送累加器 加 0000 0100 0000 1000 8 与累加器中的 4相加 停机 1111 0100,繁琐的,难记、难读、难写,9,程序设计语言,汇编语言 1、计算机硬件的设计密切相关 2、计算机是不能直接识别, 3、计算机基本操作的采用英语缩写编写程序,例如,计算 4+8 MOVE AL, 4 将4 送累加器 ADD AL, 8 8 与累加器中的 4相加 HLT 停机,10,程序设计语言,汇编程序: 将汇编语言程序转换为计算机能识机器语言,,11,11,程序设计语言,高级语言 基本与计算机的硬件设备无关,例如 计算4+8(C语言编写) Sum=4+8;,编译器: 高级语言转换为机器语言的翻译程序,12,12,简单的C程序实例,【例1-1】 /第一个C程序 #include main() printf(“Welcome to C programmingn“); return 0; ,执行结果 : 屏幕上显示 Welcome to c programming,行注释,头文件,主函数,编译系统提供的输出函数,程序结束返回函数,13,简单的C程序实例,【例1-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); ,main() int x,y,z,maxx; scanf(“%d%d%d“, ,14,C语言程序的结构,C语言是由函数构成的,至少有一个且仅有一个main的函数,称主函数。除main函数外,其它函数都是在执行main函数时被调用执行的。,#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); main() int x,y,z,maxx; scanf(“%d%d%d“, ,在程序中main()函数的位置可以任意。,在调用库函数之前必须将相应的头文件包含在本程序中。通常放在源程序或源文件的最前面。,15, C语言程序的结构,/求三个数中最大值 #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); main() int x,y,z,maxx; scanf(“%d%d%d“, ,严格区分大小写英文字母。习惯使用小写字母。 ;为语句的终止符。 表示程序的结构层次范围, 必须配对使用。 注释格式 /注释内容 行注释 /*注释内容*/,16, C程序的编辑、编译和执行,编辑:利用编辑器,通过键盘将C源程序输入到计算机,并以文件形成存入到磁盘上。 编译:利用编译器,将C源程序编译成目标程序。 连接:利用连接器,将C已编译的目标程序和库函数连接之后,生成可执行文件,并以文件形成存入到磁盘上,文件扩展名为 .exe。 运行: 在操作系统下运行可执行文件。,17,算法,算法解决问题的流程 必须具备以下五个特性 有穷性 确定性 有效性 (可行性) 没有输入或有多个输入 有一个或多个输出,18,算法,算法的描述 自然语言 伪码 流程图 N-S图,例1:求三个数中最大值问题,19,算法,自然语言: 日常使用的语言 先将a,b两个数进行比较,找出其中的大数,然后再把它和第三个数c进行比较,如果它比c大,则它就是最大数,否则c是最大数。,20,算法,流程图: 图语言表示法 ANSI规定了一些常用的流程图符号:,流程图,起止框 输入输出框 判断框 处理框 流程线 连接圈,21,算法,三个数中最大值问题的流程图 图1-4,22,算法,N-S图: 图语言表示法 三个数中最大值问题的 N-S图,23,算法,算法仅仅提供了解决某类问题可采用的方法和步骤,还必须使用某种计算机程序设计语言根据算法的描述去实现,即编程。,/求三个数中最大值 #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); main() int x,y,z,maxx; scanf(“%d%d%d“, ,24,算法,例2:求解两个自然整数的最大公约数 采用 “欧几里得算法”, 又称 辗转相除法 1、自然语言描述 S1:输入两个正整数M和N; S2:比较M和N,如果M小于N ,则两数交换,保证M是大数; S3:求M除以N的余数R; S4:使M=N,即用N代替M; S5: 使N=R,即用R代替N, S6: 如果N0,转向S3; S7: 如果N=0,转向S8; S8: 输出M,M为M和N的最大公约数。,25,算法,2、伪代码描述: INPUT M,N IF MN THEN 交换M和N WHILE N0 DO R=MOD(M,N) M=N N=R END DO 输出 M 其中M除以N的余数用符号MOD(M,N)表示。,26,算法,3、流程图描述,27,算法,4、 N-S图描述,28,结构化程序设计方法,结构化程序设计的基本方法: 自顶向下,逐步求精 复杂问题分解为若干的独立的小问题(小模块),例:求解两个数的平均值 1、分解:问题分解为三个模块 S1: 输入两个数a,b S2: 求两个数的平均值赋给aver S3:输出平均值,29,结构化程序设计方法,2、实现方法,算法细化 S1: 调用输入函数,完成输入 S2: 设计一个求解平均值的函数averge( ) S3: 调用输出函数,完成输出,3、C 语言实现主函数的编程 /求两个数的平均值 main() /主函数 float a,b,ave; /声明a、b和ave为实型变量 scanf(“%f%f”, /输出ave的值 return 0; ,30,结构化程序设计方法,4、逐步求精:设计averag()函数的算法。 设两个参数为float x,float y。 S2.1 :把x加y的和除2的值送给aver S2.2 :把aver的值返回给主函数。,5、C 语言实现averag()函数的编程 #include float average(float x,float y) /求两个数的平均值 float z,aver; /声明aver为实型变量 aver=(x+y)/2; /计算两个数的平均值赋给aver return (aver); /aver的值作为函数的的返回值 ,31,结构化程序设计方法,6、两模块连接成一个完整的求解程序 #include float average(float x,float y) /求两个数的平均值 float z,aver; /声明aver为实型变量 aver=(x+y)/2; /计算两个数的平均值赋给aver return (aver); /aver的值作为函数的的返回值 main() /主函数 float a,b,ave; /声明a、b和ave为实型变量 scanf(“%f%f”, /输出ave的值 return 0; ,32,结构化程序设计方法,结构化程序设计三种基本控制结构: 顺序结构 选择结构 循环结构(while, repert_until ),33,结构化程序设计方法,顺序结构,N-S图,流程图,执行过程: 先执行A操作,再执行B操作。,34,结构化程序设计方法,选择结构,N-S图,流程图,P为条件: 当P 条件成立 (为真 T)执行A 条件不成立(为假 F)执行B,35,结构化程序设计方法,循环结构(while ),当P条件成立 (为真 T)反复执行A, 直到P为 假。,流程图,N-S图,36,结构化程序设计方法,循环结构(repert_until ),流程图,N-S图,先执行A操作,再判断P,若为假, 再执行A,直到P为 真。,37,结构化程序设计方法,三种基本结构的共同特点是: 1)只有一个入口 2)只有一个出口 3)结构内的每一部份都有可能被执行到。 4)结构内不存在“死循环”。,顺序,选择,循环,38,课堂练习一,1、程序设计语言大致可分为三类,分别是 、 和 。 2、 语言是计算机能直接识别的语言。 3、 C语言是由 构成的,至少有一个且仅有一个 的函数,称主函数。 4、 C语言以 为语句的终止符。 5、 表示程序的结构层次范围, 必须 使用。 6、算法可以用多种方式来表

温馨提示

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

评论

0/150

提交评论