C++ 学习(二)

96 阅读3分钟

上次讲到了c++ 的main 函数与注释方式,之后将一下c++ 的输入和输出。

c++ 的输入输出

首先我们知道在java 语言中输出使用的是System.out.print()这个函数,在Android 中使用的是Logcat 输入,在c语言中使用printf进行输出,但是c++ 在c的基础上再次进行添加 cin 与 cout 这两个方法。

cin 这个函数我们可以看做是 c -in ,使用的方法为:

int a;
cin>>a;

这里我先写一下,然后进行解释:

  • int a :定义变量,和java ,c等语言一样;
  • cin<<a:表示的是将窗口中的结果插入到变量a中。

cout和cin 的使用方法类似,格式为:

int a = 80;
cout<<a;

我将cout也解释一下:

  • int a = 80;:这句话同样是申请变量
  • cout<<a;:这句话表示将a的值打印到窗口中。

不同于c语言或者java语言,左位移(<<)和右位移(>>)运算符有着不同的含义,我们这边对于他们有着新的作用。

这里我们进行归纳总结

cin表示的是输入对象,cout表示的是输出流对象;<< 表示的是插入,>> 表示的是提取,在c++ 中他们是进行搭配使用的。

所以,之前的helloworld程序顶部的内容也一目了然:

#include < iostream >: 这里就像是我们java 语言的 import java.io.stream; 一样,我们这里就是告诉我们,我要将iostream 这个包导入到程序中,之后会进行io流的输入和输出

我们这里明白了输入和输出之后就讲一下之前使用到的变量;

常量、变量、函数

这里我将常量、变量和函数一起讲述;

这是为什么呢? 因为我们之前说过c++ 被c语言推进演变之后就形成了类这个概念,而类的组成就是 常量,变量和函数的统合。

这里我们再次看之前的hello world 程序;

#include<iostream>
int main(){
    cout<<"hello world!"<<endl;
    return 0;
}

这里我们知道了顶部的内容是导入输入输出的包iostream; int main 我们也知道是应用程序的主入口,是一个main函数;

所以这里就引出了函数的概念;

函数是什么呢? 他的格式是什么?他的作用是什么?

我们这就好好说说。

函数

函数就像 main 函数一样定义

返回值类型 函数名(参数类型 参数名)
{

}

这就是函数的定义(在java 中经常被叫做方法,所以函数和方法是同一个概念)

这里我好好的讲解一下内容:

  • 返回值类型: 就像helloworld 函数的int 一样的类型就叫做返回值类型,我们现在需要知道的返回值类型有 int和 void 着来年各种功能就可以了,其他的之后再说。
  • 函数名:表示就是对这个函数的名称,比如我叫了一声葛大妈,大家就知道我叫的是那位噶韭菜的基金经理一样。
  • 参数类型:这个我们认为是和返回值一样的类型就可以了,我们之后详细说;主要我知道讲太多容易超纲;
  • 参数名 :这个就是对于传入参数的名称;
  • {}: 这个就不用说了,作用域,表示我的程序从{ 开始,到}结束。

这里说了这么多,我们就

截屏2022-09-27 21.43.55.png

#include <iostream>
int 葛大妈(int money){
    return 10;
}
int main() {
    // 买基金
    int result = 葛大妈(10000);
    cout<<"买了葛大妈一年基金剩余的钱="<<result;
    return 0;
}

这个🌰大家都知道了,我在一年之前买了葛大妈10000的基金,一年后我剩下的钱为10元; 这里葛大妈就是函数名称,我们的钱就是参数,返回的的钱就是要返回的参数。

好了,笑话就说到这里,我们继续;

函数的基本概念我们大家已经知道了,那么我们先跳一下看一下我们的💰,毕竟人不能没有💰。

变量

在上面的例子中我们知道我们的钱还有剩余,我们给钱起了一个名字 :result,所以我们这边就可以对于变量的进行定义;

变量类型 变量名 = 变量值;

这里我解释一下:

  • 我们在上买买葛大妈基金的时候我们就知道了 int 就是变量类型
  • 剩下的钱 result 就是变量名出
  • = 表示的是将返回的钱赋值给reult;
  • 变量值就是之前写的函数。

这样我们对于变量的概念就理解清楚了。我们这边就说一下常量。

常量

我们这边还是先写一个案例,然后在案例中进行实际操作。

案例的背景是这个样子的,我有10000块钱,之后想着可能出现通货膨胀的原因,所以不想让这笔钱闲着,所我我去买了国债,国债在这五年的的收益比试0.08%,所以我想知道我5年后的钱是多少。

#include <iostream>
using namespace std;
const double 国债收益比 = 0.0008;
double 买国债(int money){
    double  result = money + (money * 国债收益比 );
    return result;

}
int main() {
    // 买国债
    int result = 买国债(10000);
    cout<<"买了国债五年剩余的钱="<<result;
    return 0;
}

这里呢,我其他的不说先说一下答案是10008😢,当然了我这个收益公式不对,但是我们可以发现在之前的几个变量中有一个变量特别的奇怪,就是我们之前所说的国债收益比,他在前面加上了一个const 这个单词,和其他的内容瞬间产生了突兀感。

这里我解释一下,因为国债呢不会像葛大妈的基金一样多的时候赚200,少的时候亏1000,而是会在到期的时候给我买规定的钱,所以这个国债收益比就是一个常量,而在c++ 中,我们将变量的前端加上一个 const 这个关键字,所以这个变量就变为了常量。

好了,我们已经说好了他们的定义,那么变量和常量有什么区别呢?难道就是多一个const关键字吗?

这里我解释一下,变量的概念顾名思义就是一个可以变动的量,就像是葛大妈的基金,每天都会让大家进行不同程度的亏钱,而国债呢,就是常量,是一个固定的值,我们在5年之后取出国债中的钱规定的是多少,得到的就是多少,不会因为国家使用国债中的钱大赚就给你多一点,也不会因为使用国债亏钱就少给你点。

我们重新进行总结:

  • 常量:赋值之后就不可以变动的值,被称为常量。
  • 变量: 赋值之后仍然可以进行调整,被称为变量。

好了,这里的内容我先写到这里,我们之后再讲。先剧透一下,之后大概的内容就是:

  1. 函数的其他内容,包括函数的重载,函数的模版,函数的默认参数
  2. 类的概念
  3. 变量的引用
  4. 内置函数
  5. 字符串变量
  6. 动态分配/撤销内存的运算符
  7. c++ 语言的类型概念,比如基本数据类型