发布时间:2023-02-03 17:30
目录
0.前言
1.关于博主
✨2.C生万物
✨2.1什么是C语言?
✨2.2为什么要学习C语言?
✨2.3学习C语言需要扎实英语基础吗?
3.C语言学习入门建议
3.1计算机学习路线
3.2初学者易踩的五大雷区
3.3养成自学的习惯
3.4敢试,敢错,敢问
4.学习资源分享
4.1C语言书籍推荐
4.2网课资源推荐
4.3超实用工具Gitee
4.4小白的福音——CSDN
4.5电子笔记与思维导图软件推荐
5.集成开发环境IDE的选择
5.1什么是集成开发环境?
5.2适合初学者的“宇宙级”集成开发环境VS
6.第一个C语言程序——Hello World
7.结语
小伙伴们大家好!小编结合自己初学C语言的经验,为各位0基础的C语言小白们总结了初学C语言可能会遇到的问题,同时为大家提供了一些切身的建议以及一些有用的资源,真心希望可以给想要学C语言的小伙伴们带来帮助
各位CSDN的小伙伴们大家好!初来乍到,就先让我简单的介绍一下自己吧:我是一名本科在读大学生,目前大一,就读于计算机专业,因为热爱让我与计算机结缘,这条路或许很长,很艰难,但投身于自己热爱的事业,我会坚持一直走下去
关于我与CSDN有着一种相见恨晚的感觉,第一次打开C站,我就被他琳琅满目的资源和强大的功能给折服,借于这样一个专注于IT人士的开放平台,我也会在接下来的学习中持续和各位小伙伴们分享我所学到的知识和经验,让我们一起学习,每天进步一点点!
在介绍C语言之前,我们先谈谈机器语言和编译语言。计算机作为一种数字化的电子机器,之所以能完成数据计算,是因为它能够把各种指令和数据转换成电信号,并由物理原件完成相应的信号处理。这些能够被计算机执行特定的指令,在计算机内部被表示成二进制数字形式,称为机器语言。当时机器语言编写的程序代码由纯粹的0和1构成,不方便阅读和修改;为了改善机器语言的不便,于是汇编语言诞生了,汇编语言为每一条难于记忆的机器指令设定了一个助记符,是一种面向机器的低级语言,通常为特定的计算机专门设计。也就是说,不同生产商、不同型号的计算机所支持的汇编语言可能是不一样的,这也给学习者和使用者带来了很大的不便
机器语言和编译语言都称为低级语言。后来随着IT行业的进一步发展,诞生了高级程序设计语言。这里的“高级”是指更加贴近自然语言和数学语言,但是计算机无法直接执行用高级程序设计语言编写的程序,必须由特定的程序翻译为机器语言(一种二进制代码)才可以执行,这个翻译的过程为编译或者解释。而C语言就是茫茫众生高级程序设计语言中的一种。
C生万物,编程之本,是长远IT职业发展的首选。C语言是母体语言,我们现在看到的很多东西,包括C++,Java以及它的一些解释器,就是在C语言基础上发展出来的;再比如说Linux操作系统以及WPS等软件也都能用C语言搞定。因此学会C语言,相当于掌握核心技术,知识点一杆子打通。在IT行业,一般每10年就有一次变革,而C语言从出生到现在已经经历了40多年的演变,依然在TIOBE编程语言排行榜中长期霸占前三名,没有丝毫撼动,可谓经典永不过时!
当你还是一个编程小白的时候,面对密密麻麻的英文代码 ,你是否会不由问上一句:“难道编程的尽头是英语?!!!”不知道在作为一个初学者的时候你有没有问过这样的问题。难道学习C语言需要扎实英语基础吗?其实对于这个问题不能一概而论,对初学者入门学习来说显然是不需要的,甚至可以这样说,你只需要能够看懂26个英文字母就够了,尽管在编程过程中,往往会出现一些“英文单词”,例如printf(print)打印、int(integer)整形等等,但所涉及的并不多也不难记,所以,完全没必要去把英汉词典的单词全背下来。但是如果想要进一步深入学习的话,具有一定的英语基础还是很有必要的,因为你会发现许多编程文献资料,代码注释都没有中文版,不仅如此,在一些关键领域,相关资料甚至只有英文版本。因此想要深入学习,需要具备一定的英语能力。
对于初学者我的建议是:首先学习C语言,C语言结束之后可以先不急着深入语言,建议可以去学习数据结构,如果不懂数据结构与算法,不懂复杂度分析,那就只能写“凑合能用”的代码。在掌握数据结构之后,就可以考虑选择一门编程语言深入,对于初学者来说建议选择C++和Java。具有一定的语言基础之后,可以去学习计算机组成原理和汇编(有些学校也将这门课程放在了第一课),计组可以帮组我们进一步理解计算机的工作原理。然后是操作系统,我们可以在操作系统中领会到各种数据的运用,以及很多解决问题的奇思妙想。最后是计算机网络,即是关于网络知识的导论。当然了,计算机的相关知识还是非常庞大的,作为初学者应该着眼于当下,目前需要做的就是按部就班,脚踏实地学好每一个知识点,每天进步一点点!
1.什么都学过,什么都不会。
技术的学习一定是在精不在广,真正值钱的并不是会多少种语言,会多少种技术,而在于是否在能对一门语言和技术具有深入的了解,能过做到信手拈来,到达精通的地步 。
2.作为学生老想着赚钱。
作为大学生,我们一定要清楚我们来到大学的主要任务,对学生来说最重要的只有三件事:一件是深入学习专业知识,提升自己的能力,一件是为未来的发展积累履历,还有一件人生大事是谈恋爱。我们现在最需要做的是在大学期间不断使自己得到锻炼,不断为自己增加阅历,这才是上大学的意义。当然如果时间富裕,也可以考虑去做一些兼职,但一定要分清什么是最重要的,合理分配自己的时间。
3.虚假努力,欺骗自己。
︎对于编程来说,其实没有什么这么多条条框框的限制,什么二本专科学历不行,什么天赋,什么难都是不存在的。感觉自己明明很努力,确学不好,其实原因很简单,那就是在"假学习",假努力。学习没有捷径,努力是唯一的出路,要让自己的每一天都很充实。
4.只学不练,眼高手低。
可以这样说,对于学习编程的人来说,只看不练是永远不可能学会的。计算机和其他学科区别最大的地方就是一定要动手写!学数学需要理解,学英语需要被,学习编程没有那么麻烦,不懂就去写,写得多了,你自然就懂了。因此,学习编程,切忌做伸手党。
5.不要轻信任何承诺。
对于很多渴望学习编程的小伙伴可能经常会被一些夸大其词的广告所迷惑,比如经常会看到“编程速成班”,“挑战60万年薪”等等大放厥词的承诺。在这里,我想告诉大家,学习没有捷径,真正能让自己值钱的,一个是掌握的技能,一个是好看的背景,当然最重要的还是能够坚持学习的动力。
无论是不是计算机科班的学生,想要学好计算机,都要具备一定的自学能力。因为到了学校你会发现,学校的学习进度是非常缓慢的,如果你仅仅跟着学校的进度走,那么对自己能力的提升是很小的,并不能让你实现质的飞跃,切身感觉到自我的满足感和成就感。其实无论你学习哪一科,大学都只是为我们提供了一个学习和交流的平台,而我们应该以这个平台为踏板,去主动的拥抱一些新的知识来实现自我的提升。因此我们要树立终身学习的学习态度以及自学习惯,特别是对像计算机这种更新迭代较快的行业显得尤为重要。
对于初学者来说,在学习编程时,一定要敢于动手操作♂️,千万不要感觉听懂了就认为学会了,因为学习编程,理论知识只是教会了我们一个方法,而自己动手操作则是对所学习方法的验证以及对所学知识的巩固。有时你可能被理论知识灌输的一头雾水,但是动手写了几遍后就会峰回路转,水到渠成。
作为初学者,在运行代码时可能会出现各种各样报错❌,它们可能是因为编译器出错,因为语法出错,甚至因为一个标点符号……当我们在遇到这些报错的时候,不必慌张,我甚至觉得我们应该把这些报错当做是一种馈赠。因为学习的过程就是一个不断改错,不断提升的过程。出错就说明我们在某些方面存在不足,我们可以通过各种渠道去搜索去查阅,从而使错误得到很好的解决,我觉得这才是学习的真正意义所在。
尽管互联网很强大,但我们在搜索问题的时候也总会遇到它不能解决的,倘若遇到这种情况,难道我们就坐以待毙?NO,就像我上面所说,学校为我们提供了一个很好的平台,互联网不能解决的,学校里有老师,有同学,敢于去问,积极交流才是解决问题之道。切忌问题积累,因为这些问题只会阻挠你前进的步伐,降低你学习的热情。
好的开始是成功的一半,作为初学者,挑选一本适合自己的C语言书籍,可以让C语言的学习更加得心应手。
一、《啊哈!C语言》
《啊哈!C语言》是一本非常有趣的编程启蒙书,从中小学生的角度来讲述,没有生涩的内容,取而代之的是生动活泼的漫画和风趣幽默的文字。从开始学习与计算机对话到自己独立制作一个游戏,由浅入深地讲述编程的思维。完全适合C语言小白。
二、《C Primer plus》
强力推荐的一本C语言入门书籍,内容循序渐进,这本书重要的不止是让你学会了C语言,更重要的是能够锻炼你的编程思想,这对以后的学习很有帮助。
当然了,只看书未免会有些枯燥,下面我也为大家整理了一些网课资源,大家可以配合书籍学习哦。
一、B站比特鹏哥
在B站学习C语言就看比特鹏哥,从入门到精通,内容系统全面,讲解幽默风趣,很适合0基础的小白。
鹏哥教你玩转C语言,从入门到精通https://www.bilibili.com/video/BV1oi4y1g7CF?spm_id_from=333.337.search-card.all.click
二、中国大学MOOC
这里推荐MOOC中浙江大学的课程,中国MOOC是一个非常好的平台,尤其是一些学校不是很好的同学,中国MOOC里有非常多国内顶尖的大学,并且课程配套的作业考试非常的全面,适合进行系统性的学习。
程序设计入门--C语言_浙江大学_中国大学MOOChttps://www.icourse163.org/course/ZJU-199001?from=searchPage
C语言程序设计进阶_浙江大学_中国大学MOOChttps://www.icourse163.org/course/ZJU-200001?from=searchPage
Gitee(码云),是开源中国社区推出的代码托管平台,提供免费的私有仓库托管。其实类似的国外也有Github,但是Github服务器部署在国外,网速慢并且经常出现无法访问的情况,因此,如果想将自己的代码上传到云端,Gitee是个很不错的选择。
对于Gitee我们可以把它理解为QQ空间,如下图:
如果我们坚持上传代码,我们将会得到一个这样的界面:
这里的小绿点代表我们上传的代码,颜色越深说明我们当天上传的代码越多。当我们将来面试的时候,面试官看到这样的界面也会眼前一亮,从而增加对我们的好感度。
说了这么多,既然Gitee这么好,我们应该怎么使用它呢?来,上链接:
手把手教你Gitee(码云)的注册和代码的提交https://www.bilibili.com/video/BV1hf4y1W7yT?spm_id_from=333.337.search-card.all.click
CSDN作为开发者学习和交流的平台,其中用户大多为学生,因此作为编程小白非常适合在这样一个平台学习和交流。包括我们在日后学习中可能遇到的一些无法解决的问题,写代码时一些摸不着头脑的报错,我们都可以在CSDN进行搜索,我们80%以上的技术问题基本上都能够在这解决。因此我非常推荐各位编程小白在CSDN进行学习和交流。
1.印象笔记/有道云笔记
推荐大家用电子笔记的原因呢,主要有三点:1.相对于纸质笔记,电子笔记更稳定,不容易丢。2.电子笔记好检索,输入关键字能迅速找到需要的内容。3.电子笔记更方便,我们可以随时随地的查看。
2.XMind思维导图
当我们学完一些知识,通过自己构建思维导图,可以帮助我们梳理学过的知识,建立一套系统的知识体系,从而使我们对知识形成系统的认知,加深对知识的理解。
✍其实像以上这些笔记以及思维导图软件有很多,在这里我只推荐了我认为比较方便实用的,大家也可以结合自己的喜好和需求选择其它适合自己的。
集成开发环境(IDE,Integrated Development Environment )是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。所有具备这一特性的软件或者软件套都可以叫集成开发环境。这种编程开发软件将编辑、编译、调试等功能集成在一个桌面环境中,从而更加直观,开发速度快,效率高,大大方便了用户的开发。
我们可以这样理解:集成开发环境就是一系列开发工具的组合套装。这就好比台式机,一个台式机的核心部件是主机,有了主机就能独立工作了,但是我们在购买台式机时,往往还要附带上显示器、键盘、鼠标、U盘、摄像头等外围设备,因为只有主机并不能使其功能完美展现,必须有外设才能释放其性能。
简单来说就是我们想要编程、开发,我们首先需要一个平台,而集成开发环境(IDE)为我们开发(编程)提供了一个很好的平台,可以协助我们一站式实现项目的开发。
各位编程小白,你们还在为不知道如何在众多IDE中作出选择而苦恼吗?还在被各种环境配置折磨的晕头转向吗?
下面就让我为大家介绍一款适合初学者的“宇宙级”集成开发环境——微软 Visual Studio(VS)系列。VS系列IDE具有界面简洁,无需手动配置各种环境,好操作、易上手,非常适合编程小白。下面就让我来教大家如何下载最新版本——Visual Studio 2022
第一步:访问微软官方网站微软官方https://www.microsoft.com/zh-cn/
第二步:找到并下载 Visual Studio 2022
第三步:创建C语言项目
快敲上这几行代码去打开你的C语言大门吧!!!
#include
//包含一个叫stdio.h //std-标准 全称为:standard input output是一个头文件 //main前面的int表示main函数调用返回一个整数值 int main()//主函数-程序的入口有且只有一个 { //在“{}”大括号之内完成任务 printf("Hello World\n");//在屏幕上输出Hello World //"\n"表示在屏幕上打印出hello world后会换行 //print function打印函数是库函数:由c语言提供 //因此第一行引用#include 表示我们像C语言告知,我们要引用它的库函数 return 0;//返回0 }
各位小伙伴们以上就是这篇文章的全部内容了,博主目前也在学习阶段,我也会在接下来的学习中,持续和各位小伙伴们分享我所学到的知识和经验,和大家一起学习交流,希望大家能够持续关注我,我们一起加油,每天进步一点点!
JabRef显示bibtexkey或者citationkey
【OpenCV】广告屏换图 文稿矫正 透视变换 C++ 案例实现
【两万字图文详解】 运动会管理系统-前后端分离-项目开发:【后端】SpringBoot, SpringMVC, MyBatis【前端】Vue.js,ElementUI
win10系统实现+yolov5训练自己的数据集--安全帽检测
【数字IC手撕代码】Verilog单bit跨时钟域快到慢,慢到快,(打两拍,边沿同步,脉冲同步)|题目|原理|设计|仿真
HOPE-Net: A Graph-based Model for Hand-Object Pose Estimation
C# ABB机器人上位机控制 .net PC SDK开发全流程(通信、控制、日志、二次开发)--Chapter 1
leetcode 435. Non-overlapping Intervals 无重叠区间(中等)
华为回应与陈春花教授相关传言;iPhone14Pro系列将独占A16芯片;Bug太多,Python 3.11推迟发布|极客头条