news 2026/6/15 22:31:15

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/6/14 20:03:40

Restormer 去雨(Deraining)任务代码运行全流程

本文将系统梳理基于 Restormer 模型实现图像去雨&#xff08;Deraining&#xff09;任务的完整流程&#xff0c;涵盖代码执行逻辑、核心文件架构及关键操作步骤&#xff0c;为实验的理解与复现提供清晰指引。若需获取适配新版环境的 Restormer 配置教程&#xff08;含避坑要点&…

作者头像 李华
网站建设 2026/6/15 15:26:59

鸿蒙 Flutter 安全组件开发:加密输入框与脱敏展示组件

一、引言 在鸿蒙&#xff08;HarmonyOS&#xff09;应用开发中&#xff0c;用户敏感信息&#xff08;如密码、手机号、身份证号&#xff09;的安全防护是核心需求之一。基于 Flutter 跨平台框架开发鸿蒙应用时&#xff0c;原生组件往往无法直接满足 “输入加密” 和 “展示脱敏…

作者头像 李华
网站建设 2026/6/15 12:50:24

Cameralink采集软件-Espeedgrab软件应用【2.存储图片和视频】

应对苛刻环境&#xff0c;-40&#xff5e;75度&#xff0c;10kv静电防护&#xff0c;工业级品质&#xff0c;便携式&#xff0c;嵌入式cameralink采集卡&#xff0c;操作软件Espeedgrab使用方法。类比iport cl-u3的软件ebus player&#xff0c;ESpeedGrab软件&#xff0c;更有…

作者头像 李华
网站建设 2026/6/15 13:23:28

JUCE音频开发框架:终极跨平台音频应用构建指南

JUCE音频开发框架&#xff1a;终极跨平台音频应用构建指南 【免费下载链接】JUCE 项目地址: https://gitcode.com/gh_mirrors/juce/JUCE JUCE音频开发框架是一个功能强大的跨平台音频应用开发工具&#xff0c;专为音乐制作人、音频工程师和开发者设计。这个开源项目提供…

作者头像 李华
网站建设 2026/6/15 15:59:57

冥想第一千七百二十九天(1729)

1.周三了&#xff0c;天气很好&#xff0c;补日记&#xff0c;右胳膊可能因为拉单杠的原因&#xff0c;做推拉门动作的时候会疼&#xff0c;下班后带着溪溪游泳也疼&#xff0c;但是刚好可以左侧换气&#xff0c;左侧换气也进步了。就是泳池的水稍微有点冷。 2.感谢父母&#x…

作者头像 李华
网站建设 2026/6/15 16:13:35

日语教程资源合集

【日语教程】安宁老师的日语课 文件大小: 40.7GB内容特色: 安宁老师系统精讲&#xff0c;40GB视频讲义&#xff0c;零到N1全覆盖适用人群: 日语零基础、考级冲刺、留学/职场需求者核心价值: 标准发音真题解析高频词汇&#xff0c;高效通关JLPT下载链接: https://pan.quark.cn/…

作者头像 李华