基本数据类型、操作符和表达式.ppt_第1页
基本数据类型、操作符和表达式.ppt_第2页
基本数据类型、操作符和表达式.ppt_第3页
基本数据类型、操作符和表达式.ppt_第4页
基本数据类型、操作符和表达式.ppt_第5页
已阅读5页,还剩80页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、,第2章 基本数据类型、 操作符和表达式,计算机处理的基本对象是数据。变量和常量则是程序的最基本的数据形式,将它们用操作符(也称为运算符)连接起来,便构成了表达式。本章介绍C语言中关于变量、常量、操作符和表达式的语法规则。这些语法规则是C语言的基本要素。,2.1 数 据 类 型,在C语言中,数据的类型分为基本数据类型、构造类型、指针类型和空值类型。对于每一种数据类型的数据,又可分成几种不同类型,如图2-1所示。,图2-1 C语言的数据类型,通常将整型和实型统称为数值型。构造类型是由若干数据类型组合在一起构造成的复杂数据类型。指针类型可以表示数据的存储地址。空值类型表示没有数据值。,各种类型数据

2、又可分为常量和变量。常量是程序运行中其值不能改变的数据。每个变量有自己的名字,叫变量名,变量用来存储在程序运行中其值可以发生变化的数据,一般用于存储原始数据、中间计算结果和最终计算结果等。,2.2 整 型 数 据,2.2.1 整型常量 在C语言中使用以下3种不同进位制的整型常量。,(1)十进制数:例如,13,15,0等。 (2)八进制数:八进制数的书写方法是在数字前加一个数字0,例如,015,013,017,00等。 (3)十六进制数:十六进制数的书写方法是在数字前加一个0 x,例如,0 x0,0 x15,0 xaf等。,为了扩大整型数据的取值范围,C语言还提供了一种长整型常量。长整型常量在计

3、算机中占用4个字节,相应的取值范围扩大到2147483648+2147483647。,2.2.2 整型变量 整型变量在计算机内存中占两个字节(即16bit),取值范围为从32768+32767(2152151)。用以说明整型变量的关键字(也称为数据类型符)为int。,定义变量数据类型语句的一般格式为: 数据类型符 变量名1,变量名2, C语言规定,每个变量在使用前,都必须先定义。,在关键字int前加上修饰符,可改变整型变量在内存所占位数和取值范围。,下列4种修饰符可以用来修饰整型变量: (1)signed带符号的整型变量; (2)unsigned无符号的整型变量; (3)long长型整型变量;

4、 (4)short短型整型变量。,在表2-1中列出了用这些修饰符修饰整型变量后,整型变量在计算机内存中所占位数和取值范围。,2.3 实 型 数 据,实型数据也称做浮点数,是一种带小数点的数。,2.3.1 实型常量 实型常量就是带小数点的10进制常数。在C语言中实型数据有两种表达(书写)方式:一种是用数字和小数点表示的,另一种是用指数方式表示的。,实型常量在计算机内存中一般占用4个字节,其数值取值范围是10381038。有效数字是7位。,当一个实型常量的数值超过了它能表达的精度时,C语言可以自动将其精度扩大到1516位(双精度)的有效数字。,2.3.2 实型变量 实型变量用来存储实型数据。实型变

5、量分为如下两种。,(1)单精度实型变量或简称实型变量或浮点型变量,其类型标识符为float。 (2)双精度实型变量或称双精度浮点型变量,其类型标识符为double 。 在表2-2中列出了以上两种实型变量在计算机内存中的所占位数和取值范围。,2.4 字符型数据与字符串,2.4.1 字符型常量 C语言的字符型常量是用单引号括起来的单个字符,如a,B,*等都是字符型常量。,字符型常量在计算机内存中是用相应字符的ASCII存储的,占用一个字节的空间。,在C语言中字母是区分大小写的,所以,a和A是不同的字符型常量,由ASCII代码表可以知道,字符型常量a存储的是十进制数97,而字符型常量A存储的十进制数

6、65。,因为在整型数与字符常量存在着这种对应关系,在C语言中字符型常量可以作为整型数来使用,整型数据(如果在ASCII范围内的话)也可以作为字符型数据来使用。,在C语言中支持一类特殊字符,它们以反斜杠“”开头,称为反斜杠字符常量,或称转义字符。转义字符是将斜杠后面字符的含义转变为另一种意义了。,2.4.2 字符型变量 字符型变量是C语言的一种数据类型,用关键字(类型符)char说明,用于存储字符常量或数值。,字符型变量可以用变量修饰符signed和unsigned来修饰。表2-3列出了字符型变量在计算机内存中所占的位数和取值范围。类型符char和signed char在意义上是没有区别的。,一

7、个字符型变量只能存储1个字符,它是以该字符的ASCII值存储的,并占一个字节的宽度。字符型变量和整型数变量之间可以相互通用。,2.4.3 字符串常量 字符串常量简称字符串。字符串不是一种数据类型,它是用双引号扩起来的一串字符。,字符串中的字母是区分大小写的。组成字符串的字符个数,叫做字符串长度。 如果字符串中含有转义字符,则每个转义字符当作一个字符看待。,每个字符在内存占一个字节的空间。但每个字符串在内存中占用的实际字节数等于字符串的长度加1。,字符串常量与字符常量在书写格式上的区别就在于,字符常量是用单引号括起来的,而字符串常量是用是双引号括起来的。,2.5 变量说明与初始化,2.5.1 变

8、量说明(定义) 在C语言中,变量是用变量名来表示的,变量名为一合法的C标识符。,在C程序中,变量在引用前,必须先进行说明,说明变量的属性,包括变量的名字和数据类型。变量说明也称为变量定义。,C语言的编译系统将根据变量说明,给变量分配相应的存储空间。 变量说明语句的一般格式是: 数据类型 变量名列表;,其中,“数据类型”为前面介绍的C语言数据类型符(见表2-1、表2-2和表2-3),也可以是以后介绍的其他数据类型符。“变量名列表”是所要说明的一些同类型的变量名,变量名之间要用逗号分开。说明语句以分号结束。,2.5.2 变量的初始化 在对变量进行定义的同时给变量赋值称为变量的初始化。变量初始化的一

9、般格式如下: 变量类型 变量名1=常量1,变量名2=常量2,,变量的初始化是在程序运行到该变量所在的函数时进行的。如果定义变量时没有初始化,可以在以后用赋值语句给变量赋值。,一般情况下,如果变量在程序中没有初始化,则在赋值之前,它的值是不确定的,因此,程序中在引用某变量之前,该变量应该初始化或赋值。以后还会介绍在某些情况下,没有初始化的变量的初始值可以是确定的。,2.6 运算符和表达式,2.6.1 运算符 运算符也称操作符,是一种表示对数据进行何种运算处理的符号。编译器通过识别这些运算符,完成各种算术运算和逻辑运算。,运算的对象(数据)称为操作数。每个运算符代表某种运算功能,每种运算功能有自己

10、的运算规则,如运算的优先级、结合性、运算对象类型和个数,以及运算结果的数据类型都有明确的规定。,C语言的基本运算符有以下几大类: 算术运算符; 逻辑运算符; 关系运算符; 位运算符;,赋值运算符; 条件运算符; 逗号运算符; 数据长度运算符。,除了这些基本运算符外,还有一些专门用途的运算符,如: 指针运算符; 改变优先级运算符; 成员运算符; 下标运算符; 其他。,2.6.2 表达式 用运算符把运算对象连接起来所组成的运算式,在C语言中叫做表达式。按照规定的运算规则,对表达式进行运算所得到的结果,称为表达式的值。,在C语言中,就是用圆括号来提高运算顺序的。在C语言中,括号也看作是运算符(提高运

11、算符运算优先级),而且它的优先级别最高。,对优先级相同的运算符,C语言还规定了结合性。若是按自左向右的顺序进行运算,则结合性称为自左向右的;若是按自右向左的顺序进行运算,则结合性称为自右向左的。,表2-4列出了C语言的各种运算符、名称、优先级和结合性。,表达式描述数据的加工过程。在书写表达式时,不仅要正确理解所使用的每个运算符的功能,还要正确掌握运算符的优先级和结合性。,利用圆括号,可以像一般数学计算那样,可以任意地改变表达式的运算顺序。,表达式值的数据类型,因运算对象的不同而不同。归纳起来可分为整型、实型和逻辑型。,逻辑型数据是只有两个可能值的数据,这两个值是:真和假。在C语言中,“真”用数

12、字1表示,“假”用数字0表示。因此,逻辑值也可以按整型数看待。,从构成表达式的运算符来看,可以把表达式分成以下几种。 (1)算术表达式:由算术运算符连接数值型运算对象构成的表达式为算术表达式,计算的结果仍为数值型。,(2)关系表达式:由关系运算符连接表达式构成的表达式关系表达式,关系表达式的运算的结果为逻辑值。关系表达式的一般形式为: 表达式1关系运算符 表达式2,(3)逻辑表达式:由逻辑运算符连接表达式构成的表达式为逻辑表达式,逻辑表达式的运算结果为逻辑值。逻辑表达式的一般形式为: 表达式1 逻辑运算符 表达式2 逻辑运算符 表达式,(4)条件表达式:由条件运算符连接表达式构成的表达式,其一

13、般形式为: 表达式1?表达式2:表达式3,(5)赋值表达式:由赋值运算符或自反赋值运算符号“=”连接表达式构成的表达式称为赋值表达式。其一般形式为: 变量 赋值运算符 表达式 变量 自反赋值运算符 表达式,赋值表达式的运算功能是将赋值运算符右边表达式的值赋给赋值运算符左边的变量。,(6)逗号表达式:由逗号运算符连接表达式构成的表达式称为逗号表达式,其一般形式为: 表达式1,表达式2,表达式3,,2.6.3 表达式中数据类型的转换 C语言规定了如下的数据类型的转换原则。,(1)数据类型自动转换原则 表达式中参加运算的各个运算对象,先转换成其中数据长度最长的数据类型,然后再计算。计算结果的数据类型

14、就是其中数据长度最长的那个数据的数据类型。,字符型数据参加运算时,要转换为整型(int)或长度更大的其他数据类型,这取决于与字符型数据一起参加的运算对象的数据类型。,图2-3所示的例子说明了上述的类型转换原则。其中有: char ch; int i; float f; double d;,图2-3 数据类型转换,(2)强制性数据类型转换 在表达式中,可以根据需要,把其中任意一个数据的类型转换为另一个数据类型,称为数据类型的强制转换。强制数据类型转换的一般格式是: (数据类型) 表达式,(3)运算结果存入变量时的数据类型自动转换 如果表达式的运算结果的数据类型与要存入的变量类型不一致,则将运算结

15、果的数据自动转换成要赋予的变量的数据类型。,关于数据类型转换有一点要注意,表达式计算过程中,数据类型的转换是暂时的,只是为了用于当前计算,原来类型的值并未改变或丢失。,小 结,本章讨论了C语言的基本数据类型,常量、变量及变量初始化,操作符和表达式等基本语法问题。通过本章的学习,要掌握以下问题。,1基本数据类型 C语言有4种基本数据类型,它们是: 整型 integer; 字符型char; 浮点型 float; 双精度型 double;,对于这些基本数据类型,要掌握其数值范围和所占内存的长度,熟记它们的关键字(类型符)。,2常量 C语言中的常量有数值型的(包括整数和实数)、字符型的和字符串常量。整数又有十进制、八进制和十六进制整数之分。常量也可以用标识符表示,称为符号常量。符号常量将在以后介绍。,3变量 涉及变量的内容很多,也很重要。首先要掌握好变量的定义和初始化的方法。因为这是最基本的。,4C语言的基本操作符 C语言的操作符非常丰富,本章对C语言运算符的总体情况作了介绍。对于它

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论