C语言有必要学的很深入细致吗?

news2025/1/17 14:01:56

c语言作为一门高级语言来说,它本身的知识点是很少的,很容易掌握,它没有诸如『类,接口,继承,多态,分派,模板』等等唬人的概念,当然不是说你不能通过c实现这些概念而是这个语言本身没有那么多花活。所以掌握c语言语法可以说是比较简单的。的确可讲的不多。

但是,less is more,少即是多。即便熟练掌握c语言的语法,你也几乎干不了活,由于基础设施的缺乏,标准容器的缺少,各种标准碎片化严重,很多东西你要自己撸,俗称『造轮子』,这就对你数据结构和算法上面的要求比较高了。掌握这些东西可能比单纯掌握c语言要复杂不少,当我们在讨论c语言学习的时候,默认就包括了数据结构和算法的学习,这也是为什么说c语言难的缘由。

大学还是有必要深入去学习数据结构和算法的,毕竟这是培养『编程思维』很重要的一个环节,就算你以后不会用c语言,这些编程思维仍然是你最大的助益之一。

那么对C语言的学习要掌握到什么程度呢?

个人认为分为如下几方面:

  • 考试:尽量得高分,一方面是促进对基础知识的理解,另一方面对奖学金或以后保研都有好处。
  • 基础知识:重点知识点需要掌握扎实。
  • 实践:计算机是一门实践性非常强的学科,必须加强实践,重点投入。学语言,一定要动手写代码,灵活运用,理论结合实践。

 

在学习基础的时候,除了听老师讲,还要多练习。

可以动手去实现书本上的习题,亲自去写代码,去debug,把程序run起来。

关于编译器,常见的有如下几种:

  • Visual Studio。WIndows环境首选,有点庞大;
  • Dev C++。Dev C++ 是一款免费开源的 C/C++ IDE,内嵌 GCC 编译器(Linux GCC 编译器的 Windows 移植版),是 NOI、NOIP 等比赛的指定工具。Dev C++ 的优点是体积小(只有几十兆)、安装卸载方便、学习成本低,缺点是调试功能弱。

基础这块,核心的基础知识掌握并会初步运用,其实就可以开始做一些mini的项目了,在实践中学习更有体感,理解更深刻。

并不建议大家在理论基础上花太多时间,毕竟计算机是时间性强的学科,必须多动手,多实践

在做项目的过程中,大家还要掌握良好的编码习惯,这里挑选了业内比较推崇的2个编码规范:

  • 华为C语言编码规范
  • Google C++ Stype

另外,学习计算机一定不要想着速成,没有什么捷径和超能力。要下苦功夫去啃那些经典书和源码,然后自己动手写,所有技术大佬都是一行行代码敲,一本本书啃出来的。

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

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

相关文章

【R语言】计算信息份额模型 - Computes information share component share weights

INTRO 最近又重新开始做一些价格发现相关的研究,目前针对不同市场的同种标的之间价格发现作用的度量,大多采用Hasbrouk(1995)开发的基于VECM的信息份额模型,通过计算IS指标和CS指标来度量信息份额和价格发现的贡献程度…

【MySQL自学之路】第2天——关系代数计算【理论知识】

目录 前言 基础名词 关系 候选码 关系运算 传统的集合计算(二目运算) 样例表创建【SQL】 专门的关系运算 后记 销毁已经创建的表 前言 在上一节我们提到了关系型数据库和非关系型数据库之间的关系,我们主要以MySQL关系型数据库为主…

11月更新 | Visual Studio Code Python

我们很高兴地宣布,2022年11月发布的适用于 Visual Studio Code Python 和 Jupyter 扩展现已推出! 此版本包括以下改进: 迁移 isort 扩展 Pylance 默认关闭自动导入 Pylint 和 flake8 扩展 用于笔记本单元调试的“Just My Code” 如果您有…

STL常用排序算法、替换算法、拷贝算法(20221207)

STL的常用算法 概述&#xff1a; 算法主要是由头文件<algorithm> <functional> <numeric> 组成。 <algorithm>是所有STL头文件中最大的一个&#xff0c;涉及比较、交换、查找、遍历等等&#xff1b; <functional>定义了一些模板类&#xff0…

《Linux运维实战:Centos7.6一键离线部署mongodb4.2.23副本集群》

一、部署背景 由于业务系统的特殊性&#xff0c;我们需要面向不通的客户安装我们的业务系统&#xff0c;而作为基础组件中的mongodb针对不同的客户环境需要多次部署&#xff0c;作为一个运维工程师&#xff0c;提升工作效率也是工作中的重要一环。所以我觉得有必要针对mongodb4…

window+deepin双系统安装

说明 参考教程&#xff1a;https://baijiahao.baidu.com/s?id1662960328855347503 特别注意&#xff0c;最好用最新的PE工具&#xff0c;我用的 微PE。因为我弄过一次全盘安装&#xff0c;导致整个硬盘在PE工具中的diskgenius无法识别&#xff0c;最终为U盘安装最新版PE工具后…

中国唯一代表!阿里第三次当选Java全球管理组织最高管理席位

12月7日消息&#xff0c;近日&#xff0c;Java全球管理组织JCP披露了最高执行委员会&#xff08;JCP-EC&#xff09;新成员名单&#xff0c;作为唯一中国代表&#xff0c;阿里巴巴再次连任&#xff0c;任期两年。这是阿里连续三次入选JCP最高管理席位&#xff0c;代表着中国技术…

SpringBoot全局异常@ExceptionHandler无法精确匹配问题分析

这个是我的全局异常处理类&#xff0c;以new ThirdException&#xff08;JSON.toJSONString(obj)&#xff09;形式抛出了这个自定义异常&#xff0c;不管从最底层的方法抛出上层不抛&#xff0c;还是从controller的入口开始都抛出&#xff0c;均无法精确匹配。下面分别是自定义…

云原生底座之上,企业如何借力领跑数字化转型?

导语 | 随着数字化转型的加速&#xff0c;越来越多企业选择“乘云而上”&#xff0c;把云战略提升到了全新的高度&#xff0c;并逐步朝着多云架构加速演进。云原生架构的持续迭代&#xff0c;使得云原生技术的应用层出不穷&#xff0c;无论是互联网公司&#xff0c;还是银行、政…

阿里高工熬夜18天码出Java150K字面试宝典,却遭Github全面封杀

大家都知道&#xff0c;现在的Java面试是越来越难了&#xff01;主要原因无非是两个&#xff1a; 随着Java这个行业的兴起&#xff0c;不管是在家待业的、对自己现在工作不满意的、大学选错专业的、缺钱的、想自己学的等等这些人绝大部分都是选择了去学习Java&#xff01;大量人…

(附源码)SSM驾校考试车预约管理系统 毕业设计

SSM驾校考试车预约管理系统 摘 要 科技进步的飞速发展引起人们日常生活的巨大变化&#xff0c;电子信息技术的飞速发展使得电子信息技术的各个领域的应用水平得到普及和应用。信息时代的到来已成为不可阻挡的时尚潮流&#xff0c;人类发展的历史正进入一个新时代。在现实运用中…

数据库主从复制,读写分离,分库分表理解 (数据库架构演变)

主从复制 主从复制, 主要是针对MySQL数据库的高可用性, 容灾性上面. 是叫做高可用性? 高可用性可以简单的理解为容灾性, 稳定性, 针对故障&#xff0c;风险情况下的处理, 备案, 策略. 指系统无中断地执行其功能的能力&#xff0c;代表系统的可用性程度 高可用性通常…

FFmpeg手撕视频(Android端)

前言 FFmpeg是非常强大的音视频处理工具&#xff0c;我们可以使用它来处理视频合成、剪辑、加特效等等操作。 官方文档至上 FFmpeg的官方文档 FFmpeg的官方文档命令真的是太多太多&#xff0c;而且都是英文&#xff0c;感觉精通完这些命令&#xff0c;都够学一门新语言了&#…

SpringSecurity实现登录和自定义权限认证

介绍 Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean&#xff0c;充分利用了Spring IoC&#xff0c;DI和AOP&#xff08;面向切面编程&#xff09;功能&#xff0c;为应用系…

怎么看l2接口十档行情?

怎么看l2接口十档行情&#xff1f;打开任意个股&#xff0c;在盘口即可查看买一至买十&#xff0c;卖一至卖十。Level行情1只能看五档报价&#xff0c;但是五档报价看起来很平静&#xff0c;但是主力很可能会在五档报价之外悄悄布局。使用Level2接口&#xff0c;你可以看到10档…

python制作刮刮乐惊喜揭秘呀~【趣味代码】

前言 大家早好、午好、晚好吖 ❤ ~ 在今天&#xff0c;在我百般无聊的时候&#xff0c;突然发现一存货 于是&#xff0c;我把从犄角旮旯里翻出来的代码一运行 嘿&#xff0c;真不错~那在这里就分享给大家 素材 首先我们准备一些图片以及一首下载好的音乐&#xff08;游戏音…

C++ 数学与算法系列之认识格雷码

1. 前言 程序中所涉及到的任何数据&#xff0c;计算机底层均需转换成二进制数值后方可存储&#xff0c;这个过程也称为编码。反之&#xff0c;把底层二进制数据转换成应用数据称为解码&#xff0c; 不同的数据类型需要不同的编&#xff08;解&#xff09;码方案&#xff0c;如…

论文投稿指南——中国(中文EI)期刊推荐(第2期)

&#x1f680; EI是国际知名三大检索系统之一&#xff0c;在学术界的知名度和认可度仅次于SCI&#xff01;&#x1f384;&#x1f388; 【前言】 想发论文怎么办&#xff1f;手把手教你论文如何投稿&#xff01;那么&#xff0c;首先要搞懂投稿目标——论文期刊。其中&#xf…

基于jsp+ssm闲置图书分享平台系统-计算机毕业设计

项目介绍 本闲置图书管理系统主要包括系统图书交换模块、图书分享管理模块、图书借阅管理模块、新闻公告管理模块、图书类别管理、图书信息管理、登录模块、和退出模块等多个模块,采用目前最流行的B/S结构和java中流行的MVC三层设计模式和eclipse编辑器、MySQL 数据库设计并实…

代码提速100倍,怎么实现的?

众所周知&#xff0c;Python的简单和易读性是靠牺牲性能为代价的 尤其是在计算密集的情况下&#xff0c;比如多重for循环。不过现在&#xff0c;大佬胡渊鸣说了&#xff1a; 只需import 一个叫做“Taichi”的库&#xff0c;就可以把代码速度提升100倍&#xff01; 不信&…