【C++】【C++ Primer】1-开始

1 编写一个简单的C++程序

1.1 函数

1.1.1 main函数

C++程序包含一个或多个函数,其中必有一个main函数。操作系统通过调用main函数来运行C++程序。

main函数的返回类型必须为int。返回值用于指示函数执行状态。返回值0表明成功,非0返回值的含义由系统定义,通常用于指出错误类型。

1.1.2 函数定义的结构

函数定义分为四部分:

  • 返回类型(return type)
  • 函数名(function name)
  • 形参列表(parameter list)
  • 函数体(function body)

1.2 数据类型

类型不仅定义了数据元素的内容,还定义了这类数据上能进行哪些运算。

1.3 代码示例

#include <iostream>

int main()
{
    return 0;
}

1.3 编译、运行程序

1.3.1 编译命令

不同操作系统、编译器系统中,运行C++编译器的命令各不相同。

GNU编译器命令示例如下:

$ g++ -o simple_sample simple_sample.cpp

1.3.2 警告选项

编译器通常会提供一些选项,能够对有问题的程序结构发出警告。在GNU编译器中是-Wall选项。

2 初识输入输出

2.1 标准库iostream

C++没有定义任何输入输出(IO)语句,而是包含了一个名为iostream的标准库(Standard Library)来提供IO机制。

iostream包含两个基础类型:

  • istream:输入流
  • ostream:输出流

一个流就是一个字符序列,要么从IO设备读出,要么写入IO设备。之所以用“流”来表述,是因为随着时间的推移,字符是顺序生成或消耗的。

2.2 标准输入输出对象

标准库定义了四个IO对象:

标准输入输出对象用途类型
cin标准输入istream
cout标准输出ostream
cerr标准错误。输出警告和错误信息ostream
clog输出程序运行时的一般信息ostream

2.3 输出运算符、输入运算符

<<称作输出运算符,其左侧的运算对象必须是一个ostream对象。>>称作输入运算符,其左侧的运算对象必须是一个istream对象。

<<和>>的运算结果都是其左侧对象,因此可以连续使用。

2.4 操纵符(manipulator)

endl就是操纵符,其作用是结束当前行,并将缓冲区中的内容刷到设备中,从而保证程序的输出都真正写入输出流,而非在内存中等待。

2.5 命名空间和作用于运算符。

我们在使用cin、cout时,还添加了前缀std::。其中std是命名空间,::是作用域运算符。

std::指出,cin、cout是定义在名为std的命名空间中的。标准库定义的所有名字都在命名空间std中。

命名空间可以避免名字定义冲突。

2.6 代码示例

提示用户输入两个数,然后输出它们的和:

#include <iostream>

int main()
{
    int num1 = 0;
    int num2 = 0;

    std::cout << "Please enter two numbers:" << std::endl;
    std::cin >> num1 >> num2;
    std::cout << "The sum of " << num1 << " and "
        << num2 << " is " << num1 + num2 << std::endl;

    return 0;
}

3 注释

3.1 单行注释

// 单行注释

3.2 多行注释

多行注释也称为界定符注释,使用时注意不可嵌套。

/*
 * 多行注释1
 * 多行注释2
 */

4 控制流

4.1 while语句

4.2 for语句

4.3 代码示例——读取数量不定的输入数据

#include <iostream>

int main()
{
    int sum = 0;
    int val = 0;

    while (std::cin >> val) {
        sum += val;
    }
    std::cout << "Sum is: " << sum << std::endl;

    return 0;
}

2.3小节中提到,输入操作符>>返回其左侧运算对象,在本例中即为std::cin。因此while循环实际检测的就是std::cin。

使用istream对象作为条件,效果是检测流的状态。如果流是有效的,此时条件为真。如果遇到EOF或遇到无效输入(本例中是遇到非int类型的数据),istream对象的状态会变为无效,此时条件为假。

Unix Like系统中,Ctrl+D即可输入EOF。

4.4 if语句

4.5 类简介

在C++中,通过定义类(class)来定义自己的数据结构。一个类定义了一个类型,以及与其相关联的一组操作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值