基础补完系列 - C++ Primer Plus 第二章

来源:互联网 发布:mysql入门经典 pdf 编辑:程序博客网 时间:2024/06/05 10:43

写在最前面的话,这本书我已经不是第一次看了,

有时候真心觉得一句话可以说清楚的东西,书里噼里啪啦说了一堆,结果还是一个意思...
这次读书笔记,在能表达清楚的情况下,我尽量减少篇幅描述。

第二章 开始学习C++

2.1 进入c++
    c++ 大小写敏感、拼写敏感、扩展名一般为cpp,特殊情况(c、cc、cxx、c++、Cpp)

程序清单:2.1 myfirst.cpp

#include <iostream>int main(){using namespace std;cout<< "Come up and c++ me some time.";cout<< endl;cout << "You won't regret it!" <<endl;return 0;}

老编译器可能要用 #include<iostream.h> ,而且如果用了iostream.h 就需要用 using namespace std;

更老的编译器用 stream.h
Win环境可能输出会一闪而过,在return这行之前加个 cin.get();  就好了
这个程序的输出:
root@nevii:/data/test/pps# ./a.out 
Come up and c++ me some time.
You won't regret it!

一般情况下C的输入输出使用printf()、scanf()或其他所有标准C输入和输出函数
2.1 的代码段里包含:
注释              //
预编译指令   #include
函数头          int main()
编译指令       using namespace std;
函数体          用{ }扩起的部分
显示消息的语句           cout
结束main()的返回语句  return

2.1.1 main()函数
说实在的,太基础了,函数名(函数头)、函数体、返回值,没啥可以记录的

2.1.2 注释
单行注释     // 注释的内容
多行注释     /* 注释的内容 */

2.1.3 预处理

通常而言的预处理,就是在源码被编译之前添加或替换文本。

在上面这段代码里,就是把iostream文件中的内容,替换#include<iostream>这一行,

原始文件是不会被更改的,预编译的时候会组合成一个新的复合文件,以供编译的下一个阶段使用。


2.1.4 头文件

旧的C/C++风格使用.h作为后缀。

新的C风格是将小写的c放在头文件明之前,比如 cmath。

新的C++风格直接省略.h,比如 iostream。


2.1.5 名称空间

作用为防止多个文件中的同名函数,例如:

A公司有个wanda函数,B公司也有个wanda函数

用了名称空间,程序可以区分了:

A::wanda()

B::wanda()

用上面的代码举例子,cout 其实是 std::cout 只不过用了using 编译指令,所以在后面使用的时候可以省略 std,

例: using namespace std;

如果只是想将所需的名称可用,使用下面的方法,例:

using std::cout;

using std::endl;


2.1.6 使用cout进行C++输出

"cout<<" 加上变量名或者字符串或者endl就能输出变量的值或者字符串内容或者换行了

"\n" 字符串中的转译字符\n也能换行


2.1.7 c++源码的格式化

这个就是编码风格问题,我觉得,编程的艺术很大程度就体现在这里,可以用几乎和C没有区别的风格....


2.2 c++语句

c++程序是一组函数,每一个函数又是一组语句。

#include <iostream>int main(){using namespace std;int carrots;carrots = 25;cout<< "I have ";cout<<  carrots;cout<< " carrots.";cout<< endl;carrots -=1;cout<< "Crunch, crunch. Now I have " << carrots <<" carrots." <<endl;return 0;}


2.2.1 声明语句和变量

c++使用声明语句来指出存储类型并提供位置标签,例:

int carrots;

声明之后,程序将使用 carrots来标识存储在该内存单元中的值,carrots被称为变量,因为变量的值可以修改。

程序中的声明语句叫做声明定义(defining declaration),简称定义(definition),这意味着它将导致编译器为变量分配内存空间。

在较为复杂的情况下,还可能有引用声明(reference declaration)。这些声明命令计算机使用其他地方定义的变量。

通常,声明不一定是定义,但是在上面的那个代码里声明就是定义。


2.2.2 赋值语句

符号 "=" 就是赋值操作符,例:

carrots = 25;就是将整数25赋值给了carrots表示的内存单元,

可以连续使用赋值操作,例:

int a,b,c;

a = b = c = 25;


2.2.3 cout 的新花样

简单来说,cout不需要想printf那样根据输出变量的类型来修改参数,但是我持保留意见 - -!我觉得各有利弊。


2.3 其他 C++ 语句

2.3.1 使用cin

确切的说,这章就是简单的说明了cin是一个对象,cin用>>操作符从输入流中抽取字符,然后赋值给变量,例:

cin>>carrots;


2.3.2 使用cout进行拼接

这小结更没啥说的了,就是可以在<<符号前换行,例如:

cout<<"ABC"

       <<"ABC";


2.3.3 类简介

类是用户定义的一种数据类型

类之于对象,就像类型之于变量

类里面可以有变量和方法(函数)


2.4 函数

这章太基础,跳过...


2.5 总结
































0 0
原创粉丝点击