C++ Primer Plus习题及答案-第二章

习题选自:C++ Primer Plus(第六版)
内容仅供参考,如有错误,欢迎指正 !

复习题

1.c++程序模块叫什么?

叫做函数。

2.下面的预处理编译器指令是做什么用的?

#include

在最终编译之前,将iostream里的文件内容替换该编译指令。

3.下面语句是做什么用的?

using namespace std;

使程序使用std名称空间的定义。

4.什么语句可以用来打印“Hello,world”,然后打印新的一行?

cout<<"Hello,world\n";  //或者cout<<"Hello,world"<

5.什么语句可以用来创建名为cheeses的整数变量?

int cheeses;

6.什么语句可以用来将32赋值给变量cheeses?

cheeses=32;

7.什么语句可以用来将键盘输入的值读入变量cheeses中?

cin>>cheeses;

8.什么语句可以用来打印“We have X varieties of cheeses”,其中X为变量cheese的当前值。

cout<<"We have "<

9.下面的函数原型指出关于函数的哪些信息?

int froop(double t);
void rattle(int n);
int prune(void);
  • int froop(double)
    指出函数在调用时需要输入一个double类型的参数,函数返回一个int类型值。
  • void rattle(int n)
    指出函数在调用的时候需要输入一个int类型参数,且该函数无返回值。
  • int prune(void)
    指出函数不接收任何输入参数,函数返回一个int值。

10.定义函数时,什么情况下不必使用关键字return?

当函数的返回值类型为void的时,不用在函数中使用return。

11.假设你编写的main()函数包含如下代码:```cout<<"Please enter your PIN:"```,而编译器指出cout是一个未知标识符。导致这种问题的原因很可能是什么?指出3种修复这种问题的方法。

可能原因:
没有#include,或未使用using namespace std
解决方法:

  • 添加#include,在main()函数外使用using namespace std;
  • 添加include,使用using std::cout<<"Please enter your PIN:";
  • 添加include,使用std::cout<<"Please enter your PIN:";

编程练习

1.编写一个c++程序,它显示您的姓名和地址。

#include
using namespace std;
int main()
{
    cout<<"My name is iDoit,my address is BLABLA.."<

2.编写一个c++程序,它要求用户输入一个以long为单位的距离,然后将它转换为码(一long等于200码)。

#include
using namespace std;
 int main()
{
    int longNum=0;
    cout<<"Please enter distance(long): ";
    cin>>longNum;
    cout<<"You input "<

3.编写一个c++程序,他使用3个用户定义的函数(包括main(),并生成下面的输出:

Three blind mice
Three blind mice
See how they run
See how they run

其中一个函数要调用两次,该函数生成前两行;另外一个函数也调用两次,并生成其余的输出。

#include
using namespace std;
void A_function()
{    cout<<"Three blind mice"<

4.编写一个程序,让用户输入其年龄,然后显示该年龄包含多少个月,如下图所示:

Enter your age:29

#include
using namespace std;
int main()
{
    int age;
    cout<<"Enter your  age:";
    cin>>age;
    cout<<"your age include "<

5.编写一个程序,其中main()调用一个用户定义的的函数(以摄氏温度值为参数,并返回相应的华氏温度值)。该程序按下面的格式要求用户输入摄氏温度值,并显示结果:

Please enter a Celsius value:20
20 degrees Celsius is 69 degrees Fahrenheit.

下面是转换公式:

华氏温度=1.8*摄氏温度+32.0

#include
using namespace std;
double CtoF(double C)
{
    double F=1.8*C+32.0;
    return F;
}
int main()
{
    double celsiusValue,fahrenheitValue;
    cout<<"Please enter a Celsius value: ";
    cin>>celsiusValue;
    fahrenheitValue=CtoF(celsiusValue);
    cout<

6.编写一个程序,其main()调用一个用户的函数(以光年为参数,并返回对应天文单位的值)。该程序按下面的格式要求用户输入光年值,并显示结果:

Enter the number of light years: 4.2
4.2 light years =265608 astronomical units.

天文单位是从地球到太阳的平均距离(约150000000公里或93000000英里),光年是光一年走的距离(约10万亿公里或6万亿英里)(除太阳外,最近的恒星大约离地球4.2光年)。请使用double类型,转换公式为:1光年=63240天文单位。

#include
using namespace std;
double LYtoAU(double lightYears)
{
    double astroUnits=lightYears*63240;
    return astroUnits;
}
int main()
{
    double lightYears;
    cout<<"Enter the number of light years: ";
    cin>>  lightYears;
    double astroYears=LYtoAU(lightYears);
    cout<

7.编写一个程序,要求用户输入小时数和分钟数,在main()函数中,将这两个值传递给一个void函数,后者以下面这样的格式显示这两个值:

Enter the number of hours: 9
Enter the number of minutes: 28
Time: 9:28

#include
using namespace std;
void Time(int hours,int minutes)
{
    cout<<"Time: "<>hours;
    cout<<"Enter the number of minutes: ";
    cin>>minutes;
    Time(hours,minutes);
    return 0;
}

你可能感兴趣的:(C++,Primer,Plus习题及答案,c++,开发语言)