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

来源:互联网 发布:出租房买洗衣机 知乎 编辑:程序博客网 时间:2024/05/22 03:22

写在某天:真是日了狗了,看了这么多才发现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;//orcout << "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,返回intvoid 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);}




1 0
原创粉丝点击