C语言教程第3章 简单的C程序设计.ppt

上传人:max****ui 文档编号:8614485 上传时间:2020-03-30 格式:PPT 页数:50 大小:1.28MB
返回 下载 相关 举报
C语言教程第3章 简单的C程序设计.ppt_第1页
第1页 / 共50页
C语言教程第3章 简单的C程序设计.ppt_第2页
第2页 / 共50页
C语言教程第3章 简单的C程序设计.ppt_第3页
第3页 / 共50页
点击查看更多>>
资源描述
第3章简单的C程序设计 C语言大学实用教程 3 1C语句分类3 2表达式语句3 3复合语句和空语句的作用3 4基本输入 输出操作的实现 2 3 1C语句分类 C语句 以 作分隔符 编译后产生机器指令 C语句分类表达式语句 表达式加分号构成 空语句 程序控制语句 9种 如total total limit a 3 func printf Hello world n 变量声明语句 intx y 3 复合语句 用 括起来的一组语句一般形式 数据说明部分 执行语句部分 说明 后不加分号语法上和单一语句相同复合语句可嵌套例 z x y t z 100 pritnf f t 4 3 2表达式语句 顺序结构程序的基本操作 如何在程序中给变量赋值 赋值表达式语句赋值表达式 Total m pow 1 r n 如何进行数据的输入输出 输入 从标准输入设备上输入数据到计算机内存输出 将计算机内存中的数据送到标准输出设备C语言中输入输出操作通过调用标准库函数来实现 include stdio h 在当前目录和TC指定的目录中找该文件 include在由TC指定的文件目录中找该文件 5 3 3复合语句和空语句的作用 1 复合语句在什么情况下使用复合语句 条件语句和循环语句在语法上只允许带一条语句当分支和循环中需要进行多项操作时 t x x y y t 被当作一条语句来处理 在复合语句中定义的变量只能在复合语句中使用 6 例3 1 includemain inta 0 inta 1 printf In a d n a printf Out a d n a In a 1Out a 0 7 2 空语句 空语句有什么作用 什么也不做 只表示语句的存在自顶向下程序设计时用在那些未完成的模块中延时用的空循环 main DataInitialze DataProcess DataOutput DataInitialze 8 C语言无I O语句 I O操作由调用函数实现 include3 4 1字符输入 输出函数先介绍c标准i o函数库中最简单的 也是最容易理解的字符输入输出函数putchar 和getchar 1 putchar函数 字符输出函数 putchar函数的作用是向终端输出一个字符 3 4基本输入 输出操作的实现 格式 putchar c 参数 c为字符常量 变量或表达式功能 把字符c输出到显示器上返值 正常 为显示的代码值 出错 为EOF 1 9 includemain chara b c a b b o c y putchar a putchar b putchar c 例3 2输出单个字符 运行结果 boy 3 4 1字符输入 输出函数 10 函数的作用是从终端 或系统隐含指定的输入设备 输入一个字符 3 4 1字符输入 输出函数 2 getchar函数 字符输入函数 格式 getchar 功能 从键盘读一字符返值 正常 返回读取的代码值 出错 返回EOF 1 例3 3输入单个字符 includemain charc c getchar putchar c 11 在运行时 如果从键盘输入字符 a 并按回车键 就会在屏幕上看到输出的字符 a a 输入 a 后 按 回车 键 字符才送到内存 表示输入结束 a 输出变量c的值 a getchar 只能接收一个字符 无参数 getchar函数得到的字符可以赋给一个字符变量或整型变量 也可以不赋给任何变量 作为表达式的一部分 例如 例3 3第4 5行可以用下面一行代替 putchar getchar 也可以用printf函数输出 printf c getchar 12 3 4 2格式输入 输出 格式 printf 格式控制字符串 输出值参数表 功能 按指定格式向显示器输出数据返值 正常 返回输出字节数 出错 返回EOF 1 1 格式输出函数 输出值参数表 要输出的数据 可以没有 多个时以 分隔 并且输出项的顺序 个数与类型应与格式控制相匹配 格式控制字符串 包含两种信息格式说明 修饰符 格式字符 用于指定输出格式普通字符或转义序列 原样输出格式字符常用的有以下几种格式字符 13 d以带符号十进制整数输出o以八进制无符号整数输出 无前导0 x以十六进制无符号整数输出 无前导0 x u以十进制无符号整数输出c以字符形式输出单个字符s输出一个字符串f以小数形式输出浮点数 6位小数 e以标准指数形式输出 6位小数 g选用 f e中输出宽度较小的一种格式 且不输出无意义的0 格式字符 14 l长整型整数 加在d o x u前Llongdouble型数 加在f e g前m表示数据占用的最小宽度数据宽度大于m 按实际宽度输出数据宽度小于m时 补空格n对实数表示输出n位小数对字符串表示最多输出的字符个数 改变输出内容的对齐方式缺省为右对齐 printf附加格式说明符 15 1 d格式符 用来输出十进制整数 有以下几种用法 d 按整型数据的实际长度输出 md m为指定的输出字段的宽度 如果数据的位数小于m 则左端补以空格 若大于 则按实际位数输出 如printf 4d 4d a b 若a 123 b 12345 则输出结果为123 12345 ld 输出长整型数据 longinta 1234567 printf ld a 在vc6 0中由于int和longint类型数据在内存中均占4个字节 因此长整型也可以用 d 格式说明符控制输出 longinta 1234567 printf d a 在tc中不可以混用 16 2 o 或 lo 格式符 以八进制数形式输出整数 3 x 或 lx 格式符 以十六进制数形式输出整数 以八进制和十六进制格式输出时 最高位不再作为符号位 而是数据的一部分 输出的数值不带符号 例如 includevoidmain intx 1 printf d o x n x x x 输出结果为 1 37777777777 ffffffff 17 4 u格式符 用来输出unsigned型数据 即无符号数 以十进制形式输出 一个有符号整数 int型 也可以用 u格式输出 反之 一个unsigned型数据也可以用 d格式输出 includevoidmain unsignedintx 4294967295 inty 2 printf x d u n x x printf y d u n y y 输出结果为 x 1 4294967295y 2 4294967294 18 5 字符型格式说明符 c 输出一个字符 mc 以宽度m输出一个字符 若m 1 则在输出字符前面补m 1个空格 例如 includevoidmain charc c s printf c y 3c n c c 运行结果 s s 19 6 s格式符 用来输出一个字符串 有几种用法 s 例如 printf s china 输出 china 字符串 不包括双引号 ms 输出的字符串占 列 如字符串本身长度大于m 则突破 的限制 将字符串全部输出 若串长小于m 则左补空格 ms 如果串长小于 则在 列范围内 字符串向左靠 右补空格 m ns 输出占 列 但只取字符串中左端n个字符 这n个字符输出在 列的右侧 左补空格 m ns 其中 n含义同上 n个字符输出在 列范围的左侧 右补空格 如果n 则 自动取n值 即保证n个字符正常输出 20 例如 includevoidmain printf s 3s 8s 8s 8 3s 8 3s n hello hello hello hello hello hello 运行结果 hello hello hello hello hel hel 21 7 f格式符 用来输出实数 包括单 双精度 以小数形式输出 有以下几种用法 f 不指定字段宽度 由系统自动指定 使整数部分全部如数输出 并输出6位小数 vc6 0编译环境下 应当注意 并非全部数字都是有效数字 单精度实数的有效位数一般为7位 例输出实数时的有效位数 main floatx y x 111111 111 y 222222 222 printf f x y 运行结果为333333 328125 22 双精度数也可用 f格式输出 它的有效位数一般为16位 给出小数6位 例输出双精度数时的有效位数 main doublex y x 1111111111111 111111111 y 2222222222222 222222222 printf f x y 输出结果为3333333333333 333010 23 nf指定输出的数据共占 列 其中有n位小数 如果数值长度小于 则左端补空格 nf与 nf基本相同 只是使输出的数值向左端靠 右端补空格 例输出实数时指定小数位数 main floatf 123 456 printf f 10f 10 2f 2f 10 2f n f f f f f 输出结果如下 123 456001123 456001123 46123 46123 46f的值应为123 456 但输出为123 456001 这是由于实数在内存中的存储误差引起的 24 8 e格式符 以指数形式输出实数 可用以下形式 e不指定输出数据所占的宽度和数字部分的小数位数 有的c编译系统自动指定给出6位小数 指数部分占5位 如e 002 其中 e 占1位 指数符号占1位 指数占3位 includevoidmain doublex 3 1415 floaty 15 725 printf x e y e n x y 运行结果 x 3 141500e 000 y 1 572500e 001 25 m ne和 m ne n和 字符含义与前相同 此处n指拟输出的数据的小数部分 又称尾数 的小数位数 includevoidmain doublepi 3 1415 printf f 6 2f 2f 6 2f n pi pi pi pi 输出结果 3 141500 3 14 3 14 3 14 26 9 g格式符 根据浮点数的大小 自动选用 f和 e格式中输出宽度较短的一种格式 且不输出无意义的零 includevoidmain doublepi 3 1415 printf f e g n pi pi pi 运行结果 3 141500 3 141500e 000 3 1415 27 在使用printf函数时 还有几点要说明 1 除了x e g外 其他格式字符必须用小写字母 如 d不能写成 D 2 可以在printf函数中的 格式控制 字符串内包含 转义字符 如 n t b r f 377 等 3 上面介绍的d o x u c s f e g等字符 如用在 后面就作为格式符号 一个格式说明以 开头 以上述9个格式字符之一为结束 中间可以插入附加格式字符 也称修饰符 例如 28 4 如果想输出字符 则应该在 格式控制 字符串中用连续两个 表示 如 printf f 1 0 3 输出 0 333333 5 格式控制中的各格式说明符与输出表中的各输出项在个数 次序 类型等方面必须一一对应 否则会产生意想不到的后果 29 2 格式输入函数 格式 scanf 格式控制串 参数地址表 功能 按指定格式从键盘读入数据 存入地址表指定的存储单元中 并按回车键结束返值 正常 返回输入数据个数 参数地址表 变量的地址 常用取地址运算符 如 a b分别表示变量a和变量b的地址 格式字符 d i o x u c s f e 例scanf d 输入 10 则a 10 例scanf x 输入 11 则a 17 30 附加格式说明符 修饰符 例scanf 4d 2d 2d 输入19991015 则1999 yy 10 mm 15 dd 例scanf 3d 4d f 输入12345678765 43 则123 k 8765 43 f 例scanf 2d 3d 2d 输入12 345 67 则12 a 67 b 例scanf 3c 2c 输入abcde 则 a c1 d c2 2 格式输入函数 31 输入分隔符的指定一般以空格 TAB或回车键作为分隔符其它字符做分隔符 格式串中两个格式符间字符输入数据时不能规定精度 例scanf d o x 输入123123123 输出a 123 b 83 c 291 例scanf d d d 输入12 30 45 则12 h 30 m 45 s 例scanf d d a b 输入3 4 则3 a 4 b 例scanf a d b d c d 输入a 12 b 24 c 36 例scanf 7 2f a 2 格式输入函数 32 说明 用 c 格式符时 空格和转义字符作为有效字符输入 如scanf c c c 若输入a b c 则a c1 c2 b c3 输入数据时 遇以下情况认为该数据结束 遇空格 TAB 或回车遇宽度结束遇非法输入 如scanf d c f 若输入1234a123o 26 则1234 a a b 123 c 输入函数留下的 垃圾 例intx charch scanf d 执行 123 输出 x 123 ch 10 例intx charch scanf d 执行 123 输出 x 123 ch 10 解决方法 1 用getchar 清除 2 用函数fflush stdin 清除全部剩余内容 3 用格式串中空格或 c 来 吃掉 例intx charch scanf d 2 格式输入函数 33 includemain inta b printf Pleaseinputaandb scanf d d Pleaseinputaandb a 12 b 34 a b 46 1234 例 遇空格 TAB键时结束 2 格式输入函数 34 includemain inta b printf Pleaseinputaandb scanf d d Pleaseinputaandb a 12 b 34 a b 46 12 例 遇回车键时结束 34 2 格式输入函数 35 includemain inta b printf Pleaseinputaandb scanf 2d 2d Pleaseinputaandb a 12 b 34 a b 46 1234 例 遇宽度时结束 2 格式输入函数 36 includemain inta b printf Pleaseinputaandb scanf 2d 2d Pleaseinputaandb a 12 b 3 a b 15 123a 例 遇非法输入时结束 2 格式输入函数 37 includemain inta b printf Pleaseinputaandb scanf 2d 2d 2d Pleaseinputaandb a 12 b 56 a b 68 123456 例 跳过一个输入项 2 格式输入函数 38 includemain inta b scanf d d 问题3 语句scanf d d 时 用户应该如何输入数据 a 12 b 34 输入数据的格式控制 例 2 格式输入函数 39 includemain inta b scanf d d 问题4 限定用户输入数据为以下格式为1234 同时要求程序输出结果为a 12 b 34 scanf 2d 2d 输入数据的格式控制 例 40 includemain inta b scanf d d 问题5 限定用户输入数据为以下格式为12 34 同时要求程序输出结果为a 12 b 34 scanf d d 输入数据的格式控制 41 includemain inta b scanf d d 问题6 设计程序使得用户可以以任意字符 回车 空格 制表符 逗号 其它 作为分隔符进行数据的输入 scanf d c d 输入数据的格式控制 例 42 includemain intdata1 data2 sum charop printf Pleaseentertheexpressiondata1 data2 n scanf d c d Pleaseentertheexpressiondata1 data2 第1次测试 12 3 123129 3141 C格式符存在的问题及其解决 例 43 includemain intdata1 data2 sum charop printf Pleaseentertheexpressiondata1 data2 n scanf d c d Pleaseentertheexpressiondata1 data2 第2次测试 123 123 5 C格式符存在的问题及其解决 例3 11 44 includemain intdata1 data2 sum charop printf Pleaseentertheexpressiondata1 data2 n scanf d c d Pleaseentertheexpressiondata1 data2 第3次测试 12 3 12 3 5 C格式符存在的问题及其解决 例 45 图形简介 计算机屏幕图形方式如下 x y 0 0 639 479 46 图形库的使用简介 用TC2 0的图形库进行设计 需要完成以下几步 引入图形头文件 include初始化图形屏幕为VGA640 x480 x16显示方式 intdriver VGA mode VGAHI initgraph 47 图形函数 运用图形库函数 画线函数 line x y xi yi 画圆函数 circle x y radiu 画矩形函数 rectangle x y xi yi 设颜色 setcolor 颜色值 设填充模式 setfillstyle 48 这一章我们学习了 字符输入函数getchar 字符输出函数putchar 格式输入函数scanf 格式输出函数printf 格式控制问题 难点 49 几点忠告 不要拘泥于细节不要死记硬背在使用中慢慢掌握 50 作业 作业 P71 74 3 5 3 6课堂练习3 2 3 3 3 4 1 3
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!