c语言-数据类型及其运算

上传人:san****019 文档编号:70612550 上传时间:2019-01-17 格式:PPT 页数:57 大小:328.51KB
返回 下载 相关 举报
c语言-数据类型及其运算_第1页
第1页 / 共57页
c语言-数据类型及其运算_第2页
第2页 / 共57页
c语言-数据类型及其运算_第3页
第3页 / 共57页
c语言-数据类型及其运算_第4页
第4页 / 共57页
c语言-数据类型及其运算_第5页
第5页 / 共57页
点击查看更多>>
资源描述

《c语言-数据类型及其运算》由会员分享,可在线阅读,更多相关《c语言-数据类型及其运算(57页珍藏版)》请在金锄头文库上搜索。

1、张超,2010.11.14,数据类型及其运算,E-mail:,数据类型及其运算,C的数据类型(基本类型,构造类型,指针类型,无值类型)及其定义方法。 C运算符的种类、运算优先级和结合性。 不同类型数据间的转换与运算。 C表达式类型(赋值表达式,算术表达式,关系表达式,逻辑表达式,条件表达式,逗号表达式)和求值规则。,基本类型详细,1. C语言的数据类型,数据类型决定: 数据占据内存的字节数,即不同数据类型在内存中占据的数据不同 数据的取值范围 相应数据类型可进行的操作,【考点】常量与变量,常量是指在程序运行过程中,其值不能改变的量。 常量分为整型常量、实型常量、字符常量、字符串常量、符号常量5

2、种。 C语言中没有字符串变量。存放字符串使用字符数组。 字面常量(直接常量):可以从字面即可判断 例如:123、45.7、3e-2、a 符号常量:用标识符代表常量 定义格式:#define 符号常量 常量 符号常量的定义一般用大写字母 不是C语言,而是宏定义预处理命令 返回图,【考点】常量与变量-变量,变量的基本概念 1.在程序运行过程中,其值可以改变的量称为变量 2.一个变量应该有一个名字,在内存中占据一定的存储单元 3. 要区分变量名和变量值是两个不同的概念。,【考点】常量与变量-变量,例如:a=3 变量名实际上是一个以一个名字对应代表一个地址,在对程序编译连接时由编译系统给每一个变量名分

3、配对应的内存地址。从变量中取值,实际上是通过变量名找到相应的内存地址,从该存储单元中读取数据。,【考点】常量与变量-变量,变量的操作 1.变量的定义 变量定义的一般格式: 数据类型 变量1,变量2,变量n;,决定分配内存的字节数,合法的标识符,例如:int a=2; float b,c;,【考点】常量与变量-变量,2.变量的赋值 在定义时赋值 例如: 在使用时赋值 例如:,int a=5;,float x=y=z=5;,right!,Error!,int a; 定义变量a,a=12; 给变量a赋值,【考点】常量与变量-变量,变量使用的一般规则: 变量一定要先定义,后使用,切忌随意定义变量,影响

4、程序结构 一般先在函数开头定义在函数中将要使用的变量,也可以在程序书写的时候定义变量,但尽量在写程序主体之前定义好自己需要的变量,使程序结构清晰,返回分类图,返回总大纲,基本类型的分类及特点,整型,实型,字符型,有,有,有,无,无,signed int,signed short,signed long,unsigned int,unsigned short,unsigned long,float,double,unsigned char,char,有,16,16,32,16,16,32,32,64,8,8,-21474936482147493648,-3276832767,-327683276

5、7,1.7e-3081.7e308,065535,065535,04294967295,3.4e-383.4e38,-128127,0255,基本类型的分类及特点,1.整型常量 有三种表示形式: 1.1 十进制整数:十进制整常数没有前缀,由数字09和正负号表示 以下各数是合法的十进制整常数: 237、-568、65535、1627; 以下各数是不合法的十进制整常数: 023 (不能有前导0)、23D (含有非十进制数码),基本类型的分类及特点,1.2 八进制整数:八进制整常数必须以0开头,数码取值为07,通常是无符号数 以下各数是合法的八进制数: 015(十进制为13)、0101(十进制为65

6、) 以下各数是不合法的八进制数: 256(无前缀0)、03A2(包含了非八进制数码)、-0127(出现了负号),1.3十六进制整数:十六进制整常数的前缀为0X或0x。其数码取值为09,AF或af 以下各数是合法的十六进制整常数: 0X2A(十进制为42)、0XA0 (十进制为160) 以下各数是不合法的十六进制整常数: 5A (无前缀0X)、 0X3H (含有非十六进制数码),基本类型的分类及特点,基本类型的分类及特点,整型常量的类型 根据其值所在范围确定其数据类型 默认数据类型为int型 在整常量后加字母l或L,认为它是long int型常量,2.整型变量 整型变量的基本类型符为int,我们

7、根据数值在内存中占据空间的不同,将整型变量分为基本型、短整型、长整型 基本型:以int表示 短整型:以short int或short表示 长整型:以long int或long表示 无符号型:类型说明符为unsigned,基本类型的分类及特点,如果不指定为unsigned,则默认为signed(此时signed可以不写) 符号类型符和其他三个基本类型组合共可得出6种整型变量: 有符号基本整数 signed int 无符号基本整数 unsigned int 有符号短整型 signed short int 无符号短整型 unsigned short int 有符号长整型 signed long in

8、t 无符号长整型 unsigned long int,基本类型的分类及特点,整型变量的赋值操作: int a; 定义一个变量a unsigned int b; 定义一个无符号变b a=1200; 将a赋值为1200 b=100; 将b赋值为100 b=-100; error!,b为无符号整型变量不能赋负值,基本类型的分类及特点,在变量定义时,应注意以下几点: 允许在一个类型说明符后,定义多个相同类型的变量,各变量名之间用逗号间隔,类型说明符与变量名之间至少用一个空格间隔 最后一个变量名之后必须以“;”号结尾 变量名应有意义,切忌随便定义变量名 变量定义时注意数据范围,不要造成数据溢出,基本类型

9、的分类及特点,3.实型常量 实型也称为浮点型,实型常量也称为实数或者浮点数,有两种表示形式: 3.1十进制小数形式:由数字和小数点组成 例如: 0.0、25.0、5.789、0.13、5.0、300.、-267.8230 等均为合法的实数,基本类型的分类及特点,3.2指数形式:由十进制数,加阶码标志“e”或“E”以及阶码(只能为整数,可以带符号)组成,e或E之前必须有数字 以下是合法的实数: 2.1E5 (等于2.1*105)、3.7E-2 (等于3.7*10-2) 0.5E7 (等于0.5*107)、-2.8E-2 (等于-2.8*10-2) 以下是不合法的实数: E7 (阶码标志E之前无数

10、字)、53.-E3 (负号位置不对) 2.7E (无阶码),基本类型的分类及特点,实型常量的类型 默认数据类型为double型 在实型常量后加字母f或F,认为它是float型,基本类型的分类及特点,4.实型变量 我们根据数值在内存中占据空间的不同,将整型变量分为单精度型、双精度型、长双精度型 单精度型:以float表示 双精度型:以double表示 长双精度型:以long double表示,基本类型的分类及特点,实型数据的四舍五入 由于实型变量是由有限的存储单元组成的,因此能提供的有效数字总是有限的,在有效位以外的数字将被舍去,由此就会产生一些误差 float a=123456.789e5;

11、b=a+20; 输出结果b和a相同!,基本类型的分类及特点,实型变量的赋值操作: float a=123.5; double b=23.9; 注意:C编译系统将实型常量作为双精度来处理,所以为了提高运算速度,可以在数的后边加字母f或F,让系统按单精度处理,基本类型的分类及特点,5.字符常量 字符常量是用单引号括起来的一个字符 例如:a、b、=、+、? 字符常量的特点: 字符常量只能用单引号括起来,不能用双引号或其它括号 字符常量只能是单个字符,不能是字符串 字符可以是字符集中任意字符,基本类型的分类及特点,基本类型的分类及特点,一种特殊形式的字符常量,“转义字符” 转义字符:反斜线后面跟一个字

12、符或一个代码值表示,6.字符变量 字符变量用来存储字符常量,但只能存储单个字符,类型说明符是char 定义形式: char a; 赋值操作: a=a;,基本类型的分类及特点,7.字符数据在内存中的存储形式及使用方法 每个字符变量被分配一个字节的内存空间,因此只能存放一个字符,但这个字符并不是将该字符本身放到内存中,而是将该字符相对应的ASCII码放到内存中 例如:a=a 在内存中实际是将a的ASCII码值97存入内存中,类似于整数的存储,基本类型的分类及特点,char与int数据间可进行算术运算 语言允许对整型变量赋以字符值,也允许对字符变量赋以整型值。在输出时,允许把字符变量按整型量输出,也

13、允许把整型量按字符量输出 例如:char test1,test2; test1=a; test2=98;,test1=97,test2=b,基本类型的分类及特点,实际应用: 大小写字母的转换(大写字母和小写字母的ASCII码值相差32) A=A; a=A+32; 相当于a=a;,基本类型的分类及特点,8.字符串常量 字符串常量是由一对双引号括起的字符序列 例如: “china”、“c语言” 注意: 每个字符串尾自动加一个 0 作为字符串结束标志,基本类型的分类及特点,字符串常量和字符常量的主要区别: 字符常量由单引号括起来,字符串常量由双引号括起来 字符常量只能是单个字符,字符串常量则可以含一

14、个或多个字符 可以把一个字符常量赋予一个字符变量,但不能把一个字符串常量赋予一个字符变量。在语言中可以用一个字符数组来存放一个字符串常量,基本类型的分类及特点,字符常量占一个字节的内存空间。字符串常量占的内存字节数等于字符串中字节数加1。增加的一个字节中存放字符“0” (ASCII码为0),是字符串结束的标志 例如:a在内存中的存放情况为 “a”在内存中的存放情况为,a,基本类型的分类及特点,返回目录,不同数据类型之间的转换,不同类型的变量之间可以相互转换,分为: 隐式转换 显式转换,1.隐式转换 又称为自动转换,有编译系统自动完成 运算转换-不同类型数据混合运算时 赋值转换-把一个值赋给与其

15、类型不同的变量时 输出转换-输出时转换成指定的输出格式 函数调用转换-实参与形参类型不一致时转换,不同数据类型之间的转换,转换规则: 若参与运算量的类型不同,则先转换成同一类型,然后进行运算 转换按数据长度增加的方向进行,以保证精度不降低 所有的浮点运算都是以双精度进行的,即使仅含float单精度量运算的表达式,也要先转换成double型,再作运算,不同数据类型之间的转换,char型和short型参与运算时,必须先转换成int型 在赋值运算中,赋值号两边量的数据类型不同时,赋值号右边量的类型将转换为左边量的类型,不同数据类型之间的转换,说明:,必定的转换,运算对象类型不同时转换,不同数据类型之

16、间的转换,例: int i; float f; double d; long l;,10 + a + I * f - d / l,不同数据类型之间的转换,练习: char ch; int i; float f; double d;,ch / i + f * d - ( f + i ),不同数据类型之间的转换,2.显式转换 又称为强制转换,是通过类型转换运算来实现的 一般形式: (类型名)(表达式) 功能:把表达式的运算结果强制转换成类型说明符所表示的类型 例如: (int) (x+y) (int) 3.6,不同数据类型之间的转换,在使用强制转换时应注意的问题: 类型说明符和表达式都必须加括号(单个变量可以不加括号) 无论是强制转换或是自动转换,都只是为了本次运算的需要而对变量的数据长度进行的临时性转换,而不

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号