数据类型运算符和表达式C语言程序设计第三电子.pptx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《数据类型运算符和表达式C语言程序设计第三电子.pptx》由会员分享,可在线阅读,更多相关《数据类型运算符和表达式C语言程序设计第三电子.pptx(64页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、掌握C语言的基本数据类型掌握标识符、关键字、常量和变量的使用掌握运算符、表达式以及数据类型之间的转换等掌握简单数据的输入输出 第1页/共64页2.1 数据类型数据类型概述第2页/共64页2.1 数据类型整数类型 整数类型简称整型,整型数据没有小数部分。整型可分为:基本整型:用int表示。短整型:用short int或short表示。长整型:用long int或long表示。第3页/共64页2.1 数据类型整数类型第4页/共64页2.1 数据类型实型 实数类型简称实型,有时又称浮点数据类型 包括:单精度浮点数类型:简称浮点类型,类型名为float。双精度浮点数类型:简称双精度类型,类型名为dou
2、ble。长双精度类型:类型名为long double。第5页/共64页2.1 数据类型实型第6页/共64页2.1 数据类型字符型字符类型的数据简称字符型数据 C语言中用char表示,在内存中占一个字节。字符类型的数据包括计算机所用编码字符集中的所有字符。常用的ASCII字符集,共128个。扩展的ASCII字符集共256个字符。字符数据与整型数据是相似的(除了占用的存储空间不同)第7页/共64页2.1 数据类型字符型第8页/共64页2.2 标识符、常量与变量 标识符 所谓标识符是指程序中的变量、符号常量、数组、函数、类型、文件等对象的名字。规则:由字母、数字和下划线组成,且第一个字符必须为字母或
3、下划线。大小写敏感。如Name和name是两个不同的标识符不能使用系统的关键字第9页/共64页2.2 标识符、常量与变量建议:不建议使用系统预定义标识符如define、include、scanf、printf尽量做到“见名知义”如max、name等,不用像abc、a1、a2等标识符。避免使用易混字符1、l、i;0、o;2、z等 第10页/共64页2.2 标识符、常量与变量关键字 第11页/共64页2.2 标识符、常量与变量 常量 指在程序运行中其值不能被改变的量。直接常量:如整型常量、实型常量、字符型常量、字符串常量等。符号常量:用标识符定义的常量。第12页/共64页2.2 标识符、常量与变量
4、整型常量 十进制整型常量:同数学上的表示方法,如168、-1、65535等。八进制整型常量:以0开头,由数字07组成,如0101、-045等。十六进制整型常量:以0 x或0X开头的数字序列表示十六进制数,如0 x12,第13页/共64页2.2 标识符、常量与变量注意:如要说明是无符号类型则在数据后加u或U、如65535u、168U等。如果说明为长整型,则在数据后面加l或L,如-1L。八进制、十进制和十六进制只是整数的不同书写形式,提供多种写法只是为了使用方便,我们可以根据需要选择适当的书写方式。C语言中不用二进制形式表示整数。C语言中,一般只使用无符号的八进制和十六进制数,而不使用有符号的八进
5、制和十六进制数,因此没有专门的无符号八进制和十六进制标识符。第14页/共64页2.2 标识符、常量与变量以下是非法的整型常量:09:0开头应该是八进制,但9不是合法的八进制数字。0X6G:0X开头应该是十六进制,但G不是合法的十六进制数字。以下是合法的整型常量:00000101:八进制,相当于十进制的65。-012:八进制,相当于十进制的-10。65535LU:十进制,无符号长整型。0XFF:十六进制,相当于十进制的255。第15页/共64页2.2 标识符、常量与变量实型常量 实型常量只能用十进制形式表示 表示形式:小数形式。由数字序列和小数点组成,如3.1415926、-0.15、.15、2
6、.等都是合法的实型常量。指数形式。由十进制数加上阶码标志“e”或“E”及阶码组成,如3.14e-4或3.14E-4表示3.1410-4。第16页/共64页2.2 标识符、常量与变量注意:字母e或E之前的尾数部分必须有数字,例如E2是不合法的。e或E后面的指数部分必须是整数,指数部分无整数或为小数均是错误的,例如5e 和5E-5.5均是不合法的表示。C语言中,默认实型常量为double类型,若有后缀“f”或“F”,则为float类型。第17页/共64页2.2 标识符、常量与变量字符常量 字符型常量是由一对单引号括起来的单个字符构成 例如A、b、8 字符AZ的ASCII码值是6590。字符az的A
7、SCII码值是97122。字符09的ASCII码值是4857。空格字符的ASCII码值是32。第18页/共64页2.2 标识符、常量与变量转义字符 第19页/共64页2.2 标识符、常量与变量字符串常量 字符串常量是由一对双引号括起的字符序列,例如“1234567”、“Hello World”等都是字符串常量。123101共有5个字符占6个字节,其中、101分别代表一个字符,输出为123A 第20页/共64页2.2 标识符、常量与变量符号常量【例2-1】输入圆的半径,计算周长和面积。#define PI 3.14159void main()float r,c,s;scanf(%f,&r);c=
8、2*PI*r;s=PI*r*r;printf(r=%f,c=%f,s=%fn,r,c,s);第21页/共64页2.2 标识符、常量与变量 变量在程序运行过程中,其存储的值可以被改变的量称为变量 变量必须通过标识符进行说明,称为变量名。变量名和内存单元地址存在映射关系,程序可以通过变量名寻址,从而访问其存储的数据。第22页/共64页2.2 标识符、常量与变量变量的定义和说明数据类型 变量名1,变量名2,变量名n;int i,j,k;float x;long a,b,c;4个基本要素:名字、类型、初值和作用域 第23页/共64页2.2 标识符、常量与变量变量名为标识符的一种。变量的数据类型可以是基
9、本数据类型,也可以是复杂数据类型。变量的作用域是指变量在程序中有定义的范围,即该变量名在某段代码区域是否有意义。变量需要赋初值。没有被赋值的变量其初值取决于存储类型,静态存储的变量将自动为0,否则被随机初始化。第24页/共64页2.2 标识符、常量与变量变量赋初值的两种方式 变量说明时直接赋初值,称为变量的初始化,如:int a=10,b=9,c=6;float x=3.0,y=1.0,z=2.0;用赋值语句赋初值,如:float x;x10.0;第25页/共64页2.2 标识符、常量与变量注意:编译系统将对每一个变量根据它被定义的类型分配相应的存储单元。变量存储单元地址可用“&变量名”求得。
10、可以用长度运算符sizeof()求出任意类型变量存储单元的字节数。编译系统根据变量被定义的类型检查该变量进行运算的合法性。如果没有给变量赋初始值,普通变量将存储随机值,直到给它赋值为止。第26页/共64页2.2 标识符、常量与变量整型数据的存储 C语言中的整型数据分为有符号和无符号两大类 unsigned int a=65,b=65535;int a=65,b=32767,c=-1;第27页/共64页2.2 标识符、常量与变量补码(complement)假设int型整数a占2字节,16位二进制数 第28页/共64页2.2 标识符、常量与变量2字节的int型整数的补码第29页/共64页2.2 标
11、识符、常量与变量负数的转换步骤如下:32768取绝对值,如|-32768|等于32768216-|a|,如216-|-32768|等于65536 32768 等于 32768转换成二进制,如10000000 00000000(32768等于215)第30页/共64页2.2 标识符、常量与变量补码形式还原成十进制的步骤正好相反 11111111 11111110转换成十进制:65534216-65534 65536-65534 2加负号 -2第31页/共64页2.2 标识符、常量与变量实型数据的存储 字符数据的存储与使用 第32页/共64页2.2 标识符、常量与变量【例2-2】演示字符数据的存储
12、和引用。#include void main()char c;int i;c=A;i=c;printf(c=%d,c=%cn,c,c);printf(i=%d,i=%cn,i,i);c=c+32;printf(c=%cn,c);c=0 x80;printf(c=%c,c=%dn,c,c);第33页/共64页2.2 标识符、常量与变量溢出与舍入误差 数据的溢出 char c=127;c=c+1;第34页/共64页2.2 标识符、常量与变量【例2-3】演示数据的溢出。#include void main()char c=127;long li=2147483647;unsigned uc;unsi
13、gned long uli;printf(c=%d,li=%ldn,c,li);c=c+1;li=li+1;printf(c=%d,li=%ldn,c,li);c=127+100;li=2147483647+100;printf(c=%d,li=%ldn,c,li);uc=127+100;uli=2147483647+100;printf(uc=%d,uli=%ldn,uc,uli);printf(uc=%u,uli=%lun,uc,uli);第35页/共64页2.2 标识符、常量与变量实型数据的误差 整数存储除了溢出以外是没有误差的。实型数据由于是用有限的存储单元存储较大范围的实型数,有效数
14、字是有尾数限制的,在实际计算和引用中会有很多问题。第36页/共64页2.2 标识符、常量与变量【例2-4】演示实型数据的误差。#include void main()float x,y;y=x+0.12345;/*大数加上一个小数,小数被忽略*/printf(x=%f,y=%fn,x,y);x=3.1415926;y=x-0.0001;/*小数的有效位加1有效*/printf(x=%.3f,y=%.3fn,x,y);y=x+0.0000005;/*小数的无效位加1也无效*/printf(x=%.7f,y=%.7fn,x,y);第37页/共64页2.3 运算符与表达式13类45个运算符 第38页
15、/共64页2.3 运算符与表达式第39页/共64页2.3 运算符与表达式学习运算符要注意以下几方面问题 运算符的功能。运算符与操作对象即操作数(包括常量、变量、函数调用等)的关系:操作数的个数(单目、双目、三目)。求操作数的类型(如求余运算符%要求操作数是整型)。结合方向运算符的优先级。运算结果的数据类型运算符连接操作数形成的式子叫表达式。第40页/共64页2.3 运算符与表达式算术运算符与算术表达式+(加)、-(减)、*(乘)、/(除)、%(取模,或称求余运算符)。双目运算符,结合方向均为从左到右。%(取模)运算符仅用于整型变量或整型常量的运算,a%b结果为a除以b的余数,余数的符号与被除数
16、相同,如:7%3的值为1;17%-3的结果为2;-19%4的结果为-3。+、-、*、/运算符的两个操作数既可以是整数,也可以是实数。/(除法)运算符,当对两个整型的数据相除时为整除操作第41页/共64页2.3 运算符与表达式强制类型转换(显式转换)运算符:(类型)例如:(double)a (int)(x+y)(float)5/3 表达式一定要加括号(因强制类型转换是单目运算,优先级高),例如上面最后一个表达式中只是将5转变成float型,而不是将5/3转变成float型。若对变量实型显式转换,将得到新类型的一个值,原变量的类型及其存储值均不变。第42页/共64页2.3 运算符与表达式【例2-5
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据类型 运算 表达式 语言程序设计 第三 电子
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内