第04章顺序结构程序设计_第1页
第04章顺序结构程序设计_第2页
第04章顺序结构程序设计_第3页
第04章顺序结构程序设计_第4页
第04章顺序结构程序设计_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

第四章顺序程序设计 表达式语句 表达式 简单语句函数调用语句 函数名 参数表 空语句 C语言数据操作复合语句 一条或多条语句 语句条件语句 if语句 switch语句 结构化语句while语句循环语句do while语句for语句流程控制语句break语句限定转向语句continue语句非结构化语句return语句非限定转向语句 goto语句 C语言的语句分类 简单语句 1 表达式语句 由表达式组成的语句称为表达式语句 语句格式 表达式 分号 是语句结束的标志 功能 计算表达式或改变变量的值 分类 运算符表达式语句 赋值语句 运算符表达式语句 运算符表达式后跟一个分号组成 例 5 i 语句的功能是 变量i的值增1 a 3 b a 2 c a 1 由三个赋值语句组成的逗号表达式语句 1 a b 算术表达式语句 计算a与b之和 赋值语句 赋值表达式后跟一个分号组成 2 例 x y z 计算y z的和并赋值给变量x x 2 y 3 2 函数调用语句 由函数调用表达式后跟一个分号组成 格式 函数名 参数列表 分类 标准库函数 用户定义函数 标准库函数调用原则 1 要在程序中包含相应的头文件 2 调用的一般形式 函数名 参数列表 标准函数调用的目的 1 如数学函数 为了得到函数的返回值 这类函数的调用一般出现在表达式中 作为表达式语句的一部分 一般不作为函数调用语句 2 为了完成某项任务 而不是为了得到返回值 在表达式中调用函数 实际上是转去执行一段预先设计好的程序 求出结果后返回调用点 所以函数的值又叫函数的返回值 调用这类函数时 就直接用函数调用语句 例 scanf f printf f x 复合语句 一对大括号 包围若干条语句组成 格式 数据说明部分 执行语句部分 注意 1 在复合语句中的 内部数据描述语句 中定义的变量 是局部变量 仅在复合语句中有效 2 复合语句结束的 之后 不需要分号 3 复合语句可以出现在任何数据操作语句可以出现的地方 例 include stdio h voidmain inta 11 b 21 c 31 printf a d tb d tc d n a b c intb 22 floatc 3 3 printf a d tb d tc f n a b c a b printf a d tb d tc d n a b c 程序运行结果a 11b 21c 31a 11b 22c 3 300000a 22b 21c 31 空语句 空语句就是一个分号 格式 功能 执行该语句不做任何操作 C语言提供三种结构化语句来控制程序的执行流程 顺序结构 选择结构 循环结构 一种按书写顺序执行的结构 根据运行时的情况自动选择要执行的语句 根据情况自动重复执行有关语句 程序的三种基本结构 顺序结构即按照语句书写顺序执行的程序结构 顺序结构 顺序结构 选择结构 选择结构又称为分支结构 是指有条件地选择要执行的程序段 选择结构示意图 循环结构 当条件成立 为 真 或非0 时 反复执行程序段A 否则不执行程序段A 1 当型循环结构 先执行程序段A 再判断条件是否为 真 非0 若为 真 非0 再执行A 如此反复 直到条件为 假 0 为止 2 直到型循环结构 4 3输入与输出语句 C语言本身不提供输入 输出语句 C语言的输入 输出功能由C语言的标准I O库函数提供 C语言的输入 输出库函数名称不是保留字 或称关键字 如printf scanf 1 字符输入函数 1 函数原型 intgetchar void 函数返回值类型 函数的名称 无参数 2 函数功能 从标准输入设备 一般为键盘 读入一个字符 返回该字符的ASCII码值 并且将敲入的字符 回显 到屏幕上 4 4 1字符输入与输出函数 例3 3 include 说明函数getchar的原型包含在哪个文件中 voidmain inta charb a getchar b getchar printf a c ta d tb c tb d n a a b b 从键盘输入字符 该字符的ASCII编码值赋给a 程序运行情况如下 13 a 1a 49b 3b 51 注意 调用函数getchar时 程序执行被中断 等待用户从键盘输入数据 当用户键入字符并敲回车键以后 程序继续运行 若用户输入字符后未按回车键 则键入的内容一直保留在键盘缓冲区中 只有用户键入回车键后 字符输入函数getchar才进行处理 函数getchar将回车键作为一个字符读入 如果程序中有两个以上函数getchar时 应该一次性输入所需字符 最后再按回车键 如上例所示 无论输入的是英文字母或标点符号还是数字 都是作为字符输入 1 函数原型 intputchar int 函数返回值类型 函数的名称 函数的参数 2 函数功能 向标准输出设备 一般为显示器 输出一个字符 并返回输出字符的ASCII码值 2 字符输出函数 例3 4 include 程序运行结果为 ABBC main inta 65 charb B putchar a putchar 65 1 putchar b putchar B 1 包含函数putchar的头文件 4 5格式输出函数 1 函数原型 intprintf char format argument 2 函数功能 函数printf将一组参数 由format给定的格式规定输出格式 把数据格式化并且输出到标准输出设备 若出错 则返回负数 可以有多个参数 函数调用的一般形式 printf 格式控制字符串 输出项列表 必须用英文的双引号括起来 作用是控制输出项的格式和输出一些提示信息 要输出的表达式 常量 变量 运算符表达式 函数返回值等 每个输出项之间用逗号 分隔 3 格式控制字符 1 组成 普通字符 转义字符 格式说明 普通字符 按原样输出 主要用于输出提示信息 转义字符 指明特定的操作 格式说明 由 和 格式字符串 组成 格式字符串 它表示按规定的格式输出数据 例3 5 include stdio h voidmain inta 97 b 98 printf 1 d d n a b 普通字符 原样输出 printf 2 d d n a b a b以十进制整数形式输出 printf 3 c c n a b a b以字符形式输出 printf 4 a d b d a b 程序运行结果为 1 97982 87 983 a b4 a 97 b 98 2 格式说明的形式 flags width prec F N h L type 方括号表示该项可有可无 可选的标志字符 左对齐输出 缺省为右对齐输出 正数输出加号 负数输出减号 空格 正数输出空格代替加号 负数输出减号 如 d d d 十进制整数 指定输出宽度 指定宽度 实际宽度 补空格 指定宽度 实际宽度 按实际输出 不指定宽度 按实际输出 如 10d 输出精度指示符 对整数 表示至少要输出的数字个数 不足补数字 多出则原样输出 对实数 表示小数点后至多输出的数字个数 不足补数字 多出则舍入处理 对字符串 表示最多输出的字符个数 不足补空格 多出则丢弃 输出长度修饰符 F 输出远指针存放的地址 N 输出近指针存放的地址 H或h 输出短整型数据的值 L或l 输出长整型或双精度值 格式字符 用来进行格式转换 重点掌握 格式字符 type 一鉴表 例如 printf d n 100 printf 5d n 100 printf 8d n 8d 100 100 100 例如 printf o n 1 printf x X n 1 printf u d 1 printf 4c c n A A printf 8s 8 2s Name Name 例如 printf f n 10 3f n 100 7654321 100 7654321 printf e n 10 9e 100 7654321 100 7654321 例如 include stdio h voidmain inti 8 printf d t d t d n i i i 例3 6 输出结果为 768 注意 使用函数printf时要注意一个问题 那就是输出表列中的求值顺序 不同的编译系统不一定相同 可以从左到右 也可从右到左 TurboC是按从右到左进行的 include stdio h voidmain inta 3 b 4 printf d n a b b a 3 输出序列是一个逗号表达式 printf d n a b b a 3 输出第一个参数变量a的值 例3 7 输出结果为 74 4 5 2格式输入函数 1 函数原型 intscanf char format argument 2 函数功能 按规定格式从键盘输入若干任何类型的数据给argument所指的单元 返回读入并赋给argument的数据个数 遇文件结束返回EOF 出错返回0 可以有多个参数 3 函数调用的一般形式 scanf 格式控制字符串 地址列表 必须用英文的双引号括起来 由普通字符和格式说明字符组成 由若干个地址组成的列表 变量的地址 字符串的首地址 指针变量等 以逗号 间隔 4 格式控制字符 1 组成 普通字符 格式说明 普通字符 格式说明 键盘输入时 要按原样输入 一般起分隔或提示作用 但分隔或提示作用若由用户输入 就失去了本来的意义 一般采用printf来实现 width F N h l type 2 格式说明的形式 width F N h l type 输入赋值抑制字符 表示该格式说明要求输入数据 但不赋值 即在地址列表中没有对应有地址项 宽度指示符 表示该输入项最多可输入的字符个数 如遇空格或不可转换的字符 读入的字符将减少 地址大小修饰符 F 表示地址列表项中对应的地址为远指针 N 表示地址列表项中对应的地址为近指针 数据输入类型 h 短整型l 长整型或双精度类型 必需的格式字符 表示输入数据转换后的数据类型 格式字符 type 一鉴表 scanf i d i printf i d i scanf d d d a b c 取地址运算符 表示将所输入后的数据放入对应地址的存储单元中 scanf d d d a b c scanf d d d a b 例3 8 include stdio h voidmain inta b printf inputa b scanf d d inputa b 7 8 a 7 b 8 4 注意事项 scanf 的格式控制字符串中没有转义字符 如scanf d n a 是错误的 scanf 的格式控制字符串中的普通字符不是用来显示的 而是输入时要求照普通字符输入的 scanf 中参数的第二部分一定是地址列表 不能是表达式 4 6顺序程序设计举例 例3 10 输入一个华氏温度 输出对应的摄氏温度 输出取1位小数 转换公式为 include stdio h voidmain floatc f scanf f 注意数学表达式到C语言表达式的转换 例1 输入两个整数a b 将它们交换

温馨提示

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

评论

0/150

提交评论