欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PPT文档下载
     

    第二章数据类型、运算符与表达式.ppt

    • 资源ID:2260227       资源大小:1.91MB        全文页数:38页
    • 资源格式: PPT        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第二章数据类型、运算符与表达式.ppt

    C语言程序设计,贾宗福,哈尔滨学院软件学院软件工程专业课程(必修课),第二章 数据类型、运算符与表达式,C语言的数据类型 常量与变量 整型数据 实型数据 字符型数据 算术运算符和算术表达式 C运算符和C表达式,C语言的数据类型,一、数据类型,数据:是程序处理的对象。 例如:整数、实数、字符串、逻辑值。 数据类型:是指将数据根据表达形式的不同而划分的类别。数据类型(数据结构)是指数据的组织形式。规定了一定的取值范围(值域)和在该值域上所进行的各种操作。,一般分为:,二、数据类型分类,指针类型(*) 数组类型( ) 结构体类(struct) 共用体类型(union) 函数类型,基本类型 枚举类型(enum) 派生类型 空类型(void),整型 实型,基本整型(int) 短整型(short int) 长整型(long int) 字符型(char),单精度型(float) 双精度型(double) 长双精度型(long double),C语言的数据类型,一、常量,常量区分为不同的类型 分类:字面常量(直接常量)、符号常量,常量与变量,1定义 在程序运行过程中,其值不发生改变的量称为常量。,说明:,例:字面常量 整型常量:12、0、-3 实型常量:4.6、-1.23; 字符常量:a、b,#define是预处理命令,与语句区分开。它占独立一行,不用分号结束。 标识符的值在其作用域内不能改变(不是变量),也不能再被赋值。 习惯上符号常量名用大写,变量用小写。 使用符号常量的好处是:含义清楚(见名知意);在需要改变一个常量时能做到“一改全改”。,2符号常量,一、常量,格式: #define 标识符 常量 功能:用一个指定的标识符来代表一个常量。,说明:,常量与变量,2符号常量,一、常量,常量与变量,例:,#define PRICE 30 #include void main() int num,total; num=10; total=num * PRICE; printf(“total=%d“,total); ,二、变量,常量与变量,1定义 在程序运行过程中,其值可以改变的量称为变量。,说明:,一个变量应该有一个名字,在内存中占据一定的存储单元。在该存储单元中存放变量的值。 区分变量名、变量地址、存储单元、变量值的关系。 变量名命名原则?,关键字:32个英文单词,系统内具有特定含义,不能另作它用。 标识符:程序员定义的单词,程序正文中的一些实体,包括符号常量名、变量名、函数名、数组名、类型名、文件名等。,二、变量,常量与变量,2标识符的命名原则,(1)C语言的词法记号,以大小写字母或下划线开始; 由字母、数字和下划线三种字符组成; 区分大小写字母; 见名知意,不能与C语言的关键字相同; 标识符长度无统一规定,但最多32个字符。,英文字母:AZ az 数字:09 特殊字符:(空格)!#% &*_(下划线)+ - = / ” ( ) ,二、变量,常量与变量,2标识符的命名原则,(2)C语言的字符集,(3)命名原则,变量必须先定义,后使用。 定义多个同类型的变量时,变量之间用逗号分隔。 凡未被事先定义的,不作为变量名。 指定每一变量属于一个类型,这就便于在编译时,据此检查该变量所进行的运算是否合法。,二、变量,常量与变量,3、定义变量,格式:数据类型名 变量名表;,功能:在编译时按照指定的类型为变量分配相应的存储单元。,说明:,#define PRICE 30 #include main() int num,total; float v ,r,h; num=10; total=num*PRICE; printf(total=%d,total); r=2.5; h=3.2; v=3.14159*r*r*h; printf(”v=%fn”,v); ,变量名: 以字母或下划线 开头,由数字、 字母、下划线构 成。最多32个字 符,多余不识别. 一般小写。,名字常用大写,常量与变量,例:,#define PRICE 30 #include main() int num,total; float v ,r,h; num=10; total=num*PRICE; printf(total=%d,total); r=2.5; h=3.2; v=3.14159*r*r*h; printf(”v=%fn”,v); ,根据值的大小 自动确定类型 十进制:123, 456 八进制:0开头 十六进制:0x开头 无unsigned型, 但非负数可对 unsigned变量赋值,int、unsigned int 2字节 short 【int】 unsigned short 【int】 2字节 long【int】 unsigned long【int】 4字节,整型数据,一、举例说明,二、整型数据的定义及取值范围,类型 定义符 位数 数值范围 I/O格式符 有符号: 基本整型 int 16位 -3276832767 %d 短整型 short 16 同上 %hd 长整型 long 32 -231(231-1) %ld 无符号: unsigned int 16 065535 %u unsigned short 16 同上 %hu unsigned long 32 0(232-1) %lu,整型数据,#define PRICE 30 #include main() int num,total; float v ,r,h; num=10; total=num*PRICE; printf(total=%d,tatal); r=2.5; h=3.2; v=3.14159*r*r*h; printf(”v=%fn”,v); ,十进制形式 指数形式:123E3 (123×103 ) 不区分单、双精 度,赋值时截取有 效长度。如: float a; a=111111.111;,7位有效数字,float 4字节 7位有效数字 double 8字节 15位有效数字 long double 16字节 19位有效数字,实型数据,一、字符常量 单引号括起来的一个字符,如:'a', 'D', '?', '$,转义字符:一种特殊形式的字符变量,是以一个“”开头的字符序列。在屏幕上无法显示,在程序中无法表示的字符。 见P_30,二、字符变量 用来存放字符常量,例:char c1,c2; c1='a' c2='A',字符型数据,三、字符数据在内存中的存储形式 以ASCII码存储,占1字节,四、字符数据的使用方法 字符数据和整型数据之间可以通用,可以按 字符形式输出,也可以按整型输出。,字符数据与整型数据可以互相赋值。,五、字符串常量 例:“CHINA“ “a“ 'a',所以:char c; c=“a“;,字符型数据,例1,main() char c1,c2; c1=97; c2=98; printf(“%c, %cn“,c1,c2); ,运行结果: a ,b,字符型数据,例2,运行结果: 97 98,main() char c1,c2; c1=97; c2=98; printf(“%d %dn“,c1,c2); ,字符型数据,例3,运行结果: a ,97 a ,97,main() int i; char c; i='a' c=97; printf(“%c,%dn“,c,c); printf(“%c,%dn“,i,i); ,字符型数据,算术运算符与算术表达式,一、算术运算符,1、基本的算术运算符,+ - * / %(取余),(若整数相除,结果取整),说明:/ 整除 若/的两操作数都为整数,则为整除 如:5/2=2 , 5.0/2.0=2.5 例 int i=15; float f ; f=i/10; 结果为:f=1 如果将第三条语句改为 f = i/10.0; 或f = i/-10; 则结果为:f=1.5 ,或f=-1,算术运算符与算术表达式,1、基本的算术运算符,说明:% 取余 求两个整数整除后的余数,余的符号与被除数相同 如:3%4=3 4%4=0 例 #include void main() int n; n=40%5; printf(“n=%dn“,n); n=40%7; printf(“n=%dn“,n); n=40%-7; printf(“n=%dn“,n); n=-40%7; printf(“n=%dn“,n); n=-40%-7;printf(“n=%dn“,n); ,输出结果: n=0 n=5 n=5 n=-5 n=-5,一、算术运算符,算术运算符与算术表达式,2、自增、自减运算符 、,一、算术运算符,+i,-i 在使用i之前,先使i的值加(减)1 i+,i- 在使用i之后,使i的值加(减)1,例:#include void main() int i=3,j; j=+i; printf(“j=%d,i=%dn“,j,i); j=i-; printf(“j=%d,i=%dn“,j,i); ,输出结果: j=4,i=4 j=3,i=2,算术运算符与算术表达式,2、自增、自减运算符 、,一、算术运算符,说明:,+、-只能用于变量,而不能用于常量或表达式 +、-的结合方向是“自右至左”,例: 8+ -5 (a+b)+ -(c-4),算术运算符与算术表达式,二、算术表达式,1、算术表达式,用算术运算符和括号将运算对象(也称操作数)连接起来的、符合C语法规则的式子,称C算术表达式。 运算对象包括:常量、变量、函数等。,例如:a+b (a*2)c (x+r)*8-(a+b)7 +i sin(x)+sin(y) (+i)-(j+)+(k-),算术运算符与算术表达式,二、算术表达式,2、运算符的优先级,语言中,运算符的运算优先级共分为15级。1级最高,15级最低。在表达式中,优先级较高的先于优先级较低的进行运算。即按从高到低次序执行。而在一个运算量两侧的运算符优先级相同时,则按运算符的结合性所规定的结合方向处理。,算术运算符的优先级: 先乘除余,后加减 负号、+、-高于乘除余,见书:P302 附录C 运算符和结合性,算术运算符与算术表达式,二、算术表达式,3、运算符的结合性,例如:表达式x-y+z则y应先与“-”号结合,执行x-y运算,然后再执行+z的运算。 这种自左至右的结合方向就称为“左结合性”。,语言中各运算符的结合性分为两种: (1)左结合性:从左至右 (2)右结合性:从右至左(一元、条件运算符、赋值运算符),算术运算符的结合性: 自左至右,即先左后右,而自右至左的结合方向称为“右结合性”。最典型的右结合性运算符+、-和赋值运算符。 例如: -i+ 相当于-(i+) x=y=z 由于“=”的右结合性,应先执行y=z再执行x=(y=z)运算。,算术运算符与算术表达式,二、算术表达式,3、运算符的结合性,算术运算符与算术表达式,三、各类数值型数据间的混合运算,1、自动转换,在进行运算时,不同类型的数据要先转换成同一类型,然后进行运算。转换的方法有两种,一种是自动转换,一种是强制转换。,整型、实型与字符型数据间可以混合运算,先转换成同一类型,再进行运算,转换规则:,char和short型转换为int型 float型一律转换为double型 整型(包括int,short,long)数据与double型数据进行运算,先将整型转换为double型,字节少的数据转换成字节多的类型,算术运算符与算术表达式,三、各类数值型数据间的混合运算,2、强制类型转换运算符,格式:(类型名)(表达式),功能:是把表达式的运算结果强制转换成类型说明符所表示的类型。,例:(double)a (将a转换成double类型) (int)(x+y) (将x+y的值转换成整型) (float)(5%3) (将5%3的值转换成float型),说明:在强制类型转换时,得到一个所需类型的中间变量,原来变量的类型未发生变化。,算术运算符与算术表达式,三、各类数值型数据间的混合运算,2、强制类型转换运算符,例:强制类型转换。 #include void main() float x; int i; x=3.6; i=(int)x; printf(“x=%f,i=%d“,x,i); 结果:x=3.600000,i=3,C运算符和C表达式,一、C运算符,1、按功能分类,(1)算术运算符 + - * / % (2)关系运算符 = = = != (3)逻辑运算符 ! && | (4)位运算符 | & (5)赋值运算符 = 复合赋值 (6)条件运算符 ?: (7)逗号运算符 , (8)指针运算符 * & (9)求字节数运算符 sizeof (10)强制类型转换运算符 (类型) (11)分量运算符 - (12)下标运算符 (13)其他 如函数调用运算符(),C运算符和C表达式,一、C运算符,2、按操作数分类,(1)一元(单目)运算符 操作数 运算符 或 运算符 操作数 (2)二元(双目)运算符 操作数 运算符 操作数 (3)三元(三目)运算符 操作数?操作数:操作数,C运算符和C表达式,二、C表达式,1算术表达式 如:2+6.7*3.5+sin(0.5) 2关系表达式 如:x0,y0 && y0 4赋值表达式 如:a=5.6 5逗号表达式 如:a=3,b=4,c=8,C语言有以下几类表达式:,C运算符和C表达式,三、有关表达式使用中问题的补充说明,产生副作用的原因:引入了具有副作用的运算符。 (1)自增自减(+、-) (2)赋值和复合赋值,在表达式中包含过多的+、-,很容易出错。 C语言中运算符有一个字符和两个字符组成,组合原则是自左而右。 C语言中函数参数的求值顺序是自右而左。,表达式的副作用:,无副作用:在表达式求值过程中,只提取变量的值,不改变变量的值。 有副作用:在表达式求值过程中,不但提取变量的值,还改变变量的值。,目的:提高运算效率。,例:,#include void main() int i,j,k1,k2,k3,k4,k5; i=3; k1=(i+)+(i+)+(i+); printf(“k1=%d,i=%dn“,k1,i); i=3; k2=(+i)+(+i)+(+i); printf(“k2=%d,i=%dn“,k2,i); i=3; j=4; k3=i+j; printf(“k3=%dn“,k3);,C运算符和C表达式,i=3; j=4; k4=(i+)+j; printf(“k4=%dn“,k4); i=3; j=4; k5=i+(+j); printf(“k5=%dn“,k5); i=3; printf(“%d,%dn“,i,i+); ,运行结果: k1=9 , i=6 k2=15 , i=6 k3=7 k4=7 k5=8 4 , 3,C运算符和C表达式,作 业,复习: 第2章 数据类型、运算符与表达式 做题:习题二 准备:上机讲授和书上的例题、习题二 实验2 数据的存储与运算 预习:第3章 顺序程序设计,第2章 数据类型、运算符与表达式,

    注意事项

    本文(第二章数据类型、运算符与表达式.ppt)为本站会员(本田雅阁)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开