C++Primer第五版——习题答案详解(三)
习题答案目录:https://www.cnblogs.com/Mered1th/p/10485695.html
第4章 表达式
练习4.10
while(cin>>i&&i!=42)
练习4.11
a>b && b>c && c>d
练习4.12
<的优先级大于!=,所以先判断j<k,返回bool类型,再比较返回值和i是否相等
练习4.13
i=3 d=3
i=3 d=3.5
练习4.14
非法、if判断为真
练习4.15
非法,指针指向的是地址,不能赋值,把pi改为*pi
练习4.19
a.指针ptr不为空,且所指的值不为0
b.判断ival和ival的值是否为0,执行完if后ival才加1
c.判断vec[ival]是否小于等于vec[ival],同上
练习4.20
a.合法,对iter解引用,再自增
b.不合法,*iter为字符串,不能自增
c.不合法,没有empty()成员
d.合法,iter所指向的值是否为空
e.不合法,字符串不能自增
f.合法,先判断是否为空再自增
练习4.21
#include<iostream>
#include<string>
#include<vector>
using namespace std;
int main() {
vector<int> vec = { 1,2,3,4,5,6,7 };
for (auto i = 0;i < vec.size();i++) {
vec[i] = vec[i] % 2 ? vec[i] * 2 : vec[i];
}
for (auto i : vec) {
cout << i << " ";
}
system("pause");
return 0;
}
练习4.22
if语句更合适,层次分明。
#include<iostream>
#include<string>
#include<vector>
using namespace std;
int main() {
int grade;
while (cin >> grade) {
string finalgrade = (grade >= 90) ? "high pass" : (grade >= 75) ? "pass" : (grade >= 60) ? "low pass" : "fail";
cout << finalgrade << endl;
}
system("pause");
return 0;
}
#include<iostream>
#include<string>
#include<vector>
using namespace std;
int main() {
int grade;
while (cin >> grade) {
if (grade >= 90) cout << "high pass" << endl;
else if (grade >= 75) cout << "pass" << endl;
else if (grade >= 60)cout << "low pass" << endl;
else cout << "fail" << endl;
}
system("pause");
return 0;
}
练习4.23
改为
string p1 = s + (s[s.size() - 1] == 's') ? "" : "s";
练习4.29
前者为整个数组所占空间的大小除以每个元素所占空间大小40/4=10;
后者为指针所占大小除以每个元素所占空间大小4/4=1;
练习4.30
a.(sizeof x) +y
b.sizeof(p->mem[i])
c.(sizeof a) <b
d.sizeof(f())
练习4.31
后置版本需要将值先保存下来后再自增。
不断学习中,欢迎交流!
C++Primer第五版——习题答案详解(三)的更多相关文章
- C++Primer第五版——习题答案详解(一)
习题答案目录:https://www.cnblogs.com/Mered1th/p/10485695.html 第1章 开始&&第2章 变量和基本类型 练习1.3 #include&l ...
- C++Primer第五版——习题答案详解(二)
习题答案目录:https://www.cnblogs.com/Mered1th/p/10485695.html 第3章 字符串.向量和数组 练习3.2 一次读入一整行 #include<iost ...
- C++Primer第五版——习题答案详解(四)
习题答案目录:https://www.cnblogs.com/Mered1th/p/10485695.html 第5章 语句 练习5.9 #include<iostream> #inclu ...
- C++Primer第五版——习题答案详解(五)
习题答案目录:https://www.cnblogs.com/Mered1th/p/10485695.html 第6章 函数 练习6.4 #include<iostream> using ...
- C++Primer第五版——习题答案详解(六)
习题答案目录:https://www.cnblogs.com/Mered1th/p/10485695.html 第7章 类 练习7.1 class Sales_data { public: std:: ...
- C++Primer第五版——习题答案详解(七)
习题答案目录:https://www.cnblogs.com/Mered1th/p/10485695.html 第8章 IO库 练习8.1 istream &iofunc(istream &a ...
- C++Primer第五版——习题答案详解(八)
习题答案目录:https://www.cnblogs.com/Mered1th/p/10485695.html 第9章 顺序容器 练习9.1 a.list,需要按字典序插入,可能插入位置在中间 b.d ...
- C++Primer第五版——习题答案详解(九)
习题答案目录:https://www.cnblogs.com/Mered1th/p/10485695.html 第10章 泛型算法 练习10.1 #include<iostream> #i ...
- C++Primer第五版——习题答案详解(十)
习题答案目录:https://www.cnblogs.com/Mered1th/p/10485695.html 第11章 关联容器 练习11.3 #include<iostream> #i ...
随机推荐
- 2018普及组摆渡车洛谷5017(dp做法)
啦啦啦,这一篇是接上一篇的博客,上一篇是记忆化搜索,而这一篇是dp+前缀和小技巧 dp这种玄学做法我这种蒟蒻当然不是自己想出来的,参考https://blog.csdn.net/kkkksc03/ar ...
- Innodb中的行锁与表锁
在Innodb引擎中既支持行锁也支持表锁,那么什么时候会锁住整张表,什么时候或只锁住一行呢? InnoDB行锁是通过给索引上的索引项加锁来实现的,这一点MySQL与Oracle不同,后者是通过在数据块 ...
- bzoj3884 上帝的集合
根据一些书上的记载,上帝的一次失败的创世经历是这样的: 第一天, 上帝创造了一个世界的基本元素,称做“元”. 第二天, 上帝创造了一个新的元素,称作“α α ”.“α α 被定义为“元”构成的集合.容 ...
- Python3+pyshark捕获数据包并保存为文件
一.直接使用wireshark捕获数据包并保存为文件 可以使用wireshark通过图形界面的操作来实现捕获数据包并保存为文件. wireshark默认捕获的数据包保存为临时文件,如果最后退出时不选择 ...
- 读懂jquery
作者:豪情链接:https://www.zhihu.com/question/20521802/answer/25363285来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出 ...
- IDEA的十大快捷键
Intellij IDEA中有很多快捷键让人爱不释手,stackoverflow上也有一些有趣的讨论.每个人都有自己的最爱,想排出个理想的榜单还真是困难.以前也整理过Intellij的快捷键,这次就按 ...
- C#mvc下拉框绑定
控制器 ViewData["select1"] = new SelectList(b.bd(),"names","names"); 视图 @ ...
- 奇异值分解(SVD)与在降维中的应用
奇异值分解(Singular Value Decomposition,SVD)是在机器学习领域广泛应用的算法,它不光可以用于降维算法中的特征分解,还可以用于推荐系统,以及自然语言处理等领域.是很多机器 ...
- Python 进程池的异步方法
import time from multiprocessing import Process,Pool def f1(n): time.sleep(0.5) # print(n) return n* ...
- Canvas名侦探柯南-canvas练习
var canvas=document.getElementById("canvas"); var ctx=canvas.getContext("2d"); / ...