C++primer 第五版课后习题 第六章(1) 1-20
来源:互联网 发布:大麦网数据库600w 编辑:程序博客网 时间:2024/06/06 08:41
练习6.1
实参和形参的区别是什么?
形参出现在函数定义中,只能在函数体内使用
练习6.2
(a)返回类型不匹配。应该把int换成string
(b)没有返回类型。应该加上一个返回类型(如void)
(c)任意两个形参不能同名。把第二个v1换成v2
(d)函数体必须加上{ }
练习6.3 && 练习6.4
#include<iostream>using namespace std;int fact(int a) { int ret = 1; while (a > 1) ret *= a--; return ret;}int main() { int val; cin >> val; cout << val<<"的阶乘是:\t"<<fact(val) << endl; return 0;}
练习 6.5
#include<iostream>using namespace std;int abs(int a) { return a > 0 ? a : (-a);}int main() { int val; cin >> val; cout << val<<"的绝对值是:\t"<<abs(val) << endl; return 0;}
练习 6.6
形参 ,局部变量以及局部静态变量之间的关系
局部变量包括 形参和静态局部变量。
形参属于自动对象,在函数开始时初始化,在函数终止时被销毁。
局部静态变量,在程序第一次使用时初始化,直到程序终止时才被销毁。
练习 6.7
#include<iostream>using namespace std;int fun() { static int flag = -1; flag++; return flag;}int main() { for (int i = 0; i < 10; i++) cout <<"第"<<i+1<<"次调用的返回值是:\t"<< fun() << endl; return 0; }
分离式编译没有仔细看,用上了再看吧。。。。
练习 6.10
#include<iostream>using namespace std;void change_zhi_zhen(int *a,int *b) { int temp; temp = *a; *a = *b; *b = temp;}void change_yin_yong(int &a, int &b){ int temp; temp = a; a = b; b = temp;}int main() { int val1 = 2, val2 = 3; cout << val1 << " " << val2 << endl; change_zhi_zhen(&val1, &val2);//用指针形参交换 cout <<"指针形参交换"<< val1 <<" "<< val2 << endl; change_yin_yong(val1, val2);//用引用类型交换 cout << "用引用类型交换" << val1 << " " << val2 << endl;}
练习 6.12
当然是引用更容易,因为引用还可以返回额外的信息(这个理由有点牵强)
练习 6.13
前者以传值的方式传入参数,不能修改实参;
后者以引用的方式传入参数,可以修改实参;
练习 6.17
#include<iostream>#include<cctype>#include<string>using namespace std;bool find_big(const string &s) { for (auto c : s) if (isupper(c)) return true; return false;}string change_to_small(string &s) { /*这种做法不对,改变的只是c的值,与s无关,c只是一个临时变量 for (auto c : s) { c = tolower(c); cout << c << endl; } */ for (decltype(s.size()) i = 0; i < s.size(); i++) s[i] = tolower(s[i]); return s;}int main() { cout << find_big("Bhdkalks") << endl; string s = "Bhdkalks"; cout << change_to_small(s)<< endl; return 0;}
阅读全文
0 0
- C++primer 第五版课后习题 第六章(1) 1-20
- C++Primer 中文版 第五版 第六章课后习题答案
- 《C++ Primer》第五版课后习题解答_第六章(1)(01-07)
- C++primer 第五版课后习题 第六章(2)21-38
- C++primer 第五版课后习题 第六章(3)39
- c++primer第五版课后练习答案(第六章)
- C++Primer 中文版 第五版 第五章课后习题答案
- c++primer 第五版课后习题 第五章
- C++Primer第五版 第六章习题答案(1~10)
- 《C++ Primer》第五版课后习题解答_第四章(1)(01-20)
- 《C++ Primer》第五版课后习题解答_第五章(1)(01-08)
- c++primer第六章课后习题
- 《C++ Primer》第五版课后习题解答_第六章(2)(08-15)
- 《C++ Primer》第五版课后习题解答_第六章(3)(16-26)
- 《C++ Primer》第五版课后习题解答_第六章(4)(27-35)
- C Primer Plus(第五版) 第十四章 课后习题 4
- C Primer Plus(第五版) 第十四章 课后习题 6
- C++Primer 中文版 第五版 第二章课后习题答案
- C++ 文件读写详解(ofstream,ifstream,fstream)
- tttt
- Git简单入门教程(二)
- 计算二叉树的叶子节点个数forC
- JSON.parse() 和 JSON.stringify() 区别
- C++primer 第五版课后习题 第六章(1) 1-20
- Linux 解锁锁定的系统用户,查看用户密码策略
- 使用Spring Session实现Spring Boot水平扩展
- pip离线安装
- font-awesome代替icon小图标
- Vue源码学习笔记
- HTML5(3D动画)
- Windows下Anaconda同时安装python2和python3
- git+github的使用-最简单的入门教程(三)