C++Primer中文版(第四版)题解整理(3)
时间:2025-04-20
时间:2025-04-20
C++Primer题解
}
编译器会给出如下错误信息:
errorC2143:syntaxerror:missing';'before'<'
errorC2501:'include':missingstorage-classortypespecifierswarningC4138:'*/'foundoutsideofcomment(第6行)
errorC2143:syntaxerror:missing';'before'{'(第8行)
errorC2447:'{':missingfunctionheader(old-styleformallist?)(第8行)
习题1.8
指出下列输出语句哪些(如果有)是合法的。
std::cout<<"/*";
std::cout<<"*/";
std::cout<</*"*/"*/;
预测结果,然后编译包含上述三条语句的程序,检查你的答案。纠正所遇到的错误。
【解答】
第一条和第二条语句合法。
第三条语句中<<操作符之后至第二个双引号之前的部分被注释掉了,导致<<操作符的右操作数不是一个完整的字符串,所以不合法。在分号之前加上一个双引号即可更正。
习题1.9
下列循环做什么?sum的最终值是多少?
intsum=0;
for(inti=-100;i<=100;++i)
sum+=i;
【解答】
该循环求-100~100之间所有整数的和(包括-100和100)。
sum的最终值是0。
习题1.10
用for循环编程,求从50~100的所有自然数的和。然后用while循环重写该程序。
【解答】
用for循环编写的程序如下:
#include<iostream>
#include"windows.h"
intmain()
{
intsum=0;