C语言--数据类型、运算符与表达式课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《C语言--数据类型、运算符与表达式课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 _ 数据类型 运算 表达式 课件
- 资源描述:
-
1、第第2章章 数据类型、运算符和表达式数据类型、运算符和表达式本章内容本章内容C语言的标识符和关键字语言的标识符和关键字 1C语言的基本数据类型语言的基本数据类型 2运算符和表达式运算符和表达式 3数据的输入输出数据的输入输出 4Company Logo学习目标学习目标掌握掌握C语言的标识符和关键字语言的标识符和关键字1掌握掌握C语言的基本数据类型语言的基本数据类型 2掌握不同数据类型的转换掌握不同数据类型的转换3掌握各种运算符的使用方法及其优先级和结合性掌握各种运算符的使用方法及其优先级和结合性 4掌握字符数据输入输出函数掌握字符数据输入输出函数getchar和和putchar的用法的用法 5
2、Company Logo2.1 C语言的标识符和关键字语言的标识符和关键字 2.1.1 标识符标识符 标识符是对变量名、函数名、标号和其他各标识符是对变量名、函数名、标号和其他各种用户定义的对象种用户定义的对象命名命名。命名规则:标识符由字母、数字、下划线组成,且第命名规则:标识符由字母、数字、下划线组成,且第1个字个字符必须是符必须是字母或下划线字母或下划线。注意:注意:标识符区分大小写标识符区分大小写 标识符的有效长度取决于具体的标识符的有效长度取决于具体的C编译系统编译系统 标识符的书写一般采用具有一定实际含义的单词,这样标识符的书写一般采用具有一定实际含义的单词,这样可提高程序的可读性
3、可提高程序的可读性 标识符不能与标识符不能与C语言的语言的关键字关键字同名,也不能与同名,也不能与自定义函自定义函数数或或C语言库函数语言库函数同名。同名。Company Logo2.1.2 关键字关键字 具有固定名字和特定含义的特殊标识符,也称具有固定名字和特定含义的特殊标识符,也称保留字,不允许程序设计者将它们另作别用。保留字,不允许程序设计者将它们另作别用。C语言的关键字有语言的关键字有32个。个。数据类型定义:数据类型定义:typedef数据类型:数据类型:char,double,enum,float,int,long,short,struct,union,unsigned,void,
4、signed,volatile,auto,extern,register,static,const运算符:运算符:sizeof语句:语句:break,case,continue,default,do,else,for,goto,if,return,switch,whileCompany Logo2.2 C语言的基本数据类型语言的基本数据类型 2.2.1 基本数据类型基本数据类型 Company Logo2.2.2 常量与变量常量与变量 1.常量常量 在程序运行过程中不能改变的量称为常量在程序运行过程中不能改变的量称为常量 直接常量:直接常量:-3、2、1.25、a 符号常量:符号常量:用一个标
5、识符代表一个常量用一个标识符代表一个常量 常量分为数值常量和符号常量常量分为数值常量和符号常量 说明说明:符号变量定义格式:符号变量定义格式:#define 标识符标识符 常量常量Company Logo【例例2.1】常量使用常量使用#define PRICE 30/*宏定义语句*/#include int main(void)int sum,num;/*定义变量sum和num为int类型*/num=5;/*使num的值为5*/sum=num*PRICE;/*计算sum的值为num与PRICE的乘积*/printf(sum=%dn,sum);/*输出sum=150*/return 0;运行结果
6、:运行结果:sum=150 程序中用程序中用#define命令行定义命令行定义PRICE代表常量代表常量30,此后凡在本文件中出现的此后凡在本文件中出现的PRICE都代表都代表30,可以和常量一样进行运算可以和常量一样进行运算如再用赋值语句给如再用赋值语句给PRICE赋值是错的赋值是错的 PRICE=40;/*错误,不能给符号常量赋值错误,不能给符号常量赋值Company Logo2.变量变量在程序运行过程中其值可改变的量叫变量在程序运行过程中其值可改变的量叫变量(1 1)变量定义的一般形式:数据类型)变量定义的一般形式:数据类型 变量名变量名 (2 2)变量的初始化:就是对变量预先设置初值。
7、)变量的初始化:就是对变量预先设置初值。注意:注意:1、变量必须先定义后使用。、变量必须先定义后使用。2、变量的值是可改变的。、变量的值是可改变的。3、每一个变量有一个确定的数据类型。、每一个变量有一个确定的数据类型。4、区分变量名和变量值。、区分变量名和变量值。Company Logo【例例2.2】变量的定义变量的定义#include int main(void)int a=5,b=6,total=0;tatal=a+b;printf(total=%dn,total);return 0;说明:说明:错把错把total写成写成tatal,程序编译,程序编译 时,会报告时,会报告tatal未定义
8、未定义 Company Logo2.2.3 整型数据整型数据 1整型常量整型常量整型常量就是整常数整型常量就是整常数,在,在C语言中有语言中有3中表示形式中表示形式(1)十进制整数:十进制整数:如如250,12等,每个数字位是等,每个数字位是09。(2)八进制整数:八进制整数:最高位为最高位为0,如十进制的,如十进制的128,用八进制表示为,用八进制表示为 0200。每个数字位是。每个数字位是07。(3)十六进制整型常量:十六进制整型常量:以以0 x或或0X开头,如十进制的开头,如十进制的128,用十,用十六进制表示为六进制表示为0 x80或或0X80,每个数字位可以是,每个数字位可以是09,
9、AF。Company Logo2.2.3 整型数据整型数据2.整型变量整型变量(1)整型变量的分类)整型变量的分类共六种共六种有符号基本整型有符号基本整型有符号短整型有符号短整型有符号长整型有符号长整型无符号基本整型无符号基本整型无符号短整型无符号短整型无符号长整型无符号长整型(signed)int(signed)short(int)(signed)long(int)unsigned intunsigned short(int)unsigned long(int)Company Logo整数类型的有关数据整数类型的有关数据类型说明符所占位数(bit)数的取值范围intshort16long32
10、1632对于整型变量的取值范围,在对于整型变量的取值范围,在C语言中由系统确定各类型数据语言中由系统确定各类型数据所占内存字节数,一般以一个机器字(所占内存字节数,一般以一个机器字(word)存放一个)存放一个int型型数据,而数据,而long int型数据的字节数应不小于型数据的字节数应不小于int型,型,short型应型应不大于不大于int型。型。Company Logo(2)整型变量的定义)整型变量的定义定义变量及初始化(在定义变量的同时给变量赋初值的方法)定义变量及初始化(在定义变量的同时给变量赋初值的方法)的一般形式为:的一般形式为:类型说明符类型说明符 变量变量1=值值1,变量,变
11、量2=值值2,;说明:说明:1.类型说明符可以是表类型说明符可以是表2-1所列的任何一种类型,类型说明符所列的任何一种类型,类型说明符与变量名之间至少要有一个空格间隔。与变量名之间至少要有一个空格间隔。2.在一个类型说明符后,可定义多个相同类型的变量,但变在一个类型说明符后,可定义多个相同类型的变量,但变量间要用逗号间隔。量间要用逗号间隔。3.最后一个变量名后必须用最后一个变量名后必须用“;”结束;结束;4.内的为可选项,即为变量的初始化。内的为可选项,即为变量的初始化。Company Logo整型变量的定义整型变量的定义 int a,b,c;/*定义定义a,b,c为整型变量为整型变量*/sh
12、ort x=8;/*定义定义x为短整型变量,且赋初值为为短整型变量,且赋初值为8*/unsigned long m=65538,n;/*定义定义m,n为无符号长整型变量,并为为无符号长整型变量,并为m赋初值为赋初值为65538*/Company Logo(3)整型数据的溢出)整型数据的溢出每一种数据类型都有其各自的有效范围,若超过该类型的范围每一种数据类型都有其各自的有效范围,若超过该类型的范围就会溢出,即显示的数据是错误的,但运行时并不报错。就会溢出,即显示的数据是错误的,但运行时并不报错。#include int main(void)int x,y;x=32767;y=x+2;printf
13、(x=%d,y=%dn,x,y);return 0;运行结果:运行结果:若用若用Turbo C2.0编译器,其结果为:编译器,其结果为:X=32767,y=-32767若用若用Visual C+6.0编译器,其结果为:编译器,其结果为:X=32767,y=32769这是由于这是由于Turbo C2.0的整型数据占的整型数据占2个字个字节节,Visual C+6.0的整型数据占的整型数据占4个字节个字节【例例2.3】整型数据的溢出整型数据的溢出Company Logo2.2.4 实型数据实型数据TEXT1.实型常量实型常量实型也叫浮点型,实型常量也叫实数或浮点数,在实型也叫浮点型,实型常量也叫实
14、数或浮点数,在C语言中,语言中,实数只用十进制表示。实数有两种表示形式。实数只用十进制表示。实数有两种表示形式。两种表两种表示形式示形式小数小数指数指数0.1233e-3注意注意:字母字母e(或或E)之前之前必须有数字,且必须有数字,且e后面的后面的 指数必须为整数:指数必须为整数:Company Logo2.实型变量实型变量(1)实型变量分类)实型变量分类实型变量分为单精度(实型变量分为单精度(float型)、双精度(型)、双精度(double型)、长双型)、长双精度(精度(long double型)三类。型)三类。位数位数数的范围数的范围有效数字有效数字float32double64lon
15、g double128Company Logo(2)实型变量的定义及初始化)实型变量的定义及初始化例如:例如:float x=123456.789;double y=123456.789;说明:说明:x为单精度型变量,被赋值为为单精度型变量,被赋值为9位,但只接收前位,但只接收前7位有位有效位,最后两位小数不起作用。效位,最后两位小数不起作用。y为双精度型变量,能接收为双精度型变量,能接收全部全部9位数字并存储起来。位数字并存储起来。演示演示Company Logo(3)实型数据的舍入误差)实型数据的舍入误差实型变量由有限的存储单元组成,能提供的有效数字有限,这实型变量由有限的存储单元组成,能
16、提供的有效数字有限,这样就存在舍入误差。样就存在舍入误差。#include int main(void)float x=4.56789e10,y;y=x+11;printf(%en,y);return 0;程序的运行结果为:程序的运行结果为:4.567890e+010 一个浮点型变量只能保证的有效数字是一个浮点型变量只能保证的有效数字是7位有效数字,后面位有效数字,后面的数字是无意义的,并不准确地表示该数。应当避免将一个很大的数字是无意义的,并不准确地表示该数。应当避免将一个很大的数和一个很小的数直接相加或相减,否则就会的数和一个很小的数直接相加或相减,否则就会“丢失丢失”小的数小的数。【例例
17、2.4】Company Logo2.2.5 字符型数据字符型数据1.字符型常量字符型常量字符型常量是由单引号括起来的一个字符,如,字符型常量是由单引号括起来的一个字符,如,A,*和和8等等都是合法的字符型常量。除此之外,在都是合法的字符型常量。除此之外,在C语言中还允许使用一些语言中还允许使用一些特殊的字符常量,即以反斜杠字符特殊的字符常量,即以反斜杠字符开头的字符序列,称为开头的字符序列,称为“转转义字符义字符”,如表,如表2.3所示。所示。字符形式字符形式功功 能能n换行换行t横向跳格(即跳到下一个输出区)横向跳格(即跳到下一个输出区)v竖向跳格竖向跳格b退格退格r回车回车f走纸换页走纸换
18、页反斜杠字符反斜杠字符单撇号字符单撇号字符双撇号字符双撇号字符a报警,相当于报警,相当于007ddd13位位8进制数所代表的字符进制数所代表的字符xhh12位位16进制数所代表的字符进制数所代表的字符演示演示Company Logov 字符常量是用单引号,而非双引号,且只包括一字符常量是用单引号,而非双引号,且只包括一个字符。个字符。v C语言允许在字符语言允许在字符后面紧跟后面紧跟13位八进制数位八进制数或在或在后面紧跟后面紧跟12位十六进制数来表示相应位十六进制数来表示相应系统中所使用的字符的编码值。系统中所使用的字符的编码值。v 由由开头的转义字符,将开头的转义字符,将后的字符转换为另后
19、的字符转换为另外的字符,不同于字符原有的意义,仅代表一个外的字符,不同于字符原有的意义,仅代表一个单个字符,而不代表多个字符,它仅代表相应系单个字符,而不代表多个字符,它仅代表相应系统中的一个编码值。统中的一个编码值。Company Logo【例例2.5】转义字符的使用转义字符的使用#include int main(void)printf(abE tbcdn);printf(efgn);return 0;程序的运行结果如下:程序的运行结果如下:AbE cdefgCompany Logo2.字符变量字符变量 字符型变量用来存放字符常量,注意只能放字符型变量用来存放字符常量,注意只能放一个字符。
20、一个字符。字符变量的定义形式如下:字符变量的定义形式如下:在本函数中可以用下面语句对在本函数中可以用下面语句对c1,c2赋值:赋值:c1=a;c2=b;一个字符变量在内存中占一个字节。一个字符变量在内存中占一个字节。字符数据既可以用字符形式输出,也可以用字符数据既可以用字符形式输出,也可以用整数形式输出。整数形式输出。Company Logo字符型与整型数据的相互赋值字符型与整型数据的相互赋值#include int main(void)int m;char c;m=A;/*字符赋值给整型变量字符赋值给整型变量*/c=65;/*整数赋值给字符变量整数赋值给字符变量*/printf(%c,%dn
21、,m,m);printf(%c,%dn,c,c);return 0;程序的运行结果如下:程序的运行结果如下:A,65A,65在在C语言中,允许对字符变量赋整型值,输出时,允许把字符变语言中,允许对字符变量赋整型值,输出时,允许把字符变量按整型量输出;也允许对整型变量赋字符值,把整型量按字符量按整型量输出;也允许对整型变量赋字符值,把整型量按字符量输出,当整型量按字符量处理时,只有低八位参与处理。量输出,当整型量按字符量处理时,只有低八位参与处理。【例例2.6】Company Logo3.字符串常量字符串常量字符串常量是字符串常量是括起来的字符序列括起来的字符序列合法的字符串常量合法的字符串常量
22、:“How do you do.”,“CHINA”,“a”,“$123.45”。Company Logoc=“a”;c=“CHINA”;a是字符常量,是字符常量,“a”是字符串常量!是字符串常量!如:如:假设被指定为字符变量假设被指定为字符变量:char cc=a;Company Logo它的长度不是它的长度不是14个,而是个,而是15个,最后一个字符为个,最后一个字符为0。但输出时。但输出时不输出,系统在遇到它后就停止输出。注意,在写字符串时不不输出,系统在遇到它后就停止输出。注意,在写字符串时不能加上能加上0。Company Logo2.2.6 数据类型的转换数据类型的转换 转换方式有两种
23、:一种是自动类型转换;另一种是强制类型转换。转换方式有两种:一种是自动类型转换;另一种是强制类型转换。1.自动类型转换自动类型转换 double float高低高低 longunsignedint char,short假设已指定假设已指定i为整型变量,为整型变量,f为为float型变量,型变量,d为为double型变量,型变量,e为为long型变量,表达式为:型变量,表达式为:10+a+i*f-d/e 则表达式的运行次序?则表达式的运行次序?注意:注意:在赋值表达在赋值表达式中,赋值号右边式中,赋值号右边的类型要先转换成的类型要先转换成赋值号左边的类型,赋值号左边的类型,结果为赋值号左边结果为
24、赋值号左边的类型。的类型。Company Logo2.强制类型转换强制类型转换 一般形式为:一般形式为:(类型名类型名)(表达式表达式)(double)a 将变量将变量a强制转换为强制转换为double类型类型(int)(x+y)将将x+y的值强制转换为的值强制转换为int类型类型(float)(5%3)将将5%3的值强制转换为的值强制转换为float类型类型(float)x/y 将将x强制转换成强制转换成float类型后,再与类型后,再与y进行除法运算进行除法运算 注意:注意:1.表达式应该用括号括起来。表达式应该用括号括起来。2.进行强制类型转换时,得到的是一个所需类型的中间变量,进行强制
展开阅读全文