C语言-1概述.ppt_第1页
C语言-1概述.ppt_第2页
C语言-1概述.ppt_第3页
C语言-1概述.ppt_第4页
C语言-1概述.ppt_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

C语言程序设计 主讲教师 贾月乐电话2 程序设计语言 程序设计语言是由字 词和语法规则构成的一个系统 机器语言 汇编语言 高级语言 面向对象的语言 面向过程的语言 C语言程序设计 第一章C语言概述SCS SWPU 3 学习资源 参考书籍 C程序设计 谭浩强编著 清华大学出版社 C程序设计语言 BrianW Kernighan 清华大学出版社 C高级实用程序设计 王士元 清华大学出版社网站 C语言程序设计 第一章C语言概述SCS SWPU 4 希望及要求 课前预习 认真听讲注重上机实践掌握规律 举一反三必须按照要求交实验报告 考核方式 平时表现 考勤 随堂提问 作业 随堂测验等 10 实验 每次实验结束后需提交实验报告 30 期末考试 机考 60 C语言程序设计 第一章C语言概述SCS SWPU 5 第一章C语言概述 C语言的发展历史 1 1 C语言的特点 1 2 认识C程序 1 3 C程序的上机步骤 1 4 C语言程序设计 第一章C语言概述SCS SWPU 什么是编程 1 5 6 Ritchie和Thompson在开发UNIX C语言程序设计 第一章C语言概述SCS SWPU 7 1 1C语言的发展史 美国贝尔实验室为DEC公司研制PDP 7计算机的操作系统的过程 1969UNIXV1 0操作系统汇编语言编写70年UNIXV2 0B语言编写73年UNIXV5C语言编写80年以后 随着UNIX操作系统的成功 C得到广泛地应用 C语言是在研制UNIX操作系统过程中诞生 伴随着UNIX操作系统的发展而流行 C语言程序设计 第一章C语言概述SCS SWPU 8 C语言的创始人 DennisM Ritchie 丹尼森 里奇 1972年创建C语言并用C语言编写了UNIX第五版 1977年 可移植的C语言编译程序 1978年 TheCProgrammingLanguage 标准C C语言程序设计 第一章C语言概述SCS SWPU ANSI制定了统一的C标准 即 ANSIC 1997ISOC 9 接受美国国家技术勋章获图灵奖 C语言程序设计 第一章C语言概述SCS SWPU C语言的新应用 C语言程序设计 第一章C语言概述SCS SWPU 10 C语言的新应用 C语言程序设计 第一章C语言概述SCS SWPU 11 12 第一章C语言概述 C语言的发展历史 1 1 C语言的特点 1 2 认识C程序 1 3 C程序的上机步骤 1 4 C语言程序设计 第一章C语言概述SCS SWPU 什么是编程 1 5 C语言程序设计 第一章C语言概述SCS SWPU 13 1 2C语言的特点 语言简洁 紧凑 灵活运算符和数据类型丰富程序设计结构化 模块化生成目标代码质量高可移植性好 autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoifintlongregisterreturnshortsignedsizeofstaticstructswitchtypedefunsignedunionvoidvolatilewhile 14 32个关键字 由系统定义 不能重作其它定义 C语言程序设计 第一章C语言概述SCS SWPU 15 9种控制语句 if else for while do while continuebreakswitchgotoreturn C语言程序设计 第一章C语言概述SCS SWPU 16 34种运算符 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 及其扩展条件运算符 逗号运算符 指针运算符 求字节数 sizeof强制类型转换 类型 分量运算符 下标运算符 其它 C语言程序设计 第一章C语言概述SCS SWPU 17 C的数据类型 C语言程序设计 第一章C语言概述SCS SWPU 三大基本结构顺序结构选择结构循环结构模块化程序设计函数 18 结构化程序设计 C语言程序设计 第一章C语言概述SCS SWPU 19 第一章C语言概述 C语言的发展历史 1 1 C语言的特点 1 2 认识C程序 1 3 C程序的上机步骤 1 4 C语言程序设计 第一章C语言概述SCS SWPU 什么是编程 1 5 C语言程序设计 第一章C语言概述SCS SWPU 20 ThisisaCprogram includevoidmain printf ThisisaCprogram n 例1 1输出字符串 ThisisaCprogram 包含头文件 主函数 输出一句话 函数体开始 函数体结束 函数体 1 3认识C程序 要输出 helloword C语言程序设计 第一章C语言概述SCS SWPU 21 1 3认识C程序 includevoidmain intx y z x 3 y 1 z x y printf d d d n x y z 3 1 4 例1 2求整数 3 1 包含头文件 主函数 函数体 定义变量 给变量赋值 计算3 1 输出结果 要计算 x y x C语言程序设计 第一章C语言概述SCS SWPU 22 1 3认识C程序 includevoidmain 形参表 说明部分 执行部分 把一个文本文件的内容包含到该命令的该命令处调用库函数是必须使用 编译预处理命令 函数体 主函数 每个C程序必须有一个主函数main 是函数开始和结束的标志 不可省 每个C语句以分号结束 C语言程序设计 第一章C语言概述SCS SWPU 23 intmax intx inty intz if x y z x elsez y return z voidmain inta b c scanf d d 例1 3 求两个整数中的最大值 主函数 用户自定义函数 1 3认识C程序 入口 我们碰到了哪些C语言的函数 C语言程序设计 第一章C语言概述SCS SWPU 24 C程序的书写特点 1 C程序是由函数构成的 一个C源程序有且仅有一个main函数 2 一个函数由两部分组成 结构如下 函数类型函数名 形参表 定义部分 执行部分 includevoidmain intx y z x 3 y 1 z x y printf d d d n x y z C语言程序设计 第一章C语言概述SCS SWPU 25 C程序的书写特点 3 一个C程序总是从main函数开始执行的 4 C程序书写格式自由 5 可以用 对C程序中的任何部分作注释 6 C语言本身没有输入输出语句 7 每个语句和数据定义的最后必须有一个分号 includevoidmain intx y z x 3 y 1 z x y printf d d d n x y z 26 第一章C语言概述 C语言的发展历史 1 1 C语言的特点 1 2 认识C程序 1 3 C程序的上机步骤 1 4 C语言程序设计 第一章C语言概述SCS SWPU 什么是编程 1 5 C语言程序设计 第一章C语言概述SCS SWPU 27 1 4C语言的上机步骤 1 编辑生成C的源文件 C 2 编译生成二进制目标文件 OBJ 3 连接将目标程序文件f obj输入内存 与系统提供的库函数等连接 生产可执行文件 扩展名为 exe 4 运行最后把可执行文件调入内存并使之运行 得到结果 C语言程序设计 第一章C语言概述SCS SWPU 28 编辑 编译 连接 运行 1 4C语言的上机步骤 C语言程序设计 第一章C语言概述SCS SWPU 29 1 4C语言的上机步骤 VC 6 0环境下的开发过程 第一步启动VC点击 开始 程序 启动VC 6 0第二步 建立C源文件 文件 新建 文件 选 C SourceFile 输入文件名 确定 第三步 编译 连接 运行 30 真题1 下列叙述中错误的是 2006 4 A C语言源程序经编译后生成后缀为 obj的目标程序B C程序经过编译 连接步骤之后才能形成一个真正可执行的二进制机器指令文件C 用C语言编写的程序称为源程序 它以文本形式存放在一个文本文件中D C语言中的每条可执行语句和非可执行语句最终都将被转换成二进制的机器指令 二级真题练习 31 第一章C语言概述 C语言的发展历史 1 1 C语言的特点 1 2 认识C程序 1 3 C程序的上机步骤 1 4 C语言程序设计 第一章C语言概述SCS SWPU 什么是编程 1 5 C语言程序设计 算法的描述SCS SWPU 32 1 算法的概念 算法 为解决一个问题而采取的方法和步骤 对同一个问题 可有不同的解题方法和步骤 著名的计算机科学家沃思NikiklausWirth提出的公式 算法 数据结构 程序 方法1 1 2 3 4 一直加到100加99次方法2 100 1 99 2 98 49 51 50 100 49 100 50加51次 数值运算算法 求数值解 例如求方程的根 求函数的定积分等 非数值运算 包括的面十分广泛 最常见的是用于事务管理领域 例如图书检索 人事管理 行车调度管理等 算法应该如何描述 C语言程序设计 算法的描述SCS SWPU 33 总结 程序设计的过程 调试程序 设计算法 需求分析 ThankYou 例1 求5 即求1 2 3 4 5步骤1 先求1 2 得到结果2步骤2 将步骤1得到的乘积2再乘以3 得到结果6步骤3 将6再乘以4 得24步骤4 将24再乘以5 得120思考 如果要求1 2 1000 需写999个步骤 可以设两个变量 t为被乘数 i为乘数 然后用循环算法来求结果 反复乘法运算 S1 使t 1 S2 使i 2 S3 使t i 乘积仍放在变量t中 可表示为 t t iS4 使i的值加1 即i i 1 S5 如果i 5 返回重新执行步骤S3以及其后的步骤S4和S5 否则 算法结束 2 用自然语言描述算法 C语言程序设计 算法的描述SCS SWPU 35 如果题目改为 求1 3 5 1000算法只需作很少的改动 S1 1 t S2 3 i S3 t i t S4 i 2 i S5 若i 1000 返回S3 否则 结束 思考 用上述方法该如何表达 C语言程序设计 算法的描述SCS SWPU 36 2 用自然语言描述算法 程序设计的任务 分析问题 确定其算法和数据结构 编写代码并上机调试 得到正确的输出结果 C语言程序设计 算法的描述SCS SWPU 37 2 用自然语言描述算法 例2有50个学生 要求将他们之中成绩在80分以上者打印出来分析 设n表示学号 g代表学生成绩 变量i作为下标 用来控制序号 第几个学生 第几个成绩 当i超过50时 已对50个学生的成绩处理完毕 结束 S1 1 i S2 如果gi 80 则打印 否则不打印 S3 i 1 i 判断下一个学生成绩 S4 如果i 50 返回S2 继续执行 否则算法结束 C语言程序设计 算法的描述SCS SWPU 38 例3判定2000 2500年中的每一年是否闰年 将结果输出 分析 闰年的条件是 能被4整除 但不能被100整除的年份都是闰年 如1996 2004年是闰年 能被100整除 又能被400整除的年份是闰年 如1600 2000年是闰年 不符合这两个条件的年份不是闰年 2 用自然语言描述算法 C语言程序设计 算法的描述SCS SWPU 39 设y为被检测的年份 算法可表示如下 S1 2000 y S2 若y不能被4整除 则输出y 不是闰年 然后转到S6 S3 若y能被4整除 不能被100整除 则输出y 是闰年 然后转到S6 S4 若y能被100整除 又能被400整除 输出y 是闰年 否则输出 不是闰年 然后转到S6 S5 输出y 不是闰年 S6 y 1 y S7 当y 2500时 转S2继续执行 如y 2500 算法停止 2 用自然语言描述算法 用自然语言描述算法的缺点 C语言程序设计 算法的描述SCS SWPU 40 2 用自然语言描述算法 算法的设计 算法的实现 1 有穷性 Finiteness 2 确切性 Definiteness 3 输入项 Input 4 输出项 Output 5 可行性 Effectiveness 6 高效性 Highefficiency 7 健壮性 Robustness 算法的特点 C语言程序设计 算法的描述SCS SWPU 42 3 用流程图表示算法 美国国家标准化协会ANSI AmericanNationalStandardInstitute 规定了一些常用的流程图符号 例4 求5 的算法用流程图表示 C语言程序设计 算法的描述SCS SWPU 43 S1 使t 1 S2 使i 2 S3 使t i 乘积仍放在变量t中 可表示为 t t iS4 使i的值加1 即i i 1 S5 如果i 5 返回重新执行步骤S3以及其后的步骤S4和S5 否则 算法结束 3 用流程图表示算法 C语言程序设计 算法的描述SCS SWPU 44 3 用流程图表示算法 例打印50名学生中成绩在80分以上者的学号和成绩 S1 1 iS2 如果gi 80 则打印 否则不打印 S3 i 1 iS4 如果i 50 返回S2 继续执行 否则算法结束 C语言程序设计 算法的描述SCS SWPU 45 3 用流程图表示算法 分析 闰年的条件是 能被4整除 但不能被100整除的年份都是闰年 如1996 2004年是闰年 能被100整除 又能被400整除的年份是闰年 如1600 2000年是闰年 不符合这两个条件的年份不是闰年 练习 判断某一年是否是闰年 C语言程序

温馨提示

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

评论

0/150

提交评论