c语言第3章 数据类型、运算符与表达式

上传人:思*** 文档编号:100057292 上传时间:2019-09-22 格式:PPT 页数:57 大小:1.31MB
返回 下载 相关 举报
c语言第3章 数据类型、运算符与表达式_第1页
第1页 / 共57页
c语言第3章 数据类型、运算符与表达式_第2页
第2页 / 共57页
c语言第3章 数据类型、运算符与表达式_第3页
第3页 / 共57页
c语言第3章 数据类型、运算符与表达式_第4页
第4页 / 共57页
c语言第3章 数据类型、运算符与表达式_第5页
第5页 / 共57页
点击查看更多>>
资源描述

《c语言第3章 数据类型、运算符与表达式》由会员分享,可在线阅读,更多相关《c语言第3章 数据类型、运算符与表达式(57页珍藏版)》请在金锄头文库上搜索。

1、C程序设计 数据类型、运算符与表达式,第 3 章 数据类型、运算符与表达式,第 3 章 数据类型、运算符与表达式,3.1 C语言的数据类型,数据结构是指数据的组织形式,例如:数组就是一种数据结构. 处理同一类问题,如果数据结构不同,算法也会不同,例如:对10个整数排序和对由10个整数构成的数组排序的算法是不同的.因此考虑算法时,必须注意数据结构。 数据类型是数据结构的基础。,程序 = 数据结构 + 算法,3.1 C语言的数据类型,数组类型,数据类型,构造类型,空类型,指针类型,双精度,单精度,实型(浮点型),字符型,枚举类型,基本类型,整型,结构体类型,共用体类型,注意:在程序中,对用到的所有

2、数据都必须指定其数据类型.,3.2 常量与变量,常量和符号常量 常量是指在运行过程中,其值不能被改变的量称为常量。 常量有整型浮点字符等多种。例如 1,0,123为整型常量 4.6, 1.23为实型常量 a, d 为字符常量 符号常量,用一个标识符代表的常量。 习惯上,符号常量名用大写,变量用小写,以示区别。,3.2 常量与变量,符号常量 #define PRICE 30 #include void main() int num, total; num=10; total=num * PRICE; printf(“total=%d”,total); ,total=300,程序中用#define

3、命令行定义PRICE代表常量30,此后凡在本程序中出现的PRICE都代表30,可以和常量一样进行运算.,3.2 常量与变量,符号常量 用一个标识符来表示的常量称为符号常量。符号常量在使用之前必须先定义,其一般形式为: #define 常量名 常量值 常量值可以是整型、实型及字符型。 该语句后不使用分号(;)。 一个#define语句只能定义一个符号常量。,3.2 常量与变量,符号常量 一经定义,以后程序中所有出现该常量名的地方均代之以该常量值。 优点:如果要修改程序中的某个常量时,只要修改其定义语句即可。 符号常量不是变量,在程序中不能再用赋值语句对它重新赋值。 习惯上符号常量的标识符用大写字

4、母,变量标识符用小写字母,以示区别。,3.2 常量与变量,常量和符号常量 #define PRICE 255 . a=PRICE*b+6 c=PRICE+c/120 . e=165/PRICE+a*c PRICE是标识符,符号常量,a=255*b+6 c=255+c/120 . . e=165/255+a*c,3.2 常量与变量,变 量 变量:在程序运行过程中,其值可以改变的量称为变量。 一个变量对应一定的内存存储单元。变量名实际上是以一个名字代表一个内存地址. 例如 int a; a = 3;,3.2 常量与变量,标识符 标识符:c语言中用来对变量、符号常量、函数、数组、类型等数据对象命名的

5、有效字符序列统称为标识符(名字). 标识符由字母、数字和下划线三种字符组成,且第一个字符必须为字母或下划线,不能与关键字同名.,合法的变量名如: average,abd, a, s2, student_name, _init 不合法的变量名如: M.D.John, 1a, #33, ab, char,3.2 常量与变量,注意 大小写敏感:sum和SUM是两个不同的变量名. 标识符长度:无统一规定,随系统而不同(建议不超过8个字符)。 采用“见名知意”的变量名,以增加程序的可读性.如: name表示姓名,day表示日期. C语言要求对变量“先定义,后使用”,其目的在于: 凡未被事先定义的,不作为

6、变量名,从而能保证程序中变量名使用得正确。 每一个变量被指定为一确定类型,在编译时就能为其分配相应的存储单元。 每一变量属于一个类型,便于在编译时检查该变量所进行的运算是否合法。,习题1,在C语言中,用户能使用的正确标识符是( ) A.学生 B.int C.8stu D.Int 以下选项中不能用作变量名的是( ) A. _float B.switch C.sum D._123,3.3 整型数据,整型常量(整常数) (1) 十进制形式:与数学上的整数表示相同; 例如: 12, -100, 0 (2) 八进制形式:在数码前加数字0; 例如: 012=1*81+2*80=10(十进制) (3) 十六

7、进制形式:在数码前加0x(数字0和字母x)。 例如: 0x12=1*161+2*160=18(十进制) * 八进制的数码范围为07; 018 * 十六进制的数码除了数字09外, 还使用英文字母a f (或A F)表示1015。 如:0x1e ,注意!,整型变量 整型数据在内存中是以二进制形式存放的,并且用补码形式表示. 正数的补码等于它的原码 例如:十进制数10的二进制形式为1010,在内存中实际存放的情况如下 负数的补码:将该数的绝对值的二进制形式,按位取反再加1. 例如:求-10的补码,3.3 整型数据,10的原码,取反,再加1得-10的补码,3.3 整型数据,整型变量的分类 基本整型(i

8、nt) 短整型(short int 或 short) 长整型(long int 或 long) 对以上3类都可以加上修饰符unsigned,以指定是”无符号数”.故可组合出六种类型。,3.3 整型数据,占内存字节数与值域 上述各类型整型变量占用的内存字节数随系统而异. 如Turbo C中,有 short(2字节)int(2字节) long(4字节) 关键字 所占位数 取值范围 short 16 -3276832767 unsigned short 16 065535 int 16 -3276832767 unsigned 16 065535 long 32 -21474836482147483

9、647 unsigned long 32 04294967295,3.3 整型数据,整型变量的定义 任何变量在使用前必须定义.在程序中使用未经定义的变量是不合法的.对变量的定义一般放在函数的开头部分。 变量定义的实质 定义一种数据类型变量的实质,就是在内存中为该变量分配一定大小的存储空间.此时变量名作为访问该存储空间的标识符.在程序中对该变量进行读写操作时,都要访问该变量对应的存储空间进行数据读写. 变量定义的一般形式: 例如 int a,b,c; /定义变量a,b,c为整型,3.3 整型数据,整型变量的定义 变量的值 任何变量必须具有确定的数值才能参加运算和操作,否则将会引发潜在的错误. 变

10、量定义后其赋值的过程称为变量的初始化, 变量初始化的方法有: 1. 可以在变量定义的同时为其赋初值 int a=10; 2. 也可以在定义变量后再为其赋初值 int a; a=10; 3. 还可以同时定义多个变量并为其赋初值. int a=3, b=7, c=10;,错误写法 int a=b=c=3; ,3.3 整型数据,整型数据的溢出,3.3 整型数据,整型常量的类型,习题2,在VC环境中,错误的int类型的常数是( ) A.32768 B.0 C.038 D.0xAF 已知sizeof(int)的值为2,为将10!的值存储到变量f中(10!=3628800),变量f的类型应声明为( ) A

11、. long int B.int C.short int D.unsigned,3.4 浮点型数据,实型常量 实数(浮点数)有两种表示方法: 十进制形式(日常记数形式),由数字和小数点组成(必须有小数点)。 如:0.123、.123、123.0、123.、0.0。 指数形式(科学记数形式),用xx来表示十的幂次方。字母E之前必须有数字且E之后指数必为整数。 如:22.E1、123E3(表示123103 )。,3.4 浮点型数据,实型变量 1. 实数在内存中的存放形式: 一个实数一般在内存中占4个字节 在4字节中,用多少位来表示小数部分,多少位来表示指数部分由各编译系统决定.小数部分占的位数愈多

12、,数的有效数字多,精度越高;指数部分占的位数愈多,则能表示的数值范围愈大.,3.4 浮点型数据,实型变量 2. 实型变量的分类:,实型常量不分float和double,根据范围赋值给相应的变量。 如:float a; double b; a=111111.111; b=111111.111 a中实际存储的是111111.1 (7位有效) b中实际存储的是111111.111 (全部有效),习题3,以下( )是不合法的C语言数值常量。 A)011 B)1e1 C)8.0E0.5 D)0xabcd,3.5 字符型数据,字符型常量 字符常量是由一对单引号括起来的一个字符。如 :a, x, D, #。

13、 注意: a和A是不同的字符常量. 一些特殊的字符常量:以“”开头的字符序列,有特殊的含义,叫转义符。,main() main() printf(“first line”); printf(“first linen”) printf(“second line”); printf(“second linen”); ,first linesecond line,first line second line,3.5 字符型数据,3.5 字符型数据,字符型常量 main() printf(“); printf(“n”); /* 转义字符 */ printf(“101n“); ,” A,3.5 字符型数

14、据,字符型变量 用来存放字符常量(一个字符)。一般一个字符变量占一个字节(8位)。 定义形式如下: char c1,c2; 字符变量的赋值形式如下: c1= a; c2= b;c3=101;,3.5 字符型数据,字符数据在内存中的存储形式及其使用方法 在内存中,字符变量的实际值是字符变量相应的ASCII代码。 C语言中,字符型数据和整型数据之间可以通用,因此在C语言中,一个字符数据即允许以字符形式输出,也允许以整数形式输出。 3. 字符数据与整型数据可以互相赋值。,例如: 字符a和b在内存中的存储形式,3.5 字符型数据,字符数据在内存中的存储形式及其使用方法 例3.6 向字符变量赋予整数 m

15、ain ( ) char c1, c2; c1 = 97; c2 = 98; printf (“%c %cn”, c1, c2); /* a 和b 的ASCII码为97和98 */ printf (“%d %dn”, c1, c2); ,输出: a b 97 98,3.5 字符型数据,字符数据在内存中的存储形式及其使用方法 例3.7 大小写字母的转换 main ( ) char c1, c2; c1 = a ; c2 = b ; /* a 和b 的ASCII码为97和98 */ c1 = c1-32; c2 = c2-32; printf (“%c %cn”, c1, c2); ,输出: A B,3.5 字符型数据,字符串常量 用双引号括起来的字符序列,如: “How do you do”, “CHINA”, “a”, “$ 123.34” 字符串可以一次输出,如: printf(“How do you do”); 在内存中,对字符串常量是采用字符数组表示,即用一个字符型数组来存放一个字符串。 例如: char c; c=“

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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

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