@[TOC]Cpp Primer学习记录—Chapter 1
1.1
一个函数的定义:return type, function name,parameter list, function body
#include <iostream>
int main() //括号里面的就是形参列表parameter list;int类型是一种内置类型(built-in type)
{
return 0; //block of statements
}
iostream库:包含了istream和ostream,分别表示输入流和输出流。
1.2
编写一个求两个数和的程序:
#include <iostream>
int main()
{
std::cout<<"Enter two numbers:"<<std::endl;
int v1=0,v2=0;
std::cin>>v1>>v2;
std::cout<<"The sum of "<<v1<<" and "<<v2<<" is "<<v1+v2<<"."<<std::endl;
return 0;
}
//前缀std::指出cout等是定义在名为std的命名空间(namespace)中的,标准库定义的所有名字都在命名空间std中。
//endl表示的是结束当行。
//不想用std::的话可以使用如下(using namespace std;)。
1.3 注释简介
注释分为单行注释、界定符对注释。
单行注释:以双斜线开始(//),以换行符结束
界定符对注释:使用了继承C语言的两个界定符(/和/),以/开始,/结束。
注意:界定符不可以嵌套
1.4 控制流
1.4.1 while语句
While语句反复执行一段代码,直至给定条件为假为止。
While语句的形式为while(condition) statement
例子:求1到10的和
#include <iostream>
using namespace std;
int main()
{
int sum=0,val=1;//只要val的值小于等于10,while循环就会持续执行
while (val<=10)
{
sum+=val;//将sum+val赋予sum
++val;//将val加1
}
cout<<"Sum of 1 to 10 inclusive is "<<sum<<endl;
return 0;
}
1.4.2 for语句
for语句包含两部分:循环头、循环体。循环头控制循环体的执行次数,由初始化语句init-statement、循环条件condition和表达式expression组成。
例子:求1到10的和
#include <iostream>
using namespace std;
int main()
{
int sum=0;
for(int val=1;val<=10;++val)
sum+=val;
cout<<"Sum of 1 to 10 inclusive is "<<sum<<endl;
return 0;
}
Q:对比for循环和while循环,两种形式的优缺点各是什么?
A:在循环次数已知的情况下,for循环的形式显然更为简洁;而循环次数无法预知时,用while循环实现更适合。用特定条件控制循环是否执行,循环体中执行的语句可能导致循环判定条件发生变化。
1.4.3 读取数量不定的输入数据
例子:求数量不定的数据的和
#include <iostream>
using namespace std;
int main()
{
int sum=0,value=0;
while(cin>>value)
sum+=value; //sum=sum+value
cout<<"Sum is: "<<sum<<endl;
return 0;
}
//程序出来之后,要从键盘输入文件结束符,同时摁住Ctrl和Z键,然后摁Enter
for语句的版本
#include <iostream>
using namespace std;
int main()
{
int sum=0,value=0;
cout<<"Please put in some nums: "<<endl;
for(;cin>>value;)
sum+=value;
cout<<"The sum of nums is: "<<sum<<endl;
return 0;
}
1.4.4 if语句
下例为一个输入一串数字求数字出现次数的程序,但这个程序不具备无序性,意思就是当你输入76 67 76,结果出来的是76一次,67一次,76一次。所以要怎么想办法解决这一瑕疵呢?
#include <iostream>
using namespace std;
int main()
{
int currVal=0,val=0; //读取第一个数,并确保确实有数据可以处理
if(cin>>currVal)
{
int cnt=1; //保存我们正在处理的当前值的个数
while (cin>>val)
{
if (val==currVal)
++cnt; //如果现在读取的值与当前处理的值相等,那么计数加一
else //否则就打印前一个值的个数
{
cout<<currVal<<" occurs "<<cnt<<" times "<<endl;
currVal=val;
cnt=1; //重置计数器
}
} //while循环结束
cout<<currVal<<" occurs "<<cnt<<" times "<<endl; //打印最后一个值的个数
}
return 0;
}
1.5 类简介
在C++中,我们通过定义一个类(class)来定义自己的数据结构。一个类定义了一个类型,以及与其关联的一组操作。类定义了行为。类的作者定义了类对象可以执行的所有动作。
要注意include指令时,包含来自标准库的头文件时,应该用<>包围头文件名;对于不属于标准库的头文件,则用“”包围。
1.5.2 初识成员函数
1.6 书店程序
//但由于没有原书作者提供的类,所以这里做不下去==