谢丽聪老师C语言课件-4顺序程序设计-2009.ppt_第1页
谢丽聪老师C语言课件-4顺序程序设计-2009.ppt_第2页
谢丽聪老师C语言课件-4顺序程序设计-2009.ppt_第3页
谢丽聪老师C语言课件-4顺序程序设计-2009.ppt_第4页
谢丽聪老师C语言课件-4顺序程序设计-2009.ppt_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

第四章顺序程序设计 4 1 语句概述4 2赋值语句4 3数据输入输出概念4 4格式输出函数4 5字符输出函数4 6格式输入函数4 7字符输入函数 4 1 语句概述 程序的结构 C语句可分为以下五类 1 表达式语句2 函数调用语句3 控制语句4 复合语句5 空语句 程序的执行部分是由语句组成的 程序的功能也是由执行语句实现的 4 1 1表达式语句 表达式语句由表达式加上分号 组成 执行表达式语句就是计算表达式的值 其一般形式为 表达式 例如 x y z y z i 赋值语句 加法运算语句 但计算结果不能保留 无实际意义 自增1语句 i值增1 4 1 2函数调用语句 函数调用语句由函数名 实际参数加上分号 组成 执行函数语句就是调用函数体 在后面函数中再详细介绍 其一般形式为 函数名 实际参数表 例如 printf CProgram 调用库函数 输出字符串 4 1 3控制语句 控制语句用于控制程序的流程 以实现程序的各种结构方式 可分成以下三类 1 条件判断语句 ifelse语句 switch语句 2 循环执行语句 dowhile语句 while语句 for语句 3 转向语句 break语句 goto语句 continue语句 return语句 4 1 4复合语句 复合语句把多个语句用括号 括起来组成的一个语句称复合语句 在程序中应把复合语句看成是单条语句 而不是多条语句 例如 x y z a b c printf d d x a 是一条复合语句 复合语句内的各条语句都必须以分号 结尾 在括号 外不能加分号 4 1 5空语句 空语句只有分号 组成的语句称为空语句 空语句是什么也不执行的语句 例如while getchar n 空语句 本语句的功能是 只要从键盘输入的字符不是回车则重新输入 4 2赋值语句 赋值语句是由赋值表达式再加上分号构成的表达式语句 其一般形式为 变量 表达式 赋值语句的功能和特点与赋值表达式相同 是程序中使用最多的语句之一 在赋值语句的使用中需要注意以下几点 1 赋值表达式的嵌套 赋值符右边的表达式又是一个赋值表达式 变量 变量 表达式 展开之后的一般形式为 变量 变量 表达式 例如 a b c d e 5 按照赋值运算符的右接合性 等效于 e 5 d e c d b c a b 2 变量说明中给变量赋初值和赋值语句的区别 给变量赋初值是变量说明的一部分 赋初值后的变量与其后的其它同类变量之间仍必须用逗号间隔 而赋值语句则必须用分号结尾 例如 inta 5 b c 3 在变量说明中 不允许连续给多个变量赋初值 如下述说明是错误的 inta b c 5 而赋值语句允许连续赋值 a b c 5 4 赋值表达式和赋值语句的区别 赋值表达式是一种表达式 它可以出现在任何允许表达式出现的地方 而赋值语句则不能 if x y 5 0 z x 语句的功能是 若表达式x y 5大于0则z x if x y 5 0 z x 因为x y 5 是语句 不能出现在表达式中 合法 非法 4 3数据输入输出概念 1 输入输出是从标准输入设备输入或向标准输出设备输出数据 2 在 语言中 所有的数据输入 输出都是由库函数完成的 都是函数语句 3 使用 语言库函数时 要用预编译命令 include或 include stdio h 4 考虑到printf和scanf函数使用频繁 系统允许在使用这两个函数时可不加 include或 include stdio h 4 4printf函数 格式输出函数 4 4 1printf 功能 按格式控制所指定的形式 向用户屏 输出输出项的值 C不提供输入输出语句 只调用printf 函数 例 voidmain inta b sum a 123 b 456 sum a b printf a d b d c d n a b sum 结果 a 123 b 456 c 579 原样输出 格式控制符与输出项表列一一对应 4 4 2格式 printf 格式控制 输出项表列 一 输出项表列 由一个或多个输出项组成 若多个 它们之间用逗号隔开 常量 变量 函数 表达式 字符数组名等均可做输出项 二 格式控制 字符串常量或字符数组名 其中字符可由下面3类组成 普通字符 原样输出 转义字符 输出所表示的字符或实现其功能 格式说明 控制对应输出项的输出形式 a d n includevoidmain intk 68 floatt 56 3 printf d t d t f n k k 123 sqrt t 结果 681917 503333 转义字符 跳到下一区 9 17 转义字符 回车 格式控制符 对应输出格式 4 4 3格式说明 控制对应输出项的输出形式 每个格式说明按先后顺序与输出项一一对应 输出结果中格式说明被对应的输出项值取代 1 格式说明基本形式 d 或 i o x 或 X u c对应的输出项类型为字符型和整型 带符号十进制 带符号八进制 带符号十六进制 无符号十进制 字符 例 voidmain inta 65 charc printf d c n a a printf c c ItsASCIIcode d n c c 结果 65 Ac ItsASCIIcode 33 例 voidmain inta 3 m 0 x15a k 346 printf d u x o a a a a printf d x n m k 结果 3 65533 fffd 177775 346 fea6 65536 3 10十进制无符号 fffd 16十六进制 177775 8八进制 15a 16 346 10 与a转换相同 o x 或 X u按unsigned型输出 且不带前导符号 o 和 x s对应的输出项为字符串或字符数组例 voidmain charname Jone printf s s c n Whois name 结果 WhoisJone 字符串 字符 f e 或 E g 或 G 对应float型输出项 lf le 或 E lg 或 G 对应double型输出项 f 小数形式 6位小数 e 或 E 标准化指数形式 尾数的小数点前有一位且只有一位非零 5位小数 g 或 G 让系统自动选取 f 去掉小数点后多余的零 或 e中较短者 6位有效例 main floatf f 123 46 printf f e g n f f f 结果 123 459999 1 23460e 02 123 46数字 2 在格式说明基本形式中加附加格式说明符 若输出项为long型或unsignedlong型 则用下面格式说明控制 ld lx lo lu若输出项为short型或short型 则用下面格式说明控制 hd hx ho hu 在格式说明 后加一个整数m 指定宽度为 m 位 若实际需要的位数 m 位 则此m失效若m为无符号整数 则左边填空格若m为负整数 则右边填空格若m为带正号整数 则左边填空格且所输出的数据前有正负号 例 voidmain inta 12 longb 12345678 printf 6d n a printf 6d n a printf 6d n a printf 12ld n b printf 8s n book 字符串 负数本身肯定带负符号 带正号必须这样写 在 s中间插入m n m含义同 此m可省略 若省略则m n n为无符号整数 表示只输出对应字符串中左边n个字符 例 voidmain printf 8 3s n book printf 3s n book 输出 宽度就是3 在 f e 或 E g 或 G 中间插入m n m含义同 此m可省略 若省略则m n n为无符号整数 表示n位小数 其余四舍五例8 printf a 10 3lf n 123 45678 输出 注 若 与 中m为正整数且m前加0 则输出的左边空位填0例9 printf a 010 3lf n 123 45678 输出 四舍五入 在 x o lx lo的 后加 输出带前导的八进制或十六进制数据例10 voidmain intx 7281 printf o o n x x printf x x n x x 输出 16161 0161611c71 0 x1c71注 格式控制中 连续的两个 表示一个 不是格式说明符 16161 8 1c71 16 4 5putchar函数 字符输出函数 格式 putchar 一个整形或字符型输出项 功能 同printf c 输出项 在显示器上输出单个字符 例如 putchar A 输出大写字母A putchar x 输出字符变量x的值 putchar 101 也是输出字符A putchar n 换行 对控制字符则执行控制功能 不在屏幕上显示 使用本函数前必须要用文件包含命令 include或 include stdio h 例 includevoidmain charc A putchar 66 putchar 53 putchar c 2 putchar n putchar 7 putchar n 结果 B C7 B C 7 换行 换行 4 6scanf函数 格式输入函数 4 6 1格式scanf 格式控制 输入项地址表列 地址 1 变量名前加 变量在内存中的地址 2 数组名 数组在内存中的首地址 例如 a b分别表示变量a和变量b的地址 这个地址就是编译系统在内存中给a b变量分配的地址 一个或多个地址组成 若多个之间用逗号隔开 变量的地址和变量值的关系如下 1 在赋值表达式中给变量赋值 如 a 5672 scanf函数在本质上也是给变量赋值 但要求写变量的地址 如 scanf d 3 这两者在形式上是不同的 是一个取地址运算符 a是一个表达式 其功能是求变量的地址 变量名 不能写地址 变量的值 变量a的地址 4 6 2功能 系统切换到用户屏 要求并等待用户按格式控制形式和顺序输入要赋给输入项的常量 按回车键结束 系统立即把所输入的赋给相应输入项 它是一个标准库函数 与printf函数相同 使用scanf函数之前不必包含stdio h文件 4 6 3注意 格式控制字符串的作用与printf函数相同 但不能显示非格式字符串 也就是不能显示提示字符串 地址表列中给出各变量的地址 地址是由地址运算符 后跟变量名组成的 不能是符号常量 不加单撇号或双撇号 直接输入 一定要有 例 voidmain inta b sum scanf d d 执行程序时应输入123 456 如果要输入a 123 b 456 没有输入任何数据直接回车 结果出不来 上机要带作业及数据来 4 6 4使用scanf函数还必须注意以下几点 1 scanf函数中没有精度控制 如 scanf 5 2f 是非法的 应改为scnaf d a 3 在输入多个数值数据时 若格式控制串中没有非格式字符作输入数据之间的间隔则可用空格 TAB或回车作间隔 C编译在碰到这些符号即认为该数据结束 4 在输入字符数据时 若格式控制串中无非格式字符 则认为所有输入的字符均为有效字符 如 scanf c c c 输入时数据之间可加空格 空格 输入多少个无关 5 如果格式控制串中有非格式字符则输入时也要输入该非格式字符 scanf d d d 则输入应为 非格式符 作间隔符 a b c 为间隔符 6 如输入的数据与输出的类型不一致 scanf a d b d c d 应输入 scanf d d n 应输入 按格式控制符输入 数据分割 多少个无关 scanf d 应输入 或输入 多少个无关 多少个无关 voidmain chara b scanf c c 输入 显示 输入 显示 4 6 5说明 1 格式控制中不包含附加格式说明符m n 一般不包含转义字符 n可以 2 double型输入项必须使用如下格式说明 lf le lg 输出一样 3 在格式说明 后插入 表示跳过它所指定的列数 如 scanf d 5 d n 输入 结果 用 f只能输出6位小数 输出10位用 20 10lf a值 123b值 456 如果只有 d则表示本输入项再度入后不赋给相应的变量 voidmain inta scanf d 输入 1234567890显示 1234567890 4 在格式说明基本形式中加附加格式说明符 l 若输出项为long型或unsignedlong型 则必须用下面格式说明控制 ld lx lo lu h 若输出项为short型或unsignedshort型 则可用下面格式说明控制 hd hx ho hu 4 7getchar函数 字符输入函数 形式 getchar 功能 c getchar 同scanf c 注意 需在文件开头

温馨提示

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

评论

0/150

提交评论