




已阅读5页,还剩82页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
4 1 语句综述4 2赋值表达式和赋值语句4 3数据输入输出的概念4 4字符数据的输入输出4 5简单的格式输入与输出4 6顺序结构程序设计举例4 7提高部分 第4章最简单的 程序设计 顺序程序设计 4 1 语句综述 4 1 语句综述 语句分为以下5类 1 控制语句 if switch for while do while continue break return goto等 2 函数调用语句 3 表达式语句 4 空语句 5 复合语句 4 2赋值表达式和赋值语句 4 2 1赋值表达式4 2 2赋值过程中的类型转换4 2 3赋值语句4 2 4变量赋初值 4 2 1赋值表达式 赋值运算符 是赋值运算符作用是将一个数据赋给一个变量也可以将一个表达式的值赋给一个变量 4 2 1赋值表达式 复合的赋值运算符在赋值符 之前加上其他运算符 可以构成复合的运算符 等价于 4 2 1赋值表达式 赋值表达式一般形式为 变量赋值运算符表达式对赋值表达式求解的过程 求赋值运算符右侧的 表达式 的值赋给赋值运算符左侧的变量 4 2 1赋值表达式 赋值表达式赋值表达式 a 3 5 的值为15 对表达式求解后 变量a的值和表达式的值都是15 a b 5 和 a b 5 等价 a b 和 b a 含义不同 4 2 2赋值过程中的类型转换 两侧类型一致时 直接赋值两侧类型不一致 但都是数值型或字符型 自动将右侧的类型转换为左侧类型后赋值定义变量时要防止数据溢出 4 2 3赋值语句 赋值语句是由赋值表达式加上一个分号构成赋值表达式的末尾没有分号 而赋值语句有分号一个表达式可以包含赋值表达式 但决不能包含赋值语句 例 4 2 4变量赋初值 程序中常需要对一些变量预先设置一个初值设置初值既可以用赋值语句去实现 也可以在定义变量的同时使变量初始化 后者更为方便inta b c 5 相当于 inta b c c 5 inta b c 5 inta b c a b c 4 3数据输入输出的概念 几乎每一个C程序都包含输入输出输入输出是程序中最基本的操作之一从计算机向输出设备输出数据称为输出 从输入设备向计算机输入数据称为输入 4 3数据输入输出的概念 语言本身不提供输入输出语句输入和输出操作是由C函数库中的函数来实现的printf scanf putchar getchar puts gets不是关键字在使用系统库函数时 要在程序中使用预编译命令 include 4 4字符数据的输入输出 4 4 1用putchar函数输出一个字符4 4 2用getchar函数输入一个字符 4 4 1用putchar函数输出一个字符 从计算机向显示器输出一个字符putchar函数的一般形式为 putchar 字符常量或变量 例3 1先后输出几个字符 includevoidmain chara b c a B b O c Y putchar a putchar b putchar c putchar n 向显示器输出字符B 向显示器输出换行符 BOY 向显示器输出字符O 向显示器输出字符Y includevoidmain chara b c a B b O c Y putchar a putchar b putchar c putchar n 改为inta 66 b 79 c 89 BOY putchar 101 输出字符 putchar 输出单撇号字符 只能输出单个字符 4 4 2用getchar函数输入一个字符 向计算机输入一个字符getchar函数的一般形式为 getchar 例3 2输入多个字符 includevoidmain chara b c a getchar b getchar c getchar putchar a putchar b putchar c putchar n 输入一个字符 送给变量a BOY BOY B O Y BOY 输入一个字符 送给变量b 输入一个字符 送给变量c includevoidmain chara b c a getchar b getchar c getchar putchar a putchar b putchar c putchar n putchar getchar includevoidmain chara b c a getchar b getchar c getchar putchar a putchar b putchar c putchar n putchar getchar putchar getchar includevoidmain chara b c a getchar b getchar c getchar putchar a putchar b putchar c putchar n putchar getchar putchar getchar putchar getchar includevoidmain chara b c a getchar b getchar c getchar putchar a putchar b putchar c putchar n putchar getchar putchar getchar putchar getchar 4 5简单的格式输入与输出 4 5 1用简单的printf函数输出数据4 5 2用简单的scanf函数输入数据 4 5 1用简单的printf函数输出数据 在C程序中用来实现输出和输入的 主要是printf函数和scanf函数这两个函数是格式输入输出函数用这两个函数时 必须指定格式 1 printf函数的一般格式printf 格式控制 输出表列 例如 printf i d c c n i c 格式声明 1 printf函数的一般格式printf 格式控制 输出表列 例如 printf i d c c n i c 普通字符 1 printf函数的一般格式printf 格式控制 输出表列 例如 printf i d c c n i c 可以是常量 变量或表达式 2 基本的格式字符d格式符 按十进制整型数据的实际长度输出 2 基本的格式字符c格式符 用来输出一个字符charch a printf c ch 输出字符 a 2 基本的格式字符c格式符 用来输出一个字符例3 3用printf函数输出字符数据 includevoidmain charc a inti 97 printf c c c d n c c printf i c i d n i i c a c 97i a i 97 2 基本的格式字符s格式符 用来输出一个字符串printf s CHINA 输出字符串 CHINA 常量 2 基本的格式字符f格式符 用来输出实数 以小数形式输出例3 4输出实数时的有效位数 includevoidmain floata b a 111111 111 b 222222 222 printf f n a b 333333 328125 表达式 2 基本的格式字符f格式符 用来输出实数 以小数形式输出例3 5输出双精度数时的有效位数 includevoidmain doublea b a 11111111 11111111 b 22222222 22222222 printf f n a b 33333333 333333 2 基本的格式字符f格式符 用来输出实数 以小数形式输出float型数据只能保证6 7位有效数字double型数据能保证15 16位有效数字计算机输出的数字不都是绝对精确有效的 2 基本的格式字符e格式符 指定以指数形式输出实数VC 给出小数位数为 位指数部分占5列小数点前必须有而且只有1位非零数字printf e 123 456 输出 1 234560e 002 4 5 2用简单的scanf函数输入数据 1 scanf函数的一般形式 scanf 格式控制 地址表列 含义同printf函数 P70 4 5 2用简单的scanf函数输入数据 1 scanf函数的一般形式 scanf 格式控制 地址表列 可以是变量的地址 或字符串的首地址 4 5 2用简单的scanf函数输入数据 例3 6用scanf函数输入数据 includevoidmain inta b c scanf d d d P70 345 a 3 b 4 c 5 4 5 2用简单的scanf函数输入数据 2 scanf函数中的格式声明 与printf函数中的格式声明相似以 开始 以一个格式字符结束 中间可以插入附加的字符scanf a db dc d P70 4 5 2用简单的scanf函数输入数据 说明 scanf d d a b 错scanf d d 122436 错a 12b 24c 36 错a 12 b 24 c 36 对 P70 4 5 2用简单的scanf函数输入数据 说明 对于scanf c c c 若输入1234a123o 26 P70 4 5 2用简单的scanf函数输入数据 说明 对于scanf c c c 若输入1234a123o 26 P70 4 5 2用简单的scanf函数输入数据 说明 对于scanf c c c 若输入1234a123 26 P70 4 6顺序结构程序设计举例 P73 例3 7输入三角形的三边长 求三角形面积 4 6顺序结构程序设计举例 解题思路 假设给定的三个边符合构成三角形的条件找到求三角形面积的公式 其中s a b c 2 P73 include includevoidmain doublea b c s area scanf lf lf lf 计算s 计算area 输入a b c的值 include includevoidmain doublea b c s area scanf lf lf lf 数学函数 计算平方根 调用数学函数加此行 9 89 12 65 8 76 a 9 890000b 12 650000c 8 760000area 43 165683 例3 8从键盘输入一个大写字母 要求改用小写字母输出 解题思路 关键是找到大 小写字母间的内在联系小写字母的ASCII码 大写字母的ASCII码 32 includevoidmain charc1 c2 c1 getchar printf c d n c1 c1 c2 c1 32 printf c d n c2 c2 将大写转小写 A A 65a 97 includevoidmain printf c getchar 32 printf c getchar 32 printf c n getchar 32 例 输入3个大写字母 输出相应的3个小写字母 includevoidmain putchar getchar 32 putchar getchar 32 putchar getchar 32 putchar n 例 输入3个大写字母 输出相应的3个小写字母 例3 9求 方程的根 a b c由键盘输入设 解题思路 首先要知道求方程式的根的方法 由数学知识已知 如果 0 则一元二次方程有两个实根 若记 include includevoidmain doublea b c disc x1 x2 p q scanf a lf b lf c lf 程序中调用数学函数sqrt 输入a b c的值 include includevoidmain doublea b c disc x1 x2 p q scanf a lf b lf c lf 输入的是双精度型实数 include includevoidmain doublea b c disc x1 x2 p q scanf a lf b lf c lf a 1 b 3 c 2 x1 1 00 x2 2 00 要求输入3个实数 自动转成实数后赋给a b c include includevoidmain doublea b c disc x1 x2 p q scanf a lf b lf c lf 小数点后输出2列 a 1 b 3 c 2 x1 1 00 x2 2 00 4 7提高部分 4 7 2较复杂的输入输出格式控制4 7 3输入函数使用要点4 7 4输出函数使用要点 4 7 2较复杂的输入输出格式控制 1 输出数据时的格式控制 md 用来指定输出数据的宽度 m是指定的宽度 如果数据实际的位数小于 则左端补以空格 若大于 按实际位数输出printf 4d 4d 123 12345 123 12345 4 7 2较复杂的输入输出格式控制 1 输出数据时的格式控制 ld 对于int型数据占2字节的系统 在输出长整型数据时要在格式字符d前面加一个英文字母llonga 135790 printf ld a printf 8ld a 135790 135790 4 7 2较复杂的输入输出格式控制 1 输出数据时的格式控制 o 以八进制整数形式输出 由于是将内存单元中的各位的值 或 按八进制形式输出 因此输出的数值不带符号 即将符号位也一起作为八进制数的一部分输出inta 1 printf d o a a 1 177777 4 7 2较复杂的输入输出格式控制 1 输出数据时的格式控制 x 以十六进制数形式输出整数 同样不会出现负的十六进制数inta 1 printf d x a a 1 ffff 4 7 2较复杂的输入输出格式控制 1 输出数据时的格式控制 u 用来输出无符号型数据 以十进制整数形式输出一个有符号整数也可用 u格式输出 反之 一个无符号型数据也可用 d格式输出无符号型数据也可用 o或 x格式输出 4 7 2较复杂的输入输出格式控制 mc 用来指定输出字符数据的宽度charc a printf 3c c a 4 7 2较复杂的输入输出格式控制 ms 指定输出的字符串占 列若串长大于 则将串全部输出若串长小于 则左补空格 ms 如果串长小于 则在 列范围内 字符串向左靠 右补空格 4 7 2较复杂的输入输出格式控制 例3 13字符串的输出 includevoidmain printf 3s 7 2s 4s 5 3s n CHINA CHINA CHINA CHINA CHINA CH CHIN CHI 4 7 2较复杂的输入输出格式控制 m nf 指定输出的实数共占 列 其中有n位小数如果数值长度小于 则左端补空格 m nf与 m nf基本相同 只是使输出的数值向左端靠 右端补空格 4 7 2较复杂的输入输出格式控制 例3 15求3个圆的周长 输出结果时上下按小数点对齐 取两位小数 include definePI3 1415926voidmain doubler1 1 53 r2 21 83 r3 123 71 s1 s2 s3 s1 2 0 PI r1 s2 2 0 PI r2 s3 2 0 PI r3 printf r1 10 2f nr2 10 2f nr3 10 2f n r1 r2 r3 r1 1 53r2 21 83r3 123 71 4 7 2较复杂的输入输出格式控制 m ne和 m ne m n和 字符的含义与前相同 此处 指拟输出的数据的小数部分 又称尾数 的小数位数 g 用来输出实数 它根据数值的大小 自动选f格式或e格式 选择输出时占宽度较小的一种 且不输出无意义的零 4 7 2较复杂的输入输出格式控制 2 输入数据格式控制与printf函数中的格式声明相似以 开始 以一个格式字符结束 中间可以插入附加的字符可以指定输入数据所占的列数 系统自动按它截取所需数据输入数据时不能规定精度 scanf 函数的使用要点 1 格式符的个数必须与输入项的个数相等 数据类型必须从左至右一一对应 2 用户可以指定输入数据的域宽 系统将自动按此域宽截取所读入的数据 如 scanf 3d 3d 假设输入 abcdefg 则系统将读取的 abc 中的 a 赋给变量ch1 将读取的 def 中的 d 赋给变量ch2 所以printf 函数的输出结果为 ch1 a ch2 d 根据用户制定的数据的域宽 读取输入数据中相应的n位 但按需要的位数赋给相应的变量 多余部分被舍弃 4 输入实型数据时 用户不能规定小数点后的位数 scanf 7 2f 若输入246a 则系统将认为 a 246 ch a 7 在使用 c格式符时 输入的数据之间不需要分隔符标志 空格 回车符都将作为有效字符读入 scanf c c c 若输入1234567则12赋给a 56赋给b 而34没有赋给任何数据 系统将读取 12 并赋值给a 读取 34 但舍弃掉 的作用 读取 567 并赋值给b 格式说明 附加格式说明 printf 函数的格式控制 1 格式控制字符是用双引号括起来的字符串 用来确定输出项的格式和需要原样输出的字符串 其组成形式为 普通字符串 m nl格式控制字符 其中 输出数据项的顺序一般按从左至右的顺序输出 格式控制中的普通字符串 照原样输出 如 printf a d b d a b 为C语言规定的标记符 指定输出数据的对齐方式 为左对齐 两个连续的 表示输出字符 格式控制字符 printf 中的m nl格式说明符 习题 1 以下c程序正确
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年网络伦理与社会责任考试试题及答案
- 2025年设计类院校艺术考试模拟卷及答案
- 2025年媒体与传播管理考试试题及答案
- 智能监控技术在2025年智慧港口建设中的应用实施方案报告
- 特殊快递安全管理制度
- 特殊物品人员管理制度
- 特殊货物报备管理制度
- 特种医疗设备管理制度
- 狂犬门诊工作管理制度
- 玉米大豆套种管理制度
- 国开80646+24219Python语言基础复习题期末复习资料
- 郑州航空工业管理学院《企业经营统计学案例》2022-2023学年第一学期期末试卷
- 四川省成都市(2024年-2025年小学五年级语文)统编版摸底考试((上下)学期)试卷及答案
- 汽车保险与理赔课件 8.2汽车水灾事故的预防与施救
- 手术室护理不良事件的管理
- DB11T 581-2021 轨道交通工程防水技术规程
- 2024年冬季N0M世界青少年数学思维研学活动模拟题4年级
- 石材营销渠道的数字化转型
- 驾驶员雇佣协议书
- GB/T 44192-2024政务服务便民热线数据应用指南
- 安徽省池州市贵池区2023-2024学年七年级下学期末历史试卷
评论
0/150
提交评论