![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++ Primer 习题
Adam_fei
这个作者很懒,什么都没留下…
展开
-
《C++ Primer》第五版课后习题解答_第一章(1)(01-11)
系统环境: windows 10 1703编译环境:Visual studio 20171.1 int main(){ return 0;}在cmd命令行窗口中运行无结果。1.2 int main(){ return -1;}在cmd命令行窗口中运行无结果1.3#include int main(){ s原创 2017-08-16 16:21:41 · 574 阅读 · 0 评论 -
《C++ Primer》第五版课后习题解答_第三章(5)(37-45)
系统环境: windows 10 1703编译环境:Visual studio 20173.37程序想要将字符数组 ca 中的元素输出。因为 ca 的结尾没有空字符,所以会发生未定义行为(undefined behavior)。3.38 摘抄stack overflow 上的一个回答: Why can't I add pointers? P原创 2017-08-28 11:08:01 · 355 阅读 · 0 评论 -
《C++ Primer》第五版课后习题解答_第六章(1)(01-07)
6.1实参:定义在主调函数中,用来初始化形参的参数;形参:定义在被调函数中,由其主调函数的实参来初始化。6.2(a) 函数的返回类型和返回变量不相同,可以修改为: string f() { string s; //... return s; }(b) 没有定义返回类型,可以修改为: void f2(原创 2017-09-13 09:56:35 · 466 阅读 · 1 评论 -
《C++ Primer》第五版课后习题解答_第五章(3)(15-19)
5.15(a) 变量 ix 定义在 for 循环的语句头中,因此不能在 for 循环结束继续被 if 语句使用。可以修改为 int ix; for (ix = 0; ix != sz; ++ix) {/*...*/ } if (ix != sz)(b) for 循环中省略了 init-statement,但是应该保留分号。可以修改为 int ix; for (; ix !=原创 2017-09-06 22:39:03 · 468 阅读 · 1 评论 -
《C++ Primer》第五版课后习题解答_第六章(2)(08-15)
6.8#pragma once#include int adamfact(int val);int fact(int fac1);double Adamabs(double abs1);6.9Chapter6.h//见题目 6.8fact.cc#include #include "chapter6.h"int adamfact(int val){原创 2017-09-14 11:12:04 · 525 阅读 · 0 评论 -
《C++ Primer》第五版课后习题解答_第五章(4)(20-25)
5.20#include #include using std::cout;using std::endl;using std::cin;using std::string;int main(){ string str, temp; cout << "Please enter strings: " << endl; while (cin >> str) { if (原创 2017-09-07 22:35:23 · 545 阅读 · 0 评论 -
《C++ Primer》第五版课后习题解答_第四章(1)(01-20)
4.11054.2(a)*vec.begin();*(vec.begin());(b)*vec.begin() + 1;(*(vec.begin())) + 1;4.3我觉得值得讨论。对于不熟悉 C++ 的人来说,对于潜在的可能造成风险的地方有可能会增加变成成本。但若是精通 C++ 的人,可以很自如地规避潜在风险,那么这种权衡就是增加代码生成效率的很好的手段原创 2017-08-29 14:29:59 · 522 阅读 · 0 评论 -
《C++ Primer》第五版课后习题解答_第四章(2)(21-33)
系统环境: windows 10 1703编译环境:Visual studio 20174.21#include #include using std::cout;using std::endl;using std::vector;int main(){ vector ivec = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};原创 2017-08-30 14:36:12 · 426 阅读 · 0 评论 -
《C++ Primer》第五版课后习题解答_第四章(3)(34-38)
系统环境: windows 10 1703编译环境:Visual studio 20174.34(a) fval 转换成 bool(b) ival 先提升成 float,和 fval 相加后提升成 double 赋给 dval(c) cval 提升成 int,和 ival 相加后再提升为 double 和 dval 相加4.35(a) 发生了。‘a’ 先原创 2017-08-31 10:58:05 · 472 阅读 · 0 评论 -
《C++ Primer》第五版课后习题解答_第六章(3)(16-26)
6.16s 被定义成常量字符串引用会更好,否则只能和非常量字符串以及非字面量绑定,很有局限性。可以修改为:bool is_empty(const string& s) { return s.empty(); }6.17(1) 判断是否有大写字母ExamUpper.h#pragma once#include #include using std::strin原创 2017-09-15 10:51:59 · 536 阅读 · 0 评论 -
《C++ Primer》第五版课后习题解答_第六章(4)(27-35)
6.27sum_all.h#pragma once#include using std::cout;using std::endl;using std::initializer_list;int sum_all(initializer_list li);sum_all.cpp#include "sum_all.h"int sum_all(initializer_list原创 2017-09-20 09:48:00 · 873 阅读 · 0 评论 -
《C++ Primer》第五版课后习题解答_第三章(4)(30-36)
系统环境: windows 10 1703编译环境:Visual studio 20173.30数组 ia 中共有 10 个元素,其下标分别为从 0 到 9。当 ix == array_size 即 ix == 10 时,数组的下标超出范围,出现索引错误。3.31#include <iostream>#include <str...原创 2020-01-22 17:09:26 · 500 阅读 · 2 评论 -
《C++ Primer》第五版课后习题解答_第五章(2)(09-14)
5.9#include using std::cout;using std::endl;using std::cin;int main(){ unsigned int acnt = 0, ecnt = 0, icnt = 0, ocnt = 0, ucnt = 0; char ch; while (cin >> ch) { if (c原创 2017-09-05 11:04:38 · 436 阅读 · 0 评论 -
《C++ Primer》第五版课后习题解答_第二章(1)(01-08)
2.1int 整型 16位long 长整型 32位long long 长整型 64位short 短整型 16位无符号类型 只能表示大于等于零的数带符号类型 可以表示正数,负数或0float 单精度浮点数 6位有效数字double 双精度浮点数 10位有效数字2.2利率:float本金:float付款:double三者都是带小数的,所以需要原创 2017-08-21 15:37:26 · 430 阅读 · 0 评论 -
《C++ Primer》第五版课后习题解答_第二章(2)(09-20)
2.9(a) 错误,变量 input_value 应先声明再使用;(b) 错误,转换未执行,因为存在丢失信息的危险;(c) 如果 wage 未定义,则错误;如果 wage 已定义,则语句正确,且 salary 和 wage 都被赋值为9999.99;(d) 正确,转换执行,但是丢失了部分值(小数部分丢失)。2.10global_str 空字符串global_in原创 2017-08-22 14:05:27 · 494 阅读 · 0 评论 -
《C++ Primer》第五版课后习题解答_第三章(3)(21-29)
3.21#include #include #include using std::cout;using std::endl;using std::cin;using std::string;using std::vector;// 以 v2 和 v7 为例int main(){ vector v2(10); vector v7{ 10, "hi" };原创 2017-08-25 09:53:19 · 713 阅读 · 0 评论 -
《C++ Primer》第五版课后习题解答_第三章(2)(06-20)
3.6#include #include using std::cout;using std::endl;using std::cin;using std::string;int main(){ string s; cout << "Enter one string: " << endl; getline(cin, s); for (auto &原创 2017-08-24 14:50:24 · 378 阅读 · 0 评论 -
《C++ Primer》第五版课后习题解答_第三章(1)(01-05)
3.1//1.9#include using std::cout;using std::endl;int main(){ int sum = 0, i = 50; while (i <= 100) { sum += i; ++i; } cout << "The sum is: " << sum << endl;原创 2017-08-24 09:07:53 · 546 阅读 · 0 评论 -
《C++ Primer》第五版课后习题解答_第二章(5)(39-42)
系统环境: windows 10 1703编译环境:Visual studio 20172.392.40struct Sales_data { std::string bookID; unsigned sum_sold; float unit_price; float revenue;};2.41#include原创 2017-08-23 14:09:42 · 582 阅读 · 0 评论 -
《C++ Primer》第五版课后习题解答_第二章(4)(30-38)
2.30const int v2 = 0, v2 是顶层 const;int v1 = v2, v1 是非常量,v2 是顶层 const;int *p1 = &v1, &r1 = v1, p1 是非常量指针,r1 是非常量引用;const int *p2 = &v2, *const p3 = &i, &r2 = v2, *p2 是底层 const,p3 既是顶层 const 也是底原创 2017-08-23 12:05:27 · 176 阅读 · 0 评论 -
《C++ Primer》第五版课后习题解答_第二章(3)(21-29)
2.21(a) 非法,指针与对象数据类型应相同;(b) 非法,不能把 int 变量直接赋给指针,即使 int 变量的值恰好是零也不行;(c) 合法,ip 存放着 i 的地址。2.22if (p) 当 p 不是空指针时,执行 if 中的语句;if (*p) 当 p 指向地址所保存的值不是0时,执行 if 中的语句。2.23(试图从网上查资料,未果,大家原创 2017-08-22 14:08:07 · 486 阅读 · 0 评论 -
《C++ Primer》第五版课后习题解答_第一章(2)(12-25)
系统环境: windows 10 1703编译环境:Visual studio 20171.12此程序计算了从-100至100的所有证书之和,sum终值为0。1.13(1.9)#include int main(){ int sum = 0; for (int i = 50; i <= 100; ++i) {原创 2017-08-21 08:44:37 · 555 阅读 · 0 评论 -
《C++ Primer》第五版课后习题解答_第五章(1)(01-08)
5.1空语句是不执行任何操作的语句,空语句中只包含一个单独的分号;当语法上需要一条语句,但逻辑上不需要的时候,会用到空语句。5.2块就是复合语句,指用花括号括起来的(可能为空的)语句和声明的序列。在程序的某个地方,语法上需要一条语句,但是逻辑上需要多条语句时,应该用复合语句。5.3#include using std::cout;using std:原创 2017-08-31 11:50:51 · 525 阅读 · 0 评论