大学学习C语言感觉很累?那是因为你没有掌握这几点

为什么很多人C语言学不下去 很多人在学习C语言的时候,觉得入门很简单,但是想深入学习就觉得很难,最后C语言还是处于入门状,最后转投其他语言。 为什么很多人C语言学不下去? 首先看什么叫学会C语言 如果只是简单的写出一些循环语句、字符处理等操作,或者按照一些示例代码完成一个跑马灯程序,那只能叫你了解这个语言。 真正的学会C语言,你要理解指针、内存、堆栈操作、链表操作,同时需要对操作系统有一定的理解,32位、64位操作系统,使用... 阅读详情

大学里面学编程为什么会感到很难,很累?在我看来无非以下几点:

(一)静心不静

1、静心。

学习的过程,是一个漫长而枯燥的过程,学习者必须要有吃苦耐劳的准备,静下心来,从大家的视觉中消失,经受一个长时间的编程学生过程。吃尽苦中苦,方成人上人!等你重新回到大家的视野时,你会有一个蜕变,那时一切的痛苦都将化为甘甜。

温瑞安先生有一部武侠小说,叫做《请借夫人一用》,我们这里也借用一下。当然不是借用别人的女朋友,而是了解一下主人翁的学习历程。主人翁韦青青青出场时浑然是一个高手,他把一千零一招的功夫柔和在一招之中,但是在其出场之前,江湖上没有人知道韦青青青这一号人物,因为他正在十年如一日的专心练功,正是这种练功时的不为人知,才造就了了日后的温瑞安小说高手。

不谈武侠,来个IT版的例子。在遥远的大洋彼岸,在微软的IE横行之前,在互联网刚刚起步之时,有一个叫做"网景"的浏览器占据了市场99%的份额,网景公司在当时的美国更是比易中天还如日中天。可是,大家知道这个"网景"浏览器是谁开发的吗?是一个学生,他在大学中不显山不漏水,别的同学每天考虑着泡MM,他却每天除了上课就是泡机房,是上也泡,下也泡,终于泡出了浏览器。

所以说,静下心来,无论其他同学在多么兴奋的展示他们的某某系统,他们的某某网站,既然你选择了学习C语言,那么以韦青青青为榜样吧,总有一天,你会一举成名天下知的。

2、不静

学习C语言,务必不可以急躁,务必一步一个脚印,此乃静心。但是,学习C语言,也不可以太过沉默,一个人呆在机房里闭门造车妄想着创造出某个绝世程序然后成为中国的比尔盖茨是不可能的。

学习靠自己,所以大部分时候我们需要自己思考、闭关修炼。但是一个人的力量终究是有限的,很多时候我们需要借助外力。比如不懂的地方咨询老师,不明白的地方可以与同学相互讨论等等,都是可以的。

有很多同学,学习时碰上困难,遇上了麻烦,于是自己冥思苦想--这是对的--还是得不到结果,于是故意回避不闻不问--这是自欺欺人。有同学说,那是因为无人可问,问老师,貌似大学老师总是神龙见头不见尾,根本找不到;问网络大虾,网络大虾们经常不在线,就算在线,面对洋洋洒洒的留言也视而不见,更别提回复了;问同学,别提了太丢面子!大家同学而已,为什么要问他,问他岂不是说明自己低人一等吗,不问!

其实,大学之中同学之间相互讨论是最可行的一种做法,毕竟一个王重阳没有时间指点全真七子,网络大虾比投名状中的兄弟还不可靠,所以除了自己多思考就是同学之间多讨论了。不要担心问问题会低人一等,老祖宗有一句话叫做"不耻下问",虽然你的水平比我低上一点点,但是,我不觉得向不如自己的问提问是耻辱。多好的阿Q精神啊,用这点!

只有静心,才可以更好的学到知识;只有不静心,才可以更快的学到知识。

(二)深入不深

1、深入

学好C语言,就一定不能浮躁,要深入的学习知识。

其实,以上的话就极其浮躁,极其不深入。谁不知道要深入学习啊,但是你的告诉大家,到底什么内容属于深入学习的内容。

其实,浮躁就是学习知识就是浮于表面,没有深入理解专业知识。表现在编程上就是只想编写一些所谓漂亮的、能够拿得出手的程序,而对于一些底层的支持程序置之不理。有兴趣和笔者一起交流学习c/c++编程的小伙伴去微信公众号:编程学习园发送“编程”二字获得学习资料。

有的同学喜欢编写一些漂亮的程序,比如设计漂亮的网页,使用某某工具开发某某'大型'系统等等,当然这都是人之常情。正如鲁迅先生所说,文章写出来总是希望拥有更多的读者,除非是写给恋人的。程序编出来,总是希望拥有更多用户,除非是专门为爱人开发的。但问题是,只编写这类程序是不够的,是有缺陷的。

这些所谓的程序,往往只需要对知识应用,并不需要刨根究底研究知识的本身,甚至有很多加入了很多相当专业的内容,并不适合于初学者学习。比如VC中的MFC就是一个典型的误导初学者的工具。利用MFC可以很方便的编写出DIAG界面程序或者视图文档程序,从表面上看风光无限,但对初学者却祸害无穷!假如使用VC学习C++,大部分时间将用于消息的处理,控件的处理,还要阅读大量的视图文档结构类库说明,这些操作将耗费了你大量的时间,得不偿失。而且VC++的大部分编程是在某些位置插入代码,至于C++部分系统自动实现了,留给你的是纯C语言操作。同学请注意,你学习的是C++,不是VC类库,也不是VC操作!

比如使用数据结构,就必须自己编写有关链表、队列和栈等内容,你是在学习,又不是工作,当然得用自己编写的东西呢。

又比如说C语言的内存分配函数,就是那个malloc和free.一般人直接调用就行了,但是计算机专业的学生不应该止步于此,而应该思考这两个函数的系统实现方法,并且编程序模拟内存分配和释放。设计这样的程序,不但可以增强动手能力,还可以加深对计算机知识的理解,一举多得,何乐而不为。

2、不深

深入学习C语言是极其应该的,但是大家也必须有所侧重,不能胡子眉毛一把抓,所有的东西统统深入,具体表现在两个方面:

其一、一些知识范围不可过于深入。

有一些知识,属于偏僻的内容,既不是基础,日后工作中也很难碰上,而且还极度困难,像这样的东西,了解即可,完全没有必要深入。比如说某同学心血来潮,要编写一个漂亮的输入法软件,于是苦心学习了有关输入法的所有知识,还妄图气死清华紫光,饿死搜狗拼音,于是仔细研究输入法的犄角旮旯。其实这些知识均相当偏僻,了解即可,完全没有必要打破沙锅问到底。

其二、一些界面或者不必要的功能不可过于深入。

大家编写的程序,往往伴随大量的交互式界面设计。事实上,编程有个二八原则,即编写80%的核心内容将耗费你20%的时间,而另外20%的功能将耗费你80%的时间。实际上,作为C语言学习,深入编写好那80%的核心功能就可以了,耗费80%的时间去深入完善那些20%的功能,得不偿失!

所以,练习用的程序,最好是一些基础的、底层的实现,不要有太多花俏的图像和交互式操作。当然也可以设计一些简单的具备图形界面的小游戏,但此时你应该将精力更多注重于游戏本身的设计,而不是游戏的画面风格和动画效果上。

学习C语言,有所为有所不为。

(三)枯燥不枯

1、枯燥

学海无涯苦作舟,学习当然是一个枯燥的过程。用语言设计程序,表面上程序漂漂亮亮风光无限,其实风光的背后是黑漆漆的屏幕和冗长的代码。程序员是把美丽献给别人,把枯燥留给自己的职业。

所以,学习C语言,就必须多设计一些枯燥的、无趣的实例。当flash程序员在展示图片时,C语言程序员要去学习空洞的0和1的图片格式;当Java程序员设计网站时,C程序员要去理解抽象的HTTP协议;当。net程序员使用对象托管时,C程序员总是要考虑内存的申请与释放;当C++程序员在欢乐的使用STL库时,C程序员必须自己搭建所有的数据结构。

在C语言的学习路上,绝对没有学习其他语言那么多鲜花,这是每一个C语言爱好者必须接受的事实。

2、不枯

其实,人都是需要动力的,凭什么别的程序员可以通过漂亮的程序享受MM的崇敬和同学的赞叹,而C语言程序员就只能在0和1的世界中与电脑沟通。其实,学习C语言的过程完全可以是快乐的。

大家在基础内容了解的差不多时,完全可以循序渐进设计一些简单的趣味游戏程序,从贪吃蛇到俄罗斯方块,从搞怪碰碰球到连连看,从扫雷到雷电,甚至还可以是植物大战僵尸和愤怒的小鸟,编写一些在界面上简化的趣味游戏程序来,同意可以激起自己的兴趣并获取老师、同学尤其是MM的阵阵掌声。枯燥,是因为学习并非玩耍。不枯,是因为要像玩耍一样的学习。

看完了吗?看完就继续学习好C语言吧!

【从零开始学产品经理】项目立项实战(1)——基本方案与可行性分析:基于微信小程序的记账本 主要阶段:立项-设计-开发-测试-上线-运营-总结。 阅读详情

相关推荐

保姆级教程:用GROMACS 2022.4的拉伸模拟(SMD)加速蛋白-蛋白组装过程

本文详细介绍了如何使用GROMACS 2022.4的拉伸分子动力学模拟(SMD)技术加速大蛋白组装过程。通过CHARMM36力场和SMD技术,将传统需要数月的蛋白结合过程缩短至数天,大幅提升模拟效率。文章包含参数设计、索引组创建、周期性边界处理等实战技巧,并提供了完整的GPU加速工作流和常见问题解决方案。

weixin_30338481的博客 445

为什么这么多人学不会C语言?坚持不下去的理由有3点!

很多人觉得用C语言作为入门语言觉得太难了,里面还有指针,回调,递归之类的操作太难了。为什么这么多人觉得C语言难?笔者根据从业十几年的经验尝试着分析一下。 第一 C语言是距离硬件非常近的语言,特别是和内存关联很近,主要还是指针的存在 很多人说到指针就头大,指针就是一把双刃剑,能够很好的解决逻辑问题,但指针一旦出现问题,找个问题都很费劲,底层语言直接崩溃对应的查找工具还不多,很多还得靠代码解...

HUYA69的博客 2098

Claude Skills 深度讲解

阶段 1:Function Call(2023)├─ 大模型可以调用外部工具├─ 问题:缺乏对任务的深度理解└─ 局限:工具调用简单线性阶段 2:MCP 上下文工程(2024)├─ 大模型有了更丰富的上下文和工具├─ 问题:仍然需要手动编写复杂的 Prompt└─ 局限:每次对话都需要重新加载上下文阶段 3:Claude Skills(2025)├─ 大模型有了「能力模块」的概念├─ 可以动态加载、组合、执行专门的工作流├─ 真正实现了「知识的模块化和复用」

u013134676的博客 1464

为什么C语言很难?

赵岩 http://zhaoyan.website 前两天,有个学校要给高中生开一门编程的课,大家讨论用什么编程语言授课,大部分人推荐用JAVA, 一部分说用Python,但是几乎所有的人都说:C语言太难了! 作为《C语言点滴》的作者,《C语言新思维》译者,这种语言坑我一般都绕开的,因为无论我说什么,没私心也显得有私心。但是“C语言太难”这句话太扎心,搞得我有点伤心。(文章排比对账,我只服自己!)我决定站出来为C语言说两句公道话!首先我个人必须承认,大家认为的都没错,相比较另外两种语言,C语言确实是最难

zhaoyan_rock的专栏 5875

STM32 (基于HAL库) 硬件IIC任意地址读写任意字节----AT24CXX芯片

转了一圈,发现有关STM32的iic的硬件是使用比较少,基于HAL库的就更少,传统的,大家都是采用软件模拟的。有iic的协议相对复杂,同时灵活,尤其是不同的设备的I2C通信组合变化也不同,使用灵活的软件模拟也是可以理解的,在加上I2C的设备读写速度都比较低,硬件读写的优势就更无法体现,哪怕硬件I2C可以开启DMA,甚至在随机的读取少量字节的情况下。开启DMA反而效果更差。自然而然的硬件I2C就无人问津了。

qq_32273059的博客 1579

阿里巴巴达摩院人工智能训练师(高级)

阿里巴巴达摩院人工智能训练师(高级)

huang0612123的博客 1万+

C语言入门指南:为大一新生准备

学习C语言的过程中,最重要的是不断实践,写代码。你可以从简单的程序开始,比如实现一个计算器、编写一些简单的算法,如排序算法等。在学习C语言的过程中,遇到问题时一定要多查阅资料,多向老师和同学请教。掌握C语言将为你未来学习其他编程语言打下坚实的基础。祝你编程之路顺利!

m0_52796585的博客 2492

当几何失效时:3D激光SLAM退化场景的本质与应对策略

本文探讨了3D激光SLAM在退化场景(如长廊、隧道等)中的挑战与解决方案。文章从数学角度分析了退化原因,指出信息矩阵秩亏导致某些方向约束缺失。主流算法采用不同策略应对:LeGO-LOAM利用地面约束与解耦优化;LIO-SAM/LVI-SAM通过多传感器融合补偿;FAST-LIO系列依赖IMU短期积分。新兴的RID-LIO方案创新性地利用激光强度信息增强约束,实验显示精度提升63.59%。研究表明,针对不同退化方向需要采用特异性补偿策略,而挖掘现有传感器的潜在信息维度是提升鲁棒性的有效途径。

Studying…… 617

学习c语言的困难,刚刚学习C语言,遇到困难了......

刚刚学习C语言,遇到困难了......答案:4信息版本:手机版解决时间 2019-10-03 17:30已解决2019-10-03 01:58我看别人写的程序可以看懂可是到自己写的时候 一点思路也没有怎么办呢????????????最佳答案2019-10-03 03:31刚开始是会很迷茫别只看要多写把例题全都自己写写跑跑慢慢就会好的全部回答1楼2019-10-03 05:55先写小程序,日集...

weixin_35749545的博客 397

Python爬虫实战:美团商家数据采集系统

本文将详细介绍如何使用Python最新技术栈构建高效的美团商家信息采集系统。内容涵盖异步爬虫、反爬对抗、数据存储、可视化分析等完整流程,提供可落地的代码方案和工程实践。

2201_76125261的博客 2658

Unreal从入门到精通之 UE4 vs UE5 VR性能优化实战

这篇文章分享了UE5 VR项目的性能优化经验。作者通过对比UE4和UE5的VR模板性能,发现UE5默认帧率只有45FPS,远低于UE4的100FPS。主要性能瓶颈来自Lumen全局光照、虚拟阴影贴图等新特性。文章详细列出了12项关键优化设置,包括禁用Lumen、关闭虚拟阴影、使用前向渲染等,并分析了各项调整对性能的影响程度。特别指出删除默认的VolumetricCloud可立即提升5帧。最后建议根据场景需求平衡画质与性能,对于高帧率要求的VR项目,可能需要谨慎使用UE5或关闭其部分高级渲染功能。

TxNet 1380

写给在校学习编程的计算机专业大学生的话

今天看到一个在校大一的同学的帖子:转帖如下: 我大一这一年     http://topic.youkuaiyun.com/u/20120802/13/e7f6638f-e82c-4381-a89b-a0d3b24de0d8.html     ....    大一下的假期自学大二上的数据结构一部分,看得我有点小晕。又继续强化c和c++。    因为学校是二加二所以课程比其他院校快半年,大二的

wu4long的专栏 1441

066、AR 应用中虚拟物体漂移抖动?IMU 融合 + 光流追踪的视觉里程计优化方案

AR应用中虚拟物体漂移抖动优化方案 摘要:针对AR应用中虚拟物体漂移抖动问题,提出一种IMU融合与光流追踪的视觉里程计优化方案。关键点包括:1) 采用IMU预积分技术处理高频噪声,通过中值积分计算帧间相对运动约束;2) 使用金字塔LK光流追踪像素运动,通过中值偏差法剔除异常值;3) 构建10帧滑动窗口的紧耦合优化框架,将IMU预积分约束和光流重投影约束联合优化。实验表明,该方法有效解决了时间戳未对齐导致的"跳舞箭头"现象,在手机端实现稳定30fps的AR定位精度,漂移误差降低至厘米级。特别提醒:IMU与视觉

ai技术增长的博客 161

初学者值得一看:什么是编程/C语言,编程学习建议,编程解疑与误区注意

我们通过有固定格式和固定词汇的“语言”来控制他人,让他人为我们做事情。语言有很多种,包括汉语、英语、法语、韩语等,虽然他们的词汇和格式都不一样,但是可以达到同样的目的,我们可以选择任意一种语言去控制他人。 同样,我们也可以通过”语言“来控制计算机,让计算机为我们做事情,这样的语言就叫做编程语言(Programming Language)。

是谢添啊 3366

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

我很累,但我会坚持

我很累,但我会坚持 我不知道当时选择这个专业——软件工程,是怎么想,或许是迫不得已,又或许没得选择。 但既然选择了这个专业那就要把它学好,不管怎么样,大学四年就是它了,很同学一听到我学这个专业,都觉得特别高档霸气,说什么高薪专业。我只想说,什么专业学得好,都是高薪专业,问题是自己有没有去努力,付出不一定有收获,但不努力永远不会有收获。 说说我的大一是怎么过来的吧!!! 一开始,什么都不懂,

memory_cood的博客 726

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

猿创征文|我的C/C++技术成长之路

在C/C++学习之路上的一次小总结,也为自己的人生画上了四分之一个句号

做技术人 · 产优质博客 · 找好工作 1万+

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

一个人的路,很累!

有时感觉时间过的太快了,对过去的记忆好像还不是很多,大学的生活马上就要结束了,马上就大四了,很郁闷,班里总共47个人,考研的三十多个,女生更几乎都是全上了,其实想想我的大学生活,过的挺窝囊的,还挂了几课,首先声明一下,本人在一个非常一般的二本学校里,而且还是一个医学院校,我们的专业,可能就是我们学校为达到某种目的而设立的一个附属品,而我们就成了这个附属品的牺牲品。大一是怎么过来的,我都没有...

weixin_30338461的博客 94

@大学生,送给步入大学生活的你,高速学编程。

大学生怎样学习编程,学哪个编程语言好? 上大学后学哪门编程语言好?大学生学哪个编程语言好就业?学哪个编程语言工资高?新手如何自学编程?哪个编程语言开发的软件多?大公司都招聘哪些编程语言人才? 相信很多学编程的大学生,或想学编程的零基础小白都想知道上面的那些问题。毕竟在很多人眼中,程序员的工资很高,都想得到一份高工资的工作,而且在他们眼里,程序员都是一些很高大上,很酷的人,然而,程序员其实也...

CodingPs的博客 364

大学的近期coding之旅及随笔

随着上了大学,系统学习了操作系统、计算机组成等底层逻辑,在CTF比赛中查看文件反汇编后的结构抑或是MISC的脑洞大开、PWN的二进制旅程,都让作为萌新的我大开眼界,也终于get到了“山外有山,人外有人”。在打CTF的过程中,我发现自己实在是太渺小了,感觉就是井底之蛙,要学的东西实在是太多了。现在C语言基本学完,也初步了解STL,数据结构等,在CTF比赛中边刷边学学到的各个领域的零碎知识,感觉之前学的其实只是冰山一角,感觉就是通往计算机领域的🚄才刚刚出站,美得令人窒息的风景还远在路上,等着我们去探索。

m0_57882332的博客 548

代C语言上机实践

  这已经是开学第十二周了,个人感觉严老师教的这批学生效果不是很好,有的竟然毫不知道main函数前边的 int是做什么的。只知按照书本上给的样例程序一个字一个字的敲到编译器中,然后点击运行。有错误也不知道为什么,只知检查是否自己敲错了。更有甚者不懂就不懂在那里堂而皇之的聊Q逛网页。   回想我大一学C的时候,开始也是十分陌生的。大概是到了第三章讲数据类型的时候,呆呆的在11教105自习...

weixin_30292745的博客 82

【小白】【大学】一名嵌入式软件开发小白的单片机学习历程、心路历程、经验分享

我的嵌入式学习之路我为什么写这篇文章先简单介绍一下我自己与每一个技术小白共勉这篇文章写给谁我的学习经验分享我的成长之路我的单片机学习历程分享51系列单片机学习历程预备知识:(可以查百度)正式学习路径STM32系列单片机学习历程预备知识:(可以查百度)正式学习路径结束语 我为什么写这篇文章 先简单介绍一下我自己   本人就读于山东一普通高校,上个月从自己一手创办的创客社团退位,即将毕业,9月26号拿...

万里晴空 5976

限号判断c语言程序设计教程课后答案,专业c语言

2019年09月10日,贵阳优程少儿编程商讯!贵阳市优质c语言报名地址,毕业于华东师范大学软件系的袁哲栋,一直有一股强烈的想法:在发达国家,少儿编程早不是什么新兴物种,中小学编程课也已普及,为什么国内的孩子不能接受到优质的编程教育呢。这也就是为什么我说要先学C语言,再考虑C++或Java还是Python还是PHP的原因。学习汇编、C语言和C++是属于修炼编程内功心法,学习JAVA,PHP,C#,Q...

weixin_30824391的博客 246

关于数据结构学习方法

在网上搜集到的数据结构学习方法,请同学们参考。   谈数据结构学习方法(转帖) 我在这里只是谈谈自己的学习体会现在咱们学的的数据结构是C++版本的 所以C++的一些基础知识应该先看会 尤其是指针那一部分 很多人对指针只是一知半解 由于一直对指针概念太模糊 一些关于指针方面的东西就很难搞清楚。 数据结构,其实不管是C语言版的还是C++版的,指针都是其中要用到的最核心的知识,在开始已经表现出来

liupeng900605的专栏 1万+

2020美赛C题:python实现npl自然语言处理记录

2020美赛C题:pyhton实现npl自然语言处理记录前言文本预处理LDA主题分析加可视化多进程程序需写进main函数可视化NLTK情感分析制作语料包情感积极性量化一些收获python查错美赛感悟 前言 此次2020美赛一共4天,最后一天通宵完成论文,总算在早上九点钟之前完成了代码。以下是简单记录我在完成代码时遇到的一些困难和解决办法 文本预处理 参考代码: 主要参考代码 使用nltk对文本进行...

guagua_M的博客 2590

c语言和python有什么关系,c语言与python的区别大吗

有时会很累,但更多的感觉是我在成长,我在有意义地成长,在这之后,我明显地发现自己变开朗了,虽然我自己的力量不足以改变一些东西,但如果整个社会共同努力,这才是动力之根本,动力之源泉,使国家繁荣富强的途径,提高国民素质的实践活动。另一方面,我意识到了自己的不足,没有经验,没有与人交流交往的能力,有些东西以前没有尝试过,难免会出差错,如果我还这样的话,以后很有可能在社会上没有立足之地,现在的社会不仅要有知识,还要拥有一些应辨能力等综合素质,只靠在学校汲取知识,远远不够,从现在开始,就要培养自己的能力。

2401_85422942的博客 488

一个程序员送给大学生的一些话

前言: 大学是很关键的时刻,可以说决定了你日后人生的方向。 起点也许很低: 初高中自己成绩并不好,早早地恶性循环也丧失了兴趣,但也不是差的没底,到高中都是读的县城里最好的学校,高考没考上本科。自己选择了一个专科学校,因为自愿填报的失误,可能选了一个各方面最差的学校,怎么个差法呢?学校还没高中大,只有几十亩,学生只有几百人,都是200分左右的,而我当年高考是400多分。高中同班女朋友...

CodingPs的博客 522
上一篇: 为什么C语言还是被很多人说成过时了?
下一篇: 大学生学C语言的理由是什么
CodingPs
博客等级 码龄7年 182粉丝 253原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值