




已阅读5页,还剩29页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Chap2用C语言编写程序 简单程序的一般形式 指令intmain void 函数 语句 2 指令 在编译C程序之前 预处理器先行对其编辑预处理器执行的命令称为指令Example include C sstandardI Olibrary 指令以 为开头 默认只有一行 结尾无 3 函数 数学 函数是根据一个或多个给定参数进行数值计算的规则C 函数是一系列组合在一起并且整体命名的语句集合程序员自行编写的函数编译器提供的库函数通常需要返回值returnx 1 4 main函数 main函数是必须的 main函数是特别的 在程序执行时自动被调用main函数要求返回一个状态码 用0表示正常退出 5 语句 语句是程序运行时执行的命令 C语言规定每条语句都要以分号结尾 复合语句除外 6 注释 单行用 C99 Thisisacomment多行用 Thisisacomment Name pun cPurpose Printsabadpun Author K N King 7 变量与赋值 变量 在程序执行过程中临时存储数据的单元类型 用来说明变量存储的数据种类声明 变量使用之前为编译器所做的描述intheight intheight length width volume 赋值 变量通过赋值方式获得值初始化 在声明时赋值 未初始化的变量不可控 8 变量的声明与使用 变量必须先声明 后使用 includeintmain void intcelsius fahr fahr 100 celsius 5 fahr 32 9 printf fahr d celsius d n fahr celsius return0 一个变量名只能声明一次变量一般都定义在程序的头上不能定义在程序的中间或后面 应该先赋值 后引用 常量 常量 在程序运行过程中 其值不能被改变字面值 89 A const类型常量名 值 宏定义 defineINCHES PER POUND166 名称默认全大写 规范不强制 10 标识符 标识符 变量 常量 函数 宏定义 结构名等实体的命名 标识符可以含有字母 数字 下划线 但必须以字母或下划线开头C语言区分大小写一般要求变量用小写 多个单词时 current pagecurrentPage理论上标识符长度没有限制 11 关键字 如下不能用于标识符 autoenumrestrict unsignedbreakexternreturnvoidcasefloatshortvolatilecharforsignedwhileconstgotosizeof Bool continueifstatic Complex defaultinline struct Imaginary dointswitchdoublelongtypedefelseregisterunion C99only标准库函数名称也要回避 12 代码书写规范 单个语句可以分开放在多行里 关键字 标识符 运算符 逗号等后面最好加一下空格通过缩进来帮助识别程序嵌套结构通过空行来划分程序逻辑单元乱加空格和分行会导致错误字符串太长怎么办 printf ToC ornottoC thatisthequestion n 13 printf函数 printf函数用来显示格式串printf 格式串 表达式1 表达式2 格式串包含普通字符和转换说明 以 字符开头 普通字符直接显示 转换说明被变量替代 14 Example inti j floatx y i 10 j 20 x 43 2892f y 5527 0f printf i d j d x f y f n i j x y Output i 10 j 20 x 43 289200 y 5527 000000 printf函数 编译器不检查转换说明和字符串是否匹配 太多转换说明 printf d d n i WRONG 太少转换说明 printf d n i j WRONG 顺序不一致 printf f d n i x WRONG 15 转换说明格式 转换说明标准格式 m pXm 数字 可选 最小字段宽度 当数值所需字符少于m时 m为正右对齐 m为负左对齐 p 数字 可选 精度 取决于具体说明符 X 说明符 必须 10 2f mis10 pis2 andXisf 数值常用说明符d十进制e科学计数法 p指明小数点后的数字个数f浮点数 p指明小数点后的数字个数g可以自动转换 可以显示为十进制 浮点数或科学计数法 不能用于整数 tprintf c Printsintandfloatvaluesinvariousformats includeintmain void inti floatx i 40 x 839 21f printf d 5d 5d 5 3d n i i i i printf 10 3f 10 3e 10g n x x x return0 Output 40 40 40 040 839 210 8 392e 02 839 21 17 转义序列 非打印的 控制 字符响铃符 a回退符 b换行符 n水平制表符 t显示 Exampleprintf Item tUnit tPurchase n tPrice tDate n ItemUnitPurchasePriceDate 18 scanf函数 scanf根据特定格式读取输入 scanf 格式串 格式串包含普通字符 通常没有 和转换说明 以 字符开头 转换说明被变量替代转换说明 转义序列与printf用法相同编译器不检查转换说明和字符串是否匹配 19 scanf的匹配过程 scanf函数调用 scanf d d f f r read 最后一个换行符被忽略 20 格式串中的普通字符 空白字符 空格 制表符 换行符等 可以与输入中任意数量的空白字符匹配 包括0个其他字符匹配时 scanf放弃输入字符继续处理不匹配时 异常退出 21 addfrac c Addstwofractions includeintmain void intnum1 denom1 num2 denom2 result num result denom printf Enterfirstfraction scanf d d 22 程序解析 分段计算水费要解决的问题 输入计算分段函数输出 并保留2位小数求ex 程序解析 求分段函数 includeintmain void doublex y printf Enterx x 0 n 输入提示 scanf lf Enterx x 0 9 5f 9 500000 12 67 Enterx x 0 15f 15 000000 20 00 Enterx x 0 21 3f 21 300000 42 75 软件测试的基本思想 软件测试精心设计一批测试用例 输入数据 预期输出结果 然后分别用这些测试用例运行程序 看程序的实际运行结果与预期输出结果是否一致 inputx 2 5f 2 50 0 4 inputx 0f 0 00 0 0 if x 0 y 1 x elsey 0 if x 15 y 4 x 3 elsey 2 5 x 10 5 Enterx x 0 9 5f 9 500000 12 67 Enterx x 0 15f 15 000000 20 00 Enterx x 0 21 3f 21 300000 42 75 常用数学库函数 库函数C语言处理系统提供事先编好的函数 供用户在编程时调用 scanf printf exp 在相应的系统文件 头文件 中定义一些必需的信息 include命令用户调用库函数时 将相应的头文件包含到源程序中 例如调用scanf printf 需要 include调用sqrt 需要 include 常用数学库函数 平方根函数sqrt x 绝对值函数fabs x fabs 3 56 的值为3 56幂函数pow x n xnpow 1 1 2 的值为1 21 即1 12 指数函数exp x exexp 2 3 的值为e2 3以e为底的对数函数log x lnxlog 123 45 的值为4 815836以10为底的对数函数log10 x log10 xlog10 123 45 的值为2 091491 计算存款的本息 输入存款金额money 存期year和年利率rate 根据公式计算存款到期时的本息合计sum 税前 输出时保留2位小数 sum money 1 rate year sum money pow 1 rate year include includeintmain void intmoney year doublerate sum printf Entermoney scanf d Entermoney 1000Enteryear 3Enterrate 0 025sum 1076 89 scanf d d lf 结构化程序设计思想 结构化程序设计 StructuredProgramming 程序设计技术C语言是结构化程序设计语言强调程序设计的风格和程序结构的规范化 提倡清晰的结构 其基本思路是将一个复杂问题的求解过程划分为若干阶段 每个阶段要处理的问题都容易被理解和处理 按自顶向下的方法对问题进行分析 模块化设计和结构化编码等3个步骤 自顶向下的分析方法 把大的复杂的问题分解成小问题后再解决 面对一个复杂的问题 首先进行上层 整体 的分析 按组织或功能将问题分解成子问题 如果子问题仍然十分复杂 再做进一步分解 直到处理对象相对简单 容易处理为止 当所有的子问题都得到了解决 整个问题也就解决了 每一次分解都是对上一层的问题进行细化和逐步求精 最终形成一种类似树形的层次结构 来描述分析的结果 学生成绩统计程序的层次结构图 模块化设计 将模块组织成良好的层次系统 顶层模块调用其下层模块以实现程序的完整功能 每个下层模块再调用更下层的模块 从而完成程序的一个子功能 最下层的模块完成最具体的功能 遵循模块独立性的原则 即模块之间的联系应
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 全域无废城市建设的概念与发展背景
- 2025至2030年中国玻化砖颜料行业投资前景及策略咨询报告
- 2025至2030年中国照相机机架行业投资前景及策略咨询报告
- 关于幼儿园课程改革的论文
- 2025至2030年中国油压钻孔机行业投资前景及策略咨询报告
- 2025至2030年中国水力按摩设备行业投资前景及策略咨询报告
- 2025至2030年中国柴油滤清器外壳行业投资前景及策略咨询报告
- 2025至2030年中国服装电子商务网站工程行业投资前景及策略咨询报告
- 新粤沪版物理8年级上册全册教学课件(新版教材)
- 强化社会治理人才培养的策略及实施路径
- 2022春教科版科学五年级下册全册课本中研讨问题参考答案(完整版)
- 防蛇虫咬伤防中暑课件
- 混凝土灌注桩抽芯孔封堵施工方案
- 水泥厂高压电机试验报告(样表)
- U管制图计算模板SPC
- 肌肉注射操作评分标准
- 我们毕业啦毕业季通用模板课件
- 水处理间制度
- (完整版)基建建设工程流程图
- 公司金融课件(完整版)
- 《我做了一项小实验》教学设计公开课
评论
0/150
提交评论