初学代码指南(软2耶)

news2024/12/24 20:55:07

        首先,很高兴又和大家见面了,本文章仅是作者的自我总结,是给笔者看的,所以读者在阅读时请抱着参考的心态,如果觉得可以借鉴的可以稍微借鉴一下,如果觉得笔者写了一坨shi,可以随便喷俺。

一.IDE

   先浅浅给大家普及一下几个名词

        1.我蒟蒻(ju ruo)的:谐音梗巨弱,笑死,这也要普及,那必须普及,因为我蒟蒻的 !!

        2.什么叫做IDE(Integrated Development Environment)集成开发环境

        IDE一般包括代码编辑器(就是给你写代码的)、编译器(将我们写的高级语言 (什么int main啊)转化为汇编语言(也就是将代码加工成 .exe 程序))、调试器(DeBugger大家看这个英文,就是改bug嘛,没错,这个就是用来调试我们的代码,寻找bug的)和图形用户界面等工具,放心大概理解一下,到时候各位的软件工程导论(以前是计算机导论)也会提到相应的知识点,建议大家多学习。

        那我个人理解呢,集成开发环境嘛,就是集合了全部的开发工具,其工具对应了我们写代码的步骤,第一用类似记事本的代码编辑器去记录下你写代码,然后使用编译器将你写的代码转成机器读的懂的0101二进制语言,然后生成一个.exe上面讲的可执行文件,运行就是双击打开它,然后就没了,这就是我们全部打代码的步骤。而我们使用的这个软件我们就叫他IDE

DEV c++5.11

bafc9c1f353f4ffcb778e193093379b6.png

 这里给大家我们学校的下载地址:

https://sourceforge.net/projects/orwelldevcpp/bicon-default.png?t=O83Ahttps://sourceforge.net/projects/orwelldevcpp/

 不会安装?以下为安装教程博客

Dev-C++的下载和安装教程(非常详细)从零基础入门到精通,看完这一篇就够了_devc++-CSDN博客

        打代码怎么能少了打代码的工具呢,我们学校(你猜)的工具是典型的老式DEV c++5.11,说实话笔者不怎么喜欢,因为每次用他都要乱码(默认ACSII编码,而比较普遍的是UTF-8),所以笔者打的时候有点烦(当然喜欢ASCII的话各位可以喷我)

        第二款呢俺比较推荐(个人喜欢),就是小熊猫c++,个人比较喜欢

小熊猫C++

9bd295414a154eb3beca42f4d9871c2e.png

        这个小白友好者,反正我菜,我喜欢用这个,这个便捷,而且我比较喜欢他的debug模式,大家按需下载即可

还有几款

VS code

这款软件呢,支持很多编程语言的编写,既可以写python,也可以写C/C++,又可以写Java,而且其中一定的插件对新手十分友好,甚至可以给你纠错,唯一的缺点就是他太太轻了,下载后就是个壳子,所有的环境变量什么的都得自己下载。具体大家可以查看

0ec09bbbfa5d9a328a9f89df5832cd77.png

vscode安装+配置+使用+调试【保姆级教程】-CSDN博客

虽然一劳永逸,但是前期确实麻烦

Visual Studio 202X(我用的是2022)

7727b5b11883923b47dd94ee4e552354.png

好东西,就是有点其实我觉得就是有点笨重哈哈哈,其他很OK,非常OK的

详细的大家看这一篇

Visual Studio 2022安装教程(千字图文详解),手把手带你安装运行VS2022以及背景图设置_vs2022安装教程-CSDN博客

二.各位打代码经常会犯的错误

恭喜各位成功上了两天的理论上机课

f2608dad7f5749e9b304e62cb2c5b751.png

不知各位是否也有这样子的感觉,当然预习并且学习过的同学肯定不用有这个感受,不管怎么样,写代码的过程是有趣的,探索的过程是生动的,现在给大家总结一下大家经常在初学代码犯的一些错误以及我的一些建议

1.一定要使用英文键盘(凡有中文字符的,全部报错)

2.每一条语句的末尾一定要加分号;

分号是C语言是语句的标志,在C中无分号不成语句,无语句不能识别。

在编译中如果没有分号,编译器就会将,b=2合到上一个语句a=1中,进而出现语法错误。

大家要学会看报错,expected initializer before 'int',一般这个报错就是没加分号所导致

3.printf

如果是OJ,只要是要求输出一个语句,请一定复制粘贴,不要自己打

比如这些题 

4.scanf

scanf("%d",&a);大家千万不要忘记取地址符号

不用看你们经常不加,就如上面一样

正确的应该有&(取地址符号)

5.if语句

正常来说if可以这么写,如果if下面的语句只有一句,就可以不加{ },if亦可不用和else配合使用

大家注意代码规范化,或者说好看化

这样子就有点丑,printf前面最好缩进一下

6.第三,大家不要开那么多终端

就这个,开一个关一个,多开会导致代码出错或者其他离谱问题,这是超低级错误

7.补充知识(大家有兴趣看,没兴趣也可以不看) 

大概说以上几点,现在给大家科普(笑死),大家自己看书吧,我怕误人子弟

1.头文件:下面这个东西我们叫做头文件,定义大家看书,要使用相应的函数的时候我们就需要相应的头文件

#include<stdio.h>

如果大家想使用数学函数sin(正弦)

则需要再加#include<math.h>

用到字符相关的东西,就可以使用#include<string.h>里面相关的函数

这个比较简单,后期大家会用到

2.函数的本质

cplusplus.com - The C++ Resources Network

大家可以利用这个网站查看官方对每个函数的解释

比如我们搜索scanf

我们研究一下scanf的返回值

我们看到如果读取到了文件末尾,scanf会自身返回一个EOF的值,这时候有人问了,EOF是什么

同样利用这个网站,我们知道他全名为end of file(即文件末尾)(通常为-1)

利用这个性质,如果大家做到这种题 

 多组输入,没有结束标志,就可以使用while(scanf("%d",&a)!EOF)

相信大家现在看得懂了吧,当scanf返回值不为EOF,说明输入没有结束,继续循环,当然这里只是简单解释,具体还有疑问,大家可以评论....

8.大家要学会debug

这里其实可以讲很多很多,但是为了节省时间,还是不讲,我们加速

我们知道bug是虫子的意思,bug是漏洞的解释起源于一只昆虫(具体故事大家可以去了解)

所谓调试(Debug),就是跟踪程序的运行过程,从而发现程序的逻辑错误(思路错误),或者隐藏的缺陷(Bug)。简单来说,就是找到程序错误,并且改正错误。

这里节省篇幅,大家想可以上网搜索,或者私信俺教大家

三.合理看待CSDN

        首先还是得和大家说明,为了总结自己的一些凌乱的知识点,大家可以使用CSDN来编写文章用于存档,十分感谢各位读者阅读到我的文章,但是对我的文章,由于只是知识性的存档,对部分知识点的正确性我不能保证,我也不敢乱为人师。诚为人,大家在阅读俺的文章,可以抱着看看的心态,不一定对,CSDN是一个对于小白蛮好的平台,因为里面的知识都已经被总结过了,但由于其中不乏一些非专业人士的总结,而且有些问题还是错的,甚至搜不到,所以大家初学可以用CSDN,但是如果是深入学习,就不建议大家使用CSDN,建议大家多去阅读一些语言的官方文档,看官方定义,那才是最准确,最便于大家去深度理解这门语言的精华

        大家也可以每周都写一篇博客来总结自己这周都学到了什么样的知识点,放文章上进行存档

四.前面的路  

        这里我想就我了解的一些咨询来一个小总结(依旧是给我自己存档,大家阅读可以参考)

        第一:大家941可以先试着打题,多打题有利于题感的培养

        除了941,大家可以去洛谷Loading - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

力扣力扣 (LeetCode) 全球极客挚爱的技术成长平台

模拟比赛呢可以去牛客网

牛客网 - 找工作神器|笔试题库|面试经验|实习招聘内推,求职就业一站解决_牛客网 (nowcoder.com)

 

 五.关于计算机类的比赛

本来是个指南,突然加这个哈哈,我不管,借鉴某位大佬的文章,我突然想整理一下我们准大一计算机系大一可以参加的代码比赛了,但是以下纯属作者自己经验,不代表是官方

ACM(5-6月)

这里的时间预指学校组织的ACM比赛的时间,ACM大家可以通过下面这篇博客了解,主要就是要求你要有比较好的算法基础

acm是什么?你准备好去打了吗?-CSDN博客

ICPC(时间看消息)

这个就是比较正式的ACM比赛了,比较大型,比学校正式,含金量也会比较高,推荐各位大佬去尝试,具体时间看各位通知群里面的消息,学校会定期发布一些

天梯赛(时间不固定,9月?)

这个是天梯赛的网站,大家可以了解了解,这个大概是自己报名吧

团体程序设计天梯赛 (patest.cn)

传智杯(12月左右)

有这比赛,具体大家了解一下,哈哈我懒

蓝桥杯(4-6月)

300米参加一次(小贵不过得奖学校报销,得一等奖全部报销),含金量挺高,建议多备战,拿奖听说挺容易,多加油 ,可以那个省1?听说省三很容易!(校内还是有很多很好的老师的,大家可以多去和老师聊天,然后老师会帮助你的)

【蓝桥杯】双非本科?大一大二不敢参加?这篇蓝桥全解析帮你打消疑虑轻松获奖【内附蓝桥资源和学习路线】-CSDN博客

蓝桥杯攻略!省一经验+考试全流程+技巧分享-CSDN博客

最全蓝桥杯省赛国赛知识点总结_蓝桥杯算法省赛考点-CSDN博客

CTF

CTF(Capture The Flag)中文一般译作夺旗赛,在网络安全领域中指的是网络安全技术人员之间进行技术竞技的一种比赛形式。

他到底是个啥:CTF(夺旗赛)_百度百科

大家可以去官网多了解,这部分是有关网络安全的,感兴趣的同学可以参加

除了以上,大家还可以去了解组队参加包括但不限于挑战杯,互联网+等校内比赛,第一次参加可以没有指导老师,后面参加的话建议找老师的项目(就是要有指导老师)去参加比较好(纯纯建议,不一定对)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2137168.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

音视频开发常见的开源项目汇总

FFmpeg 地址&#xff1a;https://ffmpeg.org/介绍&#xff1a;FFmpeg 是一个非常强大的开源多媒体框架&#xff0c;它可以用来处理视频和音频文件。它支持多种格式的转换、编码、解码、转码、流处理等。FFmpeg 包括了 libavformat、libavcodec、libavutil、libswscale、libpos…

✨机器学习笔记(四)—— 逻辑回归、决策边界、过拟合、正则化

Course1-Week3: https://github.com/kaieye/2022-Machine-Learning-Specialization/tree/main/Supervised%20Machine%20Learning%20Regression%20and%20Classification/week3机器学习笔记&#xff08;四&#xff09; 1️⃣逻辑回归&#xff08;logistic regression&#xff09;…

[数据集][目标检测]疟疾恶性疟原虫物种目标检测数据集VOC+YOLO格式948张1类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;948 标注数量(xml文件个数)&#xff1a;948 标注数量(txt文件个数)&#xff1a;948 标注类别…

数据处理工具(geodataprocess)之哨兵1预处理

在使用 Sentinel-1 数据进行遥感应用时&#xff0c;数据预处理是一个关键步骤&#xff0c;目的是提高数据的质量&#xff0c;消除或减少系统和环境引入的误差&#xff0c;使其更适合后续分析。Sentinel-1 是欧洲空间局&#xff08;ESA&#xff09;的合成孔径雷达&#xff08;SA…

数字高程模型DEM详细应用分析

DEM在各个领域都有广泛应用&#xff0c;它不仅仅是一张“高程地图”&#xff0c;更是地理分析、模拟和预测的重要工具。 一、地形分析 在地形分析中&#xff0c;DEM是不可或缺的工具. 1 坡度分析&#xff08;Slope Analysis&#xff09; 定义&#xff1a;坡度是指地形表面的…

OpenSSH Server 远程代码执行漏洞(CVE-2024-6387)(附代码)

OpenSSH Server 远程代码执行漏洞&#xff08;CVE-2024-6387&#xff09;&#xff08;附代码&#xff09; 前言影响范围验证脚本1.python2.C? 参考链接 前言 2024年7月1日&#xff0c;OpenSSH 官方发布安全通告&#xff0c;披露CVE-2024-6387 OpenSSH Server 远程代码执行漏洞…

Python画笔案例-049 绘制笑脸

1、绘制笑脸 通过 python 的turtle 库绘制 笑脸&#xff0c;如下图&#xff1a; 2、实现代码 绘制 笑脸&#xff0c;以下为实现代码&#xff1a; """笑脸.py """ import turtledef draw_circle(pos,radius):"""以pos为中心点画圆…

加拿大发布的认知战思想与力量发展

文章目录 前言一、心理作战、影响力与欺骗战术1.1 孙子兵法中的认知战思想1.2 虚假信息轰炸1.3 人脑领域的持久胜利二、加拿大及其盟友面临的认知战威胁三、俄罗斯实施的认知战3.1 利用虚假信息加剧社会两级分化并刺激个别激进群体3.2 新一代的虚假信息行动有可能造成严重的认知…

redis基本数据结构-set

文章目录 1. set的基本介绍1.1. set底层结构之hash表的简单介绍1.2. 常用命令 2. 常见的业务场景2.1. 标签系统2.2. 社交网络好友关系 1. set的基本介绍 参考链接&#xff1a;https://mp.weixin.qq.com/s/srkd73bS2n3mjIADLVg72A redis 的 set 数据结构是一个无序的集合&#…

【JavaScript】数据结构之字典 哈希表

字典 键值对存储的&#xff0c;类似于js的对象&#xff0c;但在js对象中键[key]都是字符串类型或者会转换成字符串类型&#xff0c;因此后声明的键值会覆盖之前声明的值。字典以map表示&#xff0c;map的键不会转换类型。 let map new Map() map.set(a, 1) map.set(b, 2) ma…

智能门锁为何选择ESP32-S3芯片?低功耗高性能方案,启明云端乐鑫代理商

在科技日新月异的今天&#xff0c;家庭安全不再仅仅依赖于传统的锁和钥匙。智能门锁&#xff0c;作为智能家居系统的前沿产品&#xff0c;正逐渐走进千家万户&#xff0c;成为家庭安全的高科技守护者。 智能门锁是一种利用现代科技手段&#xff0c;通过电子化、信息化技术改进…

Linux.之设备树DTS(device tree source)(一)

一、概述 Device Tree是一种描述硬件的数据结构&#xff0c;相比于旧架构它起源于 OpenFirmware (OF),在过去的ARM Linux中&#xff0c;arch/arm/plat-xxx和arch/arm/mach-xxx中充斥着大量的冗余代码&#xff0c;相当多数的代码只是在描述板级硬件细节&#xff0c;而这些不同的…

【二十】【QT开发应用】listwidget右键菜单和删除item

创建项目&#xff0c;添加资源文件 在项目文件夹中创建resources资源文件夹。 在vs中打开qrc文件&#xff0c;选择添加资源文件。 选择我们resources资源文件中的所有文件作为资源文件。 最后不要忘记点击保存。 向ListWidget控件添加item 右键菜单 在.h文件中添加QMenu头…

代码随想录算法训练营第五十九天 | Bellman_ford 算法精讲

目录 Bellman_ford 算法精讲 思路 什么叫做松弛 模拟过程 方法一&#xff1a; Bellman_ford算法 Bellman_ford 算法精讲 题目链接&#xff1a;卡码网&#xff1a;94. 城市间货物运输 I 文章讲解&#xff1a;代码随想录 某国为促进城市间经济交流&#xff0c;决定对货物运…

maya-vray渲染蒙版

要用一个叫vrayMulWrapper的材质球&#xff0c;把alpha Conterbution调到-1&#xff0c;勾选matte surface启用蒙版物体。

【C++题解】1406. 石头剪刀布?

欢迎关注本专栏《C从零基础到信奥赛入门级&#xff08;CSP-J&#xff09;》 问题&#xff1a;1406. 石头剪刀布&#xff1f; 类型&#xff1a;二维数组 题目描述&#xff1a; 石头剪刀布是常见的猜拳游戏。石头胜剪刀&#xff0c;剪刀胜布&#xff0c;布胜石头。如果两个人出…

数据库索引底层数据结构之B+树MySQL中的页索引分类【纯理论干货,面试必备】

目录 1、索引简介 1.1 什么是索引 1.2 使用索引的原因 2、索引中数据结构的设计 —— B树 2.1 哈希 2.2 二叉搜索树 2.3 B树 2.4 最终选择之——B树 2.4.1 B树与B树的对比(面向索引)【面试题】 3、MySQL中的页 3.1 页的使用原因 3.2 页的结构 3.2.1 页文件头和页文件…

Unity实战案例全解析:PVZ 植物卡片状态分析

Siki学院2023的PVZ免费了&#xff0c;学一下也坏 卡片状态 卡片可以有三种状态&#xff1a; 1.阳光足够&#xff0c;&#xff08;且cd好了可以种植&#xff09; 2.阳光不够&#xff0c;&#xff08;cd&#xff1f;好了&#xff1a;没好 &#xff08;三目运算符&#xff09;&…

Linux | 探索 Linux 信号机制:信号的产生和自定义捕捉

信号是 Linux 操作系统中非常重要的进程控制机制&#xff0c;用来异步通知进程发生某种事件。理解信号的产生、阻塞、递达、捕捉等概念&#xff0c;可以帮助开发者更好地编写健壮的应用程序&#xff0c;避免由于未处理的信号导致程序异常退出。本文将带你从基础概念开始&#x…

基于SpringBoot+Vue的牙科就诊管理系统(带1w+文档)

基于SpringBootVue的牙科就诊管理系统(带1w文档) 基于SpringBootVue的牙科就诊管理系统(带1w文档) 伴随着互联网发展&#xff0c;现今信息类型愈来愈多&#xff0c;信息量也非常大&#xff0c;那也是信息时代的缩影。近些年&#xff0c;电子元器件信息科学合理发展的趋势变的越…