cjiaoxue1.ppt_第1页
cjiaoxue1.ppt_第2页
cjiaoxue1.ppt_第3页
cjiaoxue1.ppt_第4页
cjiaoxue1.ppt_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

第一章C语言概述 1 5C程序上机步骤 程序设计语言的发展 CPU指令系统 由0 1序列构成的指令码组成如 10000000加10010000减 用助记符号描述的指令系统如ADDA B 面向机器的语言 程序设计是数据被加工的过程 客观世界可以分类 对象是类的实例对象是数据和方法的封装对象间通过发送和接受消息发生联系 程序设计关键是定义类 并由类派生对象 1 1C语言发展历史 产生背景产生过程时间 1972 1973地点 美国贝尔实验室目的 UNIX操作系统设计人 Ken Thompson和Dennis M RitchieC标准标准C K R合著 TheCProgrammingLanguage ANSIC 1983年87ANSIC 1987年1990年国际标准的ANSIC C语言发展过程 语言简洁 紧凑 灵活运算符和数据类型丰富程序设计结构化 模块化生成目标代码质量高可移植性好 1 2C语言特点 由系统定义 不能重作其它定义 autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoifintlongregisterreturnshortsignedsizeofstaticstructswitchtypedefunsignedunionvoidvolatilewhile 32个关键字 if else for while do while continuebreakswitchgotoreturn 9种控制语句 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 及其扩展条件运算符 逗号运算符 指针运算符 求字节数 sizeof强制类型转换 类型 分量运算符 下标运算符 其它 34种运算符 C数据类型 例1 1第一个程序Hello World example1 1ThefirstCProgram includemain printf Hello World 输出 Hello World 1 3C程序格式和结构特点 example1 1calculatethesumofaandb 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 例1 2 习惯用小写字母 大小写敏感不使用行号 无程序行概念可使用空行和空格常用锯齿形书写格式 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缩进 对齐有足够的注释有合适的空行 格式特点 函数与主函数程序由一个或多个函数组成必须有且只能有一个主函数main 程序执行从main开始 在main中结束 其它函数通过嵌套调用得以执行 程序语句C程序由语句组成用 作为语句终止符注释 为注释 不能嵌套不产生编译代码 例 Thisisthemain ofexample1 1 编译预处理命令 结构特点 1 4预处理 所谓预处理是指在进行编译前 对源程序预先添加和替换一些信息 以便编译程序能够正常的编译 预处理是C语言的一项重要功能 它由预处理器完成 当对一个源文件进行编译时 系统将自动引用预处理程序对源程序中的预处理部分作处理 处理完毕自动进入对源程序的编译 13 概述 种类 文件包含 include宏定义 define条件编译 if else endif等格式 开头语句尾不加分号 14 1 4 1include命令 程序中的 include指令要求编译程序读入另一个源文件 文件包含命令行的一般形式为 include或 include 文件名 如 include include myself h 15 include命令 续 说明 包含命令中的文件名可以用双引号或尖括号括起来系统库文件用尖括号 用户自定义的文件用双引号一个include命令只能指定一个被包含文件文件包含允许嵌套 即在一个被包含的文件中又可以包含另一个文件 允许的最大嵌套深度随编译程序而变 C89规定最少应能处理8层嵌套包含 C99规定最少应能处理15层嵌套包含 16 1 4 2宏定义 在C语言源程序中允许用一个标识符来表示一个字符串 称为 宏 Macro 被定义为 宏 的标识符称为 宏 名 在编译预处理时 对程序中所有的 宏 名 都用宏定义中的字符串去代换 这称为宏代换或宏调用 也可以称为宏展开 在C语言中 宏 分为有参数和无参数两种 17 1 无参宏定义 无参宏的宏名后不带参数 其定义的一般形式为 define宏名宏定义串宏名为标识符 宏定义部分可以是常数 表达式 格式串等 18 以 开头的均为预处理命令 define 为宏定义命令 无参宏定义 续 例不带参数的宏定义 include defineM y y 3 y intmain ints y printf inputanumber scanf d 19 程序运行结果 输入 inputanumber 2输出 s 120 宏定义M来替代表达式 y y 3 y 宏展开后该语句变为 s 3 y y 3 y 4 y y 3 y 5 y y 3 y 无参宏定义 续 说明 宏定义是用宏名来表示一个符号串 在宏展开时用该串取代宏名 符号串中可以含有任何字符 可以是常数 也可以是表达式 预处理程序对它不作任何检查 如有错误 只能在编译已被宏展开后的源程序时发现 宏定义不是说明或语句 在行末不加分号 若加上分号则连分号也一起替换 宏定义必须写在函数之外 其作用域为宏定义命令起到源程序结束 如要终止其作用域可使用 undef命令 20 无参宏定义 续 如 definePI3 14159intmain undefPIintf1 表示PI仅在main函数中有效 而在函数f1中无效 21 无参宏定义 续 宏定义允许嵌套 在宏定义的串中可以使用已经定义的宏名 但须遵循先定义 再使用的原则 在宏展开时由预处理程序依次替换 如 defineONE1 defineTWOONE ONE defineTHREEONE TWO对语句 printf f THREE 22 printf f 1 1 1 无参宏定义 续 如果串长于一行 可在行尾用反斜线 续行 如 defineLONG STRING thisisaverylong stringthatisusedasanexample 习惯上宏名用大写字母表示 以便于与变量区别 但也允许用小写字母 23 无参宏定义 例使用宏定义实现格式控制输出 include definePrintprintf defineFormat 10s 8d 8 2f n intmain inta 8001 c 8002 floatb 621 d 612 Print Format Wangyi a b Print Form

温馨提示

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

评论

0/150

提交评论