C语言程序的基本数据类型及其运算.ppt
《C语言程序的基本数据类型及其运算.ppt》由会员分享,可在线阅读,更多相关《C语言程序的基本数据类型及其运算.ppt(126页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第2章章C语言程序的语言程序的基本数据类型及其运算基本数据类型及其运算申闫春申闫春北京信息科技大学北京信息科技大学2008年年2月月2.1 C2.1 C语言的数据类型语言的数据类型2.1.1数据类型的一般概念数据类型的一般概念1、什么是数据类型?、什么是数据类型?数据结构数据结构+算法算法=程序程序C语言中以语言中以“数据类型数据类型”形式存在。形式存在。根据用途不同,把数据分类为可计算的数值根据用途不同,把数据分类为可计算的数值型、可打印、显示的字符型等数据类型。例:定型、可打印、显示的字符型等数据类型。例:定义义5是整型数,可以数值计算;若定义是整型数,可以数值计算;若定义5为字符为字符
2、型,不能进行数值计算,只能进行字符显示、打型,不能进行数值计算,只能进行字符显示、打印。印。2、C语言的数据类型?语言的数据类型?主要有整型、字符型、实型主要有整型、字符型、实型(浮点型浮点型)、枚举、枚举类型、数组类型、结构体类型、共用体类型、指类型、数组类型、结构体类型、共用体类型、指针类型、空类型。针类型、空类型。在程序中对用到的所有数据都必须指定其数在程序中对用到的所有数据都必须指定其数据类型。据类型。不同类型的数据不同类型的数据,所占内存的字节数不同所占内存的字节数不同,对对应的操作也不相同。应的操作也不相同。数据类型决定:数据类型决定:1、数据占内存字节数。、数据占内存字节数。2、
3、数据取值范围。、数据取值范围。3、可以进行的操作。、可以进行的操作。基本数据类型基本数据类型基本数据类型基本数据类型复合数据类型复合数据类型复合数据类型复合数据类型字符型字符型字符型字符型数值型数值型数值型数值型空类型空类型空类型空类型整型整型整型整型整整整整 型型型型无符号整型无符号整型无符号整型无符号整型有符号整型有符号整型有符号整型有符号整型短整形短整形短整形短整形无符号短整型无符号短整型无符号短整型无符号短整型有符号短整型有符号短整型有符号短整型有符号短整型长整型长整型长整型长整型无符号长整型无符号长整型无符号长整型无符号长整型有符号长整型有符号长整型有符号长整型有符号长整型实型实型实
4、型实型单精度实型单精度实型单精度实型单精度实型双精度实型双精度实型双精度实型双精度实型结构结构结构结构联合联合联合联合数组数组数组数组枚举枚举枚举枚举指针指针指针指针数据类型数据类型数据类型数据类型2.1.2 2.1.2 常量常量1 1 1 1、概念:在程序运行过程中,其值不发生变化的数据,、概念:在程序运行过程中,其值不发生变化的数据,、概念:在程序运行过程中,其值不发生变化的数据,、概念:在程序运行过程中,其值不发生变化的数据,不能被改变的数据。不能被改变的数据。不能被改变的数据。不能被改变的数据。2 2 2 2、分类:、分类:、分类:、分类:直接常量:直接常量:直接常量:直接常量:12-
5、44.6 a Hello!/12-44.6 a Hello!/12-44.6 a Hello!/12-44.6 a Hello!/字符串常量字符串常量字符串常量字符串常量 符号常量:用一个标识符代表一个常量。符号常量:用一个标识符代表一个常量。符号常量:用一个标识符代表一个常量。符号常量:用一个标识符代表一个常量。3 3 3 3、符号常量定义:格式:、符号常量定义:格式:、符号常量定义:格式:、符号常量定义:格式:#define#define#define#define 常量名常量名常量名常量名 直接常量直接常量直接常量直接常量 举例:举例:举例:举例:#define PRICE 100#de
6、fine PRICE 100#define PRICE 100#define PRICE 100 /习惯上常量名用大写,变量名用小写。习惯上常量名用大写,变量名用小写。习惯上常量名用大写,变量名用小写。习惯上常量名用大写,变量名用小写。#define PI 3.14#define PI 3.14#define PI 3.14#define PI 3.14#define C1 a#define C1 a#define C1 a#define C1 a /符号常量的定义放在函数外面。符号常量的定义放在函数外面。符号常量的定义放在函数外面。符号常量的定义放在函数外面。4 4 4 4、意义:、意义:、
7、意义:、意义:(1)(1)(1)(1)含义清楚。不存在二义性。含义清楚。不存在二义性。含义清楚。不存在二义性。含义清楚。不存在二义性。(2)(2)(2)(2)在需要改变一个常量时,能够做到在需要改变一个常量时,能够做到在需要改变一个常量时,能够做到在需要改变一个常量时,能够做到“一改全改一改全改一改全改一改全改”。举例:求某商品总价。举例:求某商品总价。#include#include#define PRICE 100 /#define PRICE 100 /定义符号常量定义符号常量 void main()void main()intint sum;sum;sum=PRICE*20;sum=P
8、RICE*20;printfprintf(“%d n,sum);(“%d n,sum);PRICEPRICE:单价:单价符号常量符号常量2020:数量数量直接常量直接常量举例:求圆柱体的体积举例:求圆柱体的体积#include#include stdio.hstdio.h#define PI 3.1415926#define PI 3.1415926 /符号常量符号常量main()main()float float r,h,vr,h,v;scanf(%fscanf(%f%f,&r,&hf,&r,&h););v=PI*r*r*h;v=PI*r*r*h;printf(Volumeprintf(Vo
9、lume=%f,v);=%f,v);常量分类常量分类整型常量,例:整型常量,例:5 5,6767,100100。实型常量,例:实型常量,例:3.14,-6.73.14,-6.7。字符型常量,例:字符型常量,例:a,Da,D。转义字符:不能直接写出的字符。转义字符:不能直接写出的字符。例:例:n n 回车换行,回车换行,单引号,单引号,”双引双引号号 字符串常量,例:字符串常量,例:”hello”,”82427141”hello”,”82427141”。符号常量,用符号命名常量。符号常量,用符号命名常量。例:例:#define PRICE 100#define PRICE 100#define
10、PI 3.1415926#define PI 3.1415926 2.2 2.2 数据类型及变量数据类型及变量2.2.1 2.2.1 基本数据类型基本数据类型 (1)(1)从长度上分,有从长度上分,有8 8位、位、1616位、位、3232位位和和6464位。位。(2)(2)从数据的符号来分,有无符号数和从数据的符号来分,有无符号数和有符号数。有符号数。(3)(3)按照数据的数学性质,分为整型、按照数据的数学性质,分为整型、实型和字符型。实型和字符型。数值型数据的类型及表示形式,见表数值型数据的类型及表示形式,见表2-2-3 3(p15p15)。)。类型标识符类型标识符类型标识符类型标识符 名名
11、名名 字字字字 取值范围取值范围取值范围取值范围charcharcharchar字符型字符型字符型字符型ASCIIASCIIASCIIASCII字符代码字符代码字符代码字符代码unsigned charunsigned charunsigned charunsigned char 无符号字符型无符号字符型无符号字符型无符号字符型 0 0 0 0 255255255255signed charsigned charsigned charsigned char有符号字符型有符号字符型有符号字符型有符号字符型-2-2-2-27 7 7 7 2 2 2 27 7 7 7-1-1-1-1intintin
12、tint整型整型整型整型-2-2-2-215151515 2 2 2 215151515-1-1-1-1unsigned unsigned unsigned unsigned intintintint无符号整型无符号整型无符号整型无符号整型 0 0 0 0 2 2 2 216161616-1-1-1-1singnedsingnedsingnedsingned intintintint有符号整型有符号整型有符号整型有符号整型 同同同同 intintintintfloatfloatfloatfloat浮点浮点浮点浮点10101010-38-38-38-38 1010101038383838doub
13、ledoubledoubledouble双精度型双精度型双精度型双精度型10101010-308-308-308-308 10101010308308308308void void void void 空值型空值型空值型空值型 无值无值无值无值2.2.2 2.2.2 变量及变量的定义变量及变量的定义 1 1、概念:在程序运行过程中,其值可以、概念:在程序运行过程中,其值可以改变的数据,在内存单元申请一个空间,可改变的数据,在内存单元申请一个空间,可以存放常量数据。以存放常量数据。2 2、要素:(、要素:(1 1)变量名。每个变量都必须)变量名。每个变量都必须有一个名字有一个名字变量名,变量命名
14、遵循标识变量名,变量命名遵循标识符命名规则。代表内存中的一个存储单元。符命名规则。代表内存中的一个存储单元。(2 2)变量值。在程序运行过程中,变量)变量值。在程序运行过程中,变量值存储在内存中。在程序中,通过变量名来值存储在内存中。在程序中,通过变量名来引用变量的值。引用变量的值。3 3、标识符(、标识符(identifieridentifier)(1)(1)标识符就是一个名字(如常量名、变量标识符就是一个名字(如常量名、变量名、函数名名、函数名)。有规定的命名规则。)。有规定的命名规则。(2)(2)组成:只能由字母、数字、下划线组成。组成:只能由字母、数字、下划线组成。且第一个字符必须为字
15、母或下划线。且第一个字符必须为字母或下划线。(3)(3)长度:标识符的有效长度随系统而异,长度:标识符的有效长度随系统而异,如果超长,则超长部分被舍弃。如果超长,则超长部分被舍弃。VC+6.0VC+6.0中规定最中规定最大长度为大长度为247247个字符。个字符。(4)(4)标识符命名的良好习惯标识符命名的良好习惯见名知意。见名知意。例如:例如:namename(姓名)、(姓名)、ageage(年龄)。(年龄)。4 4、变量定义、变量定义 数据类型数据类型 变量名变量名,变量名变量名2;2;intint a1,a2;a1,a2;float x1,x2;float x1,x2;double y1
16、,y2;double y1,y2;char c1,c2;char c1,c2;习惯上,变量名用小写字母。习惯上,变量名用小写字母。常量名用大写字母。常量名用大写字母。例如:例如:#include#include void main()void main()float m float m;m=1.11m=1.11;m=2*mm=2*m;m=m+2.2m=m+2.2;printf(”%fprintf(”%f”,m)m);char c1 char c1 char c1 char c1,c2c2c2c2;/定义字符型变量定义字符型变量定义字符型变量定义字符型变量 intintintint x,y,zx
17、,y,zx,y,zx,y,z;/定义整型变量定义整型变量定义整型变量定义整型变量 double volumedouble volumedouble volumedouble volume;/定义双精度型变量定义双精度型变量定义双精度型变量定义双精度型变量 float float float float sum,averagesum,averagesum,averagesum,average;/定义实型变量定义实型变量定义实型变量定义实型变量 unsigned long distanceunsigned long distanceunsigned long distanceunsigned lo
18、ng distance;/定义无符号长整型变量定义无符号长整型变量定义无符号长整型变量定义无符号长整型变量2.2.3 2.2.3 变量的初始化变量的初始化变量初始化:变量初始化:变量初始化:变量初始化:给变量赋初值的的语句,称为变量初始化。给变量赋初值的的语句,称为变量初始化。给变量赋初值的的语句,称为变量初始化。给变量赋初值的的语句,称为变量初始化。要求对所有用到的变量,必须先定义、后使用。要求对所有用到的变量,必须先定义、后使用。要求对所有用到的变量,必须先定义、后使用。要求对所有用到的变量,必须先定义、后使用。变量赋初值有两种方式:变量赋初值有两种方式:变量赋初值有两种方式:变量赋初值有
19、两种方式:1 1 1 1、在定义变量的同时赋初值(也叫变量初始化)。、在定义变量的同时赋初值(也叫变量初始化)。、在定义变量的同时赋初值(也叫变量初始化)。、在定义变量的同时赋初值(也叫变量初始化)。(出现在函数体的声明部分)(出现在函数体的声明部分)(出现在函数体的声明部分)(出现在函数体的声明部分)格式:数据类型格式:数据类型格式:数据类型格式:数据类型 变量名变量名变量名变量名=初值初值初值初值,变量名变量名变量名变量名2=2=2=2=初值初值初值初值2;2;2;2;2 2 2 2、通过一个赋值语句给变量赋初值。、通过一个赋值语句给变量赋初值。、通过一个赋值语句给变量赋初值。、通过一个赋
20、值语句给变量赋初值。(出现在函数体的执行部分)(出现在函数体的执行部分)(出现在函数体的执行部分)(出现在函数体的执行部分)格式:变量名格式:变量名格式:变量名格式:变量名 =初值;初值;初值;初值;两种方式的效果是等价的。两种方式的效果是等价的。两种方式的效果是等价的。两种方式的效果是等价的。例如:例如:例如:例如:intintintint a,ba,ba,ba,b=3;=3;=3;=3;intintintint a,b;a,b;a,b;a,b;b=3;b=3;b=3;b=3;注意:没有赋初值的变量并不意味着该变量中没有数值,注意:没有赋初值的变量并不意味着该变量中没有数值,注意:没有赋初值
21、的变量并不意味着该变量中没有数值,注意:没有赋初值的变量并不意味着该变量中没有数值,而只表明该变量中尚未存放特定值。而只表明该变量中尚未存放特定值。而只表明该变量中尚未存放特定值。而只表明该变量中尚未存放特定值。关于变量的几点说明关于变量的几点说明 1 1 1 1、程序中用到的变量必须、程序中用到的变量必须、程序中用到的变量必须、程序中用到的变量必须“先定义(先定义(先定义(先定义(declaredeclaredeclaredeclare),后),后),后),后使用使用使用使用”。2 2 2 2、C C C C语言的关键字不能用作变量名。语言的关键字不能用作变量名。语言的关键字不能用作变量名。
22、语言的关键字不能用作变量名。3 3 3 3、C C C C语言对英文字母的大小写敏感,即同一字母的大语言对英文字母的大小写敏感,即同一字母的大语言对英文字母的大小写敏感,即同一字母的大语言对英文字母的大小写敏感,即同一字母的大小写,被认为是两个不同的字符。小写,被认为是两个不同的字符。小写,被认为是两个不同的字符。小写,被认为是两个不同的字符。4 4 4 4、定义变量时,给几个变量赋相同的初值,、定义变量时,给几个变量赋相同的初值,、定义变量时,给几个变量赋相同的初值,、定义变量时,给几个变量赋相同的初值,应写成应写成应写成应写成 :intintintint a=3,b=3,c=3;a=3,b
23、=3,c=3;a=3,b=3,c=3;a=3,b=3,c=3;不能写成不能写成不能写成不能写成:intintintint a=b=c=3;a=b=c=3;a=b=c=3;a=b=c=3;5 5 5 5、给变量赋值时,正常情况下应给变量赋相同类型的、给变量赋值时,正常情况下应给变量赋相同类型的、给变量赋值时,正常情况下应给变量赋相同类型的、给变量赋值时,正常情况下应给变量赋相同类型的数据。若给变量赋与其类型不同的数据时,需进行类型转数据。若给变量赋与其类型不同的数据时,需进行类型转数据。若给变量赋与其类型不同的数据时,需进行类型转数据。若给变量赋与其类型不同的数据时,需进行类型转换换换换(后面介
24、绍赋值语句时详细介绍后面介绍赋值语句时详细介绍后面介绍赋值语句时详细介绍后面介绍赋值语句时详细介绍)。3232个关键字:个关键字:(由系统定义,不能再定义由系统定义,不能再定义)auto break case char constauto break case char constauto break case char constauto break case char constcontinue default do double elsecontinue default do double elsecontinue default do double elsecontinue defau
25、lt do double elseenumenumenumenum extern float for extern float for extern float for extern float for gotogotogotogotoif if if if intintintint long register return long register return long register return long register returnshort signed short signed short signed short signed sizeofsizeofsizeofsize
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 程序 基本 数据类型 及其 运算
限制150内