《谭浩强C程序设计(第三版)课件_第4章_简单程序.ppt》由会员分享,可在线阅读,更多相关《谭浩强C程序设计(第三版)课件_第4章_简单程序.ppt(47页珍藏版)》请在金锄头文库上搜索。
1、第四章 最简单的c程序设计 主要内容 4 1C语句概述4 2赋值语句4 3数据输入输出的概念及在c语言中的实现4 4字符数据的输入输出4 5格式输入与输出4 6顺序结构程序设计举例 4 1C语句概述 4 1C语句概述 一个c程序可以有若干个源程序文件组成一个源文件可以有若干个函数和预处理命令以及全局变量声明部分组成一个函数有函数首部和函数体组成函数体由数据声明和执行语句组成C语句分为 4 1C语句概述 一 控制语句完成一定的控制功能1if else条件语句6break间断语句2for 循环语句7switch 开关语句3while 循环语句8goto转向语句4do while 循环语句9retu
2、rn返回语句5continue继续语句 4 1C语句概述 4 1C语句概述 4 1C语句概述 4 1C语句概述 4 2赋值语句 赋值语句是由赋值表达式加上一个分号构成例 a 100赋值表达式a 100 赋值语句条件中不能含有赋值符号 但是赋值表达式可以包含于条件表达式中例 if a b t a 错误if a b 0 t a 正确 4 2赋值语句 1 C语言中的赋值号 是一个运算符 在其他大多数语言中赋值号不是运算符 2 其他大多数高级语言没有 赋值表达式 这一概念 问题 c语言中的赋值语句于其他高级语言的赋值语句有什么不同点 4 3数据输入输出的概念及在C语言中的实现 一 所谓输入输出是以计算
3、机主机为主体而言的输出 从计算机向外部输出设备 显示器 打印机 输出数据输入 从输入设备 键盘 鼠标 扫描仪 向计算机输入数据 二 C语言本身不提供输入输出语句 输入和输出操作是由C函数库中的函数来实现的例如 字符输入函数 getchar字符输出函数 putchar格式输入函数 scanf格式输出函数 printf字符串输入函数 gets字数穿输出函数 puts 4 3数据输入输出的概念及在C语言中的实现 三 在使用系统库函数时 要用预编译命令 include 将有关的 头文件 包括到用户源文件中 例如 在调用标准输入输出库函数时 文件开头应该有 include stdio h 或 inclu
4、de 头文件 4 3数据输入输出的概念及在C语言中的实现 4 4字符数据的输入输出 一 字符输出函数一般形式 putchar c 函数作用 向终端输出一个字符 字符型变量整型变量 4 4字符数据的输入输出 例4 1输出单个字符 includevoidmain chara b c a B b O c Y putchar a putchar b putchar c putchar n 运行结果 BOY putchar a putchar n putchar b putchar n putchar c putchar n 运行结果 BOY 4 4字符数据的输入输出 二 字符输入函数一般形式 getc
5、har 函数作用 从终端 或系统隐含指定的输入设备 输入一个字符 函数值 从输入设备得到的字符 4 4字符数据的输入输出 例4 2输入单个字符 includevoidmain charc c getchar putchar c putchar n 4 5格式输入与输出 一 格式输出函数函数作用 向终端 或系统隐含指定的输出设备 输出若干个任意类型的数据 一般格式 printf 格式控制 输出表列 d 以带符号的十进制形式输出整数 o 以八进制无符号形式输出整数 x 以十六进制无符号形式输出整数Tobecontinued 4 5格式输入与输出 u 以无符号十进制形式输出整数 c 以字符形式输出
6、只输出一个字符 s 输出字符串 f 以小数形式输出单 双精度数 隐含输出六位小数 e 以指数形式输出实数 g 选用 f或 e格式中输出宽度较短的一种格式 不输出无意义的0 4 5格式输入与输出 几种常见的格式符的修饰符 L 用于长整型整数 可加在格式符d o x u前面M 代表一个正整数 数据最小宽度N 代表一个正整数 对实数 表示输出n位小数 对字符串 表示截取的字符个数 输出的数字或字符在域内向左靠 4 5格式输入与输出 格式符 用来输出十进制整数 几种用法 按十进制整型数据的实际长度输出 为指定的输出字段的宽度 如果数据的位数小于 则左端补以空格 若大于 则按实际位数输出 例 若 则输出
7、结果为 输出长整型数据 例 定义a为长整型变量 4 5格式输入与输出 2 格式符 以八进制整数形式输出 输出的数值不带符号 符号位也一起作为八进制数的一部分输出 例 inta 1 printf d o a a 在内存单元中的存放形式 以补码形式存放 如下 1111111111111111输出为 不会输出带负号的八进制整数 对长整数 型 可以用 格式输出 还可以指定字段宽度 例 输出为 177777 数字前有2个空格 4 5格式输入与输出 3 格式符 以十六进制数形式输出整数 同样不会出现负的十六进制数 例 输出结果为 ffff 可以用 输出长整型数 也可以指定输出字段的宽度例 4 5格式输入与
8、输出 4 格式符 用来输出 型数据 一个有符号整数 型 也可以用 格式输出 一个 型数据也可以用 格式输出 型数据也可用 或 格式输出 5 格式符 用来输出一个字符 如 d d 输出字符 一个整数 只要它的值在 范围内 可以用 使之按字符形式输出 在输出前 系统会将该整数作为ASCII码转换成相应的字符 一个字符数据也可以用整数形式输出 4 5格式输入与输出 例4 3无符号数据的输出 includevoidmain unsignedinta 65535 intb 2 printf a d o x u n a a a a printf b d o x u n b b b b 运行结果 a 1 1
9、77777 ffff 65535b 2 177776 fffe 65534 4 5格式输入与输出 例4 4字符数据的输出 includevoidmain charc a inti 97 printf c d n c c printf c d n i i 运行结果 a 97a 97 4 5格式输入与输出 6 s格式符输出字符串 例如 输出字符串 不包括双引号 ms 输出的字符串占m列 若串长大于m 则全部输出 若串长小于m 则左补空格 ms 若串长小于m 字符串向左靠 右补空格 m ns 输出占m列 只取字符串中左端n个字符 输出在m列的右侧 左补空格 m ns n个字符输出在m列的左侧 右补空
10、格 若n m m自动取n值 4 5格式输入与输出 例4 5字符串的输出 includevoidmain printf 3s 7 2s 4s 5 3s n CHINA CHINA CHINA CHINA 4 5格式输入与输出 7 格式符 用来以小数形式输出实数 包括单双精度 有以下几种用法 不指定字段宽度 由系统自动指定字段宽度 使整数部分全部输出 并输出 位小数 应当注意 在输出的数字中并非全部数字都是有效数字 单精度实数的有效位数一般为 位 指定输出的数据共占 列 其中有 位小数 如果数值长度小于 则左端补空格 与 基本相同 只是使输出的数值向左端靠 右端补空格 4 5格式输入与输出 例4
11、6输出实数时的有效位数 includevoid 运行结果 4 5格式输入与输出 例4 7输出双精度数时的有效位数 includevoid x 1111111111111 111111111 y 2222222222222 222222222 printf f x y 运行结果 3333333333333 333010 4 5格式输入与输出 例4 8输出实数时指定小数位数 includevoid floatf 123 456 printf f 10f 10 2f 2f 10 2f n f f f f f 运行结果 123 455994123 455994123 46123 46123 46 4
12、5格式输入与输出 8 格式符 以指数形式输出实数 可用以下形式 不指定输出数据所占的宽度和数字部分的小数位数 例 输出 6列5列所输出的实数共占 列宽度 注 不同系统的规定略有不同 4 5格式输入与输出 m ne和 m ne 和 字符的含义与前相同 此处 指拟输出的数据的小数部分 又称尾数 的小数位数 若 则 printf e 10e 10 2e 2e 10 2e f f f f f 输出如下 1 234560e 0021 234560e 0021 23e 0021 23e 00213列13列10列9列1 23e 00210列 说明 未指定 自动使 超过给定的 列 乃突破 列的限制 按实际长度
13、输出 第3个数据共占 列 小数部分占 列 只指定 未指定 自动使 等于数据应占的长度 第5个数据应占 列 数值只有 列 由于是 数值向左靠 右补一个空格 注 有的C系统的输出格式与此略有不同 4 5格式输入与输出 9 格式符 用来输出实数 它根据数值的大小 自动选 格式或 格式 选择输出时占宽度较小的一种 且不输出无意义的零 例 若 则 输出如下 123 4680001 234680e 002123 46810列13列10列 说明 用 格式输出占 列 用 格式输出占 列 用 格式时 自动从上面两种格式中选择短者 今以 格式为短 故占 列 并按 格式用小数形式输出 最后3个小数位为无意义的 不输
14、出 因此输出123 468 然后右补3个空格 格式用得较少 4 5格式输入与输出 说明 除了X E G外 其他各式字符必须用小写 可以在printf函数中的 格式控制 字符串中包含转义字符 一个格式说明必须以 开头 以9个格式字符之一为结束 中间可以插入附加格式字符 想输出 则应该在格式控制字符串中用连续两个 表示 4 5格式输入与输出 一 格式输入函数函数作用 按照变量在内存的地址将变量值存进去 一般格式 scanf 格式控制 地址表列 同printf函数 是由若干个地址组成的表列 可以是变量的地址 或字符串的首地址 4 5格式输入与输出 例4 9用scanf函数输入数据 includevo
15、idmain inta b c scanf d d d a在内存中的地址 是地址运算符 4 5格式输入与输出 说明 对unsigned型变量所需要的数据 可以用 u d或 o x格式输入 可以指定输入数据所占的列数 系统自动按它截取所需数据 如果在 后有一个 附加说明符 表示跳过它指定的列数 输入数据时不能规定精度 4 5格式输入与输出 使用 函数时应注意的问题 1 函数中的 格式控制 后面应当是变量地址 而不应是变量名 2 如果在 格式控制 字符串中除了格式说明以外还有其他字符 则在输入数据时在对应位置应输入与这些字符相同的字符 3 在用 格式输入字符时 空格字符和 转义字符 都作为有效字符
16、输入 4 在输入数据时 遇以下情况时认为该数据结束 遇空格 或按 回车 或 跳格 Tab 键 按指定的宽度结束 如 只取 列 遇非法输入 4 6顺序结构程序设计举例 例4 10输入三角形的三边长 求三角形面积 假设 三个边长a b c能构成三角形 已知面积公式 area s a b c 0 5 4 6顺序结构程序设计举例 include includevoidmain floata b c s area scanf f f f 数学函数库因为要用到其中的sqrt函数 4 6顺序结构程序设计举例 例4 11从键盘输入一个大写字母 要求改用小写字母输出 void 运行情况 4 6顺序结构程序设计举例 例4 12求 x2 方程的根 a b c由键盘输入 设 众所周知 一元二次方程式的根为x1 x2 可以将上面的分式分为两项 p q x1 p q x2 p q 4 6顺序结构程序设计举例 include includevoidmain floata b c disc x1 x2 p q scanf a f b f c f 运行情况 感谢亲观看此幻灯片 此课件部分内容来源于网络 如有侵权请及时联