【C++学习记录】—— 【0】开始

0.前言

这系列博客可能会长期写下去,目的就是为了学习C++,这系列博客还是像以前的博客那样,算是我的学习记录,可能有错,希望大家参考的时候也带着批判性思维。若发现错误,也请各位大佬斧正。
对了,本人有C的基础,所以有些地方,会记录的不详细。
这系列参考书籍《C++Primer 第五版》

1.编写一个简易的C++程序

int main()
{
	return 0;
}

一个函数的定义包含四部分:返回类型函数名、可空的形参列表函数体

1.1编译、运行程序

略过,毕竟不是重点,难不成我还写一个编译原理?再教教怎么使用工具并运行它?

2.初识输入输出

C++并没有定义任何输入输出语句,而是提供了一个全面的标准库来提供IO机制。
其中最常用的就是iostream库,而该库内包含两个基础类型istreamostream表示输入输出流。
对于“流”所表达的含义是:随着时间的推移,字符是顺序产生和消耗的
标准库定义了4个IO对象:

函数名名称作用流类型
cin标准输入读入输入流
cout标准输出输出输出流
cerro标准错误输出警告和错误输出流
clog-程序运行时的一般信息输出流

2.1向流读取与写入数据

这是一段代码:

#include <iostream>

int main()
{
    int a;
    
    std::cin >> a;
    std::cout << "Hello World! With" << a <<std::endl;

    return 0;
}

大家会发现:程序使用了std::cinstd::cout,这个std::是指出,cin cout是定义在std命名空间里,这样做是为了避免不经意间的名字定义冲突。

<< 这是一个输出运算符,它接收两个运算对象,左侧必须是一个ostream对象,右侧的运算对象是要打印的值。

>>是输入运算符,同理,它接收一个istream作为左侧运算对象,接收一个对象作为右侧运算对象。它从给定的istream中读入数据,并保存至给定对象中。

>> << 这两个运算符都是返回左侧的左侧的运算对象作为结果。

endl 是一个被称为操作符的特殊值,写入endl的效果是结束当行(俗称换行),并将设备关联的缓冲区的内容刷新的设备中。相当于把内存中的东西真正地写入到输出流中。

3.注释简介

C++中有两种注释,都继承于C语言: //和/* */
注释范围内的内容会被编译器忽略,且注释内可包含任何文本内容
单行注释:以双斜线(//)开始,到第一个换行符结束。
多行注释:以/*开始 */结束,里面任何内容被忽略,包括换行符。
这样的特性导致了注释界定符不能嵌套,就像图示这样:
在这里插入图片描述

4.控制流

语句一般都是顺序执行的,而程序设计语言为我们提供了多种不同的控制流语句允许我们写出更复杂的执行路径

4.1 while语句

while语句是反复执行一段代码,知道给定地条件为假。
其形式为

while(条件)
	表达式

而其中所谓的条件就是一个产生真或假的结果表达式

4.2 for语句

for语句包含两部分,循环头和循环体。而循环头分三部分:初始化语句循环条件表达式
就像这样:

for(初始化语句; 循环条件; 表达式)
	循环体

如果再改一下,我们可以把它看为一个while语句:

初始化语句
while(循环条件){
	循环体
	表达式
}

4.3 读取数量不定的输入数据

代码:

#include <iostream>

int main()
{

    int a;

    while (std::cin >> a)
    {
        std::cout << a << std::endl;
    }

    return 0;
}

当我们以一个istream对象作为条件的时候,其效果就是检测流的状态。如果流是有效的,就为真;当其遇到文件结束符 或遇到一个无效输入时,其状态会变为无效,条件即变为假。
在Win系统中,文件结束符是Ctrl+Z,而Unix系统(就是你用的mac或者linux)中,文件结束符是Ctrl+D,就像这样:
在这里插入图片描述
当我输入123 456 789时,控制台并没有跳出程序,而是输出了123 456 789 后继续等待我的输入,直到我输入了45464644Ctrl+Z时,程序输出了我的输入,并跳出了循环。

4.4 if语句

阿巴阿巴没啥说的

if (条件)
{表达式1}
else
{表达式2}

如果条件为真,就运行表达式1,否则就运行表达式2。
现在先这样,后面会详说,第一节课就是体验体验。

5.类简介

这里就不过多演示了,毕竟是C++的一大特性。 就是一个数据结构,它定义了一个类型,以及与其关联的一组操作。
类也可以像其他类型一样,进行 + - * / 或者 > < == 等操作。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

康娜喵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值