C++程序设计(第三版)谭浩强 第二章习题

答案为本人自己写的,不保证内容无误及答案正确。

1、C++为什么要规定对所有用到的变量要“先定义,后使用”。这样做有什么好处?

防止歧义。
确定数据类型。

2、字符常量与字符串常量有什么区别?

字符常量为单字符,字符串常量为单字符或多字符。
字符串常量最后以字符’\0’结束

3、写出以下程序运行的结果。请先阅读程序,分析应输出的结果,然后上机验证。

#include<iostream>
using namespace std;

int main()
{
	char c1 = 'a', c2 = 'b', c3 = 'c', c4 = '\101', c5 = '\116';
	cout << c1 << c2  << c3 << '\n';
	cout << "\t\b" << c4 << '\t' << c5 << '\n';
	return 0;
}

答案:

abc
       A        N

4、写出以下程序运行的结果。请先阅读程序,分析应输出的结果,然后上机验证。

#include<iostream>
using namespace std;

int main()
{
	char c1 = 'C', c2 = '+', c3 = '+';
	cout << "I say:\"" << c1 << c2 << c3 << '\"';
	cout << "\t\t" << "He says:\"C++ is very interesting!\"" << '\n';
	return 0;
}

答案:

I say:"C++"             He says:"C++ is very interesting!"

5、请写出下列表达式的值。

(1)3.5 * 3 + 2 * 7 - ‘a’
(2)26 / 3 + 34 % 3 + 2.5
(3)45 / 2 + (int)3.14159/2
(4)a = b = (c = a += 6) 设a的初值为3
(5)a = 3 * 5, a = b = 3 * 2
(6)(int)(a+6.5) % 2 + (a = b = 5) 设a的初值为3
(7)x + a % 3 * (int)(x + y) % 2 / 4 设x = 2.5,a = 7,y = 4.7
(8)(float)(a + b) / 2 + (int)x % (int)y 设a = 2, b = 3, x = 3.5 ,y = 2.5

答案:

(1)-72.5
(2)11.5
(3)23
(4)9
(5)6
(6)6
(7)2.5
(8)3.5

6、写出下面表达式运算后a的值,设原来a = 12.设a和n已定义为整型变量。

(1)a += a
(2)a -= 3
(3)a *= 2 + 3
(4)a /= a + a
(5)a %= (n %= 2),n的值等于5
(6)a += a -= a *= a

答案:

(1)24
(2)9
(3)60
(4)0
(5)0
(6)0

7、写出程序运行结果。请先阅读程序,分析应输出的结果,然后上机验证。

#include <iostream>
using namespace std;

int main()
{
	int i, j, m, n;
	i = 8;
	j = 10;
	m =  ++i+j++;
	n = (++i) + (++j) + m;
	cout << i << '\t' << j << '\t' << m << '\t' << n << endl;
	return 0;
}

答案:

10      12      19      41

8、要将“China”译成密码,密码规律时:用原来的字母后面第4个字母代替原来的字母。例如,字母A后面第4个字母时E,用E代替A。因此,“China”应译为“Glmre”。请编写一程序,用赋初值的方法使c1,c2,c3,c4,c5这5个变量的值分别为’C’,‘h’,‘i’,‘n’,‘a’,经过运算,使c1,c2,c3,c4,c5分别变为’G’,‘l’,‘m’,‘r’,‘r’,并输出 。

#include <iostream>
using namespace std;

int main()
{
	char c1 = 'C', c2 = 'h', c3 = 'i', c4 = 'n', c5 = 'a';
	c1 += 4, c2 += 4, c3 += 4, c4 += 4, c5 += 4;
	cout << c1 << c2 << c3 << c4 << c5 << endl;
	return 0;
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值