zl程序教程

您现在的位置是:首页 >  后端

当前栏目

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

C++ 答案 Plus 习题 第二章 primer
2023-06-13 09:17:21 时间

复习题

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

解决方法: 1.添加#include<iostream>,在main()函数外使用using namespace std; 2.添加include<iostream>,使用using std::cout<<"Please enter your PIN:"; 3.添加include<iostream>,使用std::cout << "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;
}