在屏幕上显示Hello.ppt_第1页
在屏幕上显示Hello.ppt_第2页
在屏幕上显示Hello.ppt_第3页
在屏幕上显示Hello.ppt_第4页
在屏幕上显示Hello.ppt_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

1 2 1在屏幕上显示HelloWorld 第2章用C语言编写程序 用算例尽快进入编程 例2 1在屏幕上显示一个短句 HelloWorld 显示 HelloWorld includevoidmain printf HelloWorld n 主函数 注释文本 调用输出函数 预编译 程序中涉及语法点 printf由库函数stdio h解释其参数 字符串 显示字符串 n换行符函数后的 表示函数语句要求在屏幕上显示文字 printf 要显示的文字 学习方法 阅读 模仿 改写 编写 2 例2 2在屏幕上显示 Programmingisfun AndProgramminginCisevenmorefun includevoidmain printf Programmingisfun n printf AndProgramminginCisevenmorefun n 根据要求在屏幕上显示文字 printf 要显示的文字 注 换行符 n的使用 源程序 3 2 2求华氏温度100 F对应的摄氏温度 例2 3求华氏温度100 F对应的摄氏温度计算公式其中C为摄氏温度 F为华氏温度 2 2 1程序解析 includevoidmain intcelsius fahr 变量定义 fahr 100 常量赋值于变量 celsius 5 fahr 32 9 表达式赋值于变量 printf fahr d celsius d n fahr celsius 输出结果 输出 fahr 100 celsius 37 程序中涉及语法点 常量 变量和数据类型运算符 表达式输出变量的值 4 例2 3程序中celsius 5 fahr 32 9 2 2 2常量 变量和数据类型 其中5 32 9为常量 1 常量 常量 在程序运行过程中 其值不会被改变 常量分数据类型 由书写格式确定 整型 不带小数点的数 即整数例100 10 5 0 实型 带小数点的数例123 45 0 54321 5 2 变量 变量 在程序运行过程中 其值可以被改 例2 3程序中intcelsius fahr celsius 5 fahr 32 9 其中celsius fahr为变量 变量定义的一般形式 类型名变量名表 使用变量必须要定义 注 double型数据比float精度高 取值范围大 有效位数多 例如 intcelsius fahr 定义整型变量 存放整数float x 定义单精度浮点型变量 存放实数doublea1 b2 定义双精度浮点型变量 存放实数 6 变量取名 按标识符取名 一般用小写字母 见名知义 定义变量做了3件事 变量取名 确定数据类型 分配内存 标识符 规定由字母 数字以及下划线组成 第一个字符必须是字母或下划线 数据类型 由类型关键字确定 同时也确定数据的表示范围int 32768 32767或 2147483648 2147483648float 10 38 1038有效位数7 8位double 10 308 1030815 16位 分配内存 对定义的每一个变量分配对应的存储单元 celsius fahr 而fahr 100 表示100存入fahr变量的存储单元 即fahr 100 例如 celsius fahr x a1 b1是标识符 而c 1 b a 2b不是标识符 7 注 C语言中的变量与数学上的符号含义不同 例x x 1 数学上无意义 C语言表示把x变量存储单元的值取出加1 然后再保存到x变量存储单元中 变量必须先定义 后使用 定义位置在程序的开始 应该先赋值 后引用 includevoidmain intcelsius fahr fahr 100 celsius 5 fahr 32 9 printf fahr d celsius d n fahr celsius 8 2 2 3算术运算和赋值运算 例2 3程序中fahr 100 celsius 5 fahr 32 9 赋值运算 1 算术运算 加减双目运算4级从左到右 乘除取余双目运算3级从左到右 先算术运算 后赋值运算 计算通过表达式实现 表达式 用运算符将运算对象及括弧按语法规则连接起来的式子 例数学式C表达式 5 fahr 32 9 b sqrt b b 4 a c 2 a 注 函数sqrt x 计算 括弧改变计算顺序 9 注 整 整是取整如 5 3 11 3 0 取余 的两边运算对象必须是整型如5 6 5100 4 0a b则inta b 又可作为正 负运算符 正负单目运算2级从左到右如 10 10 5 fahr 32 9和5 9 fahr 32 等价吗 10 2 赋值运算 格式变量 表达式 例fahr 100 celsius 5 fahr 32 9 操作 计算赋值运算符右侧表达式的值 将赋值运算符右侧表达式的值赋给左侧的变量 注 是赋值符 而不是等号变量 表达式 称之赋值语句 赋值运算符 14级从右到左 赋值语句表达计算公式 x1 b sqrt b b 4 a c 2 a 11 2 2 4格式化输出函数printf 例2 3程序中printf fahr d celsius d n fahr celsius 格式printf 格式控制 输出表列 其中 格式控制是由双引号括起来的字符串 包括两种信息 1 普通字符照原样输出字符或转义符如fahr celsius 例2 1printf HelloWorld n 中HelloWorld n是普通字符 按指定的格式输出数据 格式控制字符与被输出的数据类型有关 int型 dfloat double型 f或 nf m nf 2 格式说明 格式控制符 保留小数位6位n位整个数占m位 12 输出表列是输出的数据 可以是常数 变量和表达式 每个输出数据之间用逗号分隔 如printf f f f 123 45 x 2 a b printf fahr d celsius d n fahr celsius 操作将输出表列中的数据按格式说明在显示屏输出 例2 3程序中fahr 100 celsius 5 fahr 32 9 printf fahr d celsius d n fahr celsius 注 格式控制符与输出数据的个数 类型 位置必须一一对应 输出表列 13 includevoidmain intcelsius fahr 变量定义 fahr 100 常量赋值于变量 celsius 5 fahr 32 9 表达式赋值于变量 printf fahr d celsius d n fahr celsius 输出结果 输出 fahr 100 celsius 37 例2 3求华氏温度对应的摄氏温度 程序缺陷 无通用性只能求出fahr 100时的摄氏温度 14 includevoidmain intcelsius fahr scanf d 改变例2 3求华氏温度对应的摄氏温度 运行程序 键入 100输出 fahr 100 celsius 37键入 120输出 fahr 120 celsius 48 15 2 2 5格式化输入函数scanf 格式scanf 格式控制 地址表列 地址列表是输入数据存入内存的地址 可以是变量的地址 每个内存地址之间用逗号分隔 格式控制是用双引号括起来的字符串 字符串由格式说明和普通字符构成 怎么知道变量的地址 利用地址运算符求出变量的地址格式 变量名 例inta b 则 a b表示取a b变量的地址 例inta floatb scanf d f 格式说明由 和格式字符构成 与数据类型有关int型 dfloat型 fdouble型 lf 16 普通字符 在输入数据时需要原样输入的字符例scanf x f 输入数据时 x 2 5x 必须照原样输入 操作将键盘键入的数据按指定类型格式存入指定内存存储单元 includevoidmain inta b c scanf d d d 例 格式控制 地址表列 运行输入345输出3 4 5 一般普通字符作为输入数据之间的分隔符使用 如 空格例scanf d f 输入数据时10 12 5 无普通字符时输入数据之间用空格分隔符例scanf d f 输入数据时1012 5 17 在格式说明中无普通字符时 键入数据之间可用空格 或分隔 即多各空格分割 上例输入可改为 345一个跳8个空格 或345 在格式说明中用了普通字符 则普通字符作为数据之间的分隔符如上例改用输入函数scanf 为scanf d d d 输入则为a 3 b 4 c 5 由此可见 为了减少不必要的输入 在scanf 函数的格式控制中尽量不要出现普通字符 注 格式控制符与输入数据的个数 类型 位置必须一一对应 例scanf d d d 18 对一般简单程序编程算法 1 输入已知值2 按计算公式求值3 输出结果 例求二元一次方程 ax2 bx c 0的实根已知b b 4ac 0 分析已知b b 4ac 0则实根为 算法1 输入已知值a b c2 代入公式求x1 x23 输出x1 x2 程序 include stdio h include math h voidmain floata b c x1 x2 scanf f f f 喔 编程原来这么简单 顺序结构 19 2 2 6常用数学库函数 库函数C语言系统提供事先编好的函数 供用户在编程时调用 如scanf printf sqrt 平方根函数sqrt x 指数函数exp x ex绝对值函数fabs x x 以e为底的对数函数log x ln x 幂函数pow x n xn以10为底的对数函数log10 x log10 x 常用数学库函数 函数调用格式函数名 参数 例1 12pow 1 1 2 e2 3exp 2 3 注 参数的个数 类型一致 include命令用户调用库函数时 将相应的头文件包含到源程序中 例调用scanf printf 需要 include调用sqrt 需要 include 20 例2 5输入存款金额money 存期year和年利率rate 根据公式计算存款到期时的本息合计sum 税前 输出时保留2位小数 sum money 1 rate year 使用xy pow x y 函数sum money pow 1 rate year include includevoidmain intmoney year doublerate sum printf inputmoney yearandrate n scanf d d lf inputmoney yearandrate 100030 025sum 1076 89 21 2 3计算分段函数 例2 4输入x 求分段函数f x 的值 保留2位小数 2 3 1程序解析 includevoidmain doublex y printf inputx x 0 n scanf lf 运行inputx x 0 9 5y f 9 500000 12 67inputx x 0 21 3y f 21 300000 42 75 程序中新语法点 x 15关系运算if x 15 y 4 x 3 elsey 2 5x 10 5 if else语句 22 2 3 2关系运算 1 关系运算符 大于 大于或等于 等于 不等于 6级 7级 从左到右双目运算 6种关系符 2 关系表达式格式 用关系运算符将2个表达式连接起来式子 操作关系表达式将两边的表达式的值进行比较得到逻辑值1为真0为假 例x 1 当x 0 5 1 当x 2 4 0 23 关系表达式用途 描述简单的条件判断 例判断x是否为负数x 0判断x是否不为零x 0 2 3 3if else语句 格式if 表达式 语句1else语句2 表达式 语句1 语句2 1 0 操作当表达式的值为1 真 执行语句1 否则执行语句2 表达式可以是关系表达式 语句i单个语句或复合语句复合语句 语句1 语句2 24 例输入x 求分段函数f x 的值 保留1位小数 输入x x 0 y 1 x y 0 输出y 假 真 includevoidmain floatx y printf inputx n scanf f inputx 2 5f 2 50 0 4 将if x 0 改为if x 运行结果相同 说明 if 表达式 中的表达式可以是任意表达式表达式的值非0为真 0为假 25 注 当if else语句中语句2不存在允许else缺省 格式if 表达式 语句1 表达式 语句1 1 0 includevoidmain floatx y printf inputx n scanf f 26 例输入两个实数 按小大次序输出 includevoidmain floata b t scanf f f 注不能写成if a b t a a b b t 27 例2 6输出一张华氏 摄氏温度转换表 将华氏温度从30 35 F之间的每一度 分别转换成相应的摄氏温度并输出 fahrcelsius30 1 131 0 6320 0330 6341 1351 7 2 4输出华氏 摄氏温度转换表 includevoidmain floatcelsius fahr printf fahrcelsius n fahr 30 celsius 5 fahr 32 9 printf 3 0f 6 1f n fahr celsius 运行得表的第一行数据 例2 3程序 2 4 1循环概念 28 includevoidmain floatcelsius fahr printf fahrcelsius n fahr 30 celsius 5 fahr 32 9 printf 3 0f 6 1f n fahr celsius fahr 31 celsius 5 fahr 32 9 printf 3 0f 6 1f n fahr celsius fahr 35 celsius 5 fahr 32 9 printf 3 0f 6 1f n fahr celsius fahr celsius 5 fahr 32 9 printf 3 0f 6 1f n fahr celsius 重复 30 31 35 29 fahr celsius 5 fahr 32 9 printf 3 0f 6 1f n fahr celsius 重复 30 31 45 第一次fahr 30 第二次fahr 31 改写fahr fahr 1 第三次fahr 32 同理fahr fahr 1 第六次fahr 35同理fahr fahr 1 fahr 30 celsius 5 fahr 32 9 printf 3 0f 6 1f n fahr celsius fahr fahr 1 fahr 35 真 假 goto 无条件转移格式goto语句标号 其中 语句标号用标识符命名 停 30 includevoidmain floatcelsius fahr fahr 30 printf fahrcelsius n loop if fahr 35 celsius 5 fahr 32 9 printf 3 0f 6 1f n fahr celsius fahr fahr 1 gotoloop else 可省略 注 goto语句与if语句配合使用构成循环结构 goto破坏程序的结构 可读性差 少用或不用 构成循环的要素 循环体条件判断进入每次循环的准备 循环体 条件判断 循环前准备 下次循环前准备 循环结构根据条件的判断对某一段程序重复执行 31 2 4 2for语句 格式for 表达式1 表达式2 表达式3 语句 其中语句是一个语句或复合语句 循环体表达式1进入循环之前求值 为进入循环作准备表达式2是条件 求值得真 非0 做循环 假 0 退出循环表达式3做一次循环后 求值 为进下一次入循环作准备 操作 1 做表达式1 2 求表达式2 若真 非0 做内嵌语句 然后做 3 若假 0 终止for循环 3 做表达式3 转到 2 loop 表达式1 if 表达式2 语句 表达式3 gotoloop 等价于 32 例2 6输出一张华氏 摄氏温度转换表 includevoidmain floatcelsius fahr printf fahrcelsius n for fahr 30 fahr 35 fahr fahr 1 celsius 5 fahr 32 9 printf 3 0f 6 1f n fahr celsius fahr 30 celsius 5 fahr 32 9 printf 3 0f 6 1f n fahr celsius fahr fahr 1 fahr 35 真 假 停 表达式1 表达式2 表达式3 循环体 for书写顺序和执行顺序不同隐含循环 33 注 循环体是复合语句 for fahr 30 fahr 35 fahr fahr 1 celsius 5 fahr 32 9 printf 3 0f 6 1f n fahr celsius for fahr 30 fahr 35 fahr fahr 1 celsius 5 fahr 32 9 printf 3 0f 6 1f n fahr celsius 循环体空语句 for fahr 30 fahr 35 fahr fahr 1 celsius 5 fahr 32 9 printf 3 0f 6 1f n fahr celsius 34 即求1 2 3 4 100 可以直接使用赋值语句s 1 2 3 4 100 但语句太长 改写为s 0 s s 1 s s 2 s s 100 同一计算步骤 s s ii 1 2 3 100计算前s 0 s 0 i 1 i 100 s s i i i 1 输出s 流程图 根据i 100条件 重复执行s s i i i 1程序段100次 但语句太多 非0 0 例2 7 表达式1 表达式2 表达式3 循环体 35 include stdio h voidmain inti s s 0 for i 1 i 100 i i 1 s s i printf s d n s 程序 s 0 i 1 i 100 s s i i i 1 输出s 流程图 非0 0 表达式1 表达式2 表达式3 循环体 格式for 表达式1 表达式2 表达式3 语句 运行输出s 5050 36 2 4 3指定次数的循环程序设计 for 表达式1 表达式2 表达式3 语句 表达式2 语句 非0 0 表达式1 表达式3 要用循环次数控制循环 引入概念循环变量 初值 终值 增量 include stdio h voidmain inti s s 0 for i 1 i 100 i i 1 s s i printf s d n s 例2 7中 循环变量 初值 终值 增量 i 100 语句 非0 0 i 1 i i 1

温馨提示

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

评论

0/150

提交评论