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

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

复习题

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

叫做函数。

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

#include<iostream>

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

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

using namespace std;

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

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

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

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 "<<cheeses<<"varieties of cheeses"<<endl;

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<iostream>,或未使用using namespace std
解决方法:

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

编程练习

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

#include<iostream>
using namespace std;
int main()
{
    cout<<"My name is iDoit,my address is BLABLA.."<<endl;
    return 0;
}

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

#include<iostream>
using namespace std;
 int main()
{
    int longNum=0;
    cout<<"Please enter distance(long): ";
    cin>>longNum;
    cout<<"You input "<<longNum<<" long"<<endl;
    cout<<longNum<<"long = "<<longNum*220<<" 码"<<endl;
    return 0;
}     

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

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

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

#include<iostream>
using namespace std;
void A_function()
{    cout<<"Three blind mice"<<endl;    }
void B_function()
{    cout<<"See how they run"<<endl;   }
int main()
{
    A_function();
    A_function();
    B_function();
    B_function();
    return 0;
}

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

Enter your age:29

#include<iostream>
using namespace std;
int main()
{
    int age;
    cout<<"Enter your  age:";
    cin>>age;
    cout<<"your age include "<<age*12<<" months."<<endl;
    return 0;
}

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

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

下面是转换公式:

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

#include<iostream>
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<<celsiusValue<<" degrees Celsius is  "<<fahrenheitValue<<" degress Fahrenheit"<<endl;
}

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<iostream>
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<<lightYears<<" light Years ="<<astroYears<<" astronomical units"<<endl;
    return 0;
}

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

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

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

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

艰默

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值