实验2数据类型、运算符和表达式

上传人:枫** 文档编号:490088513 上传时间:2023-12-04 格式:DOC 页数:6 大小:45KB
返回 下载 相关 举报
实验2数据类型、运算符和表达式_第1页
第1页 / 共6页
实验2数据类型、运算符和表达式_第2页
第2页 / 共6页
实验2数据类型、运算符和表达式_第3页
第3页 / 共6页
实验2数据类型、运算符和表达式_第4页
第4页 / 共6页
实验2数据类型、运算符和表达式_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《实验2数据类型、运算符和表达式》由会员分享,可在线阅读,更多相关《实验2数据类型、运算符和表达式(6页珍藏版)》请在金锄头文库上搜索。

1、实验2 数据类型、运算符和表达式一、实验目的和要求1.掌握常量的表示法【字符和字符串常量、短整型、整型和长整型、实数(float)和双精度实数(double)】。2.掌握各种类型变量的说明及初始化。3.掌握各种运算符和各类表达式(1)算术运算、逻辑运算、关系运算、和 运算、三目条件运算符;(2)运算符的优先级、结合规则和目数的概念;(3)类型的自动转换和强制类型转换;(4)表达式的组成、左值和赋值,逻辑表达式的求值优化。二、实验准备知识点:1数据类型C+提供了十分丰富的数据类型,除基本类型外,还提供了 。基本数据类型中包括字符型,可用 表示,占用 字节;整型,可用 表示,占用 字节;实型,可用

2、 表示,占用 字节;双精度型,可用 表示,占用 字节;无值型,可用 表示,占用 字节。2标识符的命名规则标识符命名应以 开始,由 组成,长度 。3常量(1)常量可分为 、 、 、 和 。(2)十进制整数常量以 开头;八进制整数常量以 开头,由 组成;十六进制整数常量以 开头,由 组成;长整型数以 结尾;无符号整型数以 结尾;无符号长整型数以 结尾。(3)指数形式的实型常量要求在E或e前 ,且在E或e之后的指数部分 。(4)字符常量是以 括起来的 个字符。转义序列以 开始,后跟一个 或一个 的办法来表示一个字符。若转义字符后是一个整型常量,它必须是 和 进制,且其对应的十进制取值范围必须在 之间

3、,该八进制数以 开头,也可以不以 开头,而 进制数必须以 开头。t表示 ;n表示 ;表示 ;(5)字符串常量是以 括起来的 个字符;字符串常量与字符常量的存放格式的区别是 。(6)标识符常量可用两种方法定义标识符常量:一种是使用 ,另一种是利用常量说明语句 。4变量变量要求 在前, 在后;变量说明语句可以出现 ,同一变量只能作 次定义性说明;首次引用变量时,变量必须有一个 ;对变量赋初值的三种方法: 、 和通过输入流cin对变量赋初值。5运算符与表达式(1)算术运算C+中的算术运算符有两个单目运算符(只有一个操作数的运算符): 和 ;五个双目运算符(有两个操作数的运算符):+(加)、(减)、*

4、(乘)、/(除)和 。(2)关系运算C+提供六种关系运算符:(大于)、(小于)、(大于等于)、(小于等于)、= =(等于)、!(不等于)。前面4种(,)优先级相同,后两种(,!)优先级相同,前4种高于后两种。结合性都为右结合。关系运算符是完成两个操作数的比较运算,即比较两个操作数的数值大小。运算的结果为一整数,当关系成立时,其运算结果为 ;当关系不成立时,其运算结果为整数 。 关系运算的结果 参与表达式的运算。(3)逻辑运算C+中提供三种逻辑运算符:逻辑非(!)、逻辑与(&)和逻辑或(|);第一个运算符是单目运算,后两转者是双目运算符。在计算过程中,要注意&的优先级低于!优先级,但高于|的优先

5、级。!为左结合,而其它两个为右结合。逻辑运算要注意逻辑表达式的副作用:对于a&b&c,只有a为 时,才需要计算b的值,因为当a为 时,不管后面的项如何,都能得到该表达式的值就为0。同样只有在a和b都为 的情况下才需要计算c的值。;对于a|b|c,只要a为 ,就不需要判断b和c的值,而只有当a、b都为 时才需要计算c项。(4)赋值运算C+中赋值运算符分为两种:单一赋值运算符(=)和复合赋值运算符(+=, =, *=, /=, %=, &=, =, |=, = ),都为双目运算符,结合性为左结合,其运算法则为:将左操作数与右操作数进行相应的运算,再将结果赋给左操作数。对于赋值运算符,其左操作数必须

6、为 。 (5)sizeof()运算符sizeof()运算符是用来计算 ,它为单目运算符。该运算符与其它类型的基本运算符稍有不同,它的操作数必须在括号内,其使用格式为: sizeof() 或sizeof()(6)自增、自减运算自增运算符“+”和自减运算符“-”都具有两种形式,且它们都是单目运算符,操作数必须为变量,一般是整型变量,但也可以是实型或字符型变量。+i (前置自增: )i+ (后置自增: )-i (前置自减: )i- (后置自减: )(7)逗号运算逗号运算符的优先级为所有运算符中最低的,结合性为右结合。逗号表达式的一般形式为: , , 其运算顺序为按从左到右的顺序依次求出各表达式的值,

7、并把最后一个表达式的值作为整个逗号表达式的值。(8)条件运算条件运算符“? :”为三目运算符,要求有三个操作对象,使用格式为: ? : 计算过程为:先计算,若其值不等于0,则计算,并将计算的值作为该条件表达式的值;否则求解的值,并将该值作为条件表达式的值。 其优先级高于赋值和逗号运算,左结合。(9)常用运算符的优先级高!+ 负号算术运算关系运算逻辑运算条件运算赋值运算(含复合赋值)低逗号运算(10)类型转换在求表达式值的过程中,对于双目运算符,通常会出现两个操作数的类型不一致的情形,这时就要求将这两个操作数转换为同一类型,然后再进行运算。可以分为三种情况的转换:不同类型数据的混合运算、赋值时的

8、类型转换和强制类型转换,分别要注意这三种情况的数据类型的转换。练习题1.下列定义变量和常量的方法中指出哪些是错误的,如何修改? (1)const k=10; (2)int i.j;int i=10; (3)#define pp=3.14 (4)const int j;答:(1) (2) (3) (4) 2.下列符号中,哪些是合法的标识符?Abs3 3block a+b _else Class sum for my_class fun(4) a-b答:(1)合法的有 (2)不合法的有 3.设有如下的变量说明:int a=2,b=3,c=9;float x=2.3,y=4.5,z=6.0;char

9、 cha1=a,ch2=b;请计算以下表达式及各变量的值:(1)sizeof(a+3.4) (2)x+ +ch1 (3)!a-&ab|x (4)a=a+2,b+,c=b+d (5)a+=b*=c+ch1答:123454.设有如下的变量说明:int m=3,n=9,k=15;int a=0,b=0,c=0;请计算以下表达式及各变量的值:(1)a=mn & +k (2)a+=m=k&b+|+c (4)a*=mn|+b & (c=4)(5)a=m+n (6)a=m+ + +n(7)a=m*k+n*k+ (8)a=+m*k+m123456785.用C+表达式描述下列命题:(1) a大于b且b大于c;答

10、: (2) a大于b或大于c; 答: (3) a大于b且小于c; 答: (4) a不能被b整除; 答: 6.C关系表达式中的关系成立时,则该关系表达式的值为 7.int x=-5,y;cout 0?1:x0?-1:0);输出的结果为 。程序分析1.在数学式中,变量x和y的取值为整数,而变量a和b的取值为实数,在C+程序中对应的正确表达式是 A3/5*x*y/a/b B. 3*x*y/5/a/b C. 3*x*y/5*a*b D. 3/a/b/5*x*y答案为:D。注意整数和整数相除得到的结果仍为整数。要保证表达式的值为实数,必须使第一个除法运算其中一个操作数为实数。2.设有四个常数:4e0.5,87,0x5a,“”,其中符合C+语法规则的常量是 A B. C. D.答案为:C。其中式指数部分必须是整数,转义字符序列中八进制值只允许出现数字0-7。所以只有和是合法的。3.设有说明 “int x=5,y=7,z=8;”,执行表达式 “z+=x+

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 建筑资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号