C语言第三章数据类型、运算符、表达式.ppt_第1页
C语言第三章数据类型、运算符、表达式.ppt_第2页
C语言第三章数据类型、运算符、表达式.ppt_第3页
C语言第三章数据类型、运算符、表达式.ppt_第4页
C语言第三章数据类型、运算符、表达式.ppt_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

第三章 数据类型、运算符与表达式 3.1 C数据类型 一个程序应包括两个方面的内容 1、对处理数据的描述(数据结构) 2、对处理数据的操作(算法描述) Wirth提出的公式: 程序=数据结构+算法 C提供的数据结构是以数据类型形式出现的 由于算法千变万化,程序要处理的数据 (对象)也是多种多样,在程序设计语 言中就将数据处分为不同的类型,如数 值型(int、float等)、非数值型(char 等)不同类型数据在内存的存贮方式上 、运算方式上都是不同的。所以在对处 理方法描述之前,要对处理过程中涉及 到的数据进行类型说明。 对各种类型的数据,有两种存在形式即 :常量和变量。 C程序要处理的各种数据 一、有类型之分,所以要进 行类型说明,其作用有二, 一是知其存贮方法,二是知 其运算方式。 二、无论何种类型数据,在 程序中都有两种出现形式, 即常量和变量 3.2 常量与变量 3.2.1常量和符号常量 常量定义 常量类型:-3,4.6,a 常量的形式:以常量形式直接出现; 符号常量:#define PRICE 35 程序中出现35处可以常量名(符号) PRICE形式出现。符号常量名用大写, 变量名用小写。 3.2.2 变量 其值可以改变的量称为变量。变量要有 一个名字。变量名和变量值的区别。 用来标记变量名、符号常量名、函数名 、数组名、文件名和有效字符序列称为 标识符。 C语言规定标识符只能由字母、数字和下 划线三种字符组成。且第一个字符必须 是字母或下划线,长度的规定 合法名、大小写被认为是不同的字符。 在C语言中,要求对所有用到的变量作强 制定义,也就是“先定义、后使用” 其意义有三: 1、保证变量名使用正确 2、根据类型分配存贮单元 3、根据类型判断其运算是否合法 3.3 整型数据 3.3.1 整形常量 整形常量即整形数。有三种形式: 1、十进制形式 如123 2、八进制形式 以0开头,如0123 3、十六进制形式 以0x开头,如0x123 3.3.2 整型变量 一、整型变量的分类 1、基本型,以int表示(integer) 2、短整型,以short int表示,或short表 示 3、长整型,以long int表示,或long表示 4、无符号型,又分无符号整形、短整型 和长整型,分别以unsigned int、 unsigned short和unsigned long表示 C规定各类数据所占字节数。 二、整型变量的定义 int a,b; unsigned short c,d; long e,f; 三、整型常量的类型 整型常量与整型变量之间的匹配关系 四、整型量的运算 进行各种类型的算术运算 3.4 实型数据 3.4.1实形常量 实数在C中又称浮点数。实数有两种形式 : 1、十进制数形式:它由数字和小数点组 成(必须有小数点)。 如12.9,34.0或34. 2、指数形式:123e3或123E3。注意的 是E(或e)之前必须有数字且E后面指 数必须是整数。 3.4.2 实形变量 实型变量分类与类型说明 分为两类:单精度(float)和双精度( double) 类型说明语句: float x,y; double z; 在一般的系统中,一个float型数据在内存中 占32位,一个double型数据在内存中占64位 . 数据的范围和精度、实型常量不分float和 double 实型量的运算 3.5 字符型数据 3.5.1字符常量 C的字符常量有两种形式: 1、C的字符常量是用单引号(即撇号)括 起来的一个字符。如A,a等 2、特殊形式的字符常量,就是以开头 的字符序列。如n代表一个“换行”符。 因为有些非显示字符难以用一般形式的 字符表示,故规定用这种特殊形式表示 。 以开头的特殊字符见表,“转义字符” 自己看例2.3 3.5.2 字符变量 字符变量用来存放字符常量。只能放一 个字符。字符变量的定义: char c1,c2; 一个字符变量占用一个字节的内存空间 。 3.5.3 字符数据在内存中的存储形式及其 使用方法 字符是以ASCII形式放在内存单元中的。 由于它在存储形式上与整数存贮形式相 类似。C就使char数据与int数据可以通用 。 例2.4 main() char c1,c2; c1=97;c2=98; printf(“%c %c”, c1,c2); 其中:“%c”是输出字符的格式符 例2.5 main() int i; char c; i=a; c=97; printf(“%c %d”, c,c); 程序执行的输出结果 3.5.4 字符串常量 字符串常量是一对双括号括起来的字符 序列。如:“How do you do.”,“CHINA” 等。 可以输出一个字符串,如: printf(“How do you do.”); 要注意的是:“A”与A不同。 在C中没有专门的字符串变量,需要用字 符数组。 3.6 变量赋初值 程序中需要对一些变量预先设置初值。C 中可在定义变量时同时使变量初值化。 如: int a=4; float h=3.567; char c=a; 它等同于: int a; a=4; 3.7 各类数值型数据间的混合运算 数值型是整型与实型的总称。 各类int、float和double数据可以混合运 算。由于char与int型通用,因此,int、 float、double与char间可以混合运算。 例如: 10+a+1.5-8.68* b 是合法的。 但:在运算前,计算机要将不同类型的 数据先转换成同一类型,然后进行运算 。 转换规则是: 类型数据总结 一、常量和变量 常量的形式、标识符 二、变量 1、定义(说明) 2、内存中的存贮形式、导致数据范围( 精度) 3、int与char异同点 三、不同类型的数据运算方式不同 3.8 算术运算符和算术表达式 3.8.1 C运算符简介 C运算符范围很宽,除了控制语句和输入 输出以外的几乎所有操作都作为运算符 处理。分为下面几类: 1、算术运算符 2、关系运算符 ! 3、逻辑运算符 ! int i; x=3.6; i=(int)x printf(“x=%f,i=%d”,x,i); 从上可知:有两种类型转换,一种是运 算时不必用户指定,而由系统按规则自 动进行类型转换;另一种是强制类型转 换。 四、自增、自减运算符 该运算符的作用是使变量值增1或减1, 如: +i,-i 是一种形 i+,i- 式的表达式 粗看, +i和 i+都相当于i=i+1,但有不 同之处,表达式的值什么,i的值是多少 如i=2,则+i表达式的值为3,i值也为3 ; 而i+表达式的值为2,i值却为3 注意: (1)自增自减运算符的运算对象只能是 变量,不能是常量或表达式。如5+或 +(a+b)都是不合法的。 (2)+和-的结合方向是“自右至左”。 如:-i+,相当于-(i+) 五、有关表达式使用中的问题说明 1、表达式中包含自加或自减时的理解 如:若i=3 (i+)+ (i+)+ (i+)=? i=? (+i)+ (+i)+ (+i)=? i=? 2、表达式的理解问题 问题一:i+j 编译系统将其理解为 (i+)+j还是i+(+j)呢? 问题二: main() int i=3; printf(“%d %dn“,i,i+); 3.9 赋值运算符与赋值表达式 一、赋值符号“=”的作用,将一个数据赋 给一个变量。如:c=k; 二、对赋值运算符两侧的类型不一致时 ,类型转移问题。 例: main() unsigned a;int b=-1; a=b;printf(“%u”,a); 注:这部分内容理解有一个前提。 三、复合的赋值运算符 在赋值号之前加上其它运算符,构成复合 运算符。 如:a+=3 理解为 a=a+3 x*=y+8 理解为 x=x*(y+8) ? 四、赋值表达式 赋值运算符将一个变量和一个表达式连接 起来的式子,一般形式为 注意: (1)赋值运算符有两种 (2)赋值表达式作用有二。一是使变量得 值;二是使“赋值表达式”得值。 将赋值表达式做为表达式的一种 main() int a,b; a=1; b=a+=3; a-=a+=a*a; printf(“%d %dn“,a,b); 3.10 逗号运算符与逗号表达式 逗号表达式的一般形式 表达式1,表达式2 如:3+5,6+8 a=

温馨提示

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

评论

0/150

提交评论