news 2026/3/27 23:19:09

0_C++的基础语法(上)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
0_C++的基础语法(上)

恋爱可以不谈,算法不能不学。(最近太忙了,结课周加六级,呜呜)

现在是2025年12月10日晚,今夜沈阳下好大雪啊,做完物理实验出来看,外面都被积雪覆盖了,而且今晚能见度低,真有种天地一白的感觉,谁懂我一个南方人看到这么大雪的激动心情啊,直接就把照片和视频kuku发到抖音,朋友圈,社交群等各大软件哈哈。来附上几张图片:

还有还有啊,前几天我去给一个孩子做家教,想着坐一次公交吧,然后我学校门口是有两个公交车站的,分布在马路正对面两侧,然后我跟着导航走到了校门口的公交站(导航没说是两个中的哪一个,我没仔细看)然后我就坐在那里等公交车,我每次都是把时间算的非常精准的,绝对不提前到那个孩子家里,然后过来一个大概60岁的奶奶,一上来就问我去干啥,我想着这不会是坏人吧,突然跑过来攀谈,我去。但是我是大学生嘛,也没那么多防备心,而且看到车子就两分钟就到了,也耽误不了多长时间,就一五一十说我去哪里了,然后她很疑惑地说,诶,孩儿啊,那你应该去对面的公交车站啊,你搞反了,是不。我浑身一紧,出了一身冷汗,但是不敢相信,因为我看着手里面的导航顺着的方向确实不是道路的方向,我一看时间:公交车还有两分钟到达,心想:完啦,这要是错过了那下一辆得15分钟之后啊,那就迟到了!我说时迟那时快,直接跑到红绿灯路口焦急的等待绿灯,过了几秒钟绿灯了,我不顾成年人的体面,像我高中奔向食堂一样奔向马路对面,刚好公交车到。我顺利的上去了,真是虚惊一场。但是由于我走太匆忙了,没来得及给那个老奶奶道谢,哎,在这里表示一下感谢吧。还有我得反思一下自己了,我一开始居然认为他是坏人,真是的,可能是我之前没遇到过这么热情的人吧。哎,还是阅历太浅了,在这里必须表扬一下东北人,这是太热情了,棒!

好了,咱们不多说了。今天这个C++基础语法上面部分我们就假设你有c语言基础,不会去重复讲C语言一样的内容,然后只讲算法比赛中会用到的内容,不讲类,对象之类的内容。本次不讲STL,STL部分我会放在下一篇部分讲的。

1. 库

首先在C++中,我们要向C语言一样导入头文件,C++中我们把它叫做库:

#include<iostream>//输入输出库,包含cin,cout等函数
#include<cstdio>//包含printf和scanf函数,和C语言基本一致
#include<string>//包含C++中字符串处理的函数,后面会讲
...

上面是一些基本的库,后面我会拓展一些的,使用不同函数的时候要先导入库,当然如果你想要偷懒的话,也是有办法的`#include<bits/stdc++.h>`这是一个万能的头文件,包含所有的库,只要有这个库不需要再有其他的任何库了,不过会降低编译效率,看自己的取舍吧。

2.命名空间

命名空间是一个很复杂的内容,我也没太了解,但是大概是这样的:命名空间(namespace)是 C++ 引入的一种 “作用域容器” ,用来把变量、函数、类、模板、枚举……打包到一个逻辑层级里,解决 “全局名字冲突” 问题。反正搞竞赛的话就记住这个:最好在头文件之后写上`using namespace std;`这样一句话,否则就在使用的函数前面加上`std::`这样的标志。例如:

#include<iostream>
using namespace std;

// main() 是程序开始执行的地方

int main()
{
cout <<"Hello World"; // 输出 Hello World
return 0;
}

或者这样:

#include <iostream>

// main() 是程序开始执行的地方

int main()
{
std::cout <<"Hello World"; // 输出 Hello World
return 0;
}

写大工程的时候第二种多一点,但是搞竞赛的话就老老实实用第一种吧。

3.输入输出:
可以使用`#include<iostream>`例如:

#include <iostream>
using namespace std;

int main()
{
int n;
cin >>n;//从控制台中输入一个数字给到变量n
cout <<n;//输出n并且换行
return0;
}
还可以使用`#include<cstdio>`例如:

#include <cstdio>
using namespace std;

int main()
{
int n;
scanf("%d",&n);//从控制台中输入一个数字给到变量n
printf("%d",n); // 输出n并换行
return 0;
}

然后说一下控制输出的问题吧:第二种控制小数位数的方法和C语言一模一样,我们来说说第一种怎么控制:

#include <iostream>
#include<iomanip>
using namespace std;

int main()
{
float n;
cin >>n;//从控制台中输入一个数字给到变量n默认6位有效数字
cout <<fixed<<setprecision(3)<<n<<endl;三位有效数字
return 0;
}

今天太晚了,室友都睡了,数组和字符串在明天的(中)里面讲,然后stl和其他的知识在(下)里面哦

晚安,再见!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/24 23:57:54

去中心化AI:突破科技巨头的围墙

作者&#xff1a;Sean Lee,Forbes&#xff1b;编译&#xff1a;区块律动 人工智能正在飞速进化&#xff0c;但叙事始终被少数科技巨头主宰。当 OpenAI、Google 和 Meta 占据头条时&#xff0c;一场更沉寂却可能更本质的变革正在发生——去中心化 AI&#xff08;DeAI&#xff09…

作者头像 李华
网站建设 2026/3/27 10:17:22

PACKAGER.EXE:解决Word文档内嵌对象问题的专业工具

PACKAGER.EXE&#xff1a;解决Word文档内嵌对象问题的专业工具 【免费下载链接】packager.exe资源下载介绍 PACKAGER.EXE是一款专为微软Windows操作系统设计的实用工具&#xff0c;特别适用于解决Windows XP系统中Word文档内嵌对象无法打开的问题。通过该工具&#xff0c;用户可…

作者头像 李华
网站建设 2026/3/17 7:35:26

实现kvstore的持久化功能:全量持久化和增量持久化

目录 一、设计思路 二、核心代码 三、测试功能 一、设计思路 数据结构&#xff1a;使用哈希表&#xff08;链式地址法解决哈希冲突&#xff09;存储键值对 全量持久化和增量持久化的核心流程&#xff1a; 增删改操作&#xff1a;先写 WAL 日志 → 再更新内存哈希表 Checkpo…

作者头像 李华
网站建设 2026/3/25 10:33:24

unity运行后笔记本风扇声音太大的解决办法

先说结论&#xff1a;风扇声音大就是因为温度高了&#xff0c;我观察过unity运行后电脑的几个数据&#xff0c;主要是cpu的温度变高了&#xff0c;其他的数据比如cpu的占用并没有上升太多。 所以我的解决办法就是把笔记本的用电方案改了&#xff0c;设置里不要用最佳性能就好&…

作者头像 李华
网站建设 2026/3/16 14:32:13

NAT实验

三.实验思路 1.配置IP地址配置静态路由 2.各部分私网通 3.配置公网路由&#xff0c;NAT的配置&#xff0c;NAT Server用来发布telnet服务以及他的映射 四。实验步骤 1、配置IP地址 R1:[ll]int g 0/0/0 [ll-GigabitEthernet0/0/0]ip add 192.168.1.3 24 [ll]int g 0/0/1 …

作者头像 李华