基本数据类型与数值表达式

上传人:汽*** 文档编号:513781683 上传时间:2022-11-05 格式:DOCX 页数:13 大小:27.80KB
返回 下载 相关 举报
基本数据类型与数值表达式_第1页
第1页 / 共13页
基本数据类型与数值表达式_第2页
第2页 / 共13页
基本数据类型与数值表达式_第3页
第3页 / 共13页
基本数据类型与数值表达式_第4页
第4页 / 共13页
基本数据类型与数值表达式_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《基本数据类型与数值表达式》由会员分享,可在线阅读,更多相关《基本数据类型与数值表达式(13页珍藏版)》请在金锄头文库上搜索。

1、基本数据类型与数值表达式一、知识要点计算机的基本功能是进行数据处理。在C+语言中,数据处理的基本对象是常量和变量。 运算是对各种形式的数据进行处理。数据在内存中存放的情况由数据类型所决定。数据的操 作要通过运算符实现,而数据和运算符共同组成了表达式。本章是对C+语言中的数据类型、 运算符、表达式等内容的全面介绍,要正确理解其特点,并灵活运用,主要掌握以下的知识 要点:1掌握常量和变量的概念。2掌握整型数据和实型数据、字符型数据和字符串型数据的概念和区别。3掌握各种类型的变量说明及其初始化。4掌握算术运算、关系运算、逻辑运算、赋值运算、逗号运算、条件运算等概念。5掌握运算符的优先级、左结合和右结

2、合规则。6掌握表达式求值时的自动转换和强制类型转换。7掌握自加、自减运算的规则。8掌握常用数学函数的功能。二、例题分析与解答1 选择题例题 1:运算符+、 =、 *、 =中,优先级最高的运算符是( )。A+ B= C* D=答案:C分析:根据C+语言对运算符优先级的规则,以上运算符优先级从低到高的次序为=、=、+、 *。例题 2:下列说法正确的是( )。A. cout” n”是一个语句,它能在屏幕上显示” n”B. 68代表的是字符D。C1E+5 的写法正确,它表示余割整型常量。D. 0x10 相当于 020。答案:D分析:分号是语句的已部分,且n是转义字符;68代表了八进制的6、8,而八进制

3、中没有数字& 1E+5是实型常量;十六进制的10相当于十进制的16,相当于八进制的20。例题 3:下列不合法的变量名为( )。A. int B. int1 C. name_1 D. name0答案: A分析:根据变量名命名要求,变量名只能由大小写字母、数字、下划线组成,且系统关键字 不能作为变量名。例题 4:下面正确的为( )。A. 4.1/2 B. 3.2%3C. 3/2=1 结果为 1 D. 7/2 结果为3.5答案: A分析: %运算符要求式整型;关系运算值为0;两个整数相除,商为为相除后的整数部分。例题 5:已知 a=4, b=6, c=8, d=9,则“(a+, ba+&cd)? +

4、d: ab” 值为()。A. 9 B. 6 C. 8 D. 0答案: D分析:此题是考察“+”运算符、逗号运算符、条件运算符及它们运算优先级的综合题,根 据这些运算符的运算规则,得出表达式的运算结果。例题6:已知i=5, j=0,下列各式中运算结果为j=6的表达式是()。A. j=i+(+j) B. j=j+i+ C. j=+i+j D. j=j+i答案: C 分析:自增+、自减运算符在变量的前面或后面,其运算结果是不同的。若+或在变量前,则先将变量的值加1(或减 1)后,再将变量的值参与运算;反之则先将变量的值参加运算, 再将变量的值加1(或减 1)。自增+、自减运算符优先级高于算术运算符。

5、例题 7:已知 x=43, ch= A, y=0;则表达式(x=y & chB & !y)的值是()。A. 0 B.语法错C. 1 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; floatx=5.5, y=3.5;则表达式(

6、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为字符型变量,则表达式

7、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;cou t ”请输入半径:”;cinr;cou t”请输入高:”;cinh;area=3.14*r*r;volume=area*h;cout” 底面积是:”

8、areaendl;cout”体积是:”volumeendl;三、习题分析与解答1. C+语言中有哪些数据类型?分别说明它们的类型关键字、取值范围、类型长度。答:C+语言中的数据类型有:整型(短整型,整型,长整型);字符型;逻辑型;枚举型; 实型(单精度,双精度,长双精度);引用型(指针,引用);复合型(结构,联合);空 类型。2. 字符常量与字符串常量的区别是什么?答:字符常量与字符串常量的主要区别在于:(1)定界符不同。字符常量使用单引号,而 字符串常量使用双引号。(2)长度不同。字符常量的长度固定为1,而字符串常量的长度, 可以是0也可以是某个整数。(3)存储要求不同。字符常量存储的是字符

9、的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,32n”字符串有:“4”,“x2”,“1949.10”,“syl.cpp” ,保留字: cin , int, endl, if运算符: +标点: ?非法

10、数据:“ 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)下列字符列中,可以作为“字符串常量”的是(

11、 )。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)设有代码“inta = 5;”,则执行了语句“a + = a- =

12、 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.sqr

13、t (fabs(pow(x, y) + exp(y) D.sqrt (fabs(pow(y, x) + exp(y)答案:D5. x为int类型,y为double类型,指出下列各表达式值的类型。(I) 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(II) true bool (12) (char) (x+10) char(13)

14、 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.000

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

当前位置:首页 > 学术论文 > 其它学术论文

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