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