C语言第03章数据类型PPT课件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
空类型:用于数据类型的转换。
本章介绍除枚举类型之外的基本数据类型。
3.1 常量 3.2 变量 3.3 数据类型的转换 3.4 算术运算符 3.5 赋值运算 3.6 关系运算 3.7 逻辑运算 3.8 位运算 3.9 其它运算 3.10 本章程序举例 3.11 本章要点小结
3.1 常量
3.1.1 整型常量 3.1.2 实型常量 3.1.3 字符常量 3.1.4 字符串常量 3.1.5 符号常量
3.1.1 整型常量
C语言允许使用十进制、八进制和十六进制整数 常量。规定以0开头的数为八进制数,以0x开头的为 十六进制数。如:235,0235,0x235。八进制和十 六进制只能表示正数。
在微机中,通常一个整数由16位二进制数来表 示,因此其十进制数的表示范围为-32768~+32767, 长整型采用双倍字长来表示一个数,因此长整型的 表示范围为-2147483648~+2147483647。在一个整 数后加一个字母 l 或L表示长整型数。如:-135L。
(2)C语言中有32个关键字,系统已定义好其含义, 不允许用户再次定义;另外还有12个预处理命令,用 户最好不要再用它们做其它标识符,详见P37页。 (3)不同C版本对标识符的长度要求不同,一般要 求不超过32个字符。
(4)C语言中,系统认为大、小写字母是不同的字 符,如:ABC、abc是不同的标识符。
第三章 基本数据类型、运 算符和表达式
计算中心——ROSE
类型
基本类型
整型 单精度
实型 双精度
字符型 枚举型
数组类型 构造类型 结构体类型
指针类型 空类型
共用体类型
基本类型:构造简单,已由系统定义好。
构造类型:复杂数据类型,由其他数据类 型按一定规则构造而成。
指针类型:存放地址(指针),用来解决 动态数据的建立、删除和使用。
量的地址 3.2.3 变量的定义和初始化
3.2.1 变量名与标识符
变量:以标识符来取名,在程序中其值可变的量。 标识符:是变量名、符号常量名、函数名、数组名、
结构体名、共用体名的总称。 命名规定: (1)标识符是以字母或下划线开头,由字母、数字、 下划线组成的字符序列。如:sum、、data38;以 下标识符是错误的:stu-num、3D64、$123、 M.D.JOHN.、abc DEF。
#define 符号常量名 常量表达式或字符串 如:#define PI 3.1415926
#define LETTER “xyz” 符号常量定义之后,下面程序中就可以使用它, 如:PI,系统就认为它的值为3.1415926。 符号常量提高程序的可读性及常量修改的一致 性。
3.2 变量3.2.1 变量名与标源自符 3.2.2 变量的数据类型和变
整行数通常以补码的形式存储在内存中,最高位 为符号位,C语言也允许使用无符号数,这样数的表 示范围为0~65535。
3.1.2 实型常量
实型常量即实数,又称符点数,C语言实数使用十进制表示。 实数有两种表示方法:小数形式和指数形式。
小数形式:由数字和小数点组成,小数点前后的0可省略, 但必须由小数点。如:0.135,.135,135.0,135.,0.0 。
字符常量本身具有数值,就是它们的ASCII码值, 如:‘A’的值是65, ’a’的值是97。
C语言中字符常量和整数常量可以混合使用, 如:……int i;char ch;
i=‘A’+2;ch=‘a’-32;……
则I值为67,ch值为‘A’。
字符常量
有些计算机中除使用ASCII码为0~127的 字符外,还扩充使用128~255的字符,如: 字符“≥”其 ASCII码值为242,二进制为 11110010,这些字符需要用8位二进制数表 示,因为最高位通常处理为符号位,所以需 将变量定义成无符号字符变量:unsighned char c;
定义标识符,应遵循以下原则: (1)尽量做到见名知义,以增加程序的可读性。 (2)符号常量一般用大写字母,其它标识符如变量名、函数名 用小写字母或大小写字母混合使用。
3.2.2 变量的数据类型和变量的 地址
C语言中有整型变量、字符型变量和实型变量,没 有字符串变量,一个字符串只能存放到一个字符数组 中或一个字符指针所指的内存区。
表3.1 基本数据类型归纳
3.1.4 字符串常量
字符串常量用一对双引号扩起来的若干字符序列。 如:“hello”,”A”。双引号仅做定界符使用,本身 不算入字符串常量。
字符常量和字符串常量是有区别的,每个字符串 结尾处由系统自动加上一个字符串结束标志“\0”其 ASCII码值为0,是一个“空操作”字符,不可显。 因此“a”和‘a’是不一样的,如:char ch;ch=‘a’ 是正确的,而ch=“a”则是错误的。
3.1.3 字符常量
字符常量用一对单引号扩起来的单个字符表示,
如:‘A’,’?’, ‘a’。单引号仅做定界符使用, 本身不算字符常量。
某些特殊字符 \ ,‘ ,“ ,不能由单引号扩起 来做字符常量,规定用”\\“、”\’“、”\“”分别表示 \ ,‘ ,“ ,它们是转义字符,是字符常量的一种 特殊形式。
指数形式:由尾数、字母e或E及指数部分组成。如:0.25e-2,1.41E-4,2e+5。注意:e或E的前后都要有数字,且 指数(阶码)必须为整数,如:2.3E-3.2,1.E,.e-4都是错误的 表示形式。
符点数一般分为单精度和双精度两种,单精度用32位表示, 其数值范围为±10-38~ 1038,有效数字位数为十进制数的6~7位; 双精度用64位表示,其数值范围为±10-308~10308,有效数字位 数为十进制数的15~16位。
编译程序根据变量类型分配内存单元,执行程序 时,通过赋值语句将变量值送到其内存单元。因此某 种类型的变量名即代表了该变量的存储空间,又代表 了该存储空间所存的数值。见下例:
它们在内存中的表示形式见图3.1。
‘a’ →
(97)10
“a” →
(97)10 (0)10
图 3.1
由图可见,‘a’在内存中占1个字节, 而“a”在内存中占2个字节。
3.1.5 符号常量
将在程序中多次出现的常量定义为一个标识符, 即是符号常量。符号常量一般用大写英文字母表示, 在使用之前必须在程序开头事先定义,定义形式为:
相关文档
最新文档