




已阅读5页,还剩42页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 第1章C语言程序设计基本概念 2 学习目标 了解C语言的历史和发展熟悉计算机语言的不同类型了解C语言的结构理解C程序的开发过程了解结构化程序设计方法 3 主要内容 C语言的发展历史以及特点程序设计语言简单的C程序实例C语言程序的结构C程序的编辑 编译和执行算法结构化程序设计方法课堂练习 4 C语言的发展历史 历史悠久 战勋卓著诞生于上世纪70年代初 成熟于80年代 ANSIC 标准的发布是C语言成熟的标志很多重量级软件都是用C写的上天入地 无所不能几乎没有不能用C写出来的软件 没有不支持C的系统 5 C语言特点 语言简洁紧凑 使用灵活方便32个关键字 附录B 9种控制语句 第四章 第五章介绍 大小写字母敏感介于高级语言和低级语言之间的语言运算符丰富34种运算符 等可以实现其他高级语言难以实现的运算 6 数据结构类型丰富标准数据类型 整型 实型和字符型 构造类型 数组 结构体 共同体 指针生成的代码质量高可移植性强结构化语言主要结构 函数 实现模块化设计结构化的控制语句 支持多种循环结构 C语言特点 7 程序设计语言 程序设计语言 人与计算机进行信息交流的工具 大致可分为三类机器语言汇编语言高级语言 8 程序设计语言 机器语言1 与计算机硬件的设计密切相关2 计算机能直接识别的语言3 由一组二进制0和1序列构成 例如 计算4 8取数1011000000000100将4送累加器加00000100000010008与累加器中的4相加停机11110100 繁琐的 难记 难读 难写 9 程序设计语言 汇编语言1 计算机硬件的设计密切相关 2 计算机是不能直接识别 3 计算机基本操作是采用英语缩写编写程序 例如 计算4 8MOVEAL 4将4送累加器ADDAL 88与累加器中的4相加HLT停机 10 程序设计语言 汇编程序 将汇编语言源程序转换为计算机能识别的机器语言 11 11 程序设计语言 高级语言基本与计算机的硬件设备无关 例如计算4 8 C语言编写 Sum 4 8 编译器 高级语言转换为机器语言的翻译程序 12 12 简单的C程序实例 例1 1 第一个C程序 includemain printf WelcometoCprogramming n return0 执行结果 屏幕上显示Welcometocprogramming 行注释 头文件 主函数 编译系统提供的输出函数 程序结束返回函数 13 简单的C程序实例 例1 2 编写求三数中最大值问题的程序 includeintmax value inta intb intc intmax if a b max a elsemax b if max c max c return max main intx y z maxx scanf d d d 14 C语言程序的结构 C语言是由函数构成的 至少有一个且仅有一个main的函数 称主函数 除main函数外 其它函数都是在执行main函数时被调用执行的 includeintmax value inta intb intc intmax if a b max a elsemax b if max c max c return max main intx y z maxx scanf d d d 在程序中main 函数的位置可以任意 在调用库函数之前必须将相应的头文件包含在本程序中 通常放在源程序或源文件的最前面 15 C语言程序的结构 求三个数中最大值 includeintmax value inta intb intc intmax if a b max a elsemax b if max c max c return max main intx y z maxx scanf d d d 严格区分大小写英文字母 习惯使用小写字母 为语句的终止符 表示程序的结构层次范围 必须配对使用 注释格式 注释内容行注释 注释内容 16 C程序的编辑 编译和执行 编辑 利用编辑器 通过键盘将C源程序输入到计算机 并以文件形式存入到磁盘上 后缀 C 编译 利用编译器 将C源程序编译成目标程序 obj 链接 利用连接器 将C已编译的目标程序和库函数连接之后 生成可执行文件 并以文件形式存入到磁盘上 文件扩展名为 exe 运行 在操作系统下运行可执行文件 17 算法 算法 解决问题的流程必须具备以下五个特性有穷性确定性有效性没有输入或有多个输入有一个或多个输出 18 算法 算法的描述自然语言伪码流程图N S图 例1 求三个数中最大值问题 19 算法 自然语言 日常使用的语言先将a b两个数进行比较 找出其中的大数 然后再把它和第三个数c进行比较 如果它比c大 则它就是最大数 否则c是最大数 20 算法 流程图 图语言表示法ANSI规定了一些常用的流程图符号 流程图 起始框输入输出框判断框处理框流程线连接圈 21 算法 三个数中最大值问题的流程图图1 4 22 算法 N S图 图语言表示法三个数中最大值问题的N S图 23 算法 算法仅仅提供了解决某类问题可采用的方法和步骤 还必须使用某种计算机程序设计语言根据算法的描述去实现 即编程 求三个数中最大值 includeintmax value inta intb intc intmax if a b max a elsemax b if max c max c return max main intx 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 余数R不为0时 继续M除以N S5 使N R 即用R代替N S6 如果N 0 转向S3 S7 如果N 0 转向S8 S8 输出M M为M和N的最大公约数 25 算法 2 伪代码描述 INPUTM NIFM NTHEN交换M和NWHILEN 0DOR MOD M N M NN RENDDO输出M注 其中M除以N的余数用符号MOD M N 表示 26 算法 3 流程图描述 27 算法 4 N S图描述 28 结构化程序设计方法 结构化程序设计的基本方法 自顶向下 逐步求精复杂问题分解为若干的独立的小问题 小模块 例 求解两个数的平均值1 分解 问题分解为三个步骤S1 输入两个数a bS2 求两个数的平均值赋给averS3 输出平均值 29 结构化程序设计方法 2 实现方法 算法细化S1 调用输入函数 完成输入S2 设计一个求解平均值的函数average S3 调用输出函数 完成输出 3 C语言实现主函数的编程 include 求两个数的平均值main 主函数 floata b ave 声明a b和ave为实型变量scanf f f 输出ave的值return0 30 结构化程序设计方法 4 逐步求精 设计average 函数的算法 设两个参数为floatx floaty S2 1 把x加y的和除以2的值送给averS2 2 把aver的值返回给主函数 5 C语言实现average 函数的编程floataverage floatx floaty 求两个数的平均值 floataver 声明aver为实型变量aver x y 2 计算两个数的平均值赋给averreturn aver aver的值作为函数的返回值 31 结构化程序设计方法 6 两模块连接成一个完整的求解程序 includefloataverage floatx floaty 求两个数的平均值的函数 floataver 声明aver为实型变量aver x y 2 计算两个数的平均值赋给averreturn aver aver的值作为函数的的返回值 main 主函数 floata b ave 声明a b和ave为实型变量scanf f f 输出ave的值return0 32 结构化程序设计方法 结构化程序设计三种基本控制结构 顺序结构选择结构循环结构 while repeat 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 算法可以用多种方式来表示 通常有4种 和 1 机器语言汇编语言高级语言2 机器语言3 函数main4 5 配对6 自然语言伪码流程图N S图 39 课堂练习二 1 结构化程序设计三种基本控制结构分别是 和 2 三种基本结构的共同特点是 只有入口 只有出口 结构内的每一部份都有可能被执行到 结构内 死循环 1 顺序结构选择结构循环结构2 一个一个不存在 40 作业 P111 31 4 注解 AmericanNationalStandardsInstitute ANSI 美国国家标准学会InternationalStandardOrganization ISO 国际标准化组织 A语言 B语言 C语言 C语言的发展颇为有趣 它的原型ALGOL60语言 也称为A语言 1963年 剑桥大学将ALGOL60语言发展成为CPL CombinedProgrammingLanguage 语言 1967年 剑桥大学的MatinRichards对CPL语言进行了简化 于是产生了BCPL BasicCPL 语言 1970年 美国贝尔实验室的KenThompson将BCPL进行了修改 并为它起了一个有趣的名字 B语言 意思是将CPL语言煮干 提炼出它的精华 并且用B语言写了第一个UNIX操作系统 1973年 B语言也给人 煮 了一下 美国贝尔实验室的D M RITCHIE在B语言的基础上最终设计出了一种新的语言 他取了BCPL的第二个字母作为这种语言的名字 这就是C语言 为了使UNIX操作系统推广 1977年DennisM Ritchie发表了不依赖于具体机器系统的C语言编译文本 可移植的C语言编译程序 1978年BrianW Kernighan和DennisM Ritchie出版了名著 TheCProgrammingLanguage 从而使C语言成为目前世界上流行最广泛的高级程序设计语言 1983年 随着微型计算机的日益普及 出现了许多C语言版本 由于没有统一的标准 使得这些C语言之间出现了一些不一致的地方 为了改变这种状况 美国国家标准协会 AmericanNationalStandardsInstitute ANSI 为C语言制定了一套ANSI标准 成为现行的C语言标准 C语言发展迅速 而且成为最受欢迎的语言之一 主要因为它具有强大的功能 许多著名的系统软件 如DBASE PLUS DBASE 都是由C语言编写的 用C语言加上一些汇编语言子程序 就更能显示C语言的优势了 象PC DOS WORDSTAR等就是用这种方法编写的 课程名 高级语言程序设计 教材 程序设计基础 C语言版 由秦军等编写 机械工业出版社发行 本课程授课64学时 4学分 其中42学时理论课 14学时上机实践课 8学时习题课 每周5学时 周二6 8节课 13 45 16 20 周四8 9节课 15 35 17 10 每一位同学根据授课计划的进度 作出自己的学习计划 答疑时间 参考资料 经典著作 1 美 BrianW Kernighan DennisM RitchieC程序设计语言 第二版 徐宝文 李志译 北京 机械工业出版社 2003 2 谭浩强C程序设计 第四版 M 北京 清华大学出版社 2010 1 为什么要学习C语言 为什么放在大一学习C语言 本课程无先修课程要求 也无相邻相关课程要求 高级语言程序设计是信息工程 电子商务 通信工程及网络工程等专业的必修通识基础课 课程目的是了解计算机基础知识 程序设计的基本方法 掌握计算机处理问题的思维方法 逻辑思维能力 2 本教材的特点C语言涉及的概念丰富 描述的多样性 侧重点的不同及使用的灵活性 使C语言的教材非常多 使初学者挑选起来有一定难度 而这本教材强调实用性 以结合实例讲解基本概念和基本算法 简化语法说明 突出程序设计 让初学者尽快学会用计算机编程的思想考虑问题 用C语言的方法解决实际问题 每一章 1 学习目标 学习达到的标准2 基本概念 实例 学习知识 算法 编程思想 编程技巧 3 本章小结 理清思路 巩固概念4 自我测验 检查学习效果 3 学习的方法通过课程的学习 通过上机实践 锻炼抽象思维能力 程序设计能力 不惧怕 一看就懂 一用就不会 注重细节 C语言的细节是学习的一个难点 不追求语法的冗长完整 注重分析问题 解决问题的能力 4 与其它课程的关系C语言是工具 在后续的课程中 在毕业设计中 在将来的工作生活中 C语言都可以为被用于需要编程解决问题的场合 为什么要学习C语言 学习C语言 除了它会给你提供更多的工作机会之外 C语言还会教给你更多的关于计算机的知识 它能给我们提供的裨益 简单列举如下 1 相比较其他的编程语言 像C JAVA C语言是个低级语言 从总体上来说 低级的编程语言可以让你
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学生辩论比赛课件
- 小学生跳高游戏课件
- 小学生贯口课件
- 滑动变阻器课件
- 溺水知识宣传课件图片
- 2025四川巴中市恩阳区城乡建设投资集团有限公司子公司招聘7人笔试历年参考题库附带答案详解
- 2025四川成都东方广益投资有限公司下属企业招聘14人笔试参考题库附带答案详解
- 小学生课件软件app
- 小学生课件背景模板
- 小学生课件素材图片
- CJ/T 402-2012城市供热管道用波纹管补偿器
- 医院推拿安全管理制度
- 门窗质保售后协议书
- 寺院土地使用协议书
- 2024青岛农商银行社会招聘笔试历年典型考题及考点剖析附带答案详解
- 智能旅游平台维护合同
- 血液透析常用药物
- 装修报价单合同协议
- 聘请合唱团老师合同协议
- 2024年贵州省凯里市事业单位公开招聘医疗卫生岗笔试题带答案
- 河南豫信电科所属公司招聘笔试题库2025
评论
0/150
提交评论