




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基本数据类型与数值表达式一、知识要点计算机的基本功能是进行数据处理。在C+语言中,数据处理的基本对象是常量和变量。运算是对各种形式的数据进行处理。数据在内存中存放的情况由数据类型所决定。数据的操作要通过运算符实现,而数据和运算符共同组成了表达式。本章是对C+语言中的数据类型、运算符、表达式等内容的全面介绍,要正确理解其特点,并灵活运用,主要掌握以下的知识要点:1掌握常量和变量的概念。2掌握整型数据和实型数据、字符型数据和字符串型数据的概念和区别。3掌握各种类型的变量说明及其初始化。4掌握算术运算、关系运算、逻辑运算、赋值运算、逗号运算、条件运算等概念。5掌握运算符的优先级、左结合和右结合规则。6掌握表达式求值时的自动转换和强制类型转换。7掌握自加、自减运算的规则。8掌握常用数学函数的功能。二、例题分析与解答1 选择题例题1:运算符+、=、*、=中,优先级最高的运算符是( )。A+ B= C* D=答案:C分析:根据C+语言对运算符优先级的规则,以上运算符优先级从低到高的次序为=、=、+、*。例题2:下列说法正确的是( )。Acouta+&cd)?+d:a=y&chB&!y)的值是( )。A0 B语法错 C1 D“假”分析:根据C+语言中运算符优先级的高低,“!”运算符最高,关系运算符高于逻辑运算符。则上面的表达式转换为:1&1&1,结果为1。答案:C。2 填空题例题8:如果s是int型变量,且s=6,则下面s%2+(s+1)%2表达式的值为_。答案:1分析:%运算符是求余运算,得到的结果是相除后的余数。表达式转换为6%2+(6+1)%2=0+7%2=1。例题9:如果定义int a=2,b=3;float x=5.5,y=3.5;则表达式(float)(a+b)/2+(int)x%(int)y的值为_。答案:4.5分析:不同类型的数据混合运算时,可以使用强制类型转换符,强制将一种数据类型转换为另一种数据类型后再进行运算。对表达式,先求表达式的值,再转换值的类型,本题的运算结果为4.5。例题10:设所有变量均为整型,则表达式(e=2,f=5,e+,f+,e+f)的值为_。答案:9分析:逗号运算符是是将两个或多个表达式组合成一个表达式的运算符。求解时从左至右依次计算每个表达式的值,整个表达式的值就是最右边的表达式的值。本题的答案为9。例题11:已知字母a的ASCII码为十进制数97,且设ch为字符型变量,则表达式ch=a+8-4的值为_。答案:e分析:C+语言中,对字符数据进行算术运算,实际上就是对字符的ASCII码进行运算。以字符形式输出时,再将ASCII码转换为相应的字符输出。本题表达式为ch=97+8-4=101,101相应的ASCII为字符e。3 编程题例题12:编写一个程序,从键盘输入半径和高,输出圆柱体的底面积和体积。解:程序如下:#includevoid main()double r, h, area, volume;coutr;couth;area=3.14*r*r;volume=area*h;cout”底面积是: ”areaendl;cout”体积是: ”volumeendl;三、习题分析与解答1. C+语言中有哪些数据类型?分别说明它们的类型关键字、取值范围、类型长度。答:C+语言中的数据类型有:整型(短整型,整型,长整型);字符型;逻辑型;枚举型;实型(单精度,双精度,长双精度);引用型(指针,引用);复合型(结构,联合);空类型。2. 字符常量与字符串常量的区别是什么?答:字符常量与字符串常量的主要区别在于:(1)定界符不同。字符常量使用单引号,而字符串常量使用双引号。(2)长度不同。字符常量的长度固定为1,而字符串常量的长度,可以是0,也可以是某个整数。(3)存储要求不同。字符常量存储的是字符的ASCII码值,而字符串常量除了要存储有效的字符外,还要存储一个结束标志0。3.说明下面的每个数据各属于哪一种(数值常量、字符常量、字符串、标识符、保留字、运算符、标点、非法数据)?25 18 -3.67 12.8 “4” 4x1 “x2” “1949.10” cin K_name3ab “float x ,y “ ; if +“n” ? ; “sy1.cpp” 32 答:数值常量有:25,18,-3.67, 12.8字符常量有:4,32字符串有:“4”,“x2”, “1949.10”, “sy1.cpp”, “n”保留字:cin ,int,endl,if运算符:+标点:?非法数据:“float x ,y “ ; , 3ab变量:x1,K_name4.选择题(1)下列数据类型不是C+语言基本数据类型的是( )。 A.字符型 B.整型 C.实型 D.数组答案:D(2)在C+语言中,080是( )。A.八进制数 B.十进制数 C.十六进制数 D.非法数答案:B(3)下列字符列中,可作为C+语言程序自定义标识符是( )。A.switch B.file C.break D.do 答案:B(4) 运算符 +、=、=、% 中,优先级最低的运算符是( )。A. + B.= C.= D.% 答案:C(5) 下列字符列中,可以作为“字符串常量”的是( )。A. ABC B.xyz C.uvw D. a 答案:B(6) 设变量m,n,a,b,c,d均为0,执行(m = a=b)|(n=c=d)后,m,n的值是( )。A.0,0 B. 0,1 C. 1,0 D. 1,1答案:C(7) 字符串”vmx43np102q”的长度是( )。A. 8 B. 10 C. 17 D. 16 答案:A(8) 在C+语言中,自定义的标识符( )。A.能使用关键字并且不区分大小写 B.不能使用关键字并且不区分大小写C.能使用关键字并且区分大小写 D.不能使用关键字并且区分大小写答案:D(9)设有代码“int a = 5;”,则执行了语句“a + = a - = a*a;”后,变量a的值是( )。A.3 B. 0 C. -40 D. 12答案:C(10)设a为5,执行下列代码后,b的值不为2的是( )。A. b = a/2 B. b = 6-(-a) C. b = a%2 D. b = a 3 ? 3: 2答案:C(11)下面的( )均是C语言的整型常量。A.0xffff 和 611 B.01b 和 0xa1 C.986.012 和 0667 D.2e4 和 0x答案:A(12)数学公式写成C表达式,下面的( )是正确的。A.sqrt (abs(pow(x, y) + exp(y) B.sqrt (abs(pow(y, x) + exp(y) C.sqrt (fabs(pow(x, y) + exp(y) D.sqrt (fabs(pow(y, x) + exp(y)答案:D5.x为int类型,y为double类型,指出下列各表达式值的类型。(1)1/3 int (2) 48L long(3) 5 % 3 int (4) x*3/y double (5) x+20 int (6) (int )y int(7) y != 10 bool (8) x10 bool(9) x10 ? x : sqrt (x) int或float (10) x & y bool(11) true bool (12) (char) (x+10) char(13) 1.0 /3 float (14) sizeof (float) int(15) x,y,x+y, double说明:(9)题,如果x10成立,表达式值的类型为int,如果x10不成立,表达式值的类型为float。(15)题,为逗号表达式,x+y的值即为整个表达式的值,因而值的类型为double。bool型在C+用int代替,true值为1,false值为0。6. 写出下列算术表达式的值:(1) x+a%3*(int)(x+y)%2/4 x=2.5,a=7,y=4.7 答:上述表达式=2.5+1*(int)7.2%2/4 = 2.5+1*7%2/4 = 2.5(2) (float)(a+b)/2+(int)x%(int)y a=2,b=3,x=3.5,y=2.5答:上述表达式=(float)5/2+3%2 = 2.5+1 = 3.57.设程序中有说明语句int a=20; double x=4.7; char r= a; 试求出下列每个表达式的值(假定各表达式互不影响)。答案 答案(1)a+ 20(2) +r 98(3) 1+a/3%4 3(4) 10*sizeof( int ) 40(5) char (a+20) (6)a= =r | a= =floor(x) 0(7) a/9.0 2.222222(8)x=pow(3,5) 273.000000(9) x=(a+,r+) 97.000000(10) ceil(x-0.5) 5.000000(11) a=abs(a)%8-10 -6(12)x=fabs(-27.2)+6 33.200000(13)floor(x+0.5) 5.000000(14) ceil(x-=0.5)-0.5) 4.000000(15)floor(x*1000+0.5)/1000 4.700000(16)floor(x+0.5) 5.000000(17)floor(x*1000)/1000 4.700000(18)a+rand()%40 某一个随机整数(19) a % =n % = 2),n=5 5 此题运行时要给n赋初值, n必须是整型奇数,n为整型偶数出错。(20) a + = a - = a * = a 0说明:函数ceil(x),返回大于等于x的最小整数;floor(x),返回小于等于x的最大整数;rand(),返回032767之间的整数。8.设程序中有说明语句int x=20; float y=4.7; char ch = k; 试求出下列每个表达式的值(假定各表达式互不影响)答案 答案(1) x=0 0(2) x!=y 1(3) x+ 21 0(4) a = A 0(5) ch != 0 1(6) x0 & y0 1(7) x0 & 1 1(8) y0 & 0 0(9) !(x|y)=!x&!y 0(10) x+ !=20 | y 1(11) ! ch=ch 0(12) !(x&y)=!x|!y 1说明:C+语言提供了三种逻辑运算符:!,&,|,其中!逻辑非的优先级最高,&逻辑与次之,|逻辑或最低。!逻辑非是右结合性,&逻辑与和|逻辑或是左结合性。四、习题1. 选择题(1)C+语言中的标识符只能右字母、数字和下划线三种字符组成,且第一个字符( )。A必须为字母 B必须为下划线 C必须为字母或下划线 D可以是字母、数字和下划线中任一中字符(2)下面正确的字符常量是( )。A“C” B CW D(3)如果说明语句:char c=72;则变量c( )。A包含1个字符 B包含2 个字符C包含3个字符 D说明不合法,c 的值不确定(4)表达式18/4*sqrt(4.0)/8值的数据类型为( )。Aint Bfloat Cdouble D不确定(5)关于逻辑运算符的说法正确的是( )。A它们都是双目运算符,优先级相同B语句“int a=0,c=1,b;b=a&c+;” 执行后,c 的值为2C语句“int a=0,c=1,b;b=a|c+;” 执行后,c 的值为2D语句“int a=1,c=1,b;b=a&c+;” 执行后,c 的值为2(6)设 int m=7,n=12;则表达式为3的是( )。An%=(m%=5) Bn%=(m-m%5)Cn%=m-m%5 D(n%=m)-(m%=5)(7)数学公式yx+lny,正确的C+语言的表达式是( )。Asqrt(fabs(pow(y,x)+log(y) Bsqrt(fabs(pow(x,y)+log(y)Csqrt(abs(pow(y,x)+log(y) Dsqrt(abs(pow(x,y)+log(y)(8)有如下程序段:int a=14,b=15,x;char c=A;x=(a&b)&(cb)&(n=cd)后n的值为( )。A1 B2 C3 D4(18)用C+的语言表达式表示 |x3+log10x|的正确是( )。Afabs(x*3+log(x) Babs(pow(x,3)+log(x)Cf abs(pow(x,3.0)+log(x) Dabs(pow(x,3.0)+log(x)(19)设int k=7,x=12;则能使值为3的表达式是_。Ax%=(k%=5) Bx%=(k-k%5)Cx%=k-k%5 D(x%=k)-(k%=5)(20)设有语句:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是( )。A2.500000 B2.750000 C3.500000 D0.000000(21)设有语句int x=3,y=4,z=5;则下面表达式中值为0的是( )。Ax&y Bx=y Cx|y+z&y-z D!(xy)& !z | | 1)(22)表达式18/4*sqrt(4.0)/8值的数据类型为( )。Aint Bfloat Cdouble D不确定(23)判断char型变量n是否为小写字母的正确表达式为( )。Aa= n =a)&(n=n)| |(z=a)&(n=z)2. 填空题(1) “A”与A的区别是:前者表示的是_,占用_个内存空间,后者表示的是_,占用_个内存空间。(2) 表达式8/4*(int)2.5/(int)(1.25*(3.7+2.3)值的数据类型为_。(3)已知c的ASCII码为十进制数99,设k为字符型变量,则表达式k=c+9-8的值为_。(4)设有说明语句 int a=6;,则运算表达式a+=a-=a*a后,a的值为_。(5)C+表达式表达:y=ax2+
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 一年级体育说课稿
- 2025授权打印合同模板
- 2025合同范本租赁合同(简化版)示例
- 车库车位租赁与广告位共享合同
- 民用机场场地空地租赁与航空服务合同
- 2025合同管理编码准则
- 2025电子产品生产销售合同协议书
- 2025特许经营加盟合同模板
- 入股店铺协议书范本合同
- 绵阳辅警考试题库及答案
- GB/T 16983-1997化学试剂二氯甲烷
- GB/T 15968-2008遥感影像平面图制作规范
- GB/T 12467.2-2009金属材料熔焊质量要求第2部分:完整质量要求
- 国家开放大学电大《工程经济与管理》考题及答案
- 智能楼宇管理员(四级)理论考试(重点)题库(含答案)
- 国开期末考试《城市管理学》机考试题及答案(第13套)
- 内蒙古乌海市基本气象特征
- 脉冲编码调制与解调实验报告
- 人教版五年级下册数学找次品表格式教案设计
- 职业安全健康现场检查记录表参考范本
- 《工程勘察设计收费管理规定》计价格【2002】10号(废止)
评论
0/150
提交评论