基本数据类型和运算符及表达式.ppt
《基本数据类型和运算符及表达式.ppt》由会员分享,可在线阅读,更多相关《基本数据类型和运算符及表达式.ppt(95页珍藏版)》请在三一办公上搜索。
1、第2章,基本数据类型和运算符及表达式,2,主要内容,常量与变量整型数据实型数据字符型数据运算符和表达式数据类型的转换程序案例小结,3,2-1 常量与变量,常量和符号常量变量,4,常量,所谓常量,是指在程序运行过程中其值保持不变的量。如程序中的具体数字、字符等。常量被区分为不同的类型。,5,符号常量,用一个标识符代表一个常量,称为符号常量,即标识符形式的常量。,6,2-1-2 变量,变量的概念变量的定义变量的初始化,7,变量的概念,C语言中的变量是指在一个程序运行过程中,其值能被改变的量。一个变量应该有一个名字作为标识,变量名的命名规则也就是相关标识符的命名规则。,8,变量的定义,在C语言中,所
2、有变量必须在使用之前给予说明。也就是“先定义,后使用”,说明主要是指出变量的类型。变量定义的一般格式为:数据类型标识符 变量名1,变量名2,变量名n;,9,变量的存储,10,变量的初始化,在定义变量时同时初始化变量int a=8;/*指定a为整型变量,初值为8*/float f=8.24;/*指定f为实型变量,初值为8.24*/char c=a;/*指定c为字符型变量,初值为a*/给被定义变量的部分赋初值 int a,b,c=-6;它表示指定a、b、c均为整型变量,而只对c进行初始化,且c的初值为-6。,11,变量的初始化,对几个变量赋给同一个初值若对几个变量赋同一个初值,不能写成:int a
3、=b=c=6;而应写成:int a=6,b=6,c=6;初始化不是在编译阶段完成的,而是在程序运行时执行本函数时赋给初值的,相当于有一个赋值语句。,12,2-2 整型数据,整型常量整型变量,13,2-2-1 整型常量,十进制的整型常量:十进制数允许出现的数字是0-9共10个阿拉伯数字,并以非0数字开头。如456、-789、0等。八进制的整型常量:以0开头的整型常量是八进制整型常量。十六进制的整型常量:以0 x开头的整型常量是十六进制整型常量。,14,2-2-2 整型变量,整型变量的分类整型数据在内存中的存放形式整型变量的定义整型数据的溢出,15,整型变量的分类,基本整型,以int表示。短整型,
4、以short int表示,或以short表示。长整型,以long int表示,或以long表示。,16,整型变量的表示方法,17,C语言整型变量数值的表示范围,18,整型数据在内存中的存放形式,数据在内存中是以二进制形式存放的。如果定义了一个整型变量i,系统就给变量i分配相应的存储单元。,19,整型变量的定义,定义变量一般要在程序块的首部进行,以免在编译中出现变量未定义的错误。变量定义的位置决定了被定义变量的作用域,这一概念将在以后介绍。描述数据类型的关键字与被定义的变量之间至少要有一个以上的空格隔开,这样做的目的一是便于阅读程序,二是便于编译系统识别。多个变量是同一数据类型时,可以用一个数据
5、类型的关键字进行定义,但必须注意,变量间要用逗号隔开,结尾要用分号结束。变量可以以任意顺序进行定义,不必与它们在代码块中出现的顺序相对应。在定义short int型、long int 型和unsigned int 型变量时,可以只用short,long和unsigned进行定义。,20,整型变量的定义,一个整型常量,其值在-32 76832 767范围内,认为它是int型,它可以赋值给int型和short int型变量。一个整型常量,其值若超过了上述范围,在-2 147 483 6482 147 483 647范围之内,则认为它是long int 型,可以将它赋值给一个long int 型变量
6、。如果C语言版本(如Turbo C)确定short int 与int 型数据在内存中占据的长度相同,则它的表数范围与int 型相同。因此,一个int型的常量也同时是一个short int 型常量,可以赋值给int 型或short int 型变量。常量中无unsigned类型。但一个非负值的整型常量可以赋值给unsigned型的整型变量,只要它的范围不超过变量数值的表示范围即可。在一个整型常量后面加一个字母l 或L,则认为是long int 型常量。,21,整型数据的溢出,22,2-3 实型数据,实型常量实型变量,23,2-3-1 实型常量,实型常量的形式实型常量的类型,24,实型常量的形式,十
7、进制数形式 由数字09和小数点组成(注意,必须有小数点)。如3.14159、0.123、.321、21.0、0.0等。注意:在用十进制数书写实型常量时,必须包含小数点,小数点的两边不一定要求都有数字,例如,21.0可以写成21.;而0.123可以写成.123。,25,实型常量的形式,指数形式 实型常量的指数形式类似于数学中的指数表示法,就是把其10的多少次幂中的10用E(e)代替。一般格式为:尾数E(e)整数指数 如5.11027,7.21023。在C语言程序中表示为:5.1e-27,7.2e23或7.2e+23。注意:在用指数形式书写实型常量时,e(或E)的前面和后面必须有数字,且e后面的指
8、数必须为整数,而尾数可以是整数也可以是小数。例如,.0e0、1E0、0e5合法,而e3、.e3、e等都不是合法的指数形式。,26,实型常量的类型,许多编译系统将实型常量作为双精度来处理。例如,已定义一个实型变量f,有如下语句:f=3.86435*6620.87 系统将3.86435和6620.87按双精度数据存储(占64位)和运算,得到一个双精度的乘积,然后取前16位赋给实型变量f。这样做可以保证计算结果更精确,但是运算速度降低了。若在数的后面加字母f或F(如1.65f、654.87F),这样编译系统就会按单精度(32位)处理。,27,实型常量的类型,一个实型常量可以赋给一个float型、do
9、uble型或long double型变量。根据变量的类型截取实型常量中相应的有效位数字。,28,2-3-2 实型变量,实型变量的分类实型变量的定义实型数据在内存中的存放形式实型数据的误差,29,实型变量的分类,实型变量分为单精度(float型)、双精度(double型)和长双精度(long double型)3类。,30,实型变量,31,实型变量的定义,使用单精度型变量之前,必须在程序块的首部对其进行定义。定义单精度型变量的关键字是float。定义i为长双精度实数。C编译系统将为其分配8个字节(128bit)的存储空间。,32,实型数据在内存中的存放形式,33,实型数据在内存中的存放形式,34,
10、实型数据的误差,由于实型变量是用有限的存储单元存储的,因此,能提供的有效数字总是有限的,在有效位以外的数字将被舍去。由此可能会产生一些误差。,35,2-4 字符型数据,字符常量转义序列字符串常量符号常量字符型变量字符数据在内存中的存放形式及其使用方法,36,2-4-1 字符常量,C语言中字符型常量是由一对单引号括起来的单个字符构成。例如:x,y,7,%,;等都是有效的字符型常量。,37,2-4-2 转义序列,除了以上介绍的字符常量之外,C语言还允许用一种特殊形式的字符常量,就是以一个“”开头的字符序列。,38,转义序列,39,2-4-3 字符串常量,C语言中除了允许使用字符型常量外,还允许使用
11、字符串常量。字符串常量是用一对双引号括起来的字符序列。,40,2-4-4 符号常量,C语言中,常量可以用符号代替,代替常量的符号称之为符号常量。为了便于与一般标识符、变量名相区别,符号常量一般用大写英文字母序列构成,符号常量在使用之前必须预先进行定义。其定义的一般格式是:#define 符号常量名 常量,41,2-4-4 符号常量,使用符号常量增强了程序的可读性。使程序易于修改。,42,2-4-5 字符型变量,字符型变量是用来存放字符常量的,在一个字符变量中只能放一个字符,而不能存放一个字符串(包括若干字符)。字符型变量和整型变量一样也需要先定义,其定义应该在程序块的首部,其关键字是“char
12、”。字符型变量的定义形式如下:char c1,c2;或char c1;char c2;,43,2-4-6 字符数据在内存中的存放形式及其使用方法,字符常量在内存中的存放形式及使用字符串常量在内存中的存放形式,44,字符常量在内存中的存放形式及使用,将一个字符常量放到一个字符型变量中,实际上并不是把该字符本身放到内存单元中去,而是将该字符的相应的ASCII代码放到存储单元中。,45,字符常量在内存中的存放形式,46,字符串常量在内存中的存放形式,字符串常量在内存中存储时,系统自动在该字符串的末尾加一个“字符串结束标志”,这个结束标志就是0(ASCII码值为0的字符),也用NULL表示。它是一字节
13、(8bit)的代码,因此,长度为n个字符的字符串常量,在内存中要占用n+1个字节的存储空间。,47,2-5 运算符和表达式,运算符的分类运算符的优先级与结合性算术运算符和算术表达式增1、减1运算符及表达式赋值运算符和赋值表达式关系运算符和关系表达式逻辑运算符和逻辑表达式逗号运算符和逗号表达式sizeof运算符,48,2-5-1 运算符的分类,圆括号运算符:()。算术运算符:+、-、*、%。增1、减1运算符:+、-。赋值运算符:=及其扩展赋值运算符。关系运算符:、=、=、=、!=。逻辑运算符:&、!。逗号运算符:,。求字节数运算符:sizeof。,49,2-5-1 运算符的分类,强制类型转换运算
14、符:(类型)。条件运算符:?、:。下标运算符:。指针运算符:*、&。分量运算符:、。位运算符:、|、。,50,2-5-2 运算符的优先级与结合性,运算符的优先级运算符的结合性,51,运算符的优先级,所谓运算符的优先级就是在一个表达式中运算符所具有的运算优先次序。优先级数字越大,表示优先级越高,越优先被执行。在C语言中,运算符的优先顺序共分15个等级,最低为1,最高为15。处在同一级别的运算符,它们的优先级相同。,52,运算符的结合性,所谓运算符的结合性就是同一优先级的运算符的结合方向。自左至右的结合方向,称为“左结合性”;反之称为“右结合性”。除单目运算符、赋值运算符和条件运算符是“右结合性”
15、,即第14、3、2级。其他运算符都是“左结合性”。,53,2-5-3 算术运算符和算术表达式,算术运算符算术表达式算数运算符的优先级、结合性,54,算术运算符,C语言有如下5个算术运算符。+:加法运算符,或正值运算符,如1+4,+8。-:减法运算符,或负值运算符,如5-2,-9。*:乘法运算符,如2*6。/:除法运算符,如7/4。%:模运算符,或称求余运算符,如5%3。,55,算术运算符,两个整数相除的结果为整数,如5/3的结果值为1,舍去小数部分。但是,如果除数或被除数中有一个为负值,则舍入的方向是不固定的。模运算是取整数除法的余数。,56,算术表达式,算术运算符和操作数结合构成算术表达式。
16、操作数包括常量、变量、函数等。,57,算数运算符的优先级、结合性,算术运算符中的“*、/、%”运算符指定优先级是第13级,它们优先于优先级小于13级的各种运算符,但它们低于优先级为第15级和第14级的运算符。而运算符+、-的优先级是第12级。也就是说在一个表达式中有加、减、乘和除运算时要先进行乘、除运算,而后进行加、减运算。,58,2-5-4 增1、减1运算符及表达式,增1、减1运算符增1、减1表达式,59,增1、减1运算符,C语言中除了基本运算符外,还包括两个特殊的算术运算符:增1运算符“+”,减1运算符“-”。表达形式有4种:+操作数操作数+-操作数操作数-,60,增1、减1表达式,由增1
17、、减1运算符和变量构成的表达式是增1、减1表达式。使用增1、减1操作时需注意:增1、减1运算的操作对象只能是变量,而不允许是常量或表达式、函数调用等。增1、减1运算符的操作数通常是整型或字符型,因为上述类型的数据操作后其值是确定的;而实型数操作前后并不能确保其差的绝对值是1。增1、减1操作又分前置和后置操作两类,它们有质的区别。,61,增1、减1表达式,增1、减1运算是除了第15级以外优先级最高的运算。但是后置操作则要注意:必然先引用其值参加运算,再做后置操作。注意增1、减1操作的副作用。增1、减1运算一般用于如下两种场合:计数。最常用的场合是修改循环控制变量,因为n+不论是从书写的角度还是从
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基本 数据类型 运算 表达式

链接地址:https://www.31ppt.com/p-5952289.html