C++ 从 0 入门(一)|C++ 基础语法、命名空间、引用、IO 输入输出

大家好,我是网域小星球。

C++ 兼容 C 语言全部语法,同时扩展了面向对象、引用、泛型、内存管理等高级特性,也是 C++ 开发岗面试的核心考察内容。本篇从零过渡 C++ 基础,聚焦语法差异、高频考点、笔试题,所有代码 VS2022 直接运行。

目录

[一、C++ 头文件与基础兼容](#一、C++ 头文件与基础兼容)

[1. 标准头文件](#1. 标准头文件)

[2. 完全兼容 C](#2. 完全兼容 C)

[二、命名空间 namespace(必考)](#二、命名空间 namespace(必考))

[1. 作用](#1. 作用)

[2. 基础语法](#2. 基础语法)

[三、C++ 输入输出 cin /cout](#三、C++ 输入输出 cin /cout)

[1. 输出 cout](#1. 输出 cout)

[四、引用 & (C++ 核心高频考点)](#四、引用 & (C++ 核心高频考点))

[1. 引用概念](#1. 引用概念)

[3. 引用三大规则(面试必背)](#3. 引用三大规则(面试必背))

[4. 函数引用传参(最高频)](#4. 函数引用传参(最高频))

[五、C++ 变量增强定义](#五、C++ 变量增强定义)

[六、const 强化用法](#六、const 强化用法)

七、本章总结

下期预告

一、C++ 头文件与基础兼容

1. 标准头文件

C++ 推荐使用无后缀头文件:

cpp 复制代码
#include <iostream>   // 标准输入输出

不再优先使用 .h 老式头文件。

2. 完全兼容 C

C 语言的语法、结构体、指针、数组、文件操作,全部可以直接在 C++ 运行


二、命名空间 namespace(必考)

1. 作用

解决全局命名冲突,不同库、相同变量名互不干扰。

2. 基础语法

cpp 复制代码
namespace std
{
    // 系统标准库内容
}
  1. 三种使用方式
cpp 复制代码
// 方式1:全程限定
std::cout << "hello";

// 方式2:全局展开(常用)
using namespace std;

// 方式3:单独引入
using std::cout;

完整示例

cpp 复制代码
#include <iostream>
using namespace std;

int main()
{
    cout << "C++ 命名空间" << endl;
    return 0;
}

三、C++ 输入输出 cin /cout

替代 C 语言 printf / scanf,自动识别类型,无需格式符。

1. 输出 cout

cpp 复制代码
cout << 整数 << 字符串 << 变量 << endl;
  1. 输入 cin
cpp 复制代码
int a;
cin >> a;

示例代码

cpp 复制代码
#include <iostream>
using namespace std;

int main()
{
    int a;
    double b;
    
    cout << "请输入整数:";
    cin >> a;
    cout << "请输入小数:";
    cin >> b;

    cout << "a = " << a << ", b = " << b << endl;
    return 0;
}

面试考点:C 格式化输入输出不安全,C++ cin/cout 类型更安全,自动推导。


四、引用 & (C++ 核心高频考点)

1. 引用概念

引用 = 变量别名,引用和原变量共用同一块内存。

语法:

cpp 复制代码
数据类型 &引用名 = 原变量;
  1. 基础用法
cpp 复制代码
int a = 10;
int &b = a;   // b 是 a 的别名

b = 20;
// a 同步变成 20

3. 引用三大规则(面试必背)

  1. 引用必须初始化,不能单独定义;
  2. 引用不可更改指向,一生绑定一个变量;
  3. 没有空引用,不存在野引用。

4. 函数引用传参(最高频)

代替指针,减少拷贝、修改实参:

cpp 复制代码
void swap(int &x, int &y)
{
    int temp = x;
    x = y;
    y = temp;
}

面试常问:引用和指针的区别?下篇专门精讲。


五、C++ 变量增强定义

C 语言要求变量必须写在函数开头;C++ 允许随时随地定义变量

cpp 复制代码
for(int i = 0; i < 10; i++)
{
    // 合法
}

六、const 强化用法

C++ 中 const 常量编译期确定,用法更严格:

cpp 复制代码
const int N = 100;

可以当作常量直接使用,安全性高于 C 语言宏定义。


七、本章总结

  1. namespace 解决命名冲突,std 是标准库命名空间;

  2. cin / cout 替代格式化 IO,类型安全;

  3. 引用是变量别名,无内存开销,常用于函数传参;

  4. C++ 支持任意位置定义变量,语法更灵活;

  5. const 优化常量定义,替代部分宏。

    下期预告

    C++ 从 0 入门(二)|引用与指针区别、内联函数、函数重载(面试超高频)

相关推荐
叼烟扛炮1 小时前
C++ 知识点08 类与对象
开发语言·c++·算法·类和对象
楼田莉子1 小时前
仿Muduo的高并发服务器:Http协议模块
linux·服务器·c++·后端·学习
你不是我我7 小时前
【Java 开发日记】HTTP3 性能更好,为什么内网微服务依然多用 HTTP2?HTTP2 内网优势是什么?
java·开发语言·微服务
tjl521314_218 小时前
04C++ 名称空间(Namespace)
开发语言·c++
ximu_polaris8 小时前
设计模式(C++)-行为型模式-备忘录模式
c++·设计模式·备忘录模式
赏金术士8 小时前
Kotlin 数据流与单双向绑定
android·开发语言·kotlin
逻辑驱动的ken9 小时前
Java高频面试场景题25
java·开发语言·深度学习·面试·职场和发展
AI人工智能+电脑小能手10 小时前
【大白话说Java面试题】【Java基础篇】第32题:Java的异常处理机制是什么
java·开发语言·后端·面试
無限進步D12 小时前
Java 面向对象高级 接口
java·开发语言
tankeven12 小时前
C++ 智能指针
c++