c语言总结(解题方法)

项目前期处理:

        1.首先需要确定项目的背景知识,即主要的难点知识,如指针,数组,结构体,以检索自己是否对项目所需的背景知识足够了解。

        2.确定问题实现方法,即题目本身的实现方法,在c语言中,无论多么复杂的问题,实现方法只有列举,循环,选择,字符串几类。

        3.预判项目主要步骤,让自己的编程变得有目的性,用不同的步骤解决不同的问题部分

项目编写

        1.化简!编程的主要思想,将问题的实现手段尽量化简,在题目不做要求的情况下,尽量不要使用函数(涉及形参实参,报错会很麻烦),指针(能使用循环加数组或者循环加字符串代替就尽量代替,野指针和空指针难以辨别和纠错,指针越界也会造成严重后果),结构体(能用变量解决的都不要使用结构体,虽然编写会比较费时但纠错很简单)

        2.注释:很烦,但当你的代码达到几百行的时候必须写注释,要不然你真的会忘的!

        3.书面逻辑:当逻辑实现比较复杂的时候,我们很难直接在脑中直接解决逻辑过程,所以一定要在纸上复现思路

项目纠错

        1.常用方法:调试(监视等,但但凡涉及输入的时候调试将变得不稳定,不推荐在赶时间的时候使用)

        2.标记法:在运行的时候,程序突然出错了,屏幕上什么都没输出那么是哪里错了呢?将主要函数,主要循环,主要数组等加入打印语句,再运行你就会发现问题所在的区域,再重复操作锁定问题语句。

        3.千里伏线:为什么项目的结果奇奇怪怪的,难道某个本应该是常量的值在某步被改变了?还是全局变量太多了?再看看。

项目重构

        1.当你尝试纠错后发现问题但无从下手时,只有一种情况:你的某些错误是超出你的认知的,或者你对于项目整体的逻辑或者对项目的主体知识是完全混乱的!

        2.如果是前者,请去csdn上看看你到底出了什么问题(代码整体复制不可取,要不然在项目后期你对于这块代码的内容是完全陌生的)

        3.如果是后者,请重新自学内容或者重新整体构造项目逻辑!千万不要在哪里跌倒在哪里爬起来,笔者亲身经历,即使这部分改对了,前面所遗留的问题也难以解决,因为在学习后你也对原来的错误逻辑或者错误认知没有印象了,与其长时间无从下手,不如壮士断腕直接重构。

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

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

相关文章

GoLong的学习之路,进阶,Redis

这个redis和上篇rabbitMQ一样,在之前我用Java从原理上进行了剖析,这里呢,我做项目的时候,也需要用到redis,所以这里也将去从怎么用的角度去写这篇文章。 文章目录 安装redis以及原理redis概念redis的应用场景有很多red…

【开源】基于Vue+SpringBoot的创意工坊双创管理系统

项目编号: S 049 ,文末获取源码。 \color{red}{项目编号:S049,文末获取源码。} 项目编号:S049,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 管理员端2.2 Web 端2.3 移动端 三、…

nodejs 沙盒逃逸

1.[GFCTF 2021]ez_calc 一道很有意思的一道nodejs的题 沙箱逃逸和绕过: F12 看源码 if(req.body.username.toLowerCase() ! admin && req.body.username.toUpperCase() ADMIN && req.body.passwd admin123){ // 登录成功&am…

如何关闭vue项目中的[eslint]校验

要关闭Vue项目中的ESLint校验,可以按照以下步骤进行操作: 打开项目根目录下的.eslintrc.js文件(如果没有该文件,则创建一个新的)。在文件中添加以下代码:module.exports {// 其他配置项...rules: {// 禁用…

Qt MVC示例 simpletreemodel 树模型

Qt MVC示例 simpletreemodel 树模型 从文本中读取树模型数据&#xff0c;缩进代表子项 TreeItem 表示一行字符串数据 treeitem.h #ifndef TREEITEM_H #define TREEITEM_H#include <QList> #include <QVariant>//! [0] class TreeItem { public:explicit Tree…

聚焦清晰度评价指标所用到的各种算法

首先&#xff0c;我想吐槽一下&#xff0c;看了好几篇聚焦评价函数的文章&#xff0c;说到底都是一篇文章转载或者重复上传&#xff0c;介绍了将近 15 种清晰度的算法&#xff0c;原文找了半天都没找到在哪&#xff0c;最多也仅能找到一些比较早的转载。 无参考图像的清晰度评…

习题3-5 三角形判断

习题3-5 三角形判断 给定平面上任意三个点的坐标(x1​,y1​)、(x2​,y2​)、(x3​,y3​)&#xff0c;检验它们能否构成三角形。 输入格式: 输入在一行中顺序给出六个[−100,100]范围内的数字&#xff0c;即三个点的坐标x1​、y1​、x2​、y2​、x3​、y3​。 输出格式: 若这3个…

压缩字符串II

null备战技术面试&#xff1f;力扣提供海量技术面试资源&#xff0c;帮助你高效提升编程技能&#xff0c;轻松拿下世界 IT 名企 Dream Offer。https://leetcode.cn/problems/string-compression/description/ 给你一个字符数组 chars &#xff0c;请使用下述算法压缩&#xff…

Moonbeam生态项目分析 — — 去中心化交易所Beamswap

流动性激励计划Moonbeam Ignite是帮助用户轻松愉快体验Moonbeam生态的趣味活动。在Moonbeam跨链连接的推动下&#xff0c;DeFi的各种可能性在这里爆发。DeFi或许不热门&#xff0c;但总有机会捡漏&#xff0c;了解Monbeam生态项目&#xff0c;我们邀请Moonbeam大使分享他们的研…

数学 --笔试、面试高频

数学 排列组合 10个相同的糖果&#xff0c;分给三个人&#xff0c;每个人至少要得一个。有()种不同分法 10个糖果&#xff0c;中间正好9个空挡&#xff0c;从这9个空挡中任意取出2个作为分割点&#xff0c;正好能把糖果分为3份&#xff0c;并且保证每一份中至少有一个糖果。…

动手学深度学习(五)---模型选择、过拟合、欠拟合

文章目录 一、理论知识1.训练误差和泛化误差 【相关总结】 一、理论知识 1.训练误差和泛化误差 训练误差&#xff1a;模型在训练数据上的误差泛化误差&#xff1a;模型在新数据上的误差 ex:根据摸底考试成绩来预测未来考试分数在过去的考试中表现很好&#xff08;训练误差&am…

【教程】 一文部署配置并入门 Redis

综述 什么是Redis Redis官网——Redis.io Redis, 作为一个高性能的键值对数据库&#xff0c;主要应用于以下场景&#xff1a; 缓存系统&#xff1a;由于其高速读写能力&#xff0c;Redis 非常适合用作缓存系统&#xff0c;减少数据库负载。 会话存储&#xff08;Session St…

【九日集训】第五天:排序

今天主要学习了C语言中的排序API,Qsort()本质上还是使用快速排序实现的; 具体使用方法:qsort(待排序数组, 数组长度, 每个元素字节长 sizeof(int), 比较函数) 比较函数 比较函数决定当前排序是升序还是降序,传入两个参数,返回1则交换,-1和0则不交换 一般使用方法 int cmp(…

在Spring Boot中使用不同的日志

前言&#xff0c;本篇就是介绍在Java中使用相关的日志&#xff0c;适合初学者看&#xff0c;如果对这篇不感兴趣的可以移步了&#xff0c;本篇主要围绕我们Java中的几种日志类型&#xff0c;也说不上有多深入&#xff0c;算的上浅入浅出吧&#xff0c;如果你有一段时间的开发经…

单片机_RTOS_架构

一. RTOS的概念 // 经典单片机程序 void main() {while (1){喂一口饭();回一个信息();} } ------------------------------------------------------ // RTOS程序 喂饭() {while (1){喂一口饭();} }回信息() {while (1){回一个信息();} }void main() {create_task(喂饭);cr…

OpenHarmony 4.0 Release 编译及报错

1、环境准备 安装下面这三东西&#xff0c;是为了下载 Harmony 源码 sudo apt install curl sudo apt install python3-pip sudo apt install git-lfs 安装下面这五个东西&#xff0c;是为了解决编译到最后报错(头铁不信的&#xff0c;你可以试试&#xff0c;等最后再安装) …

opencv常用函数表

函数名功能说明cv2.imread()读取图像文件cv2.imshow()显示图像窗口cv2.imwrite()保存图像文件cv2.cvtColor()颜色空间转换cv2.resize()图像缩放cv2.flip()图像翻转cv2.rectangle()绘制矩形cv2.circle()绘制圆形cv2.line()绘制直线cv2.putText()绘制文本cv2.bitwise_and()与操作…

【Hadoop】集群资源管理器 YARN

一、yarn 简介 Apache YARN (Yet Another Resource Negotiator) 是 hadoop 2.x 引入的分布式资源管理系统。主要用于解决 hadoop 1.x 架构中集群资源管理和数据计算耦合在一起&#xff0c;导致维护成本越来越高的问题。 yarn主要负责管理集群中的CPU和内存 用户可以将各种服…

linux 中断管理机制

中断的概念 中断是指在CPU正常运行期间&#xff0c;由于内外部事件或由程序预先安排的事件引起的 CPU 暂时停止正在运行的程序&#xff0c;转而为该内部或外部事件或预先安排的事件服务的程序中去&#xff0c;服务完毕后再返回去继续运行被暂时中断的程序。Linux中通常分为外部…

yolov1网络结构说明

文章目录 一. 网络结构二. 网络说明1. 网络的输入2. 网络的输出(1) 5 5表示:每个网格使用两个先验框进行预测。(2) “5”表示&#xff1a;每个先验框包含的预测信息的数量。(3) 20表示&#xff1a;20个分类预测值(4) 每个网格能预测几个目标&#xff1f; 一. 网络结构 论文下…