C++ Primer读书笔记第一章
谢谢大家的支持,我会陆续更新的,希望一起讨论,共同进步~有意见和建议麻烦柳岩
C++ Primer
第一章 开始
新手村
第一个C++程序
int main()
{
return 0;
}
这是一个最基础的函数,操作系统通过调用main来运行C++程序,上面的代码什么也不干,只是返回给操作系统一个值表示程序正常结束。 从这个简单的程序中,我们可以看到一个函数的定义一定是包含四个部分的:
- 返回类型(return type),这里是int,返回整型
- 函数名(function name), 这里是main
- 形参列表,由一对小括号包围,允许为空
-
函数体,由一对花括号包围,这里为空
注意:不要忘记return语句末尾的分号,在C++中,绝大多数语句均以分号为结束。
出入国
一个使用IO库的程序
不说废话,先看代码再来解释
#include
using namespace std;
int main()
{
cout << "请输入两个整数:" << endl;
int v1 = 0, v2 = 0;
cin >> v1 >> v2;
cout << "二者的和为:" << v1+v2 << endl;
return 0;
}
->#include 表示引入了输入输出的一个库文件,它包含两个基础类型istream和ostream,分别表示输入流和输出流。“流”可以理解为:随着时间的推移,字符是顺序生成或消耗的。 接下来是main函数部分,开始先输出请输入两个整数提醒用户输入,用户输入两个整数,如2, 8,然后敲回车,则程序输出“二者的和为10”。
控制流
四大天王
一:while语句
我们来写一个求1到10这十个数之和,而且假装自己不会等差数列的求和公式
#include
using namespace std;
int main()
{
int sum = 0, val = 1;
//只要val的值小于等于10,while循环就会持续执行
while(val <= 10)
{
sum += val;
++val;
}
cout << "1到10的和为:" << sum << endl;
return 0;
}
编译运行这个程序,会输出: 1到10的和为:55 这个while很简单,相信聪明的你理解起来肯定没问题,我就不啰嗦了
二:for语句
同样的求1到10的和:
#include
using namespace std;
int main()
{
int sum = 0;
for(int val=1; val <= 10; ++val)
{
sum += val; //等价于 sum = sum + val
}
cout << "1到10的和为:" << sum << endl;
return 0;
}
主要解释一下for语句部分==,for语句后面跟着一个小括号,里面由两个分号分为三部分:int val = 1是初始化语句,一个循环条件val<=10,以及一个表达式++val;后面的花括号是循环体
for(一; 二; 三)
{
循环体
}
执行过程如下图,图丑忽略
三:if语句
#include
using namespace std;
int main()
{
cout << "请输入一个整数:" << endl;
int v1 = 0;
cin >> v1;
if(v1>5)
{
cout << v1 << "大于5" <<endl;
}
else
{
cout << v1 << "它不大于5" <<endl;
}
return 0;
}
so easy.
四:读取数量不定的输入数据
之前我们求了1到10之和,但现实中更多的情况是我们不知道要对多少数求和,那程序应该怎么写呢?
#include
using namespace std;
int main()
{
int sum = 0, val = 0;
while(cin >> val)
{
sum += val;
}
cout << "输入数的和为:" << sum << endl;
return 0;
}
这里的关键是while语句,它的意思是:读取数据直到遇见文件尾。
第一章 使用类,不管它怎么实现
在C++中,我们可以用类Class来定义自己的数据结构。一个类定义了一种类型外加与其相关的一组操作。C++最初的设计目的就是能定义使用像内置类型int那样自然的类类型class type。 下面是一个书店输出销售总额的程序:
#include
#include "bookStore.h"
using namespace std;
int main()
{
bookStore total;//保存下一条交易记录的变量
//读入第一条交易记录,确保有数据
if(cin >> tptal)
{
boosStore trans; //保存当前交易书和的变量
//读入并处理剩余交易记录
while(cin >> trans)
{
//如果是想同的书
if(total.isbn() == trans.isbn())
{
total += trans;//更新总额
}
else
{
//到此,上一本处理完了,输出
cout << total << endl;
//total现在表示新的第一本书的销售额
total = trans;
}
}
cout << total << endl;
}
else
{
cout << "没有输入啊大哥" << endl;
}
return 0;
}
初学者一下子看不懂很正常,跟着我的解释再理解一遍就好,我们在程序开始包含了一个头文件bookStore,可以理解为,我们包含了它就可以在程序中使用bookStore这个数据类型,像内置类型一样使用,记住,现在bookStore就是数据类型。
#C++工程师#