




已阅读5页,还剩61页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三章数据类型 运算符和表达式 2 主要内容 预备知识常量和变量的概念各种数据类型的常量及变量变量赋初值不同类型数据之间的混合运算常用运算符和表达式输入函数与输出函数 3 3 4 1变量和内存的概念 变量 程序运行过程中其值可以改变的量 系统为程序中的每一个变量开辟存储单元 变量名 字母开头 后跟字母 数字和下划线组成 C语言中的关键字不能作为变量名 4 3 4 1变量和内存的概念 include definePI3 1415926intmain floatr s ar scanf f 说明 变量必须先定义后使用 变量中存储的只能是一个数据 往变量中存放数据的操作称为赋值 变量改变的是其值 而不是变量名 5 注意 变量的 名 和变量的 值 不同 变量的 名 是该变量所代表的存储单元的标志 而变量的 值 是指存储单元中的内容 如 inta a 5 a 10 5 10 6 3 4 2变量赋初值 变量定义inta b c floatw doublez charc1 c2 类型标识符变量名1 常量1 变量名2 常量2 指定a b c为整型变量 指定w为单精度实型变量 指定z为双精度实型变量 指定c1 c2为字符型变量 7 3 4 2变量定义和赋初值 变量赋初值inti 0 inta 5 b 5 c 5 floatep 0 001 charc a 指定i为整型变量 初值为0 指定a b c的初值为5 指定ep的初值为0 001 指定c的初值为 a 8 9 10 11 13 主要内容 预备知识常量和变量的概念各种数据类型的常量及变量变量赋初值不同类型数据之间的混合运算常用运算符和表达式输入函数与输出函数 14 3 6运算符和表达式 C运算符 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 及其扩展条件运算符 逗号运算符 指针运算符 求字节数 sizeof强制类型转换 类型 分量运算符 下标运算符 其它 15 学习运算符应注意 运算符功能与运算量关系要求运算量个数要求运算量类型运算符优先级别结合方向结果的类型 16 计算机实现操作有两种方式 运算 数学中所规定的各种基本运算 由运算符来实现 函数 对于复杂的运算 需要编制子函数来实现 标准函数 库函数 用户自定义函数 17 运算符与表达式 1 算术运算符和算术表达式2 赋值运算符和赋值表达式 18 加法运算或正号运算符 减法运算或负号运算符 乘法运算符 除法运算符 求余运算符 或称模运算符 完成现实世界的算术运算 算术运算符 19 关于求余运算 求余运算A B表示 求A除以B的余数求余运算要求 两侧都是整型数据 对于除法 如果参加运算的两个数中有一个数为实数 则结果是实数 实数除法 例 8 5的运算结果 38 5的运算结果 15 6 2 2 8000008 43 5 1 686000 20 算术表达式 算术表达式 用算术运算符和括号将运算对象连接起来的式子称为算术表达式 运算符有优先级和结合性 计算表达式的值时 按照优先级的高低依次计算 如果运算符优先级相同 则按规定的结合方向进行 算术运算符的结合性 从左到右 21 1 求三个数的算术平均值代数表达式 ave 算术表达式 ave a b c 3 2 根据三角形三边计算三角形面积代数表达式 算术表达式 sqrt s s a s b s c 3 根据半径计算圆的周长代数表达式 s 2 r算术表达式 s 2 3 14159 r 算术表达式 22 练习 1 下列运算符的操作数不能是float型的运算符是 A B C D 2 执行以下程序段 c的值是 inta 1 b 2 c c a b A 0B 1 2C 0 5D 1 答案 B 答案 A 23 算术运算符的优先级 24 自增 和自减运算 运算符的作用 是使变量的值增1 运算符的作用 是使变量的值减1 25 自增 和自减运算 自增和自减运算只能应用于整型变量和指针型变量 和 可以写在变量的左侧或右侧 而且其意义不同 变量名 和 变量名 先做运算 后取值 变量名 和 变量名 先取值 后做运算 26 自增 和自减运算 举例 N I N I 11 10 11 11 27 练习 已知i 7j i j i j i j i 7 8 8 8 28 若k和j为int型变量 运算表达式j 3 k j j 执行后 变量k的值为 变量j的值为 4 5 练习 29 关于自增和自减运算符的说明 自增和自减运算符的运算对象不能是常量或表达式 只能是单个变量 自增和自减运算符的结合方向是 自右向左 例 i 等价于 i i 等价于 i 30 2 赋值运算符和赋值表达式 赋值 在计算机程序中 要完成这样一种操作 将一个表达式的计算结果送到一个变量当中 简单的赋值运算符 赋值表达式 变量名 表达式赋值运算符的结合性 自右向左即 a b c相当于a b c 31 算术运算符与 结合在一起 形成复合的赋值运算符 复合的赋值运算符 例 i 2a 3a b 5 等价于i i 2等价于a a 3等价于a a b 5 32 C运算符 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 及其扩展条件运算符 逗号运算符 指针运算符 求字节数 sizeof强制类型转换 类型 分量运算符 下标运算符 其它 33 主要内容 预备知识常量和变量的概念各种数据类型的常量及变量变量赋初值不同类型数据之间的混合运算常用运算符和表达式输入函数与输出函数 34 3 5数据的混合运算 1 自动转换运算转换赋值转换2 强制类型转换 35 1 自动转换 运算转换 在进行运算时 不同类型的数据要先自动转换成同一类型 然后进行运算 转换的规则按图所示 int char short 高 低 long unsigned double float 转换由编译系统自动完成 转换按数据长度增加的方向进行 即按 向高看齐 的原则提升 较低 类型 以保证不降低精度 36 1 实型赋予整型 舍去小数部分 2 整型赋予实型 数值不变 但将以浮点形式存放 即增加小数部分 小数部分的值为0 3 字符型赋予整型 由于字符型为一个字节 而整型为两个字节 因此将字符的ASCII码值放到整型变量的低八位中 高八位为0 4 整型赋予字符型 只把低八位赋予字符型变量 5 double型赋予float型 丢失的部分按四舍五入向前进位 1 自动转换 赋值转换 37 注意 一个long型或double型数据给一个int型或float型变量赋值时 可能会引起数值溢出 注意 如果赋值运算符两边的数据类型不相同 系统将进行类型转换 即把赋值号右边的类型换成左边的类型 如果右边表达式的数据类型长度比左边长时 将丢失一部分数据 这样会降低精度 1 自动转换 赋值转换 38 练习 已知 doublea floatb intc chard 执行语句c d b c a 后 变量c的数据类型是 A doubleB floatC intD char 正确答案 C 39 2 强制类型转换 强制类型转换运算符 将一个类型的变量值强制转换为另一种类型 一般格式为 类型标识符 表达式例 k int int x float i float x 85 40 注意 对一个变量进行强制转换后 得到一个新的类型的数据 但原来变量的类型不变 例 x原为实型变量且值为2 6 在执行i int x后得到一个整数2 并把它赋给整型变量i 但x仍为实型 值为2 6 2 强制类型转换 41 练习 若有定义 floata 3 9 b 6 9 intc 执行语句c a int a b 3 2 后 c的值为 A 3B 3 9C 4D 4 4 正确答案 A 42 主要内容 预备知识常量和变量的概念各种数据类型的常量及变量变量赋初值不同类型数据之间的混合运算常用运算符和表达式输入函数与输出函数 43 3 7输入函数与输出函数 输出 计算机向外部输出设备 显示器 打印机等 输出数据输入 从输入设备 键盘 鼠标 扫描仪等 向计算机输入数据在使用系统库函数时 要用预编译命令 include 包含有关的头文件 include 标准输入输出库函数 include stdio h 标准输入输出库函数 44 3 7 1格式输出函数printf printf函数一般格式 printf 格式控制 输出表列 格式控制是由双引号括起来的字符串 包含三种信息 1 格式说明 由 和格式字符组成 如 d f等 它的作用是将输出的数据按照指定的格式输出 2 普通字符 需要原样输出的字符 3 转义字符 用于控制输出 输出表列是一些要输出的数据 45 3 7 1格式输出函数printf printf函数一般格式 printf 格式控制 输出表列 普通字符输出表列printf sum d n sum 格式说明转义字符 printf d d n a b 46 格式说明项 由 与格式字符组成 其作用是将数据转换为指定的格式输出 按不同类型的数据有以下不同的格式字符 d ld 按整型数据的实际长度输出 md mld m为指定的输出字段的宽度 如数据的位数小于m 则左端补空 若数据位数大于m 则按实际长度输出 c 用于输出一个字符 f 用于以小数形式输出实数 包括单 双精度 m nf m nlf 指定输出的数据共占m位 其中包括n位小数 如数据的位数小于m 则左端补空 若数据位数大于m 按实际长度输出 小数位数被截断时按四舍五入输出 3 7 1格式输出函数printf 47 inta 1 b 25 c 125 longx 356142 printf d 5d n a b printf 5d 2d n c c printf ld d n x x 输出结果为 例 48 3 7 2格式输入函数scanf scanf函数一般格式 scanf 格式控制 地址表列 scanf函数的功能是按照指定的格式输入数据 可以输入任意类型的多个数据 格式控制与printf函数含义相同 它由若干个格式说明构成 其作用是控制转换输入数据的类型 地址表列由若干个地址构成 它们可以是变量的地址 也可以是字符串的首地址 49 如何分隔数据 用隐含的分隔符 在输入数据中用空格或换行符分隔数据 scanf d d d 输入数据3 4 5则a 3 b 4 c 5 50 scanf格式字符 51 scanf格式字符 说明 对unsigned型变量所需要的数据 可以用 u d或 o x格式输入 可以指定输入数据所占的列数 系统自动按它截取所需数据 如果在 后有一个 附加说明符 表示跳过它指定的列数 输入数据时不能规定精度 52 字符数据的输入输出用putchar函数输出一个字符 putchar函数 字符输出函数 的作用是向终端输出一个字符 一般形式为putchar c 可以是字符型变量或整型变量 53 例1 输出单个字符 includeintmain chara b c a B b O c Y putchar a putchar b putchar c putchar n return0 54 字符数据的输入输出用getchar函数输入一个字符 getchar函数 字符输入函数 的作用是从计算机终端输入一个字符 getchar函数没有参数 一般形式为getchar 函数的值就是从输入设备得到的字符 55 例2 输入单个字符 includevoidmain charc c getchar putchar c putchar n 运行程序 从键盘输入字符 a 按Enter键 幕上将显示输出的字符 a 56 3 7 3数学函数 使用数学库中的函数时 应该首先用预处理命令 include指明要用到的数学函数的描述所在的头文件 调用数学函数时 要给出函数名 后面是一对圆括号 括号内是使用函数所需的参数 参数可以是常量 变量或表达式 57 例 计算并打印2的3次方的语句可以写成 printf 7 2f pow 2 0 3 0 调用的数学函数pow需要两个参数 这两个参数都是double型的 返回值也是double型的 语句执行结果为 8 00 58 常用数学函数 59 变量的定义 inta b c 指定a b c为整型变量 unsignedlower 指定lower为无符号整型变量 floatx y 指定x y为实型变量 doublez 指定z为双精度实型变量 charc1 c2 指定c1 c2为字符型变量 课堂练习 60 1 定义一个无符号长整变量L1 unsignedshortS1 unsignedlongL1 定义一个无符号短整变量S1 定义一个浮点类型变量F1 定义一个双精度变量D1 floatF1 doubleD1 按要求写语句 61 转义字符程序测试 includevoidmain printf thisisoneprograminc n printf nthisisoneprograminc printf athisisoneprograminc n printf thisisoneprograminc n printf b bthisisoneprograminc n printf thisisoneprograminc printf rsecondprogram n printf thisisoneprograminc printf tsecondprogram n printf thisisoneprograminc printf 101secondprogram n printf thisisoneprograminc printf x1ase
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 解析卷安徽省天长市七年级上册有理数及其运算单元测评试题(含解析)
- 医院感染管理应知应会考试试题(附答案)
- 耳鼻喉口腔颌面外科院感试题(附答案)
- 2025年生态修复中生物多样性保护与生态修复工程可持续发展研究报告
- 2025年老年健康管理领域长期照护服务模式政策法规解读报告
- 2025年海洋生态修复项目环境影响评价报告
- 2025年文化娱乐行业消费者行为分析:细分市场细分与用户体验报告
- 2025年工业互联网平台射频识别(RFID)在图书管理系统的应用与效率提升报告
- 2025至2030年中国猫粮市场竞争格局及投资战略规划报告
- 诉讼和解协议书示例
- 2025年发展对象考试试题库及参考答案
- 2025山西临汾市洪洞县招聘专职社区工作者58人考试备考试题及答案解析
- 《MySQL数据库教程》课件第一章数据库概述
- 2025年“中央八项规定”精神学习知识竞赛测试题库及答案
- 2025至2030年中国学前教育市场供需格局及未来发展趋势报告
- 宫颈环扎护理查房
- 隧道断面施工放样测量记录表
- (中职中专)《电控发动机维修》全套教学设计全书电子教案整本书教案合集1-22章全
- 部编版六年级上册道德与法治全册教学课件ppt
- 电影预算表格(双语)
- 动物繁殖学复习习题
评论
0/150
提交评论