




已阅读5页,还剩35页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 基本数据类型 运算符与表达式 2 1数据类型概述2 2常量与变量2 3基本类型2 4运算符和表达式2 5输入 输出 第二章 整型 int 基本类型单精度型 float 实型 浮点型 字符型 char 双精度型 double 布尔型 bool 02 01 3 常量 C 中常量可以是常数 值常量 如1 2 3等 也可以是代表固定不变的值的名字 符号常量 程序中如果想使变量的内容自初始化后一直保持不变 可以定义一个符号常量 其定义形式有 const数据类型符号常量名 初始值 例如 constdoublePI 3 1415926 4 变量 1 变量的定义2 初始化变量 变量有三个基本要素 名字 类型和值 C 的程序设计中 在使用变量前必须首先定义变量 即指定变量的名称与数据类型 变量一经定义 系统根据其数据类型在内存中为该变量分配一定的存储单元 在该存储单元中可存放变量的值 5 变量的定义 变量定义的一般格式为 数据类型关键字变量名表 说明 1 变量名表 可以包含若干个变量 彼此间用逗号分开 变量名必须是合法的标识符 不能用C 的关键字作为变量名 2 数据类型 变量可以被定义为基本数据类型和构造类型 常用的几种基本类型关键字如下 char int float double例如 intx floatarea width length doublemyage myweight 6 初始化变量 初始化变量 在定义变量的同时给其一个初始值 称为初始化变量 例如 intwidth 5 intwidth width 5 7 1 整型2 实型 浮点型 3 字符型4 布尔类型小结 2 3基本类型 8 整型 1 整型常量的表示 关键字 int 9 整型常量的表示 1 十进制整数 以非0开头的 由0至9数字 正负号组成的常数 如1234 10为合法十进制整常数 而123 0 1 23E 2是非法的十进制整常数 2 八进制整数 以0开头的 由0至7数字组成的数字串 如01234 010为合法八进制整常数 而1234 028则是非法的八进制整常数 3 十六进制整数 以0 x 或0X 开头的 由0至9数字和a至f 或A至F 字符组成 如0 x10 0 x2f 0 xa为合法的十六进制整常数 而12 0 xgf 20H是非法的十六进制整常数 10 课堂练习 以下选项中可以作为C C 语言合法整数的是 A 10110BB 0368C 0XffaD x2a2 11 实型 1 实型常量表示法2 实型变量的分类 关键字 float和double 12 1 小数表示法 由符号 数字和小数点组成的常数 可以省去整数部分 只保留小数部分 但绝对不能没有小数点 如2 55 0 0 12 3 234 250 等都是合法的十进制小数 2 科学表示法 在小数表示法后加e 或E 及指数部分 注意 E或e的前面必须要有数字 且E后面的指数必须为整数 指数部分可正可负 如2 1E 5 123E 3 123e3 123 e3都是合法的 而345 5 3 E e5 2e2 5等都是非法的指数形式 实型常量表示法 13 实型变量的分类 在C 中 一个实型常数如果没有任何说明 则表示double型 默认型 如 12 3 12 3e4 若要表示float型数 则必须在实型数后面加上F或f 如 12 3f 12 3e4f 实型数据总是有符号的 14 课堂练习 下列变量定义中合法的是 A double c 2 0 5e 1 B doubleb 2 6e2 5 C intdo 0 xfd D float3 and 4 e 3 15 课堂练习 下列变量使用可能会出现编译警告的是 A double c 2 0 5e 1 B doubleb 2 6e2 C intLd 0 xfd D float and 4 3 16 字符型 1 字符型常量2 字符串常量 1 一般字符常量2 转义字符 特殊 关键字 char例如 charc 字符变量c在内存中占用一个字节 17 1 一般字符常量 用单引号括起来的一个字符 其值为ASCII代码值 如 a A 在内存中 字符数据是以ASCII码值存储的 即以整数表示 占据一个字节 因此C 使字符数据和整型数据之间可以通用 计算 如 A 65 0101 0 x41 01000001 A 和 a 是不 a 97 0141 0 x61 01100001同的字符常量 0 48 060 0 x30 0 和0是截然 1 49 061 0 x31不同的两个数 字符型常量 18 2 转义字符 以 开头的特定字符序列 常用于表示ASCII字符集中控制代码及某些特殊字符 也占据一个字节 常用的转义字符如表2 2 例如下面的代码 响铃的同时输出一个字符串 cout x7operating tsystem nok 其输出内容为 在响铃的同时显示operatingsystemok 字符型常量 19 字符串常量 字符串常量是用一对双引号括起来的字符序列 如 a a 123 Howdoyoudo n 1 23 等都是字符串常量 字符串中可以出现空格 转义序列或其他字符 也可以包含C 以外的字符 如汉字等 在C 中 字符串常量和字符常量是不同的 字符串常量中的字符连续存储 并在最后加上字符 0 作为字符串结束的标志 例如字符串 HELLO 在内存中占连续6个内存单元 如图 20 布尔类型 布尔 bool 是表示逻辑变量的专有名词 所代表的意义就只有 真true 和 假false 两种 布尔数据是用来控制程序的执行方式的 或者说是用来处理程序中判断或比较结果的 例如 boolflag true 声明一个布尔变量由定义 true转为整型值时为1 false为0 相应的 非零值可以隐式地转为true 而0为false bool类型的变量至少占据和char一样的空间 21 2 4运算符与表达式 运算符 单目运算符 双目运算符和三目运算符 表达式 用运算符将操作对象 变量和常量 连接起来符合C 语法规则的式子就构成了表达式 其目的是用来说明一个计算过程 表达式的种类很多 如赋值表达式 算术表达式 关系表达式 条件表达式 逻辑表达式等 表达式总是有值的 运算符的优先级与结合性 其决定了一个表达式的求值顺序 优先级别高的运算符先运算 低的后运算 运算符的结合性体现了运算符对其操作数进行运算的方向 若运算符对其操作数从左向右进行规定的运算 称此运算符是左结合的 反之称其为右结合的 22 2 4 1赋值运算符和赋值表达式2 4 2算术运算符和算术表达式2 4 3关系运算符和关系表达式2 4 4逻辑运算符和逻辑表达式2 4 5条件运算符和条件表达式2 4 6逗号运算符和逗号表达式 小结 运算符的优先级与结合性 2 4运算符与表达式 23 赋值运算符 在C 中 基本赋值运算符为 其功能是设置变量的值 即将一个数据赋给一个变量 实际上是将这个数据存入变量所对应的存储空间 另外还有五个可以由算术运算符组成的复合赋值运算符 和 赋值运算符是双目运算符 赋值运算符的结合性 右结合 如x 5 赋值运算符的优先级比逗号运算符的优先级高 24 用赋值运算符将变量和表达式连接起来的式子称为赋值表达式 基本 其一般形式为 变量 表达式如 x 8 y x z x y等 赋值表达式的值就是被赋值的变量的值 赋值表达式加上分号就构成了赋值语句 极为常用 赋值表达式 说明 C 允许在一个表达式中对多个变量连续赋值 例如 c d 6 连续赋值的表达式的运算顺序是从右向左的即右结合性 左边必须是变量名 如 3 a 22 a b 8 10是非法的 复合赋值表达式 Voper E 其等价于V Voper E 例如 a 3等价于a a 3a 2等价于a a 2a b 2等价于a a b 2 而不是a a b 2a x y等价于a a x y 而不是a a x y 25 课堂练习 includevoidmain inta b c d a 4 b a a 6 c d 9 c a d a b cout a b c d endl 02 02 26 算术运算 1 算术运算符及表达式2 自增自减运算符 27 算术运算符及表达式 取余运算 是针对整数的运算 即取整数除法后的余数 余数的符号和被除数的符号相同 如 8 5的运算结果为3 9 12的运算结果为9 15 12运算结果为 3 15 12 运算结果为3 12 2运算结果为0 a 2运算结果为1 注意 和 的区别 运算符可以对整型 字符型和实型数据进行操作 而 只能对整型和字符型数据进行操作 如果对浮点数操作 则会引起其编译错误 对任意整数x和y 若x 2 0 则x为偶数 若x 2 1 则x为奇数 若x y 0 则x能被y整除 28 自增 自减运算 自增 自减运算符的作用对象是变量 不能是常量或表达式 如 5 5或 a b 都是非法的 其功能是使变量的值增1或减1 自增 自减运算有以下四种情况 i 使用i之后 i的值加1 即先取值 后自加 等价于i i 1 i 使i先加1 然后使用i 即先自加 后取值 等价于i i 1 i 使用i之后 i的值减1 即先取值 后自减 等价于i i 1 i 使i先减1 然后使用i 即先自减 后取值 等价于i i 1 i i 前置运算i i 后置运算 运算经常被用于循环程序设计中 循环变量 注意 运算符是两个 或两个 的一个整体 中间不能有空格 应尽量避免连用多个 以引起编译错误 29 自增 自减运算 02 04 includevoidmain inti 3 cout 运算前i数值为 i endl cout i endl cout i endl 30 自增 自减运算 02 05 includevoidmain inti 1 j 3 k k i j cout i i endl cout j j endl cout k k endl 那么究竟是k i j还是k i j 呢 31 自增 自减运算 总结 自增 自减运算符的结合方向是从右向左 那么如果我们这样定义 02 07 inti 3 j j i i j的数值为多少 改为j i i j的数值又为多少呢 32 用关系运算符将两个表达式连接起来的式子称为关系表达式 其一般格式为 表达式1关系运算符表达式2例如 a b 都是合法的关系表达式 说明 1 关系运算符两侧的表达式可以是常量 变量和表达式 可以是算术表达式 关系表达式 逻辑表达式 赋值表达式 2 关系表达式的值 bool 成立真1不成立假0 x 5 8 3 x等于6x 5 8 3 x等于1 关系表达式 33 注意 等于 和赋值 是两个不同的操作 用于测试给定的两个操作数是否相等 而 是强制给变量赋值 变量必须接收 如果把 误用为 则系统不会视它为错 语法方面 但程序可能会出现算法错误 C 中 表达式都有值 赋值运算符产生的值是所赋的值 而关系运算符产生的值是比较的结果 可能是0或1 即 假 或 真 真 和 假 是逻辑值 在C 中 假 意味着0 真 意味着非0 所以任意一个非0都是 真 表示逻辑值就是1 关系运算符的优先级低于算术运算符 而高于赋值运算符 关系表达式 34 请分析下列表达式的值 a 3 b 2 c 1 f 1 a b表达式值 c a b b cb d d a b b f d d a b b f d e a b c 1 1 0 1 1 0 1 0 0 0 课堂练习 35 逻辑运算规则 逻辑与 仅当两个操作数的值都为真 非0 时 逻 逻辑乘 辑结果为真 值为1 否则为假 值为0 逻辑或 两个操作数的值只要有一个真 其结果 逻辑加 即为真 1 否则为假 0 逻辑非 一元运算 若操作数的值为真 其结果 取反运算 为假 否则为真 如果逻辑表达式中同时出现多种运算符时 按下列顺序进行运算 算术运算 关系运算 逻辑运算 36 请分析下列表达式的值 x y x 1 y 1 表达式值 4 0 2 c d 5 3 2 84 5 10 9 0 1 1 1 1 0 课堂练习 37 条件运算符及表达式 条件运算符是C 中唯一的一个三目运算符 该运算符由两个符号组成 即 和 条件表达式的一般形式为 表达式1 表达式2 表达式3其运算规则为 如果表达式1的值为真 则整个条件表达式的值就是表达式2的值 否则整个条件表达式的值是表达式3的值 例如 有如下条件表达式 4 6 3 9 整个条件表达式的值为9 a b a b 这个条件表达式可实现求两个数中的大数条件运算符的结合性 右结合 条件运算符的优先级 高于赋值运算符 而低于逻辑 关系和算术运算符 如果有如下条件表达式 a b a c d c d它相当于 a b a c d c d 如果有如下表达式 c a b a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 扫黑除恶宣传课件
- 2025年中招考试常出题目及答案
- 徐绽范猛考研英语阅读理解总结
- 2025年赣州上犹中考试题及答案
- 慕课德育原理课件
- 贵州中考模考试卷及答案
- 盐城招生考试题目及答案
- 急性脑卒中护理课件
- 医院技能培训考试题及答案
- 快递转运安全培训课件
- 胃镜基本知识课件
- NB/T 11636-2024煤矿用芳纶织物芯阻燃输送带
- 2025年专升本艺术概论考试模拟卷(艺术史论重点与艺术史研究方法探讨试题)
- 野外文物看护员管理制度
- 解读学习《住房租赁条例》培训课件(2025年9月15日起施行)
- 公路铣刨机转向桥关键结构疲劳寿命的深度剖析与精准预测
- 民事起诉状要素式(民间借贷纠纷)
- 幼儿园健康预防蚊虫叮咬
- 肺孢子菌肺炎护理查房
- 三级安全教育培训试题(含答案)
- 绿城好房子建设的理念与实践
评论
0/150
提交评论