您的位置:首页 > 编程语言 > C语言/C++

《C++ Primer Plus(第六版)》(1)(第二章 开始学习C++ 笔记和答案)

2016-10-20 14:34 615 查看
写在某天:真是日了狗了,看了这么多才发现C++ Primer 和 C++ Primer Plus是不同的书,原来外国人也会山寨的。

大学的时候都是学Java的,毕业这么多年好像都没有系统学过C++,现在决定过一遍。

笔记的话只记录我觉得自己之前不是很清楚的部分。

题目则全部做一遍。

头文件:

    C++旧式风格:以.h结尾,例如iostream.h

    C旧式风格:以.h结尾,例如math.h

    C++新式风格:没有扩展名,例如iostream

    转换后的C:加上前缀c,没有扩展名,例如cmath

    小结一下:

            1、C++官方明确反对旧式的C++风格,C的没有明确反对。

            2、在某一个编译器内,可能会同时支持iostream.h,iostream,ciostream等文件,但是这是不同的文件来的,对于一般用户来说,这些是无关紧要的。但是函数内部实现不同,所以尽量用新的。

            3、.h文件在编译的时候,是复制到cpp文件里面的,所以.h文件是不能独立编译的,引入太多.h文件应该也会造成程序太大吧。

            4、新的头文件里面使用了std域名,怪不得以前上课的时候,书本的例子都是没有std的,原来是太旧了。

看完顺便做一下题目吧:

main.cpp

#include <iostream>
#include "Chapter2.h"
int main()
{
CChapter2Answer::answer();//第二章答案
return 0;
}
Chapter2.h

#ifndef _Cpp_Primer_Chapter2_H_
#define _Cpp_Primer_Chapter2_H_

class CChapter2Answer
{
public:
static void answer();
};
#endif
Chapter2.cpp

#include "Chapter2.h"
#include <iostream>
#include <string>
using namespace std;

int a_2(int a)
{
return a * 220;
}

void a_3_1()
{
std::cout << "Three blind mice" << std::endl;
}
void a_3_2()
{
std::cout << "See how they run" << std::endl;
}

void a_4()
{
//输入年龄,输出月份数
int age = 0;
std::cout << "Please enter your age:" << endl;
std::cin >> age;
std::cout << "has " << age * 12 << " mount." << endl;
}

void a_5( )
{
std::cout << "Please enter a Celsius value: " << std::endl;
double t = 0;
std::cin >> t;
std::cout<< t << " degrees Celsius is "<< t * 1.8 + 32 << " degrees Fahrenheit" << std::endl;
}

void a_6()
{
std::cout << "Please enter the number of light years: " << std::endl;
double t = 0;
std::cin >> t;
std::cout << t << " light years = " << t * 63240 << " astronomical units" << std::endl;
}

void a_7(int hours, int minutes)
{
std::cout << "Time: " << hours << ":" << minutes;
}
void CChapter2Answer::answer()
{
//第二章
//2.6 复习题
//	1.函数
//	2.在最终的编译之前,使用iostream文件的内容替换该编译指令。
//	3.使程序可以使用std命名空间中的定义
//	4.
cout << "Hello, World" << endl;
//or
cout << "Hello, World\n";
//	5.
int cheeses;
//	6.
cheeses = 32;
//	7.
std::cin >> cheeses;
//	8.
cout << "We have " << cheeses<< " varieties of cheeses" << endl;
//	9.
int froop(double t);//输入double,返回int
void rattle(int n);//输入int,无返回
int prune(void);//无输入,返回int
//	10.例如:
void rattle(int n);
//	函数声明返回void,而且在函数末尾已经无其他代码,则可不写return
//	11.问题的描述本身就有问题,错误原因未知,不是怎么修复,而是可能是什么原因。
//		(1)未引入iostream头文件
//		(2)已经引入头文件,但是没有写名使用std命名空间,using namespace std;
//		(3)已经引入头文件,使用的时候直接写std::cout<<"xxx"<<std::endl;

//2.7 编程练习
//	1.
std::string name = "FableGame";
std::string adress = "http://blog.csdn.net/u012175089";
std::cout << "name : " << name << std::endl;
std::cout << "adress : " << adress << std::endl;
//	2.日了狗了,我居然不知道这个long是什么单位
int ma = a_2(123);
//	3.
a_3_1();
a_3_2();
//	4.输入年龄,输出月份数
a_4();
//	5.
a_5();
//	6.
a_6();
//	7.
int hours = 0;
int minutes = 0;
std::cout << "Please enter the number of hours: ";
cin >> hours;
std::cout << "Please enter the number of minutes: ";
cin >> minutes;
a_7(hours, minutes);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息