信息C++初阶1

物理
信息C++初阶1

用户头像
在下墨霜X38t50[陷阵之志] 更新于2025-3-3 15:28:43

各位,你们说是数学帖好还是信息帖好.

1:数学新手轮1~10复习笔记.

2:信息C++初阶1

最近平板上出现电线消失事件 存好的BFS暂时无法传来了 我又要开始休眠。。。(ーー゛)(ーー゛)(ーー゛)再见各位




最近一次成绩CSP-J 第二次复赛的0分将我跌入谷底,暂时撇下C++搞数学了,现在为没学者普及一番.

先导得来,不然有些会昏.[反正现在编程是我第二个喜好]

安装C++,尽量用5.9.2或5.11.2;不用付费,但只能用5.9.2性能除了某些特殊游戏框架无法使用,其余皆可以.

下载链接是http://www.bloodshet.net/

框架万能头:#include<bits/stdc++.h>

期刊一:输入输出

建立文件按Ctrl+N或点击file下面的白色纸.按Source File便建立出文档.

为了输出代码,就先知道格式:

1 [头文件]

2 using namespace std;

3 int main(){

4

5     return 0;

6 }

切记,指令后面皆须加上分号,而且必须是英语分号.不能是中文分号.

介绍输入输出头文件:

#include<iostream>[存在cout与cin]

同时所以代码头文件可变为#include "iostream",两者功能差不多,多了个查找功能

#include<stdio.h>[存在printf与scant]

#include<math.h>[存在基本数学函数]

常用的头文件很多,而万能头文件也很重要,他的优点是包括绝大多数[不是全部]头文件,而致命缺点便是耗费时间偏多[2ms~5ms]

所以能不用万能头就别用[可以用,只要不超过1000ms[=1s]基本都没事.]

现在进入正题,cin>>, cout<<便是输入输出指令.

格式化输入输出暂时不讲[你们实力大多不强]

所以用这些就可以输入输出了,再按F11[彩色方框的]便可运行...

用华为的电脑更好理解,毕竟电脑格式太多了记不过来.

第一期结束-------------------

第二期:递归

学过数学的都知道递归是什么;就是不停带入带入......

而你想说自己代数,特别是定义新运算最牛,那就跟电脑比比;

普通电脑每秒可有几亿左右加减运算;所以,跟电脑比递归,你还是算了吧;

可是,人脑又是发明电脑的,并且人类智慧有多强?所以操控电脑的我们与电脑决斗时,给它这个问题:

(-1)^20231231423415932487592384984=?

我的答案:1[0.3s]

电脑答案:1[>1000ms]

所以我们智慧可与电脑决斗[bushi;

开玩笑结束;现在给予一个定义:

在C++里面,函数的定义如下:

int[或者void] f[靠自己喜好定义函数名](int a;int b){//此处是输入2个参数,a,b;参数有多少个自行输入,此处只举例子;

}

而int的最大值为$2^32-1$,long long类型的最大值为$2^64-1$;

而递归函数便是:

int f(int a){

    if(条件) return ;[返回]

    return f(a-1);[返回]

}

所以以上便是递归函数,小练习来一下,下一期给答案;

#include<bits/stdc++.h>

using namespace std;

int f(int n){

    if(n<11 and n>=6) return f(n-2);

    else if(n<5) return f(n*3);

    return n;

}

int main (){

   cout<< f(10);

    return 0;

}

答案:12;

第三期:cin-cout[一个输入输出语言,毕竟不教估计会看不懂上面的东西]

[第二期只是一个尝试版,能学会挺强的,建议深造信息或数学]

cin是个很简单的东西,你总得告诉电脑这个东西怎么表达

不然一个机器怎么会理解呢.

就是输入数据.参考代码: cin>>n[n为参数,前面得先写int n;不然从哪来的]

输入后总得输出吧,参考代码cout<<n;毕竟你不输出你做这个意义是什么...

结束....

作者:墨霜

学多少看你造化了.

来骗收藏了.

科普:

有些好心网友给发了个setprecition 这个东西,告诉你,这是用在cout后面的

例如: cout<<fixed<<setprecision (3)<<n;指保留三位小数.

但是这东西我真不喜欢...

所以介绍另一个一样的方法printf ("%.3lf",n);首先这个n的类型是double双精度类型的

会保留小数,而这个n便会保留三位小数.与上面效果一样

第三章:递推;

上一章学了递归,相信大家学会了;

在学递推前,引入一道题目:

1:大家都知道兔子数列是吧.现在来一下;

Problem.1: 给予数列n项,例如n=5时,输出1 1 2 3 5 8(两数之间隔一空;

Problem 2:给予数列n项,运算规则为$A_n=A_{n-1}+A{n-2}+A_{n-3}$

$,同时目前已知A_1+A_2=A_3;A_4=4;请写出实现此数列的方法.$

期末考完了,来续一下.

众所周知,兔子数列的一种叫做斐波那契数列(当然有些人用谐音梗,叫啥肥波纳妾数列)

而第一个问题便是斐波纳契数列,前两项之和为第三项

即只需不断推导即可.

用递归便是:

#include<bits/stdc++.h>

using namespace std;

int f(int n){

    if(n==1 or n==2) return 1;

    else return f(n-1)+f(n-2);

}

int main(){

      int n;

      cin>>n;

      for(int i=1;i<=n;i++){

             cout<<f(i)<<" ";      

      }

      return 0;

}

收起
30
25
共16条回复
时间正序
用户头像
在下墨霜X38t50[陷阵之志]
6月前

骗收藏,关注一下🤣

用户头像
在下墨霜X38t50[陷阵之志]
6月前
要继续更吗,我感觉看得人不多
用户头像
谢必安在南台桥下打秋千
4月前
输出是12
用户头像
也是
4月前
不是,刚教完基础就教递归,初学者当然看不懂啊!!!至少也先把基本语言比如setpresion教完,再教判断,循环,循序渐进
2条评论
用户头像
果天♥️
4月前

那不是setprecision 吗

用户头像
也是 回复 果天♥️
4月前

太激动,打错了

用户头像
在下墨霜X38t50[陷阵之志]
4月前

我上年CSP-J过了,但是第二轮考成了0分...

今年不想考了,纯粹教初学者一些可理解的东西;

而递归在数学领域上很简单的东西我认为在编程上有必要写一些.

[初学者嘛,看初学者造化如何了,毕竟数学好了,这东西就能看懂了]

所以教一些语言就够了我认为...

12是对的.

6条评论
用户头像
Oliver
1月前

所以能更 区间DP和图论吗,我很想看看你的讲法,借鉴一下

用户头像
284(钢笔盖~) 回复 Oliver
1月前

这算考古吗?🤔

用户头像
在下墨霜X38t50[陷阵之志] 回复 Oliver
1月前

对不起,电脑这几个月一直没电,今天刚开机,至于这个东西,估计时间是需要一点的.估计靠每周的时间4~5周可以打完

用户头像
Oliver 回复 在下墨霜X38t50[陷阵之志]
1月前

vocal,原来您还在更?!(期待

用户头像
Setsuna
29天前
我也是去年考的,只不过我复赛极限考过了
用户头像
Setsuna 回复 Setsuna
29天前

现在该忘的算法全忘了,变成了个只会写点工具类程序做点小网站和编游戏的fvv了(还有一些不会的找AI帮的忙,话说这AI在vs code里是真好用啊)

用户头像
Oliver
1月前
不算吧(下次不考了
用户头像
西风破
1月前
我记得之前有个信竞问题贴来着,找不到了,在这问吧。最近有点需求,重拾c++了,问下<graphics。h>库怎么下啊,好像不是自带的,必须得自己下,然后我在网上找了,但是下在d盘里貌似没有用,是不是必须要下到c盘里
用户头像
吕伯修(不在线)
1月前

@西风破

这个库我不太了解,没用过

如果是iostream类的C++

1条评论
用户头像
吕伯修(不在线)
1月前

库,就放到Dev C++的配置文件里

如果是Direct一类的系统库就去找安装文件,他会帮你弄好

用户头像
西风破
1月前
这个是一个图形库,就是闲的想编个小游戏,但是c++里面自带的不太够用,打不出来很高级的图像,然后就去找到的一个图像库,但是我觉得可能是下错地方了,是不是必须下到user 里面还是下到Dev 的文件夹里面,因为从来没下过外置的库,都是直接引用,不太清楚应该下到哪,下载的网址也没说
5条评论
用户头像
吕伯修(不在线)
1月前

连库的类型都不知道,下个der啊

看内容,如果是类似jpg之类的图像,扔可运行文件边上

如果是dll或exe之类的扩展文件,也扔可运行文件边上

如果是bat之类的东西,并且要用system来引用的,大概率是系统扩展库,去找教程

因为不同库,安装方式不同

用户头像
西风破 回复 吕伯修(不在线)
1月前

我就是找不到教程啊,我们之前的信竞教练也不理我。是系统扩展库,源代码里用include<graphics.h>引用,说实话这名听上去不像是要自己下的,我怀疑

用户头像
吕伯修(不在线) 回复 西风破
1月前

include引用就是装Dev的文件里的,不过我没装过,具体不知道

用户头像
Oliver 回复 西风破
1月前

你直接上洛谷去看看胎.神.的游戏(主页叫 Tszza ),,

用windows.h就行了,图像可以从他的游戏里复制

用户头像
Setsuna
29天前

听我句劝,别拿C++编游戏,图形类就叫交给游戏引擎去设置就好啦,你只要写代码调用函数和设置参数一类的就可以了(因为没人规定小游戏就不可以用引擎编了,况且用游戏引擎你编的更爽,我做过一些),实在想要直接用编译器编可以试试Python(sublime text写代码)或用vs code编,Dev的好烂,别问我怎么知道的

用户头像
ㅤㅤㅤㅤㅤㅤㅤㅤㅤMU
1月前
最近一次指2023还是2024
用户头像
lyh
1月前

这边建议先教基本逻辑语句,比如while,if等

判断类比如==,<,>等

运算类比如+,-,*,/,%等

定义类比如struct,void,vector等

结构比如;,{}等

否则对于一个萌新来说这样根本无法理

用户头像
在下墨霜X38t50[陷阵之志]
30天前
。。。额首先我说是2023考的 然后的话代码一些基础的好像有人更了 于是我从数学角度出发写的这些。而深度优先搜索DFS与广度优先搜索BFS会是下一次。不过我目前弄懂了一些,上次做题留了个心里阴影 所以不好勿怪