收藏 分享(赏)

第02章 简单C语句.ppt

上传人:scg750829 文档编号:12246176 上传时间:2021-12-06 格式:PPT 页数:21 大小:275.50KB
下载 相关 举报
第02章 简单C语句.ppt_第1页
第1页 / 共21页
第02章 简单C语句.ppt_第2页
第2页 / 共21页
第02章 简单C语句.ppt_第3页
第3页 / 共21页
第02章 简单C语句.ppt_第4页
第4页 / 共21页
第02章 简单C语句.ppt_第5页
第5页 / 共21页
点击查看更多>>
资源描述

1、C程序由多个函数构成 各函数体都是由完成特定功能的语句构成 C语言的语句经编译后产生若干条机器指令 以完成特定的操作任务 本章重点介绍C语言语句的基础知识 介绍基本输入输出功能的实现 2 1C语句概述 C语句是函数体的主要构成部分 每条语句都会执行特定的操作 而变量的定义和编译预处理指令并不是语句 C语句可以划分为5类 表达式语句 控制语句 函数调用语句 复合语句 空语句 2 1 1表达式语句 通过运算符将操作对象连接起来构成表达式 在表达式之后加一个分号 便构成表达式语句 最常见的表达式语句是由赋值表达式构成的赋值语句 例如 c a b 是一个赋值表达式 而 c a b 就是一个赋值语句 除

2、了赋值语句外 任何表达式加上分号后都可以构成语句 如 a b 也是一个语句 作用是完成a b的运算 对计算结果不作任何处理 所以这样的语句通常没有实际意义 2 1 2控制语句 C语言中专门提供了9种控制语句 通过它们 可以方便地控制程序的流程 实现任何复杂的逻辑 它们分别是 if else for while do while continuebreakswitchgotoreturn 2 1 3函数调用语句 由一次函数调用加上分号便构成函数调用语句 它实际上是表达式语句的一种 因为函数调用也是表达式的一种 例如 调用printf库函数进行屏幕输出 printf HelloWorld n 2

3、1 4复合语句 用 和 括起来的若干条语句称为复合语句 也称为块语句 复合语句有一些特殊的地方 比如可以在复合语句中定义仅在复合语句范围内有效的局部变量 具体概念请参考第五章 示例2 1展示了复合语句的用法 2 1 4复合语句 示例2 1展示了复合语句的用法 例2 1 复合语句 includevoidmain inta 5 inta 2 printf Intheblock a d n a printf Outtheblock a d n a 程序的运行结果为 Intheblock a 2Outtheblock a 5程序中 复合语句中的变量a和外面的a虽然同名 但代表不同的变量 程序加载时 在

4、内存的不同的地方开辟各自的存储空间 而程序在执行时是通过存储单元的相对位置 相对位置在编译时由编译器确定 来访问的 所以不会出现混乱 2 1 5空语句 在C语句中 只有一个分号也可以作为一条语句 称为空语句 空语句什么也不执行 只是用来表示语句的存在 C语言允许在一行写多条语句 也允许将一条语句拆开写在多行上 书写格式无固定要求 但为了提高程序的可读性和可维护性 应注意养成良好的编码风格 尽量一行只写一条语句 复合语句要采用合理的缩进 2 2输入输出的概念 许多高级语言都有专门的用于输入输出的语句 输出用于向外部输出设备 如显示器 打印机 磁盘等 输出数据 输入用于从外部设备 如键盘 磁盘 光

5、盘等 输入数据 C语言中并没有输入输出的语句 输入和输出是通过调用编译系统提供的库函数实现 如前面的示例中用到的库函数格式化输出printf用于实现向显示器输出 格式化输入scanf用于从键盘输入数据 2 2输入输出的概念 严格来讲 printf scanf并不是C语言的组成部分 C语言主要包含各种运算符 32个关键词以及相关的语言规范 而库函数是C语言之外的又和C有着紧密关系的东西 学习C语言 除了掌握基本的语言规范外 掌握各种库函数的用法也是必须的 支持C语言的编译器软件非常多 每个软件厂商都开发了各自版本的C函数库 这些函数库已经编译成目标文件作为编译系统的一部分 在编译器编译源代码时

6、会将这些目标文件链接进最终的可执行文件中 不同系统的所提供的库函数数量 名称和功能是有差别的 但ANSIC规定了一组标准输入输出库函数 要求每个系统都要实现它 如printf scanf等 使用这些标准的库函数 需要包含stdio h头文件 2 3基本输入输出函数 标准输入输出是以标准输入输出设备为输入输出对象 默认的标准输入设备指的是键盘 默认的标准输出设备指的显示器屏幕 其中printf scanf putchar getchar puts和gets是最基本的几对输入输出函数 本节重点讨论简单格式化输入输出的应用 其它的几个函数在后续章节中将陆续介绍 2 3 1格式化输出库函数 print

7、f printf可以向标准输出设备输出任意类型 任意数量的数据 是C语言中应用非常广泛的格式化输出函数 一般调用格式为 输出时 格式符将被对应输出值取代 printf 格式控制字符串 输出值列表 1 整数的输出输出整数最简单方法是 d格式符 将按十进制整数的实际位数输出 例如 a为整型 值为125 则printf a d n a 的输出结果为 a 125如要指定输出数据宽度 可以采用 md的格式符 m限定输出的宽度 若数据宽度小于m则补足空格 即在左侧补空格 相当于右对齐 md在右侧补空格 左对齐 若数据宽度大于m则按数据实际长度输出 例如 a 123 b 123456 则printf 5d

8、5d a b 的输出结果为 123 123456结果中的 表示空格字符 对于long型的整数 应该用 ld进行输出 也可以限定输出宽度 mld 对于整数 还可以按不同进制的形式进行输出 采用 o格式符 将按无符号八进制形式输出 采用 x格式符 将按无符号十六进制输出 a f采用小写字母 采用 X格式符 将按无符号十六进制输出 A F采用大写字母 采用 u格式符 将按无符号十进制整数形式输出 2 3 1格式化输出库函数 printf 2 实型数的输出输出实型数的最基本格式符为 f 如果不加任何限定 以小数形式输出 默认按6位小数输出 例如 a的值为1 2 则printf a f n a 的输出结

9、果为 a 1 200000如果要指定输出的小数位数 可以采用 m nf格式符 m用于限定总的输出宽度 包含小数点 其中有n位小数 如果实际宽度小于m 左侧补空格 右对齐 如果实际长度大于m 则按实际长度输出 采用 m nf格式符与 m nf类似 只是当实际输出宽度小于m时 右侧补空格 左对齐 例如 设a为浮点数 变量值为123 456则printf f 4 2f 10 2f 10 2f n f f f f 的输出结果为 123 456001 123 46 123 46 123 46 双精度数也是用 f进行输出 2 3 1格式化输出库函数 printf 需要强调一点 单精度数的有效位数一般为7位

10、 包括整数部分 用 f等格式输出时 只是指定了输出的小数位数 所输出的不一定都是有效数字 比如刚才所输出的123 456001中最后的001并不是有效数字 示例2 2进一步说明了这一问题 例2 2 有效位数与实际输出的小数位数程序的运行结果为 3333 332886双精度数也是通过 f格式符进行输出 也可以通过 m nf方式指定输出的小数位数 它的有效位数一般为16位 输出实型数时 还可以用指数形式进行输出 需要使用 e或 E格式符 使用 e格式符 不同系统的实际输出效果略有不同 对于TurboC 给定尾数的小数部分占6位 尾数的小数点之前有1位整数 指数部分占4位 其中e算1位 符号算1位

11、指数部分默认占2位 但可以超过2位 例如printf e n 123 456 的输出结果为 1 234560e 02 E的用法与 e类似 只是输出时表示指数的小写e变为大写的E 2 3 1格式化输出库函数 printf 3 其它格式输出 c格式符用于输出一个字符 s格式符用于输出一个字符串 对字符串 辅助格式m n中的m仍表示输出的最小宽度 但n表示截取字符串中的前n个字符输出 具体内容参见第8章的说明 如果要输出 号本身 需要使用两个 进行输出 比如printf f n 1 0 2 的输出结果为 0 500000 2 3 2格式输入库函数 scanf scanf用于从标准输入设备读取数据 可

12、以读取任意类型的数据 是C语言中应用非常广泛的输入函数 scanf的一般调用形式为 scanf 格式控制字符串 接收数据的变量地址列表 格式控制字符串含义与printf中的格式控制字符串类似 得到变量地址的基本方法就是运用取地址运算符对应输入1234 56 将把12赋值给变量i 34 56赋值给变量f实际键入时 数据项之间用空格分隔 也可用Tab键或回车键分隔 输入完成后按回车键 2 3 2格式输入库函数 scanf 1 输入整型数据可以运用 d输入带符号十进制整数 使用 u输入无符号十进制整数 使用 o输入无符号八进制整数 使用 x或 X输入无符号十六进制整数 对long型整数 应用 ld

13、lu lo lx等形式 例如scanf d ld 当用户输入 123456 系统自动将123赋值给a 将456赋值给b 但这种用法并不常用 2 3 2格式输入库函数 scanf 2 输入实型数据可以通过 f e E输入实型数据 这三个格式控制符的效果完全等价 用户输入时可以用小数形式输入 也可以用指数形式输入 使用 f等输入实型数据数据时 不允许通过 m nf的形式限定小数位数或有效位数 诸如scanf 7 2f 是不合法的 2 3 2格式输入库函数 scanf 3 使用scanf时的注意事项避免在格式控制字符串中加入额外字符 如果加入了 用户在输入数据时必须原封不动地输入这些字符 例2 3演

14、示了不同情况下正确的输入方式 例2 3 各种情况下的输入方式scanf函数调用中 格式控制字符串后面的内容为接收数值的地址列表 所以每个变量名之前必须有取地址符 在scanf的格式控制字符串中应避免使用 n转义字符 对整型变量进行输入时采用 d格式符 如果输入的数值超过 32768 32767所表示范围 会产生溢出错误 应用 ld 使用 c格式符可每次得到一字符 需要注意所输入的任意字符包括空格 回车等 都作为有效字符赋值给接收的变量 输入数值时 要注意各种可能的结束符 第一种最常见的数值结束标记为空格 Tab键 回车等分隔符 第二种可能的结束标记是遇到无法识别的符号 第三种为使用 md格式符

15、指定截取宽度 而读取的数据宽度刚好达到m的情况 下面的示例演示这三种情况 例2 4 输入数值的结束符 2 3 3字符输入输出函数 对单个字符输入输出还可采用getchar和putchar 对字符串的输入输出还可采用gets和puts 详细说明请参见第八章 1 getchar函数 字符输入函数getchar的功能从键盘输入一个字符 通常将输入的字符赋值给一个字符变量 例如 charc c getchar 需要注意的是 getchar每次只能接收单个字符 回车后开始接收字符 如果一次输入多个字符 只接收第一个字符 2 putchar函数 字符输出函数putchar函数每次可向显示器上输出一个字符 只能接收字符变量 字符常量作为参数并进行输出 形式 putchar c 本章小结 C语言有5种基本类型的语句 它们是构成函数体的基础 赋值表达式语句是最为常见的语句 控制语句控制程序的流程 函数调用是C语言的重要功能扩充 C语言的输入输出是通过库函数类实现的 标准库提供了一组输入 输出函数 scanf printf用于格式输入输出 getchar putchar用于单个字符的输入输出 scanf和printf的数据格式控制比较复杂 初学者非常容易出错 本章只是进行了简要介绍 需要读者在实践中不断摸索总结 去慢慢体会 复习题

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报