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

下载本文档

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

文档简介

CProgrammingLanguage 语言程序设计 2010年度春季学期 2 教学安排 适应专业 非计算机专业学时 48先修课程 计算机文化基础教材 C语言程序设计 马德骏等编著任课教师 钟钰 3 教学环节 课前预习讲授作业 上机 答疑答疑时间 星期四12 00 13 30地点 鉴主 12楼 计算机技术研究所第6周到第18周考试 4 上机安排 地点 鉴湖计算中心机房时间 待定上机内容 随教学进度根据配套的实验书 上机调试每次课堂作业 要求 所有作业必须独立完成作业必须经上机调试通过上机考勤3次缺席 按不及格处理发现上机时间玩游戏等 按缺席一次处理 5 实验安排 6 课程要求 课前请做好预习保持课堂安静 头脑清醒 思维活跃认真 独立 按时完成并提交作业重视上机实践 有效利用宝贵的上机时间 CProgrammingLanguage 计算机技术研究所钟钰caddilester C语言程序设计Lecture1 8 教学目的 掌握 文化基础 中的相关概念 明确学习方法 了解C语言基本知识 教学要求 明确本课程的目标及学习方法 复习 文化基础 中与C语言相关的知识 数制 编码 计算机系统组成 了解算法的概念及表示 C语言及标识符 C语言基本结构 学时 2学时 9 1 1引言1 2算法和程序设计初步1 3C语言简介1 4集成开发环境TurboC2 0简介 10 信息与数据 信息存在于自然界 有多种形式 数据是信息在计算机中的表示 以二进制形式存在 原码 反码 补码数制转换 11 12 数值数据的编码方法 前面讨论的是数值数据在计算机中的存放格式 下面讨论对数值数据进行编码的方法 原码表示法 假定用八个二进制位表示 a 51 a 2 00110011 2则 a 原 00110011a 127 a 2 01111111 2则 a 原 11111111原码表示法在八个二进制位中的表示范围 127 a 127 0 原 00000000 0 原 10000000要点 最高位作为符号位 若正数 则最高位是0 若负数 则最高位是1 13 反码表示法 假定用八个二进制位表示 通过一个二进制整数的原码得到所谓反码 当a为正数时 a 原 a 反 当a为负数时 则保持 a 原的符号位不变 其余各个二进制位逐位取反 即0变1 1变0 如 a 51 a 原 00110011则 a 反 a 原 00110011a 51 a 原 10110011则 a 反 11001100反码表示法在八个二进制位中的表示范围 127 a 127 0 反 00000000 0 反 11111111要点 由原码得到反码 若正数 则反码与原码相同 若负数 则最高位不变 其余逐位取反 14 补码表示法 假定用八个二进制位表示 通过一个二进制整数的反码得到所谓补码 当a 0时 a 补 a 反 当a 0时 则 a 补 a 反 1 如 a 51 a 原 00110011则 a 补 a 反 a 原 00110011a 51 a 原 10110011 a 反 11001100则 a 补 a 反 1 11001101补码表示法在八个二进制位中的表示范围 128 a 127 0 补 00000000 128 补 10000000要点 由反码得到补码 若正数 则反码与补码相同 若负数 则补码等于反码加1 在补码表示法中 0的表示是唯一的 而最小值可达 128 15 在上述介绍当中我们是以八位二进制位为例 同样 我们可以将其推广到十六位 三十二位等二进制位中去 需要注意的是数值范围将发生变化 思考 以上介绍的原码 反码 补码都是有符定点整数的编码方式 若以八位二进制位表示无符定点整数 则其范围是0到255 在TurboC中 有符整数是按有符定点整数格式的补码表示的 无符整数是按无符定点整数格式表示的 16 什么是程序设计语言 自然语言 如汉语 英语等 随人类发展进步而自然形成的 人之间交流信息的工具和媒介 程序语言是一类人造语言 编程语言 程序语言 或 语言 描述计算用的工具 程序语言是人与计算机 交流 的媒介 人能用程序语言描述计算过程 计算机可接受这种描述 完成所需计算 人用程序语言写程序 指挥计算机完成各种工作 一 程序设计语言概述 17 1 机器语言 计算机可以直接识别和执行的二进制语言 2 汇编语言 用 助记符 来表示机器指令 如 ADDA BSUBA B它必须经过一个叫汇编程序的系统软件翻译成机器语言程序 即目标程序 后才能执行 3 算法语言 亦称为面向过程的程序设计语言 不依赖于机器 计算机也不能直接执行算法语言描述的源程序 必须先经过编译程序编译成目标程序后 才能由计算机执行 二 程序设计语言的发展简史 18 4 面向任务的程序设计语言 是非过程化的语言 不需要知道问题是如何求解的 只需描述需求解的问题是什么 数据库操作语言便是 5 面向对象的程序设计语言 认为系统是由许多对象组成的 对象通过消息相互联系和相互作用 从而完成系统的功能 如C 设计的程序更易懂 更适合更大规模的程序开发 19 新语言不断提出 老语言被淘汰或改变推动程序语言发展的主要原因 1 编程中取得的新认识 随着程序设计实践 人们对程序该怎样做 怎样描述等不断产生新认识 2 计算机应用发展 应用领域不断提出新要求 新认识和要求促使人们改造已有语言 提出新语言目前使用较广的语言包括FORTRAN C C PASCAL Ada Java等 常规语言 非常规语言 LISP Smalltalk PROLOG ML等 程序语言发展现状 20 三 翻译方式 高级语言源程序 目标程序 code 编译方式解释方式 21 22 用计算机解决问题的基本过程 一 程序设计技术 分析问题 确定解决问题方案 确定实现算法 编写程序 运行程序 整理结果 程序设计的核心任务 设计算法 程序 算法 数据结构 23 算法 为解决特定问题所使用的确定的且有限的步骤或方案 特点 有穷性确定性有输入有输出有效性 24 常用的算法描述方法 用自然语言表示用伪码表示用传统流程图用N S流程图 教材P6 二 算法的表示 结构化程序设计的三种基本结构 顺序 选择 循环基本原则 所有结构都可以由这三种基本结构组成 单入口 单出口 限制使用GOTO语句 25 例1 1 求一个班学生的平均成绩 设A等 85分 12人 B等 70分 16人 C等 60分 6人 D等 按50分计算 5人 三 简单算法举例 开始 A 12 B 16 C 6 D 5 SUM 85 A 70 B C 60 D 50 AVER SUM A B C D 输出AVER的值 结束 A A 26 例1 2 输出一个数的绝对值 输入X X 0吗 N Y 输出 X 输出X 开始 输入X X 0吗 Y N 结束 输出 X 输出X 27 例1 3 输入10个数 把其中的正数输出 开始 N 0 N 10吗 X 0吗 N N 1 输入X Y 结束 N Y 输出X 28 例1 4 输入10个数 求它们的平均值 29 例1 5 输入50个学生的成绩 统计出得优秀的人数 30 1 对一个班的40个学生逐个检查 将身高1 60米以上的学生挑出来 2 求Y的值 X由用户给出 1 x0 3 求1 3 5 99 4 根据输入的年月 输出此月份对应的天数 课堂练习 31 开始 输入年月 Y是闰年 M 2 day 30 day 31 day 28 day 29 M 1 3 5 12 结束 Y N Y N Y N 32 产生背景产生过程时间 1972 1973地点 美国贝尔实验室目的 UNIX操作系统设计人 Ken Thompson和Dennis M RitchieC标准标准C K R合著 TheCProgrammingLanguage ANSIC 1983年87ANSIC 1987年1990年国际标准的ANSIC 一 C语言发展历史 33 语言简洁 紧凑 灵活运算符和数据类型丰富程序设计结构化 模块化生成目标代码质量高可移植性好 二 C语言的特点 C语言有很多种 如 MicrosoftC TurboC QuickC BorlandC VisualC等 本课程通过TurboC的环境来学习C语言 34 example1 1ThefirstCProgram includemain printf Hello World 三 C程序格式和结构特点 例1 1第一个程序Hello World 输出 Hello World 35 参照例题 编写一个C程序 在屏幕上输出以下信息 Verygood 36 例1 2 example1 2calculatethesumofaandb include Thisisthemainprogram main 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 37 格式特点习惯用小写字母 大小写敏感不使用行号 无程序行概念可使用空行和空格常用锯齿形书写格式 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 38 结构特点函数与主函数程序由一个或多个函数组成必须有且只能有一个主函数main 程序执行从main开始 在main中结束 其它函数通过嵌套调用得以执行 程序语句C程序由语句组成用 作为语句终止符注释 为注释 不能嵌套不产生编译代码 例 Thisisthemain ofexample1 1 编译预处理命令 39 scanf是C语言的标准输入函数 f 是格式输入符号 表示用户输入的数据应该是实数 的含义是 取地址 调用average函数 求出平均值并赋值给变量aver return语句将aver1的值返回给主调函数main 返回值是通过函数名average带回到main的调用处 例1 3从键盘上输入三个数 求该三个数的平均值floataverage floata1 floatb1 floatc1 floataver1 aver1 a1 b1 c1 3 return aver1 main floata b c aver printf pleaseinputa b c scanf f f f 四 简单的C程序介绍 40 源程序不能直接执行 为完成C程序描述的计算 必须先把C程序转换成计算机可执行的程序 这个转换称为C程序的加工 是C语言系统的主要功能 程序加工通常分两步 编译 编译程序处理源程序 生成相应机器语言目标模块 目标文件 目标模块不能执行 其中缺少必要的C程序运行系统和库提供的功能 连接 连接程序把目标模块与运行系统 库功能模块组合起来 构成完整的可执行程序 一 在TurboC环境下建立及运行文件 41 C源程序的加工过程 42 FILE NEWFILE WRITETOFILE SAVE F2 FILE LOAD F3 COMPILE MakeEXEfile F9 RUN RUN Ctrl F9 RUN USERSCREEN ALT F5 编写TurboC新程序 43 二 TurboC菜单的功能和使用方法 使用Alt 首字母 F10 激活菜单使用光标移动键选择命令按回车键确定 44 File 文件 菜单 Load F3 打开文件 Pick Alt F3 列出最后装入的8个文件名 可以从文件列表中选择所需文件 New 新建文件 Save F2 保存文件 Write 另存为 Directory 显示当前工作目录的文件列表Changedir 指定当前目录 用于保存用户文件 OSshell进入操作系统环境 并显示 TypeExittoreturntoTurboCQuit Alt X 退出TurboC 45 Run 运行 菜单 Run Ctrl F9 生成编译文件OBJ 生成可执行文件EXE 并运行当前程序 Programreset Ctrl F2 程序重启 终止当前调试过程 回到初始状态 Gotocursor F4 使程序运行到当前光标所在的行 Traceinto F7 跟踪 单步执行 Stepover F8 跟踪 单步执行 但不进入被调函数内跟踪 UserScreen Alt F5 显示运行结果 按任意键返回 46 Compile 编译 菜单 CompiletoOBJ 生成目标文件 OBJ文件 MakeEXEfile 生成可执行文件 EXE文件 LinkEXEfile 将当前的OBJ文件和库文件连接生成EXE文件Buildall 重新编译连接Project中的全部程序 生成EXE文件 PrimaryCfile 指定文件作为编译对象 以替代编辑窗口中的文件 Getinto 在弹出的窗口中显示有关文件的信息 47 Project 项目 菜单 Projectname 指定项目文件名 PRJ文件 Breakmakeon 指定终止编译的条件 有四个选项 Warning编译中遇警告停止Error编译中遇错误停止Fatal编译后发现错误停止Link只生成OBJ文件 不进行连接 不生成EXE文件 Autodependencies 指定若程序已经修改 则在运行前是否重新编译连接 Off或On Clearproject 清除当前项目文件Removemessages 删除信息窗口的错误提示 48 Options 选项 菜单 Compiler 指定编译选项Linker 指定连接选项Environment 指定工作环境Directories 是改变工作路径Arguments 指定参数SaveOptions 保存选项RetrieveOptions 从环境文件中恢复选项 49 Debug 调试 菜单 Evaluate 计算变量或表达式的值 显示结果 Callstack 当调试程序调用多级函数时 显示调用栈 Findfunction 查找函数 在编辑窗口显示被查找的函数的源程序 Refreshdisplay 刷新屏幕 Displayswapping 指定在调试程序时若程序产生输出是否切换到用户屏幕 Sourcedebugging 指定进行源程序调试的选项 50 Break 中断 菜单 Addwatch 增加监视表达式Deletewatch 删除指定的监视表达式Editwatch 编辑监视表达式Removeallwatches 删除全部监视表达式Togglebreakpoint 设置 取消程序调试时的中断点Clearallbreakpoints 清除全部中断点Viewnextbreakpoint 将光标定位在下一个中断点 51 与数据类型有关的 charintfloatdoublesignedlongvoidstructunionshorttypedefenumsizeofunsigned与存储类别有关的 autoexternregisterstatic与程序控制结构有关的 dowhileforifelseswitchcasedefaultgotocontinuebreakreturn 由系统定义 不能重作其它定义 32个关键字 52 if else for while do while continuebreakswitchgotoreturn 9种控制语句 53 C语言Pascal语言 BEGIN ENDif e s IF e THENsinti VARi INTEGERinta

温馨提示

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

评论

0/150

提交评论