c++学习合集(2025-4-29)

数据输出

cout输出

#include <iostream>          // 引入标准输入输出流库(包含cout/cin等)
using namespace std;         // 使用标准命名空间(避免写std::cout)

int main()                    // 程序入口函数(必须有且唯一)
{
    // 输出 "hello world" 并换行
    cout << "hello world" << endl;  
    // 原代码中的 end1 是拼写错误,endl 才是正确的换行操作符
    // endl = 换行 + 刷新输出缓冲区

    system("pause");           // 暂停控制台(Windows特有,防止窗口闪退)
    return 0;                 // 返回退出码0(表示程序正常结束)
}

 跟C语言一样都有一个框架;各个解释如上图;

以下是代码的逐行解释:

```cpp
#include <iostream>          // 引入标准输入输出流库(包含cout/cin等)
using namespace std;         // 使用标准命名空间(避免写std::cout)

int main()                    // 程序入口函数(必须有且唯一)
{
    // 输出 "hello world" 并换行
    cout << "hello world" << endl;  
    // 原代码中的 end1 是拼写错误,endl 才是正确的换行操作符
    // endl = 换行 + 刷新输出缓冲区

    system("pause");           // 暂停控制台(Windows特有,防止窗口闪退)
    return 0;                 // 返回退出码0(表示程序正常结束)
}
```

### 关键概念解析
1. **`#include <iostream>`**
   - 包含C++标准输入输出库,使`cout/cin`等可用
   - 类比:就像告诉编译器"我要用打印机,先接上电源"

2. **`using namespace std`**
   - 直接使用标准库中的名称(如`cout`代替`std::cout`)
   - 争议点:大型项目中可能污染命名空间,但小程序中方便

3. **`cout << ... << endl`**
   - `<<`:流插入运算符(数据流向控制台)
   - `endl`:换行+强制刷新缓冲区(比`\n`更彻底但稍慢)

4. **`system("pause")`**
   - 调用系统命令暂停程序(仅限Windows系统)
   - 替代方案:可用`cin.get()`实现跨平台暂停

### 常见问题
Q1: 为什么要用`return 0`?  
A1: 表示程序正常退出(非0值通常表示错误类型)

Q2: `endl`和`\n`的区别?  
A2: `\n`只换行不刷新缓冲区,`endl`会立即输出内容(性能敏感场景慎用)

Q3: 去掉`system("pause")`会怎样?  
A3: 在IDE中运行时窗口会立即关闭,看不到输出结果(命令行直接运行不受影响)

### 代码执行流程
编译 → 生成exe → 输出"hello world" → 暂停等待按键 → 结束

建议新手尝试:  
1. 去掉`system("pause")`观察现象  
2. 将`endl`改回`end1`看编译报错  
3. 添加新的`cout`语句输出其他内容

//----------------------------------------------------------------------------------------------------------------------//

插入流的理解(也就是那些小于号)

 在输出a=10之后,要是还想输出一个分号的话,那得再用插入流小于号括起来,然后把分号当字符输出;

插入流的用法是,相当于一个箭头,指向的就是要输出的内容

//----------------------------------------------------------------------------------------------------------------------//

数据输入

cin输入

相当于c语言的scanf;

具体格式如下:同时对插入流符号有了深理解,指向变量说明是输入,从变量指出,说明是输出

数据类型 

浮点型

float型:

double型:

科学计数法:

字符型 

转义字符

换行符

字符串 

两种风格

C语言:

C++:

两种都可以使用

布尔类型 

占一个字节的内存大小,他只能表示真假,true为真,本质为1,false为假,本质是0,这个数据类型跟51的bit很像,bit也是只能表示1和0;跟bit感觉没有两样,专门可以用来做标志位;实验得知你也可以对布尔数据赋值,赋值为不为1的数也是可以的,但是他也是只能存储为1,也就是为真,

运算符 

除法:

对于除运算,只要双方都为整数,那只能除出来整数, 但是只要双方有一个小数也就是浮点型,就能除出来小数,而且除法的被除数不能够是0;求余运算也是除数不能是0;两个小数不能做求余运算;

前置加加与后置加加的区别

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值