C++ Primer:Exercises Section 2.3

Exercise 2.11:

编写程序,要求用户输入两个数——底数(base)和指数(exponent),输出底数的指数次方的结果。

	int base,expond,result = 1;
	std::cin>>base>>expond;
	for (expond;expond > 0;expond--)
	{
		result *= base;
	}
	std::cout<<result;

Exercise 2.12:

区分左值和右值,并举例说明。

变量是左值,因此可以出现在赋值语句的左边。数字字面值是右值,因此不能被赋值。
int a = 0; //right

1 = 2; //wrong

Exercise 2.13:

举出一个需要左值的例子。

变量赋值
Exercise 2.14:

下面哪些(如果有)名字是非法的?更正每个非法的标识符名字。

      (a) int double = 3.14159;        (b) char _;
      (c) bool catch-22;               (d) char 1_or_2 ='1';
      (e) float Float = 3.14f;

(b)不能以_定义变量开头

(c)变量中不能包括-

Exercise 2.15:

下面两个定义是否不同?有何不同?

      int month = 9, day = 7;

      int month = 09, day = 07;
如果上述定义有错的话,那么应该怎样改正呢?

正确的

Exercise 2.16:

假设 calc 是一个返回 double 对象的函数。下面哪些是非法定义?改正所有的非法定义。

     (a) int car = 1024, auto = 2048;
     (b) int ival = ival;
     (c) std::cin >> int input_value;
     (d) double salary = wage = 9999.99;
     (e) double calc = calc();

b:不可对初始化变量赋值给一个未初始化的变量

c:使用变量时应该先定义

Exercise 2.17:

下列变量的初始值(如果有)是什么?

      std::string global_str;
      int global_int;
      int main()
      {
          int local_int;
          std::string local_str;
          // ...
          return 0;
      }

golbal_str:""

golbal_int:0

local_int:0

local_str:""

Exercise 2.18:

解释下列例子中 name 的意义

      extern std::string name;
      std::string name("exercise 3.5a");
      extern std::string name("exercise 3.5a");
name被声明

赋值name

错,必须先声明

Exercise 2.19:

下列程序中 j 的值是多少?

      int i = 42;
      int main()
      {
          int i = 100;
          int j = i;
          // ...
      }
100

Exercise 2.20:

下列程序段将会输出什么?

      int i = 100, sum = 0;
      for (int i = 0; i != 10; ++i)
           sum += i;
      std::cout << i << " " << sum << std::endl;
i:100,sum:45

Exercise 2.21:

下列程序合法吗?

      int sum = 0;
      for (int i = 0; i != 10; ++i)
          sum += i;
      std::cout << "Sum from 0 to " << i
                << " is " << sum << std::endl;
不合法,最后一个i未定义,sum = 45

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值