C++Primer中文版(第四版)题解整理(5)
时间:2025-04-20
时间:2025-04-20
C++Primer题解
cout<<i<<"";
}
cout<<endl;
return0;
}
习题1.12
对比前面两个习题中所写的循环。两种形式各有何优缺点?
【解答】
在for循环中,循环控制变量的初始化和修改都放在语句头部分,形式较简洁,且特别适用于循环次数已知的情况。在while循环中,循环控制变量的初始化一般放在while语句之前,循环控制变量的修改一般放在循环体中,形式上不如for语句简洁,但它比较适用于循环次数不易预知的情况(用某一条件控制循环)。两种形式各有优点,但它们在功能上是等价的,可以相互转换。习题1.13
编译器不同,理解其诊断内容的难易程度也不同。编写一些程序,包含本小节“再谈编译”部分讨论的那些常见错误。研究编译器产生的信息,这样你在编译更复杂的程序遇到这些信息时不会陌生。
【解答】
对于程序中出现的错误,编译器通常会给出简略的提示信息,包括错误出现的文件及代码行、错误代码、错误性质的描述。如果要获得关于该错误的详细信息,一般可以根据编译器给出的错误代码在其联机帮助文档中查找。
习题1.14
如果输入值相等,本节展示的程序将产生什么问题?
【解答】
sum的值即为输入值。因为输入的v1和v2值相等(假设为x),所以lower和upper相等,均为x。for循环中的循环变量val初始化为lower,从而val<=upper
为真,循环体执行一次,sum的值为val(即输入值x);然后val加1,val的值就大于upper,循环执行结束。
习题1.15
用两个相等的值作为输入编译并运行本节中的程序。将实际输出与你在习题
1.14中所做的预测相比较,解释实际结果和你预计的结果间的不相符之处。
【解答】
运行1.4.3节中给出的程序,输入两个相等的值(例如3,3),则程序输出为:Sumof3to3inclusiveis3
与习题1.14中给出的预测一致。
习题1.16
编写程序,输出用户输入的两个数中的较大者。
#include<iostream>