第3章 数据类型、运算符与表达式.ppt_第1页
第3章 数据类型、运算符与表达式.ppt_第2页
第3章 数据类型、运算符与表达式.ppt_第3页
第3章 数据类型、运算符与表达式.ppt_第4页
第3章 数据类型、运算符与表达式.ppt_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C程序设计 数据类型 运算符与表达式 2005 10 博学慎思参天尽物 3 1数据类型3 2常量与变量3 3整型数据3 4实型数据 数据类型 运算符与表达式 2005 10 博学慎思参天尽物 3 5字符型数据3 6变量赋初值3 7混合运算3 8运算符与表达式 数据类型 运算符与表达式 2005 10 博学慎思参天尽物 数据类型 运算符与表达式 的数据类型 数据结构是指数据的组织形式 考虑算法时 必须注意数据结构 数据结构的研究目标在于解决具体问题时 减少程序占用的运行空间和存储空间 数据类型是数据结构的基础 2005 10 博学慎思参天尽物 数据类型 运算符与表达式 的数据类型 2005 10 博学慎思参天尽物 数据类型 运算符与表达式常量与变量 常量和符号常量常量是指在运行过程中 其值不能被改变的量称为常量 常量有整型 浮点 字符 字符串等多种 符号常量 用一个标识符代表的常量 习惯上 符号常量名用大写 变量用小写 以示区别 2005 10 博学慎思参天尽物 数据类型 运算符与表达式常量与变量 符号常量 definePRICE30main intnum total num 10 total num PRICE printf total d total total 300 2005 10 博学慎思参天尽物 数据类型 运算符与表达式常量与变量 符号常量用一个标识符来表示的常量称为符号常量 符号常量在使用之前必须先定义 其一般形式为 define常量名常量值常量值可以是整型 实型及字符型 该语句后不使用分号 一个 define语句只能定义一个符号常量 2005 10 博学慎思参天尽物 数据类型 运算符与表达式常量与变量 符号常量一经定义 以后程序中所有出现该常量名的地方均代之以该常量值 优点 如果要修改程序中的某个常量时 只要修改其定义语句即可 符号常量不是变量 在程序中不能再用赋值语句对它重新赋值 习惯上符号常量的标识符用大写字母 变量标识符用小写字母 以示区别 2005 10 博学慎思参天尽物 数据类型 运算符与表达式常量与变量 常量和符号常量 1 0 123为整型常量4 6 1 23为实型常量 a d 为字符常量 definePRICE255A PRICE B 6C PRICE C 120 E 165 PRICE A CPRICE是标识符 符号常量 A 255 B 6C 255 C 120 E 165 255 A C 2005 10 博学慎思参天尽物 数据类型 运算符与表达式常量与变量 变量变量 在程序运行过程中 其值可以改变的量称为变量 标识符 由字母 数字和下划线三种字符组成 且第一个字符必须为数字或下划线 标识符长度 无统一规定 随系统而不同 一般为8个字符 2005 10 博学慎思参天尽物 数据类型 运算符与表达式常量与变量 变量C语言要求对变量 先定义 后使用 其目的在于 凡未被事先定义的 不作为变量名 从而能保证程序中变量名使用得正确 每一个变量被指定为一确定类型 在编译时就能为其分配相应的存储单元 每一变量属于一个类型 便于在编译时检查该变量所进行的运算是否合法 2005 10 博学慎思参天尽物 数据类型 运算符与表达式常量与变量 变量合法的变量名如 average abd a s2 student name init不合法的变量名 M D John 1a 33 a b一个变量对应一定的内存存储单元 例如sum 10sum 20sum所对应的内存单元的内容不再是10而是20 2005 10 博学慎思参天尽物 数据类型 运算符与表达式整型数据 整型常量 整常数 十进制整数 123 456 0八进制整数 以0开头的数据 如 011 0167十六进制整数 以0 x开头的数据 如 0 x123根据数据的数值的大小 分配相应的内存空间 例 include defineAAA0 x12main printf d n AAA 18 2005 10 博学慎思参天尽物 数据类型 运算符与表达式整型数据 整型常量的类型 一个整常量 其值在 2 15 2 15 1内可认为是int型 并可赋值给int型和longint型变量 一个整常量 其值在 2 31 2 31 1范围内则认为它是longint型 可赋值给一个longint型变量 如果某一微机的C版本确定的shortint与int型数据在内存中占据的长度相同 则它的表示数范围与int型相同 因此 一个int型的常量也同时是一个shortint型常量 可以赋给int或shortint型变量 在一个整常量后面加字母l或L 则认为是longint型常量 2005 10 博学慎思参天尽物 ANSI标准定义的整数类型 2005 10 博学慎思参天尽物 数据类型 运算符与表达式整型数据 整型变量的说明在程序中所用到的变量都必须在程序中指定其类型 基本型 以int表示整型变量一般占用内存一个字长 如果是32位机 则一个整型 int 变量就占32位 短整型 以shortint表示或以short表示在32位机上 它占用内存仅为int的一半 在16位机上 一般与int占有的内存相同 2005 10 博学慎思参天尽物 数据类型 运算符与表达式整型数据 整型变量的说明在程序中所用到的变量都必须在程序中指定其类型 长整形 以longint表示或以long表示在32位机上 一般占有内存与int相同 在16位机上 则为int两倍 无符号型 只能存放正整数 它的表示是在上述三种类型之前加上unsigned 2005 10 博学慎思参天尽物 数据类型 运算符与表达式整型数据 整型变量的定义对变量的定义一般放在函数的开头部分 例2 1 main inta b c d unsignedu a 12 b 24 u 10 c a u d b u printf a u d b u d n c d a u 22 b u 14 不同类型的数可以直接运算 2005 10 博学慎思参天尽物 数据类型 运算符与表达式实型数据 实型常量实数 浮点数 有两种表示方法 十进制形式 日常记数形式 由数字和小数点组成 必须有小数点 如 0 123 123 123 0 123 0 0 指数形式 科学记数形式 用 xx来表示十的幂次方 字母E之前必须有数字且E之后指数必为整数 如 22 E1 123E3 表示123 103 2005 10 博学慎思参天尽物 数据类型 运算符与表达式实型数据 实型变量实数 浮点数 有两种表示方法 单精度 float 实型变量一般在内存中占4个字节 32位 提供7位有效数字 表示数的范围为10 38 1038 双精度 double 实型变量一般在内存中占8个字节 提供15 16位有效数字 表示数的范围为10 308 10308 2005 10 博学慎思参天尽物 数据类型 运算符与表达式实型数据 实型变量的定义实型常量不分float和double 根据范围赋值给相应的变量 如 floata doubleb a 111111 111 b 111111 111a中实际存储的是111111 1 7位有效 b中实际存储的是111111 111 全部有效 2005 10 博学慎思参天尽物 数据类型 运算符与表达式实型数据 实型变量的定义main floata b a 123456 789e4 printf f n a b a 20 printf f b 1234567936 0000001234567936 000000 2005 10 博学慎思参天尽物 数据类型 运算符与表达式实型数据 实型变量的定义main doublea b a 123456 789e4 printf f n a b a 20 printf f b 1234567890 0000001234567910 000000 2005 10 博学慎思参天尽物 数据类型 运算符与表达式字符型数据 字符型常量由一对单引号括起来的一个字符 如 a x D 一些特殊的字符常量 以 开头的字符序列 有特殊的含义 叫转义符 main main printf firstline printf firstline n printf secondline printf secondline n firstlinesecondline firstlinesecondline 2005 10 博学慎思参天尽物 数据类型 运算符与表达式字符型数据 字符型常量main printf printf n 转义字符 printf 101 n printf 376 A 2005 10 博学慎思参天尽物 数据类型 运算符与表达式字符型数据 字符型变量用来存放字符常量 一个字符 一般一个字符变量占一个字节 8位 定义形式如下 charc1 c2 字符变量的赋值形式如下 c1 a c2 b c3 101 2005 10 博学慎思参天尽物 数据类型 运算符与表达式字符型数据 字符数据在内存中的存储形式及其使用方法在内存中 字符变量的实际值是字符变量相应的ASCII代码 C语言中 字符型数据和整型数据之间可以通用 因此在C语言中 一个字符数据即允许以字符形式输出 也允许以整数形式输出 3 字符数据与整型数据可以互相赋值 2005 10 博学慎思参天尽物 数据类型 运算符与表达式字符型数据 字符数据在内存中的存储形式及其使用方法main charc1 c2 c1 97 c2 98 printf c c n c1 c2 a 和 b 的ASCII码为97和98 printf d d n c1 c2 输出 ab9798 2005 10 博学慎思参天尽物 数据类型 运算符与表达式字符型数据 字符串常量用双引号括起来的字符序列 如 Howdoyoudo CHINA a 123 34 字符串可以一次输出 如 printf Howdoyoudo 在内存中 对字符串常量是采用字符数组表示 即用一个字符型数组来存放一个字符串 注意 a 是字符常量 a 是字符串常量 二者不同 2005 10 博学慎思参天尽物 数据类型 运算符与表达式变量赋初值 在变量定义的同时可以为变量赋初值 如 inta 3 相当于inta a 3 floatf 3 56 charc a inta b c 5 表示只给c赋初值 相当于inta b c c 5 2005 10 博学慎思参天尽物 数据类型 运算符与表达式混合运算 各类数值型数据间的混合运算不同类型的数据 整型 实型 字符型 可以进行混合运算 如 10 a 1 5 8765 1234 b 必须首先将它们转换成同一类型的数值 类型转换由系统自动完成 2005 10 博学慎思参天尽物 数据类型 运算符与表达式混合运算 2005 10 博学慎思参天尽物 数据类型 运算符与表达式混合运算 2005 10 博学慎思参天尽物 数据类型 运算符与表达式运算符和表达式 算术运算符基本的算术运算 是模运算 即求余运算 要求整数 如 7 4的结果是3 说明 5 3的结果仍是整数 小数部分被忽略 5 3 3或5 3 0的结果为double型 2005 10 博学慎思参天尽物 数据类型 运算符与表达式运算符和表达式 算术表达式用算术运算符将运算对象按C的语法规则连接起来的式子叫算术表达式 例如 a b c 1 5 a 优先级 算术运算 在同一级别中 采取由左至右的结合方向 如 a b c相当于 a b c 2005 10 博学慎思参天尽物 数据类型 运算符与表达式运算符和表达式 算术表达式强制类型转换运算符可将一个表达式转换成所需类型 其一般形式为 类型名 表达式 例如 double a int x y float 5 3 在强制类型转换时 得到一个所需类型的中间变量 原来变量的类型未发生变化 2005 10 博学慎思参天尽物 数据类型 运算符与表达式运算符和表达式 算术表达式main floatx inti x 3 6 i int x printf x f i d n x i x 3 600000 i 3 2005 10 博学慎思参天尽物 数据类型 运算符与表达式运算符和表达式 自增 自减运算符使变量的值加1或减1 如 i i在使用i之前 先使i的值加 减 1i i 在使用i之后 再使i的值加 减 1例如 i的值为3 则j i j的值为4 i的值为4j i j的值为3 i的值为4又如 printf d i 输出结果为4printf d i 输出结果为3 2005 10 博学慎思参天尽物 数据类型 运算符与表达式运算符和表达式 自增 自减运算符注意 自增运算符 和自减运算符 只能用于变量 而不能用于常量或表达式 自增运算符 和自减运算符 的结合方向是 自右至左 在表达式中包含自加或自减运算时 不同系统的处理方法也不相同 需要上机测试 2005 10 博学慎思参天尽物 数据类型 运算符与表达式运算符和表达式 复合的赋值运算赋值运算符 在赋值符号前加上其它运算符号则构成复合赋值运算 2005 10 博学慎思参天尽物 数据类型 运算符与表达式运算符和表达式 赋值表达式由赋值运算符将一个变量和一个表达式连接起来的式子称为 赋值表达式 一般形式为 例如 inta 12 求下列运算的结果 2005 10 博学慎思参天尽物 数据类型 运算符与表达式运算符和表达式 逗号运算符和逗号表达式逗号运算符又称为 顺序求值运算符 是所有运算符中级别最低的 它将两个表达式连接起来 逗号表达式一般形式为 表达式1 表达式2 2005 10 博学慎思参天尽物

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论