1 / 24

第二章 基本数据类型与表达式

第二章 基本数据类型与表达式. 教学目的: 本章主要介绍各种数值类型,数据类型和数值表达式,逻辑型数据类型,和逻辑表达式以及表达式的副作用和表达式语句。 教学要求: 1. 掌握各种数据类型的基本情况和常量表示方法,掌握变量的定义方法,能够根据要解决问题的实际情况选用适当的数据类型。 2. 熟练掌握数值表达式的构造方法,能够用表达式完成程序中的数值计算。. 3. 熟练掌握逻辑表达式的构造方法,能够用逻辑表达式表达各种条件。 4. 了解表达式的副作用,能够在程序中恰当运用。 教学重点:数据类型及应用 教学难点:表达式及副作用. 长度 2 2 4 4 4 4.

annona
Télécharger la présentation

第二章 基本数据类型与表达式

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第二章基本数据类型与表达式 • 教学目的: • 本章主要介绍各种数值类型,数据类型和数值表达式,逻辑型数据类型,和逻辑表达式以及表达式的副作用和表达式语句。 • 教学要求: • 1.掌握各种数据类型的基本情况和常量表示方法,掌握变量的定义方法,能够根据要解决问题的实际情况选用适当的数据类型。 • 2.熟练掌握数值表达式的构造方法,能够用表达式完成程序中的数值计算。

  2. 3.熟练掌握逻辑表达式的构造方法,能够用逻辑表达式表达各种条件。3.熟练掌握逻辑表达式的构造方法,能够用逻辑表达式表达各种条件。 • 4.了解表达式的副作用,能够在程序中恰当运用。 • 教学重点:数据类型及应用 • 教学难点:表达式及副作用

  3. 长度 2 2 4 4 4 4 值域范围 -215215-1内的整数 0216-1内的整数 -231231-1内的整数 0232-1内的整数 -231231-1内的整数 0232-1内的整数 关键字 short, short int, signed short int Unsigned short, unsigned short int int, signed int Unsigned, unsigned int long, long int, signed long int Unsigned long, unsigned long int • 类型 • 有符号短整数 • 无符号短整数 • 有符号整数 • 无符号整数 • 有符号长整数 • 无符号长整数

  4. 整形数据 • 常量表示 • ①短整型 →整型 • ②长整型 L • ③整型:十进制数:12; 八进制 012 =10 十六进制: 0X12=18,0x12=18 • 无符号数:U • 变量: • 定义及初始化: • 类型修饰符 变量名[=表达式],『,变量名[=表达式]』; • int a=99L (与定义一致)

  5. 字符型数据 • 类型:char, unsigned char (1字节) • 常量: • ①直接用引号引起来:eg: ’U’ ”abcdef” • ②转义字符 • ③代码所代表字符:八进制数;十六进制数 • ④引号及反斜杠表示法:’\’’ ’\”’ ’\\’ • ⑤字符串表示法 • 长度+1=占字节空间 • 转义字符只算一个字节 • 路径的表示法

  6. 字符型数据 • 变量char ch1=’I’; • 与整型关系:ASCII码表 char ch2=65; • 表达式求值时自动变为整型 • char a=’A’,b=66; • cout<<a<<3+6<<”3+6”; • cout<<b+3; • P20 例子

  7. 枚举型数据 (值域是有限) • 1.自定义类型 • 格式: enum 枚举名{符号表}; • 枚举名:类型修饰符 • eg:enum Weekday {Sun,Mon,Tue,Wed,Thu,Fri,Sat} • 2.与整型的关系: • 依次对应0,1,2,3,… • 表达式求值, 枚举 整型 • C++输入整型 枚举型, 输出:枚举 整型

  8. 实型数据 • 类型: • 单精度float,双精度double,长双精度long double • 常量:单精度f,长双精度L • 变量:

  9. 符号常量与常值变量 • 符号常量:#define p1 3.1416 • 常值变量: • 在变量定义前加const,定义时必须初始化,属性明确。

  10. 数值表达式 • 简单:常量,变量,函数调用 • 算术操作符: • + - * / % + - eg:10/3=3 • 位操作符: • << (相当于*2) >>(相当于整除2) | & ^ ~ • 赋值操作符= : 执行顺序从右向左 • 复合赋值 • += -= *= /= %= <<= >>= |= &= ^= • 变量?=表达式 <=> 变量=变量?表达式

  11. 增1,减1操作: ++i, i++, --i, i— • 区别 • 前增/减1:先加/减1再操作 • 后增/减1:先操作再加/减1 • 执行顺序:从右到左 • Eg: int k,d=5; k=++d*2 k= d= . int k,d=5; k=d++*2 k= d= . 12 6 10 6 注意:表达式中,连续出现+,-被识别为++,--,应避 免++(或者--)所作用的变量在同一表达式中重复出现。

  12. sizeof操作符 • sizeof(类型修饰符)或sizeof(表达式) • 功能: • 获得一数据或数据类型所占空间的字节数

  13. 书写表达式注意 • 1.字符书写在同一水平线上。 • 2.算术运算符与数学中的运算符写法有区别。 • 3.用函数实现:乘方,开方,对数,正弦…… [math.h] • 4.括号( )无大中小之分。

  14. 类型的自动转化与强制转化 • 自动转化 • 规律:短 长, 有符号 无符号, 整型 实型, 低精度 高精度 • 强制转化 • 格式: (类型修饰符)表达式 • 类型修饰符 (表达式) • Eg: double (10/3)

  15. 逻辑型 • 修饰符:bool • 值域(两个): true false • 逻辑型表达式 • 无操作符的逻辑表达式 • 逻辑常量:true false • 逻辑变量:eg: bool a=true; • 逻辑函数调用 • 关系符表达式 • 逻辑符表达式 • 逻辑型与其它数据类型的关系: • 非0即true ,0即false

  16. 关系符表达式 • 操作符: • == != > < >= <= • 互为相反条件:3对 • 结果为逻辑型 • 优先级高于赋值,低于算术

  17. 逻辑符表达式 • 操作符: • && (与) ||(或) !(非) • 左右为逻辑型,结果为逻辑型 • 优先级:!>&&>||

  18. 条件 • 复合条件:用&&和||构成的条件 • 永真与永假条件 • 等价条件: • !!E • !(X==Y) • !(X>Y) • !(X<Y) • !(E1&&E2) • !(E1||E2) • E1&&E2 • E1||E2 E X!=Y 相反条件 X<=Y X>=Y !E1||!E2 摩根定律 !E1&&!E2 E2&&E1 结合律 E2||E1

  19. 条件表达式 • 格式: • 条件?表达式1:表达式2 • 功能: • 若条件为true时表示条件成立,它的值即为表达式1的值;若条件为false时表示条件不成立,它的值即为表达式2的值。 • 说明: • 条件为的值为逻辑值 • 表达式1/2应为同一数据类型 • 条件表达式可以嵌套 • 例子: • X.>0?1: (X<0?-1:0)

  20. 自定义类型修饰符 • 格式: • typeddf 类型修饰符说明; • 例如: • typedef int DISTANCE • 说明: • 去掉保留字typedef,与定义一个变量的格式完全相同。

  21. 表达式的副作用 • 副作用 • 表达式除了产生一个计算结果,还使参与计算的变量值改变 • 产生副作用原因: • 引入副作用操作符(赋值/复合赋值;增1/减1——作用于变量的操作) • 避免表达式错误,应注意两点 P44 • 副作用的应用 • 逗号表达式 • 表达式语句 • 没有副作用的表达式作为语句使用是毫无意义的

  22. 本章小结 • 1.        整形和实型(浮点型)是C++中用来表示数值的最主要的数据类型。C++中的整形数据或实型数据的值域及精度都是有限的,不同与数学中的整数或实数。为了满足程序中的不同需要,C++提供了不同规格的整形(short, int, long等)和不同规格的实型(fioat, double, 和long double),程序设计者可根据程序中对数据在值域,精度等方面的需要,选择适当的数据类型。 • 2.           字符型是表示字符和字符串的数据类型。C++的字符常量用单引号,字符串常量用双引号。C++字符串以ˊ|0ˊ为结束标记,ˊ|0ˊ成为字符串结束符。字符型与整形有着密切的关系:一个字符实际上就是一个作为该字符代码的整数,因此可施加于整数的操作也同样可以施加于字符。由于这一原因,可以用字符表示小整数。

  23. 本章小结 • 3.           枚举型是一种需要由程序设计者定义的数据类型。定义一个枚举型就是规定一组符号,用来表示程序中需要加以区分的不同事物。枚举型 与整型有着密切的关系:枚举型中的每一个符号惟一的对应一个整数,因此就是表示整数的符号常量。在定义枚举型时可以控制枚举符号与整数的对应关系。在程序中,枚举符号可以象整数那样加以利用。 • 4.           逻辑型的类型修饰符是bool,因此也成为布尔型,是用来表达条件的数据类型。逻辑型数据的值只有true(逻辑真,表达条件成立)或false(逻辑假,表达条件不成立)两种可能。逻辑型与整型有着密切的关系:当逻辑型数据作为 数值使用时,true就是1,false就是0;而其他类型的数据作为逻辑数据使用时,一切0值转换为false,一切非0值转换为true。

  24. 本章小结 • 5.           数值表达式的主要作用是完成数值计算。常量、变量和函数调用是三种最简单的表达式。通过操作符的连接,可以构造出任意复杂的表达式。当一个表达式中有许多操作符时,操作符的优先级和结合性决定了它们执行的程序。括弧()可以用来控制操作符的执行顺序,()具有最高的优先级。 • 6.           赋值(=)、符合赋值(+=等)以及增1减1(++,--)等是具有副作用的操作符,它们只能作用于变量。并要改变变量的值。对于这些作用于变量的操作符,除后增1和后减1外,其操作结果就是那个被作用的变量(被改变了值的变量),因此可以 继续作为“作用于变量的操作符”的作用对象。

More Related