学习目标:
认识C++程序
学习内容:
- 简单的C++程序
- 初识输入输出与注释
- 控制流、循环与分支
- 类简介
一、一个简单的C++ 程序
int main()
{
return 0;
}
-
每个C++程序都包含有一个或者多个函数,其中一个函数必须命名为 main,它是整个程序的入口,系统通过调用main函数从而运行整个C++程序
-
一个函数的构成包含:返回类型、函数名、参数列表、函数体
-
C++程序中每条语句以分号 “;" 结束
-
编译、运行程序
源文件通过编译生成可执行文件
二、 初始输入输出与注释
#include <iostream>
int main()
{
std::cout<< "Enter two numbers:" <<str::endl;
std::cin >> v1 >> v2;
std::cout << "The sum of " << v1 << " and " << v2 << " is " << v1 + v2 << std::endl;
return 0;
}
- iostream标准库有两个基本类型:输入流istream、输出流ostream流表示随着时间的推移,字符是按顺序生成或者消耗的;
- iostream标准库有4个IO对象:istream类型的对象:cin(标准输入);ostream类型的对象:cout(标准输出)、cerr(标准错误)、clog(标准日志);
- cout 还可以重定向(比如输出到文件),通过缓冲区。cerr 不可以重定向(只能输出到显示器),不通过缓冲区。cerr的作用是在一些特殊的紧急情况下还可以输出(比如调用栈用完了,没有出口的递归等)。
- std::endl可以刷新缓冲区,缓冲区的目的是减少刷屏的次数,多个字符同时输出到显示器。
- 引入头文件的两种方式:<>引入标准头文件,系统的头文件;""引入非标准头文件,自定义的头文件;
- std:标准库的命名空间,std::cout和std::endl指cout和endl是定义在名为std的命名空间中的,标准库中的所有名字都是定义在std命名空间的。命名空间可以帮助我们避免命名冲突;其实可以使用using namespace std;以更简单的方式访问标准库中的方法;
- 输出运算符<<,接受两个运算对象,左侧的运算对象必须是一个ostream对象,即cout,右侧是需要打印的值;std::cout << "Hello World"表示把字符流"Hello World"写给ostream对象std::cout,后半句表示操作符std::endl输入到ostream对象std::cout,系统识别特殊操作符std::endl就知道这句输出程序结束了,于是结束在内存中等待写入流,将目前程序所产生的所有输出都真正的写入输出流中;
- 输入运算符>>,同样接受两个运算对象,左侧对象必须是istream对象cin,从std::cin >> v1表示将非空输入字符流存入v1变量中;此时如果输入的是空白字符,则当前赋值完毕;再碰到新的非空字符流存入v2变量中;
- 两种注释方式:
单行注释://
多行注释:/* */,且不可嵌套
三、控制流、循环与分支
- 循环语句:while + for
while循环: 只要condition为真就一直执行statement语句,直到condition为假,则继续执行while语句外的第一条语句。
while (condition)
statement
for循环: for语句 = 循环头 + 循环体 循环头 = 初始化语句 + 循环条件 + 表达式
#include <iostream>
int main()
{
int val = 1, sum1 = 0;
while (val <= 10){
sum1 += val;
val += 1;
}
std::cout << "while: " << sum1 << std::endl;
int sum2 = 0;
for (int val = 1; val <= 10; val ++){
sum2 += val;
}
std::cout << "For: " << sum2 << std::endl;
return 0;
}
2. 读取数量不定的输入数据
例:实现对用户输入的一组数求和
#include <iostream>
int main()
{
int sum = 0, val = 0;
while (std::cin >> val) {
sum += val;
}
std::cout << sum << std::endl;
return 0;
}
std::cin >> val会从标准输入中读取一个数,保存在val中。这里放在while中其实是在检测流的状态,如果流是有效的,正确的字符,则为True,当遇到无效输入字符或文件结束符时(Ctrl+Z + Enter),返回False。
3. if 语句
condition = True执行statement1,condition = False执行statement2;
if (condition){
statement1
}else{
statement2
}
例:
#include <iostream>
int main()
{
int curVal = 0, val = 0;
if (std::cin >> curVal){
int count = 1;
while (std::cin >> val){
if (curVal == val){
count += 1;
}else{
std::cout << curVal << " occurs " << count << " times." << std::endl;
curVal = val;
count = 1;
}
}
std::cout << curVal << " occurs " << count << " times." << std::endl;
}
return 0;
}
四、类
类是 c++ 最重要的特性之一。 类定义了行为。类的作者决定了类类型对象上可以使用的所有操作.
成员函数是定义为类的一部分的函数,也被称为方法。 通常以类对象的名义来调用成员函数:Item.isbn()。即使用点运算符(.)