d02C语言的基本数据类型与表达式课件_第1页
d02C语言的基本数据类型与表达式课件_第2页
d02C语言的基本数据类型与表达式课件_第3页
d02C语言的基本数据类型与表达式课件_第4页
d02C语言的基本数据类型与表达式课件_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

1、d02C语言的基本数据类型与表达式第二章第二章 C C语言的基本数据类型与表达式语言的基本数据类型与表达式n数据为什么要区分类型?数据为什么要区分类型?n不同类型的数据代表不同的不同类型的数据代表不同的p数据表示形式数据表示形式p合法的取值范围合法的取值范围p占用内存空间大小占用内存空间大小p可参与的运算种类可参与的运算种类 第二章第二章 C C语言的基本数据类型与表达式语言的基本数据类型与表达式字符类型字符类型char整型整型int、long、short基本类型基本类型实型实型单精度型单精度型float浮点型浮点型双精度型双精度型double数据类型数据类型枚举类型枚举类型enum数组类型数

2、组类型 构造类型构造类型结构体类型结构体类型struct共用体类型共用体类型union指针类型指针类型*空类型空类型void第二章第二章 C C语言的基本数据类型与表达式语言的基本数据类型与表达式nintp整数,在目前绝大多数机器上占整数,在目前绝大多数机器上占4个字节个字节pTC中是中是2个字节个字节pVC中是中是4个字节个字节nfloatp单精度浮点数,一般是单精度浮点数,一般是4个字节长个字节长ndoublep双精度浮点数,一般是双精度浮点数,一般是8个字节长个字节长ncharp字符,一般是字符,一般是1个字节长个字节长p用来表示用来表示256个个ASCII字符,或者字符,或者0255的

3、整数的整数第二章第二章 C C语言的基本数据类型与表达式语言的基本数据类型与表达式nshortpshort int,短整数,一般,短整数,一般2个字节长,通常简写为个字节长,通常简写为short。nlongplong int,长整数,一般是,长整数,一般是4个字节长。通常简写为个字节长。通常简写为long。plong double,长双精度(高精度)浮点数,一般是,长双精度(高精度)浮点数,一般是10个字节。个字节。nsignedp用来修饰用来修饰char、int、short和和long,说明他们是有符号的整数,说明他们是有符号的整数(正整数、(正整数、0和负整数),通常情况下该修饰符缺省。和

4、负整数),通常情况下该修饰符缺省。nunsignedp用来修饰用来修饰char、int、short和和long,说明他们是无符号的整数,说明他们是无符号的整数(正整数和(正整数和0)。)。第二章第二章 C C语言的基本数据类型与表达式语言的基本数据类型与表达式nC语言直接提供的任何类型都有取值范围。当向其赋超过此范围的数语言直接提供的任何类型都有取值范围。当向其赋超过此范围的数值,就会产生数值溢出,得到一个不正确的结果。值,就会产生数值溢出,得到一个不正确的结果。nTC中中int的范围是的范围是-3276832767p如果超出取值范围,给它一个小于如果超出取值范围,给它一个小于-32768或者

5、大于或者大于32767的数的数会如何呢?现场编程测验会如何呢?现场编程测验typeoverflow.c第二章第二章 C C语言的基本数据类型与表达式语言的基本数据类型与表达式是指在程序运行中,其数值不能被改变的量是指在程序运行中,其数值不能被改变的量直接常量直接常量(常数)(常数)数值常量数值常量整型常量整型常量实型常量实型常量字符型常量字符型常量字符常量字符常量字符串常量字符串常量符号常量符号常量标识符定义标识符定义第二章第二章 C C语言的基本数据类型与表达式语言的基本数据类型与表达式nint型常量:型常量:18、-31(十进制)(十进制)nlong int型常量:型常量: 123456L

6、、 123456l、123L、123lnunsigned int型常量:型常量:123u、123Un八进制常量:八进制常量:以数字以数字0开头的整数开头的整数p例如:例如:012=1*81+2*80=10( (十进制)十进制)n十六进制形式:以十六进制形式:以0 x开头的整数开头的整数p例如:例如:0 x12=1*161+2*160=18( (十进制)十进制)第二章第二章 C C语言的基本数据类型与表达式语言的基本数据类型与表达式n十进制小数形式:十进制小数形式:123.45、456.78n指数形式:指数形式:1e-2、4.5e3nfloat型常量:型常量:123.45f、 456.78F、1

7、e-2f、4.5e3Fnlong double型常量:型常量:123.45l、 456.78L、4.5e3Ln缺省为缺省为doublen因为字母因为字母l和数字和数字1容易混淆,所以当用容易混淆,所以当用l做后缀时,常使做后缀时,常使用大写形式用大写形式第二章第二章 C C语言的基本数据类型与表达式语言的基本数据类型与表达式n字符常数的表示方法字符常数的表示方法pa,A,5,%,$p单引号内只能有一个字符,除非用单引号内只能有一个字符,除非用”开头开头n就是一个普通整数,也可以参与各种数学运算就是一个普通整数,也可以参与各种数学运算p每个字符具有一个每个字符具有一个0255之间的数值,可从之间

8、的数值,可从ASCII表表查出查出p注意注意:5和和5有本质的区别有本质的区别p字符的数学运算在密码学内用得比较多字符的数学运算在密码学内用得比较多n用用”开头的字符为转义字符开头的字符为转义字符p例如:例如:”n”,代表,代表1个字符,其含义是换行个字符,其含义是换行第二章第二章 C C语言的基本数据类型与表达式语言的基本数据类型与表达式n一些特殊字符(无法从键盘输入或者另有它用)用转义字一些特殊字符(无法从键盘输入或者另有它用)用转义字符表示。符表示。第二章第二章 C C语言的基本数据类型与表达式语言的基本数据类型与表达式n用双引号括住的由零个或多个字符组成的字符序列用双引号括住的由零个或

9、多个字符组成的字符序列pI am a stringp表示空字符串表示空字符串p转义字符也可以在字符串中使用转义字符也可以在字符串中使用p引号只作为字符串开始和结束的标志引号只作为字符串开始和结束的标志pC语言内部用语言内部用0表示字符串的结束表示字符串的结束p除注释外,是唯一可以出现中文的地方除注释外,是唯一可以出现中文的地方nx和和x是不同的是不同的n里定义了一系列专门的字符串处理函数里定义了一系列专门的字符串处理函数第二章第二章 C C语言的基本数据类型与表达式语言的基本数据类型与表达式n含义:用标识符定义一个常量,也叫做宏常量,通常用大含义:用标识符定义一个常量,也叫做宏常量,通常用大写

10、字母表示。写字母表示。p一旦某个标识符被定义成为一个常量后,以后在程序一旦某个标识符被定义成为一个常量后,以后在程序处理时,该标识符都代表对应的常量值。处理时,该标识符都代表对应的常量值。n定义格式:定义格式:#define 标识符标识符 常量数据常量数据#define MAX 1000#define MIX 10#define PI 3.14第二章第二章 C C语言的基本数据类型与表达式语言的基本数据类型与表达式第二章第二章 C C语言的基本数据类型与表达式语言的基本数据类型与表达式第二章第二章 C C语言的基本数据类型与表达式语言的基本数据类型与表达式n是指以标识符为名字,其值可以改变的量

11、是指以标识符为名字,其值可以改变的量n定义形式:定义形式:类型标识符类型标识符 变量名变量名1, 变量名变量名2, 变量名变量名3; p类型标识符:如类型标识符:如int、float、char等等p变量名:程序员自行确定,符合标识符命名规则即可,变量名:程序员自行确定,符合标识符命名规则即可,约定做到见名知意约定做到见名知意n习惯用下划线和大小写间隔的方式命名标识符习惯用下划线和大小写间隔的方式命名标识符nuser_name:Unix风格风格nUserName:Windows风格风格p变量定义是语句,分号一定不能缺少变量定义是语句,分号一定不能缺少第二章第二章 C C语言的基本数据类型与表达式

12、语言的基本数据类型与表达式nint a,b,c;int a; int b; int c;nfloat m,n;nchar s,t;p在在C语言程序中,变量必须语言程序中,变量必须“先定义,先定义,后使用后使用”。p变量定义主要是指出变量的名字,确定变量定义主要是指出变量的名字,确定变量的数据类型。变量的数据类型。p在同一个程序段中,变量不能被重复定在同一个程序段中,变量不能被重复定义。义。第二章第二章 C C语言的基本数据类型与表达式语言的基本数据类型与表达式n变量定义后只是按照类型分配了所需的存储空间,但是没变量定义后只是按照类型分配了所需的存储空间,但是没有具体的值。有具体的值。n变量初始

13、化变量初始化:第一次给变量赋值的过程,这个值称为变量:第一次给变量赋值的过程,这个值称为变量的初值。的初值。p先定义再赋值先定义再赋值int a;a=2;p定义的同时赋值定义的同时赋值int a=2;第二章第二章 C C语言的基本数据类型与表达式语言的基本数据类型与表达式int a,b,c;a=b=c=3;可以等价为可以等价为int a=b=c=3;n变量初始化后可以再次赋值(即修改变量的值),但是一变量初始化后可以再次赋值(即修改变量的值),但是一个变量任何时刻只能有一个值。个变量任何时刻只能有一个值。int a=5;/变量变量a初始化赋值为初始化赋值为5a=12;/变量变量a的值赋值为的值

14、赋值为12,即发生修改,即发生修改赋值操作是从右向左进行的赋值操作是从右向左进行的变量定义的同时不能连续初始化变量定义的同时不能连续初始化第二章第二章 C C语言的基本数据类型与表达式语言的基本数据类型与表达式+、-、*、/、%(求余):双目运算符(求余):双目运算符n%运算左右两数必须为整型数据运算左右两数必须为整型数据p 5%3=_,6.2%3=_n两个整数相除,结果自动取整(向零取整)两个整数相除,结果自动取整(向零取整)p 5/3=_n参加运算的两个数中有一个为实数,结果为参加运算的两个数中有一个为实数,结果为double型型p x为为double型,型,y为为int型,则型,则x+y

15、的类型的为的类型的为_n字符型数据可以和数值型数据混合运算字符型数据可以和数值型数据混合运算 6+A=_第二章第二章 C C语言的基本数据类型与表达式语言的基本数据类型与表达式n单目运算符,也叫做一元运算符单目运算符,也叫做一元运算符n使变量的值在当前基础上加使变量的值在当前基础上加1/减减1ni+/i-:先使用变量:先使用变量i的值,的值,i值再加值再加1/减减1n+i/-i:i值先加值先加1/减减1,再使用变量,再使用变量i的值的值int x = 3, m, n;m = x+;n = +x;执行后执行后m、n、x的的值各是多少?值各是多少?(1) +i和和i+,其本质都可以使,其本质都可以

16、使i值值加加1,-同理。同理。(2) +i和和i+,求值和使用的先后,求值和使用的先后顺序,顺序,-同理。同理。第二章第二章 C C语言的基本数据类型与表达式语言的基本数据类型与表达式第二章第二章 C C语言的基本数据类型与表达式语言的基本数据类型与表达式,=, b & b c):a大于大于b并且并且b大于大于cn或运算或运算|pa | b,只要两者中有一个为真,结果就为真只要两者中有一个为真,结果就为真p( a b | b c):a大于大于b或者或者b大于大于cn非运算非运算!p!a,如果,如果a是是0,结果非,结果非0;如果;如果a是非是非0,结果是,结果是0p并不改变并不改变a的

17、值的值第二章第二章 C C语言的基本数据类型与表达式语言的基本数据类型与表达式逻辑运算的短路特性逻辑运算的短路特性第二章第二章 C C语言的基本数据类型与表达式语言的基本数据类型与表达式n判断某一年判断某一年year是否是闰年的条件是满足下列两个条件是否是闰年的条件是满足下列两个条件之一:之一:p能被能被4整除,但不能被整除,但不能被100整除;整除;p能被能被400整除;整除;n请用请用C语言运算符和表达式正确描述上述闰年的条件。语言运算符和表达式正确描述上述闰年的条件。(year % 4 = 0) & (year % 100 != 0) | (year % 400 = 0)第二章第

18、二章 C C语言的基本数据类型与表达式语言的基本数据类型与表达式n赋值运算符赋值运算符=:将一个数据赋给一个变量:将一个数据赋给一个变量n赋值表达式:赋值表达式: p可以是常量、变量或者表达式可以是常量、变量或者表达式int a,b=5,m=7,n=8;a=b;a=m+n;p优先级:赋值运算符优先级低于算术运算符、关系运优先级:赋值运算符优先级低于算术运算符、关系运算符和逻辑运算符算符和逻辑运算符p结合性:结合性:右右结合性结合性第二章第二章 C C语言的基本数据类型与表达式语言的基本数据类型与表达式n在赋值运算符在赋值运算符“=”之前加上其他运算符,构成复合赋值之前加上其他运算符,构成复合赋

19、值运算符。运算符。n复合赋值表达式复合赋值表达式 x += 5;x *= y+8;x %= 3;x -= y;x = x + 5;x = x * (y+8);x = x % 3;x = x - y;第二章第二章 C C语言的基本数据类型与表达式语言的基本数据类型与表达式n一般形式:表达式一般形式:表达式1, 表达式表达式2n求解过程求解过程p先求解表达式先求解表达式1的值,再求解表达式的值,再求解表达式2的值。的值。p整个逗号表达式的值是表达式整个逗号表达式的值是表达式2的值。的值。n扩展形式:表达式扩展形式:表达式1, 表达式表达式2, , 表达式表达式nint x,y=5;x=(y=y+6

20、,y=y/3);则则x的值为的值为_(1) 先计算先计算y=y+6的值,的值,y=5+6,y值值为为11。(2) 再计算再计算y=y/3的值,的值,y=11/3,y值为值为3。所以变量所以变量x的值为的值为3。第二章第二章 C C语言的基本数据类型与表达式语言的基本数据类型与表达式n一般形式:一般形式: ? : n运算顺序运算顺序p先求解表达式先求解表达式1的值。的值。p如果表达式如果表达式1的值为真,则求解表达式的值为真,则求解表达式2的值并把它的值并把它作为整个表达式的值。作为整个表达式的值。p如果表达式如果表达式1的值为假,则求解表达式的值为假,则求解表达式3的值并把它的值并把它作为整个

21、表达式的值。作为整个表达式的值。第二章第二章 C C语言的基本数据类型与表达式语言的基本数据类型与表达式n今天我要出门办事,因为需要外出一整天而这段时间又是今天我要出门办事,因为需要外出一整天而这段时间又是多雨的季节,所以我要考虑是否需要携带雨伞。我的判断多雨的季节,所以我要考虑是否需要携带雨伞。我的判断依据是出门时天阴带伞,反之不带伞。请用条件表达式描依据是出门时天阴带伞,反之不带伞。请用条件表达式描述上述判断原则。述上述判断原则。n分析:外出时有两种选择带伞或不带伞,其判别依据为是分析:外出时有两种选择带伞或不带伞,其判别依据为是否天阴。否天阴。n条件表达式描述如下:条件表达式描述如下:天阴天阴 ? 带伞带伞 : 不带伞不带伞第二章第二章 C C语言的基本数据类型与表达式语言的基本数据类型与表达式已知符号函数映射关系如下:已知符号函数映射关系如下:请用条件表达式给变量请用条件表达式给变量y赋值。赋值。y = (x = 0) ? (x 0) ? 1 : 0) : -1010001xxxy第二章第二章 C C语言的基本数据类型与表达式语言的基本数据类型与表达式y = (x = 0) ? (x 0) ? 1 : 0) : -1表达式表达式2:(x 0) ? 1 : 0表达式表达

温馨提示

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

评论

0/150

提交评论