c语言程序设计李玲玲,c程序设计基础ppt.ppt

主讲 刘丽E mail lliulli 单位 计算机科学与应用系 为什么学这门课 提高个人素质为学习计算机相关课程打基础参加计算机等级考试拿学分 这门课讲什么 如何用c语言进行程序设计程序设计c语言为什么选择c语言 简单 易学 具备现代程序设计语言的基本元素和特征 如何学这门课 听练思考与总结 教材 参考书与课时安排 教材C程序设计李玲玲主编清华大学出版社参考书C语言程序设计教程谭浩强高等教育出版社C高级实用程序设计王士元清华大学出版社C程序设计试题汇编谭浩强清华大学出版社课时安排授课 48学时上机练习 16学时 课程要求 课前请做好预习保持课堂安静 头脑清醒 思维活跃认真 独立 按时完成并提交作业重视上机实践 有效利用宝贵的上机时间 课程目标 熟记C语言的基本概念熟悉VC 6 0的上机操作环境会读 会编 会调试C程序 考核方式考试占90 采用机试 平时占10 包括考勤 作业平时成绩决定能否参加考试 目录 第1章c程序设计基础 C语言程序设计第一章c程序设计基础 1 1C语言发展历史程序设计语言的发展 CPU指令系统 由0 1序列构成的指令码组成如 10000000加10010000减 用助记符号描述的指令系统 可进行地址 位操作如ADDA B编写系统软件 直接对硬件操作 可读性 移植性差 面向机器的语言 C语言程序设计第一章C语言概述 可读性 移植性好 编写应用程序一般较难实现汇编语言的某些功能如 地址和位的操作 C语言兼有高级和低级语言的功能适合写系统软件和应用软件又称中级语言 C语言程序设计第一章c程序设计基础 C语言发展过程 自学 产生背景ALGOL60 CPL语言 BCPL B语言 写UNIX系统产生过程时间 1972 1973地点 美国贝尔实验室目的 UNIX操作系统设计人 Ken Thompson和Dennis M RitchieC标准标准C 1978年K R合著 TheCProgrammingLanguage ANSIC 1983年87ANSIC 1987年1990年国际标准的ANSIC 1994年再次修订 C版本MicrosoftC或称MS CTurboC或称TC C语言程序设计第一章C语言概述 C语言程序设计第一章c程序设计基础 1 2C语言的特点语言简洁 紧凑 灵活运算符丰富数据结构 数据类型丰富链表 树 栈程序设计结构化 模块化结构化控制语句 if else while switch for函数作为模块单位语法不严格 程序设计自由度大可以访问内存地址 进行位运算生成目标代码质量高可移植性好 C语言程序设计第一章C语言概述 C语言程序设计第一章c程序设计基础 32个关键字 由系统定义 不能重作其它定义 autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoifintlongregisterreturnshortsignedsizeofstaticstructswitchtypedefunsignedunionvoidvolatilewhileTurboC扩充了11个关键字 asm cs ds es sscdeclfarhugeinterruptnearpascal注意 在C语言中 关键字都是小写的 C语言程序设计第一章C语言概述 C语言简洁 紧凑 使用方便 灵活 ANSIC一共只有32个关键字 见300页附录B C语言程序设计第一章c程序设计基础 9种控制语句 if else for while do while continuebreakswitchgotoreturn C语言程序设计第一章C语言概述 C语言有9种控制语句 程序书写形式自由 主要用小写字母表示 压缩了一切不必要的成分 C语言程序设计第一章c程序设计基础 C语言程序设计第一章C语言概述 表1 1C语言与Pascal语言比较 通过表1 1我们可以得出结论 C比Pascal简练 因此源程序更短 编程效率高 C语言程序设计第一章c程序设计基础 34种运算符 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 及其扩展条件运算符 逗号运算符 指针运算符 求字节数 sizeof强制类型转换 类型 分量运算符 下标运算符 其它 注意 各种运算符混合使用 其优先级与结合方法是难点 可先预习 C语言程序设计第一章C语言概述 C语言运算符丰富 附录C C语言程序设计第一章c程序设计基础 C语言程序设计第一章C语言概述 C语言数据结构丰富 C语言程序设计第一章c程序设计基础 1 3简单的C程序介绍 example1 1ThefirstCProgram includevoidmain printf Thisisacprogram n C语言程序设计第一章C语言概述 输出 Thisisacprogram 例1 1第一个程序Thisisacprogram printf语句中的 n 是换行符 C语言程序设计第一章c程序设计基础 例1 2求俩个数的和 example1 1calculatethesumofaandb include Thisisthemainprogram voidmain inta b sum 定义变量 a 10 b 24 sum add a b printf sum d n sum Thisfunctioncalculatesthesumofxandy intadd intx inty intz z x y return z 运行结果 sum 34 C语言程序设计第一章C语言概述 printf语句中的 d 是表示 十进制整数类型 C语言程序设计第一章c程序设计基础 C语言程序设计第一章C语言概述 例1 3从键盘输入两个整数 输出其中较大的数 includevoidmain intmax intx inty inta b c scanf d d scanf语句中 a 的含义是 取地址 输入 10 20 输出 max 20 声明部分 定义变量 调用max函数 返回值赋给c 定义max子函数 函数值 形参x y为整型 通过max函数将z值带回调用处 C语言程序设计第一章c程序设计基础 C语言格式特点习惯用小写字母 大小写敏感不使用行号 无程序行概念可使用空行和空格常用锯齿形书写格式 C语言程序设计第一章C语言概述 main main inti j sum sum 0 for i 1 i 10 i for j 1 j 10 j sum i j printf d n sum 优秀程序员的素质之一 使用TAB缩进 对齐有足够的注释有合适的空行 C语言程序设计第一章c程序设计基础 C语言结构特点函数与主函数程序由一个或多个函数组成必须有且只能有一个主函数main 可以放在程序中任一位置程序执行从main开始 在main中结束 其它函数通过嵌套调用得以执行 程序语句C程序由语句组成用 作为语句终止符注释 为注释 不能嵌套不产生编译代码 例 Thisisthemain ofexample1 1 编译预处理命令 C语言程序设计第一章C语言概述 C语言程序设计第一章c程序设计基础 1 4C程序的上机步骤C程序开发步骤 file exe C语言程序设计第一章C语言概述 程序代码的录入 生成源程序 c 语法分析查错 翻译生成目标程序 obj 与其它目标程序或库链接装配 生成可执行程序 exe C语言程序设计第一章c程序设计基础 算法的概念 简单算法举例 算法的特性 怎样表示一个算法 补充 程序的灵魂 算法 C语言程序设计补充 程序的灵魂 算法 结构化程序设计方法 C语言程序设计补充 程序的灵魂 算法 程序包括的内容 数据结构 数据的类型和组织形式算法 操作步骤的描述 NikiklausWirth提出 教材认为 程序 算法 数据结构 程序设计方法 语言工具和环境 灵魂 加工对象 工具 C语言程序设计补充 程序的灵魂 算法 1算法的概念为解决一个问题而采取的方法和步骤 就成为算法 例如 歌曲的乐谱 建造房子等 算法核心是解决 做什么 和 怎么做 的问题 例如1 2 求两个数的和 可以有多种方法 一般采用简单和运算步骤少的 准确 高效计算机算法类别数值运算算法非数值运算算法 C语言程序设计补充 程序的灵魂 算法 2简单算法举例例如求10 方法1 累乘方法2 用循环结构解决 灵活 通用 书上例1 3 见第8页 课后认真思考 加深什么是算法的概念 C语言程序设计补充 程序的灵魂 算法 3算法的特性有穷性 在合理范围内可完成确定性 无歧义性有零个或多个输入 从外界得到信息有一个或多个输出 问题的答案有效性 每步有确定的结果 C语言程序设计补充 程序的灵魂 算法 4怎样表示一个算法自然语言表示易懂 文字冗长 易歧义性流程图表示用流程图符号构成 直观 易懂N S流程图表示伪代码表示计算机语言表示 顺序结构选择结构循环结构 C语言程序设计补充 程序的灵魂 算法 传统流程图流向混乱 可读性差 所以应该采用结构化流程图 结构化程序设计基本思想 任何程序都可以用三种基本结构表示 限制使用无条件转移语句 goto 结构化程序 由三种基本结构反复嵌套构成的程序优点 结构清晰 易读 提高程序设计质量和效率 三种基本结构顺序结构 C语言程序设计补充 程序的灵魂 算法 选择结构 二分支选择结构 多分支选择结构 C语言程序设计补充 程序的灵魂 算法 循环结构 当型循环结构 直到型循环结构 注 A B A1 An可以是一个简单语句 也可以是一个基本结构 C语言程序设计补充 程序的灵魂 算法 三种基本结构的共同特点 只有一个入口 只有一个出口 结构内的每一部分都有机会被执行到 结构内不存在 死循环 C语言程序设计补充 程序的灵魂 算法 5结构化程序设计方法结构化程序 用三种基本结构组成的程序基本设计思路 复杂问题分解成几个最基本问题 再分别处理 采用的方法 自顶向下 逐步细化 模块化设计 复杂问题按功能分成多个子模块结构化编码 正确采用三种基本结构实现

展开阅读全文

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值