第三章 数据类型 运算符与表达式.doc_第1页
第三章 数据类型 运算符与表达式.doc_第2页
第三章 数据类型 运算符与表达式.doc_第3页
第三章 数据类型 运算符与表达式.doc_第4页
第三章 数据类型 运算符与表达式.doc_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

第3章 数据类型、运算符与表达式3.1 数据类型 数据类型基本类型整型 int字符型 char实型构造类型数组 type 结构体 struct共用体 union单精度 float双精度 double枚举 enum指针 type *空类型 void1. 以下一些数据类型,由这些数据类型可以构造出不同的数据结构。2.算法处理的对象是数据,而数据是以某种特定的形式存在的。3.在程序中对用到的所有数据都必须指定其数据类型。数据有常量与变量之分,他们分别属于以上这些类型。3.2 常量与变量一、常量1.常量:在程序运行过程中,值始终不变的量。2.常量种类:(1)整型常量,12、0、-3 、 (2)实型常量,4.6、-1.23、 (3)字符常量,a、d、 (4)符号常量,用一个标志符代表一个常量。3.符号常量 注意:不能再被赋值;一般要大写。 好处:含义清楚(见名知意);一改全改(方便)。二、变量1.变量: 变量代表内存中具有特定属性的一个存储单元,它用来存放数据,也就是在程序运行过程中,值可以发生改变的量。变量名是一个地址,在地址中取值即为变量值。 注意:先定义,再使用。2.标识符: 由程序员声明的单词,用来命名程序中出现的一些实体。简单地说,标识符就是一个名字。 标识符的命名规则:1)由大小写字母、下划线和数字组成,且只能由字母或下划线开头。例如:sum、_aaa、a1、stu_name 合法;N.1、1a 不合法2)大小写不同,sum 、SUM和Sum 互不相同 3)长度不超过n个字符(n=8,n随系统不同而不同)4)力争做到见名知意,例如:name,age较好,x,y,a1较差5)变量使用前必须定义类型(先定义,后使用)6)不得与关键字重名3.3整型数据一、整型常量1. 整型常量的表示方法 (1)十进制:123、 0 (2)八进制:以0开头的数,例如:0123,即(123)8,等于十进制的83 (3)十六进制:以0x或0X开头,例如:0x123,等于十进制的291。2. 整型常量的类型 (1)根据整数的范围,可判断其类型 (2)一个整常量后面加一个字母u或U,认为是unsigned int型。 (3)在一个整常量后面加一个字母l或L,则认为是long int型常量。2、 整型变量1. 整型变量的存放形式 数据在内存中是以二进制形式存放的。2.整型变量的种类 (1)基本整型: int 有符号:signed int 宽度:32位 (4字节) 范围:-231(231-1), -21474836482147483647 无符号: unsigned int 范围:0(232-1), 04294967295 (2)短整型:short int 或 short 宽度:16位(2字节) 有符号:signed short int 范围:-3276832767 无符号: unsigned short int 范围:065535 (3)长整型:long int 或 long 宽度:32位(4字节) 有符号:signed long int 范围: -21474836482147483647 无符号:unsigned long int 范围:04294967295注意:long 定位32位,short定位16位,而int 可以是32位也可以是16位。3.整型变量的定义 对变量的定义一般放在一个函数的开头部分的声明部分。例如:int a,b,c; 不同种类的整型数据可以进行算术运算。3. 整型数据超出后会溢出 超出范围即开始从最左边的数开始。3.4 浮点型数据一、浮点型常量1.浮点型常量的表示方法 (1)十进制形式 它由数字和小数点组成(注意必须有小数点) 例如:0.123、 123. 45 、 0.00 、 .123、 123. (2)指数形式 E或e,e前必须有数,e后的指数必须是整数 例如:123.45e3或123.45E3 但e3 、 23.5e3.5 、 e不合法2. 浮点型常量的类型 C语言编译系统将浮点型常量作为双精度来处理。 一个浮点型常量可以赋给一个float型、double型或long double型变量,根据变量的类型截取实型常量中相应的有效为数字。二、浮点型变量1.浮点型变量 按照指数形式存储;指数部分采用规范化的指数形式。2.浮点型变量的种类 (1)单精度型:float 宽度:32位(4字节) 范围: (+/- ) 3.4*10-383.4*1038 精度:十进制6位有效数字 (2)双精度型:double 宽度:64位(8字节) 范围: ( +/- ) 1.7*10-3081.7*10308 精度:15位有效数字(3)长双精度型:long double double 类型相同(不要求)3.浮点型数据的舍入误差注意:尽量避免将一个很大的数和一个很小的数直接相加或相减,否则就会“丢失”小的数。3.5 字符型数据1.字符常量 C语言的字符常量是用单引号括起来的一个字符,例如: a、 F、 $、 n字符型常量占用一个字节 每个字符常量有一个编码数字值,即ASCII码表中的码值 例如:A65, B-66,a-97,a-98 字符常量像数值一样可以参加运算 例如 if(cA&cZ) c=c+a-A 小写字母转换成大写字母2.以“” 开头的字符是一种特殊的字符常量,叫做转义字符。 常用的转义字符有:字符形式功能ntvbrf换行水平制表竖向制表退格回车走纸换页dddxhh反斜杠单引号字符8进制所代表的字符16进制代表的字符3. 字符变量 字符型变量用来存放字符常量,它只能放一个字符,不要以为在一个字符变量中可以放一个字符串(包括若干个字符) 4. 字符数据在内存中的存储形式及使用方法 将一个字符常量放在一个字符变量中,实际上并不是把该字符本身放在内存单元中去,而是将该字符的相应的ASCII代码放到存储单元中。 长度:8位(1字节) 范围:0-255 实际存储的是字符的ASCII码 字符型数据和整型数据是通用的注意:字符数据与整型数据可以相互赋值。5. 字符串常量 (1)字符串常量是用一对双引号括起来的字符序列。 例如:“CHINA” (2)C规定:在每一个字符串常量的结尾加一个“字符串结束标志”,以便系统据此判断字符串是否结束。C规定以字符0作为字符串结束标志。0是一个码为的字符注意,在写字符串时不必加,因为它是系统自动加上的。 (3)在语言中没有专门的字符串变量,如果想将一个字符串存放在变量中以便保存,必须使用字符数组,即用一个字符型数组来存放一个字符串,数组中每一个元素存放一个字符。 (4) 字符常量与字符串常量的区别: 存储不同,C语言用0作为字符串的结束标识 。3.6 变量赋初值 1. C语言允许在定义变量的同时使变量初始化。例如: Int a=3; Float f=3.56; Char c=a;3.7 各类数值型数据间的混合运算1. 整型、浮点型、字符型数据间可以混合运算2. 在进行运算时,不同类型的数据要先转换成同一类型,然后进行运算。3. 转换规则:必须转换 char、short型变成int型;float型变成double型。由低级到高级 int- unsigned- long-double 类型转换由系统自动进行。3.8 算术运算符和算术表达式1.运算符种类:(省)2.基本的算术运算符:+ 、 - 、 * 、 / (除法)、 %(取余) 、+(正号)、-(负号)注意:(1)两个整数相除的结果为整数。(2)如果参加+、-、*、/运算的两个数中有一个数为实数或双精度数,则结果是double型,因为所有实数都按double型进行运算。运算对象包括常量、变量、函数等。3.C算术表达式 用算术运算符和括号将运算对象(也称操作数)连接起来的、符合C语法规则的式子,称为C算术表达式。3.运算符的优先级与结合性先乘除、后加减,结合性从左向右4. 强制类型转换运算符 可以利用强制类型转换运算符将一个表达式转换成所需类型。在强制类型转换时,得到一个所需类型的中间变量,原来变量的类型未发生变化。 其一般形式:(类型名)(表达式) 例如:i=(int)x;5. 自增、自减运算符 +i,-i (在使用i之前,先使i的值加(减)1) i+,i- (在使用i之后,使i的值加(减)1) +和-的结合方向是自右至左。6.说明问题(省)3.9 赋值运算符和赋值表达式1. 赋值运算符(1)赋值运算符的作用是将一个数据传递给一个变量 例如: a=2 的作用是把常量2的值传递给变量a(2)是双目运算,结合性从右向左 例如: a=b=5 相当于a=(b=5)(3)由赋值运算符组成的表达式叫做赋值表达式,它的值是赋值表达式左边的表达式的值 a=3 c=a=b(4)赋值表达式的左值必须能够存放数据,比如变量a可以,但是4或2+a都不能作为赋值表达式的左值例如: 4=a; a+2=x; 是错误的(5)当赋值号两边类型不一致时,根据左边进行转换 例如: int a; a=70.52. 类型转换(省)3. 复合的赋值运算符 在赋值符“=”前面加上其它运算符,构成复合赋值运算符 。 C语言规定可以使用10种复合赋值运算符,即+= -= *= /= %= = &= = |=4. 赋值表达式由赋值运算符将一个变量和一个表达式连接起来的式子称为“赋值表达式”。一般形式: int a=3,b,c;赋值运算符按照“自右而左”的结合顺序。赋值表达式中的“表达式”,又可以是一个赋值表达式。赋值表达式作为左值时应加括号。赋值表达式也可以包含复合

温馨提示

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

评论

0/150

提交评论