资源预览内容
第1页 / 共40页
第2页 / 共40页
第3页 / 共40页
第4页 / 共40页
第5页 / 共40页
第6页 / 共40页
第7页 / 共40页
第8页 / 共40页
第9页 / 共40页
第10页 / 共40页
亲,该文档总共40页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
高级语言程序设计 南京邮电大学传媒与艺术学院1第1章C语言程序设计基本概念高级语言程序设计 南京邮电大学传媒与艺术学院2学习目标了解C语言的历史和特点熟悉计算机语言的不同类型 了解C语言的结构 理解C程序的开发过程了解结构化程序设计方法高级语言程序设计 南京邮电大学传媒与艺术学院3主要内容C语言的发展历史以及特点 程序设计语言 简单的C程序实例 C语言程序的结构 C程序的编辑、编译和执行算法 结构化程序设计方法 课堂练习高级语言程序设计 南京邮电大学传媒与艺术学院4C语言的发展历史历史悠久,战勋卓著 诞生于上世纪70年代初,成熟于80年代 “ANSI C”标准的发布是C语言成熟的标志 很多重量级软件都是用C写的 上天入地,无所不能 几乎没有不能用C写出来的软件,没有不支持 C的系统高级语言程序设计 南京邮电大学传媒与艺术学院5C语言特点u语言简洁紧凑,使用灵活方便32个关键字,9种控制语句 介于高级语言和低级语言之间的语言u运算符丰富34种运算符 +、-、*、%、+、- 等可以实现其他高级语言难以实现的运算高级语言程序设计 南京邮电大学传媒与艺术学院6u数据结构类型丰富标准数据类型:整型、实型和字符型;构造类型:数组、结构体、共同体、指针 u生成的代码质量高u可移植性强u结构化语言主要结构函数, 实现模块化设计 结构化的控制语句,支持多种循环结构 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(max int max_value(int a, int b,int c) int max; if(ab) max=a; else max=b;if(max int max_value(int a, int b,int c); main() int x,y,z,maxx; scanf(“%d%d%d“, maxx=max_value(x,y,z); printf(“最大值 max=%dn“,maxx);return 0; int max_value(int a, int b,int c) int max; if(ab) max=a; else max=b;if(max int max_value(int a, int b,int c) int max; if(ab) max=a; else max=b;if(maxb THEN max=a ELAS max=b IF maxc THEN 输出 max ELSE 输出 c高级语言程序设计 南京邮电大学传媒与艺术学院20算法u流程图: 图语言表示法 ANSI规定了一些常用的流程图符号: 流程图起止框 输入输出框 判断框 处理框 流程线 连接圈高级语言程序设计 南京邮电大学传媒与艺术学院21算法三个数中最大值问题的流程图 图1-4 高级语言程序设计 南京邮电大学传媒与艺术学院22算法uN-S图: 图语言表示法 三个数中最大值问题的 N-S图高级语言程序设计 南京邮电大学传媒与艺术学院23算法算法仅仅提供了解决 某类问题可采用的方 法和步骤,还必须使 用某种计算机程序设 计语言根据算法的描 述去实现,即编程。/求三个数中最大值 #include int max_value(int a, int b,int c) int max; if(ab) max=a; else max=b;if(maxN 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,bS2: 求两个数的平均值赋给averS3:输出平均值 高级语言程序设计 南京邮电大学传媒与艺术学院29结构化程序设计方法2、实现方法,算法细化 S1: 调用输入函数,完成输入 S2: 设计一个求解平均值的函数averge( ) S3: 调用输出函数,完成输出 3、C 语言实现主函数的编程 /求两个数的平均值main() /主函数 float a,b,ave; /声明a、b和ave为实型变量 scanf(“%f%f”, /输入a、b两个数的值 ave=average(a,b); /调用average函数求平均值,printf(“average=%fn”,ave); /输出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; /计算两个数的平均值赋给averreturn (aver); /aver的值作为函数的的返回值 高级语言程序设计 南京邮电大学传媒与艺术学院31结构化程序设计方法6、两模块连接成一个完整的求解程序 #include float average(float x,float y) /求两个数的平均值 float z,aver; /声明aver为实型变量aver=(x+y)/2; /计算两个数的平均值赋给averreturn (aver); /aver的值作为函数的的返回值 main() /主函数 float a,b,ave; /声明a、b和ave为实型变量 scanf(“%f%f”, /输入a、b两个数的值 ave=average(a,b); /调用average函数求平均值,printf(“average=%fn”,ave); /输出ave的值 return 0; 高级语言程序设
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号