1.编写一个简单的C++程序
组成:
C++程序由多个函数组成,其中一个必须为mian函数。那么我们就有必要了解函数的组成。函数的组成:函数返回类型、函数名、形参列表、函数体。我感觉自己在平时经常忘记写形参和返回值,其实还是没有搞懂函数的定义。
其中,mian函数的返回值用来指示状态,0正常 -1异常。
编译运行程序:
程序由编译器来编译。如果编译器和其它程序的创建和分析工具包装在一起,就叫做IDE(集成开发环境)。编译器要求我们将程序放在文件中,这种程序文件就是源文件。一般来说,我们用IDE或命令行窗口来编译程序。
IDE
命令行:
编译器会将源文件生成可执行文件。 CC是编译器的名字。
$ CC prog.cc
然后运行这个可执行文件。通常给出可执行文件名即可,但也有的需要给出文件所在位置。就是在前面加上 ./ 表示文件就在当前目录中。
2.初识输入输出
需要引入头文件
#include <iostream>
头文件包括istream和ostream。也就是输入流和输出流。(这种流的意思,可以把它比作水流一样,强调一种顺序性)。
这个头文件主要包括4种对象:cin,cout,cerr(运行时的错误信息),clog(运行时的正常信息)
int x,y;
std::cin >> x >> y;
std::cout << "hello,world!" << endl;
这里出现了 << 和 >>两个符号,它们都是一种运算符(就和加减乘除一样),它们的返回结果是它们左侧的内容。其中<<是输出运算符,返回值是std::cout。>>是输入运算符,返回值是std::cin。这就是为什么我们可以看到上述的代码。因为左侧只要输出了结果,就会返回左侧内容,就相当于每一个输入输出的左侧最终都是std::cin 或 std::out,和拆开来写完全等价。所以这样也成功地让其可以输入和输出多种类型的数据(相当于每一次都用输出输入不同类型的cin和cout来进行处理,看起来好像可以同时处理一样)。
// 我有一个小窍门:我们常常用右手取东西,所以输入就是左手把东西交给右手>>,输出就是右手把东西递给左手<<
::运算符是作用域运算符,是为了避免命名冲突被设计的。标准库的所有名字都在命名空间std里面。
endl是一种操作符,结束当前行,并将缓存区的内容刷到设备中。
我们其实可以利用输入输出的返回值作为判断条件,比如你定义了一个整型变量x;要获取连续输入的数字,直到你检测到了文件结束符或者不符合你接受的数据的数据类型时,cin >> x 就会返回为false了。
函数的()其实是调用运算符。
3.注释简介
// 注释一行或半行
/*
*
* 注释多行,为了方便识别,在每一个中间行加*
*
*/
// /**/ 不能嵌套使用,只要匹配了一对注释,后续内容就不会被编译器认作注释。
4.控制流
就是在强调命令执行的顺序。
5.类简介
类就是我们自己定义的数据类型(就和int,float一样)
当我们写一个类的对象时,就类似(int x,y;)
类和结构体的区别:
类默认的可见度是private,结构体默认是public。结构体不支持继承,多态等面向对象的设计。剩下的在使用的时候其实都一样。
5.书店程序
这里我觉得书上的例子举得特别好——在将输入输出的时候,它给了一个不断连续获取数字求和的例子,现在又给了不断输入书籍的编号,去求书籍总数的例子。其实就是,不要把类和对象看得太复杂。就只是用户自定义的类型,和这种类型的变量罢了。