C++学习笔记(36):基础语法

5 阅读3分钟

参考书籍:现代C++白皮书(在拥挤和变化的世界中茁壮成长 C++ 2006-2020)

1.C++简介

C++是一种静态类型、编译式的通用编程语言,支持过程化编程,面向对象编程和泛型编程。它由Bjarne Stroustrup于1979年在贝尔实验室开始开发,最初被称为“C with Classes”

2.第一个C++程序

image.png

3.变量和数据类型

C++是强类型语言,每个变量都必须声明其类型,基本数据类型包括:

  • 整型: int, short, long, long long

  • 浮点型:float, double

  • 字符型:char, string

  • 布尔型:bool

      整型变量,内存占2个字节
      双精度浮点数,4个字节
      字符类型,1个字节
      布尔类型,1个字节
      字符串类型,32个字节,但其指向的内容长度是可变的
      
    

C++初始化语法

 int score{ 95 };   //  列表初始化
 double temperature = {36.4};  // 带等号的列表初始化
 

常量声明

const double PI = 3.1415926;
const int MAX_SIZE{ 100 };

4.控制流语句

条件语句理论: 条件语句允许程序根据不同的条件执行不同的代码块,主要包括:

  • if语句:基本条件判断
  • if-else语句: 二选一执行
  • if-else if-else:多条件判断
  • switch语句:多分支选择

image.png

5.循环语句

循环语句理论:循环语句用于重复执行代码块,主要包括:

  • for循环: 已知循环次数
  • while循环: 条件控制的循环
  • do-while循环:至少执行一次的循环
  • 下图是C++新增for循环方式

image.png

6.函数

函数是一段完成特定任务的代码块,具有以下优点:

  • 代码重用
  • 模块化编程
  • 提高可读性
  • 便于调试维护

7.参数传递的三种方式

  1. 值传递(Pass by Value) 默认的参数传递,创建参数的副本

image.png

2.引用传递(Pass by Reference) 直接操作原变量,不创建副本

image.png

3.指针传递(Pass by Pointer) 通过指针间接操作原变量

image.png &取地址,传引用。*解引用,拿指针指向的内容。

8.常量参数与保护机制

image.png

9.关于global和static

  • global 全项目共有的公共变量

      写在所有函数外面
      整个项目所有文件都能用
      程序一运行就存在,直到关闭
      优点:到处都能用
      缺点:太公开,容易被乱改
    
  • static 想让他活得久一点,或者私有一点

      1.static全局变量
      只给自己这个文件用,别的文件碰不到。本文件私有全局变量。
      2.static局部变量
      函数里面,死不了,值一直保留,下次调用还在。而且只初始化一次。
      3.static成员
      类里面,属于整个类,不属于某个对象。不用创建对象,直接用。
    

10.数组

数组是相同类型元素的集合,具有:

  • 固定大小
  • 连续内存存储
  • 通过索引访问元素

image.png

11.类与对象

类是面向对象编程的核心概念,包含:

  • 数据成员: 描述对象的属性
  • 成员函数: 描述对象的行为
  • 访问控制: public,private,protected(公有(接口),私有(方法),保护)

image.png

12.小知识点

  • 编译:把你写的cpp代码,变成电脑能看懂的exe(Windows)可执行文件
  • 运行:直接去执行那个已经编译好的exe文件
  • size_t : 专门用来表示“长度、大小”的非负整数