77范文网 - 专业文章范例文档资料分享平台

C++第一至第八章课后习题答案(2)

来源:网络收集 时间:2019-06-05 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

所谓数组是具有一定顺序关系的若干个变量的集合,组成数组的各个变量称为数组的元素。数组中各元素的数据类型要求相同。数组可以是一维的,也可以是多维的。

char型的数组由包含ASCII字符集中的字符(英文字母、数字、标点符号以及某些特殊符号)的整数类型组成的数组。

short型的数组是由short数据类型组成的数组。类型short (或short int)是一种短整数类型,它占用字节的长度大于类型char, 小于或等于类型int。 8、 什么叫表达式?什么叫表达式语句?

答:所谓表达式是指由运算符、运算量和标点符号组成的有效序列,其目的是用来说明一个计算过程。

表达式可以独立形成语句,该语句称为表达式语句 9、 什么叫左值?什么叫右值?

答:所谓左值是指能够出现在赋值表达式左边的表达式。

所谓右值是指只能出现在赋值表达式的右边的数值。 10、 判断下列表达式的写法是否正确,如有错误,请改正:

a) V=43*PI*r3; // 原来公式为V=

43*?*r3

答:错误,表达式要写成 #define PI 3.1415926 V=4.0/3*PI*r*r*r

b) s=PI*r*r; // 原来公式为 s = 答:正确

c) r=1/(1/r1+r2) //原来公式为r?(11?1?r2

1

)2rr答:错误,表达式要写成 r=1/(1/r1+1/r2)

11、 若说明 int x(5), y(12), z(0) ; 经过下列算术表达式的计算之后,请给出整个算术表达式的结果值和x,y,z的各自值:

a) ++x+(--y+z++) b) y/x+y++/++z c) ?a?+y%x d) +x+(-y)/(++z+2)

答: a) x=6,y=11,z=1

b) x=5,y=13,z=1 c) x=5,y=12,z=0 d) x=5,y=12,z=1

12、 若说明 double x(12), y(1.5), z(18.5) ; 给出下列逻辑表达式的计算结果: a) x*y > z && z<100 || x>10 答: 结果:1 b) y/x<0 || z>0 && x>20

答: 结果:0

c) z-x>10 || z<100 && x<50 && y <0 答:结果:0

d) x && y>0 && !(z-x-6.5) || z<10 答:结果:1 13、 若说明 unsigned char x=47, y=0146, z=0xa3 ;给出下列位运算表达式的运算结果: a) ~x |y 结果为:0xf6 b) x & ~y 结果为:0x09

c) x & y ^ ~z 结果为:0x7a d) x | y ^z 结果为:0xef e) x<<2 | y 结果为:0xfe f) y>>5 ^ ~z 结果为:0x5f g) z ^ z | x 结果为:0x2f h) x&~x | z 结果为:0xa3 14、 若说明 char x= -27, y=056;分别给出下列位运算表达式的运算结果: a) ~x & y 答:结果:0x0a b) x | ~y 答: 0xf5

c) x<<2 | ~y 答: 0xd5 d) y>>3 ^ ~x答: 0xe0 15、 若说明 long x(1), y(2), z(3) ;请分别给出下列特殊运算符的运算结果; a) xy ? x+=1 : y- =5, z+=x+y 答: 结果:-3 16、 综合运算题

(a) 若int x=1, y=2; 则表达式 (y = 0)? ++x/- -y : ++y 的运算结果是什么? 答:x=1;y=1

(b) 若int x=5, y(15), *p=&x ; 则经过 y += ++x - 5, *p=++x+- -y ; 的运算之后,cout<

(c) 若unsigned char x=77, y =077, z=0x 77 ; 则表达式 (x & y) ^ ~z 的值是什么? 答:结果:0x85

(d) 若int x(0), y=1, z(2), *pw=&z ; 则经过语句 *pw += y +1, x+= ++z, x += z –y ; 的运算, 则 x, y, z 的结果值各是什么?

答:x=9,y=1,z=5

(e) 若char x = ‘A’, y= 0x20; int z; y = z = x + y ; 则 cout<< x << \ \ y << \的输出结果是什么?

答:结果:A => a(97)

第三章

1、答:

#include \#include using namespace std; void main(void) {

double a[10]={-5,65,-32,98,-54,23,0,76,-307,-2};

double m=0; //m存放负数的和 cout<<\负数为:\ for(int i=0; i<10; i++)

if( a[i]<0 ) //如为负数,则输出且叠加 { }

cout<

cout<

2、

#include \#include #include using namespace std; void main(void) {

float x,y; //定义x,y cout<<\请输入x:\ cin>>x;

if( x>=0 )

y=(sin(x)+cos(x))/2;

else

y=(sin(x)-cos(x))/2;

cout<<\

return; }

3、

#include \#include using namespace std; void main(void) {

float p0=1.03e9,pn; //定义人口基数p0和现在人口数量pn float r=0.01; //增长率r int n; //增长年份n

for(n=1,pn=p0;pn<1.5e9;n++) //当人口多于15亿时停止循环 {

pn=pn*(1+r);

} n=n+1982;

cout<

return; }

4、

#include \#include using namespace std; void main(void) {

char str[256]; //存放输入的字符串 int nLength=0; //存放统计的长度结果 int n[4]={0,0,0,0}; //记录各种字符个数 cout<<\:\ //显示输入提示信息

cin.get(str,256); // 使用cin流对象的输入方法,等价cin>>str ; while (str[nLength] != '\\0')

nLength++;

for(int i=0;i

n[0]++;

else if('0'<=str[i]&&str[i]<='9')

n[1]++;

else if('A'<=str[i]&&str[i]<='z')

n[2]++;

else

n[3]++;

};

cout<<\空格字符个数为:\ <<\数字的个数为:\ <<\英文字母个数为:\

<<\其它字符个数为:\ return;

} 5、

#include \#include using namespace std; void main(void) { int i,j,k,m,n;

for(i=1;i<=9;i++) for(j=0;j<=9;j++) for(k=0;k<=9;k++)

{

//个十百位依次进行循环

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库C++第一至第八章课后习题答案(2)在线全文阅读。

C++第一至第八章课后习题答案(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/649081.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: