CH2-数据与运算.ppt
《CH2-数据与运算.ppt》由会员分享,可在线阅读,更多相关《CH2-数据与运算.ppt(66页珍藏版)》请在冰豆网上搜索。
继续教育学院继续教育学院继续教育学院继续教育学院第二章第二章数据与运算数据与运算2022/11/61继续教育学院继续教育学院继续教育学院继续教育学院学习目的学习目的11、语言的数据类型,熟悉、语言的数据类型,熟悉CC语言中的运算符和表达式语言中的运算符和表达式22、掌握字符串常量与字符常、掌握字符串常量与字符常量的区别,转义字符的使量的区别,转义字符的使用用33、掌握各类数据混合运算、掌握各类数据混合运算44、掌握算术、掌握算术逻辑逻辑逗号运算逗号运算符和算术表达式符和算术表达式学习重点学习重点不同数据类型的使用不同数据类型的使用范围、赋值运算符和范围、赋值运算符和赋值表达式,逗号运赋值表达式,逗号运算符和逗号表达式算符和逗号表达式第第2章章数据与运算数据与运算学习难点学习难点1.1.运算符的优先级和结运算符的优先级和结合性合性2.2.数据的隐式转换问题数据的隐式转换问题2022/11/62继续教育学院继续教育学院继续教育学院继续教育学院C语言的数据类型语言的数据类型标识符、常量与变量标识符、常量与变量运算符与表达式运算符与表达式数据类型转换数据类型转换程序举例程序举例第第2章章数据与运算数据与运算2022/11/63继续教育学院继续教育学院继续教育学院继续教育学院通常通常程序程序要对数据进行操作处理:
要对数据进行操作处理:
处理的对象是处理的对象是数据数据通过通过运算符和表达式运算符和表达式进行操作进行操作本章介绍本章介绍C语言的基础,包括:
语言的基础,包括:
数据类型数据类型运算符和表达式运算符和表达式均是程序设计的基本知识均是程序设计的基本知识为什么讨论为什么讨论这些知识这些知识?
2022/11/64继续教育学院继续教育学院继续教育学院继续教育学院2.1CC语言的数据类型语言的数据类型2.1.1数据数据类型概述型概述C数据类型数据类型数组类型数组类型结构体类型结构体类型共用体类型共用体类型枚举类型枚举类型基本类型基本类型指针类型指针类型构造类型构造类型单精度型单精度型单精度型单精度型双精度型双精度型双精度型双精度型整数类型整数类型整数类型整数类型字符类型字符类型字符类型字符类型实实实实数数数数(浮浮浮浮点点点点)型型型型空类型空类型空类型空类型2022/11/65继续教育学院继续教育学院继续教育学院继续教育学院1整型数据的类型基本整型基本整型int无符号基本整型无符号基本整型unsignedint短整型短整型short或或shortint无符号短整型无符号短整型unsignedshort或或unsignedshortint长整型长整型long或或longint无符号长整型无符号长整型unsignedlong或或unsignedlongint2.1.2整型整型2022/11/66继续教育学院继续教育学院继续教育学院继续教育学院2.1.2整型整型类型类型关键字关键字长度长度值域值域有符号短整数有符号短整数short,shortint,signedshortint2-215(215-1)无符号短整数无符号短整数unsignedshort,unsignedshortint20(216-1)有符号整数有符号整数int,signedint4-231(231-1)无符号整数无符号整数unsigned,unsignedint40(232-1)有符号长整数有符号长整数long,longint,signedlongint4-231(231-1)无符号长整数无符号长整数unsignedlong,unsignedlongint40(232-1)VisualC+6.0规定的整数类型及相关数据规定的整数类型及相关数据2022/11/67继续教育学院继续教育学院继续教育学院继续教育学院1整数的几种书写形式整数的几种书写形式
(1)十进制整常数十进制整常数十进制整常数没有前缀,其数码为十进制整常数没有前缀,其数码为09。
以下各数是合法的十进制整常数:
以下各数是合法的十进制整常数:
237、-568、65535、1627;十进制写法中除非要写的整数本身就是十进制写法中除非要写的整数本身就是0,否则第一个数,否则第一个数字字符不能为字字符不能为0。
(2)八进制形式八进制形式八进制整常数:
八进制整常数必须以八进制整常数:
八进制整常数必须以0开头,即以开头,即以0作为作为八进制数的前缀。
数码取值为八进制数的前缀。
数码取值为07。
八进制数通常是无。
八进制数通常是无符号数。
符号数。
例如:
例如:
003103100356355L其中其中0031相当于十进制的相当于十进制的252022/11/68继续教育学院继续教育学院继续教育学院继续教育学院整数的几种书写形式(续)整数的几种书写形式(续)(3)十六进制形式十六进制形式十六进制整常数的前缀为十六进制整常数的前缀为0X或或0x。
其数码取值为。
其数码取值为09,AF或或af。
下面是用十六进制形式写出的一些整数和长整数:
下面是用十六进制形式写出的一些整数和长整数:
0x410x640XFF0X3242DL(4)整型常数的后缀:
在整型常数的后缀:
在16位字长的机器上,基本整型的长度位字长的机器上,基本整型的长度也为也为16位,因此表示的数的范围也是有限定的。
位,因此表示的数的范围也是有限定的。
十进制无符号整常数的范围为十进制无符号整常数的范围为065535有符号数为有符号数为-32768+32767八进制无符号数的表示范围为八进制无符号数的表示范围为00177777十六进制无符号数的表示范围为十六进制无符号数的表示范围为0X00XFFFF或或0x00xFFFF。
如果使用的数超过了上述范围,就必须用长整型数来表示。
如果使用的数超过了上述范围,就必须用长整型数来表示。
长整型数是用后缀长整型数是用后缀“L”或或“l”来表示的。
来表示的。
2022/11/69继续教育学院继续教育学院继续教育学院继续教育学院2.1.3实型实型C语言中实型数据又称浮点型数据。
一般语言中实型数据又称浮点型数据。
一般C语言提供了三种语言提供了三种表示实数的类型:
表示实数的类型:
单精度浮点数类型,简称浮点类型,类型名为单精度浮点数类型,简称浮点类型,类型名为float双精度浮点数类型,简称双精度类型,类型名为双精度浮点数类型,简称双精度类型,类型名为double长双精度类型,类型名为长双精度类型,类型名为longdouble。
所有整数类型和实数类型。
所有整数类型和实数类型统称为算术类型。
统称为算术类型。
类类型型字节数字节数有效数字有效数字数值范围数值范围float47-3.410-383.41038double816-1.710-3081.710308longdouble1019-3.410-49323.41049322022/11/610继续教育学院继续教育学院继续教育学院继续教育学院2.1.3实型实型C语言中,实型数据有两种表示形式:
语言中,实型数据有两种表示形式:
(1)十进制数形式:
由数码十进制数形式:
由数码09和小数点组成。
和小数点组成。
十进制数形式由数字序列和小数点组成。
如:
十进制数形式由数字序列和小数点组成。
如:
34.35、234.87等。
等。
0.0、25.0、5.789、0.13、5.0、300.、-267.8230等均为合法的实等均为合法的实数。
注意,必须有小数点。
数。
注意,必须有小数点。
(2)指数形式:
由十进制数,加阶码标志指数形式:
由十进制数,加阶码标志“e”或或“E”以及阶以及阶码(只能为整数,可以带符号)组成。
码(只能为整数,可以带符号)组成。
其一般形式为:
其一般形式为:
aEn(a为十进制数,为十进制数,n为十进制整数)为十进制整数)其值为其值为a10n。
例如:
例如:
2.1E5(等于等于2.1105)3.7E-2(等于等于3.710-2)2022/11/611继续教育学院继续教育学院继续教育学院继续教育学院2.1.4字符型字符型字符类型数据主要用于程序的输入输出。
此外,字符类型数据主要用于程序的输入输出。
此外,文字处理方面的应用程序也必须能使用和处理字文字处理方面的应用程序也必须能使用和处理字符形式的数据。
符形式的数据。
字符型数据的类型名是字符型数据的类型名是char。
字符类型的数据包。
字符类型的数据包括计算机所用编码字符集中的所有字符。
括计算机所用编码字符集中的所有字符。
常用的常用的ASCII字符集,其中的字符包括所有大小写英文字符集,其中的字符包括所有大小写英文字母、数字、各种标点符号字符,还有一些控制字符,字母、数字、各种标点符号字符,还有一些控制字符,共共128个。
个。
扩展的扩展的ASCII字符集包括字符集包括256个字符。
字符集的所有字个字符。
字符集的所有字符都是字符类型的值。
符都是字符类型的值。
在程序执行时,其中的字符就用对应的编码表示,一在程序执行时,其中的字符就用对应的编码表示,一个字符通常占用一个字节。
个字符通常占用一个字节。
2022/11/612继续教育学院继续教育学院继续教育学院继续教育学院2.1.4字符型字符型C语言中字符的书写形式是用单引号括起的单个字符,例语言中字符的书写形式是用单引号括起的单个字符,例如如a、B、4等。
还有一些特殊的控制字符无法这样写出,等。
还有一些特殊的控制字符无法这样写出,例如换行字符等。
例如换行字符等。
C语言为它们规定了特殊写法:
以反斜语言为它们规定了特殊写法:
以反斜杠(杠()开头的一个字符或一个数字序列,这类字符称为)开头的一个字符或一个数字序列,这类字符称为转义字符转义字符。
转义字符在。
转义字符在C语言程序中起着特殊作用语言程序中起着特殊作用。
0000字符串结束标志字符串结束标志字符串结束标志字符串结束标志nn回车换行回车换行回车换行回车换行tt跳到下一个输出位置跳到下一个输出位置跳到下一个输出位置跳到下一个输出位置双引号字符双引号字符双引号字符双引号字符dddddddddddd为为为为11到到到到33位八进制数所代表的字符位八进制数所代表的字符位八进制数所代表的字符位八进制数所代表的字符xhhxhhhhhh为为为为11到到到到22位十六进制数所代表的字符位十六进制数所代表的字符位十六进制数所代表的字符位十六进制数所代表的字符2022/11/613继续教育学院继续教育学院继续教育学院继续教育学院2.2标识符、常量与变量标识符、常量与变量2.2.1标识符标识符标识符:
指程序中的变量、符号常量、数组、函数、类型、标识符:
指程序中的变量、符号常量、数组、函数、类型、文件等对象的名字。
标识符只能由字母、数字和下划线组文件等对象的名字。
标识符只能由字母、数字和下划线组成,且第一个字符必须为字母或下划线。
成,且第一个字符必须为字母或下划线。
命名规则如下:
命名规则如下:
(1)标识符的只能由下划线标识符的只能由下划线“_”、数字、数字09与与26个大小写字母个大小写字母az、AZ构成。
构成。
(2)标识符的首个字符必须是字母或下划线标识符的首个字符必须是字母或下划线“_”而不能是数字或其它而不能是数字或其它符号。
符号。
(3)C语言中大小写字母是敏感的,即在标识符中,大写字母和小写字语言中大小写字母是敏感的,即在标识符中,大写字母和小写字母代表不同的意义。
母代表不同的意义。
例如:
例如:
Name和和name是两个不同的标识符。
是两个不同的标识符。
(4)标识符不能使用系统关键字,因为关键字是系统的保留字,它们标识符不能使用系统关键字,因为关键字是系统的保留字,它们已有特定的含义。
已有特定的含义。
2022/11/614继续教育学院继续教育学院继续教育学院继续教育学院2.2.1标识符标识符关键字:
关键字:
是指系统预定义的保留标识符,又称为是指系统预定义的保留标识符,又称为保留字保留字。
它们有特定的含义,不能再作其它用途使用。
它们有特定的含义,不能再作其它用途使用。
ANSIC定义定义的关键字共的关键字共32个个autodoubleintstructbre