概述
想转行c语言的小伙伴们可能都在纠结这个问题,我是零基础,该如何学习c语言呢。
接下来就讲讲0基础如何掌握c语言。
l 明白C语言工程师主要工作内容
C语言开发工程师现在多数用于底层开发,如写接口程序,操作系统,嵌入式等这样的开发中,主要工作内容更倾向于配合软件开发工程师完成工作,具体工作内容如下:
1、负责分布式数据库内核系统的维护和开发;
2、负责常用数据库的数据提取和导入工具的维护和开发;
3、完成软件系统代码的实现,编写代码注释和开发文档;
4、辅助进行系统的功能定义,程序设计;
5、根据设计文档或需求说明完成代码编写,调试,测试和维护;
6、分析并解决软件开发过程中的问题;
7、 协助测试工程师制定测试计划,定位发现的问题。
l C语言学习路径
1.环境安装
虚拟机安装配置
Ubuntu系统安装配置
vim编辑器安装配置
文件共享配置
2.系统操作命令
文件操作命令:ls,touch,mkdir,pwd,rm,chmod,mv,cp,vim,cd,pwd
网络操作命令:ping,ifconfig,netstat
3.服务器搭建
ftp服务器搭建
服务器操作命令:ftp,open,get,put,cd,byte
4.项目
Samba网络文件共享服务器搭建
5.C基础
内置数据类型、基本输入输出、类型表示范围、头文件包含、gcc编译运行
算术运算符、逻辑运算符、位运算符、比较运算符、赋值运算符、sizeof运算符、取址运算符、逗号运算符
6.条件结构
真假定义、if条件结构、if-else if条件结构、switch条件结构
7.循环结构
for循环、while循环、do-while循环
8.函数
函数申明定义、函数调用、递归函数、回调函数、现场保护、现场恢复
9.指针和数组
指针、数组、字符串、冒泡排序、选择排序、指针数组、数组指针、
指针函数、函数指针
10.动态空间管理
空间分布、内存泄漏、动态申请空间、空间释放
11.文件操作
文件类型、创建文件、文本文件读写、二进制文件读写
12.数据结构
链表、树、图、排序算法
13.项目
链表、文件、gdb、makefile
l C语言学到什么程度可以出去找工作
▪ 第一,熟练C语言基础编程,学会使用linxu系统,常用用法,设计基本的api,C语言在开发项目中如果你连基础都没有掌握,你是没有办法继续开发项目或看懂别人的基础编程代码。
▪ 第二,指针,学习C语言的程序员都知道,指针是C语言中最常用也是最基本的,很多程序的BUG都是与指针熟练程度有直接关联,所以老手平时喜欢说新手如果这个你都搞不懂,你就应该再去看看C语言的基础。
▪ 第三,记得写文档,还要看懂别人的写的文档。很多开源项目都是可以直接再次开发,自己开发的地方要记得写文档,当然在看法之前先看别人的文档,要不然你没有办法下手。
▪ 第四,查看BUG,调试BUG。C语言每次运行程序都是要编译过程,在编程过程是没有办法直接修改BUG,所以要懂得调试BUG。
▪ 第五,简单算法,新手开发项目中很少涉及大量算法,一般都是简答的算法。
▪ 第六,项目实战。项目实战是考察你是否真的掌握C语言的基本开发技能。所以至少可以自己独立完成简单的项目,比如,简单计算机,贪吃蛇游戏。
l C语言可选择的就业方向
▪ 1. 嵌入式开发
上面几种岗位选择都是偏软件方向想的,而C/C++还有一类非常大的就业方向,就是去做嵌入式。嵌入式本身可能是偏硬件一点,但是现在做个什么事,都是软硬不分家的。
嵌入式的开发同样也会涉及到网络编程、并发编程等方面。通俗点解释可能就是,嵌入式代码是运行在别的小系统上,而不是传统意义的计算机上。这个方向除了需要编程能力,还需要基本的电路理论素养。
一般招聘嵌入式开发岗的公司大多是以硬件产品为主的互联网+公司,比如小米、华为等。进去公司很多都是在做物联网相关的工作,毕竟这是热点。当然也会有其它的业务方向,例如芯片、机器人等。
▪ 2. 人工智能
人工智能、机器学习等方向也少不了C语言的身影。
▪ 3. 后端开发
主流的后端开发语言就那么几种,以C/C++、Java领衔,Python等紧跟其后。
▪ 4. 游戏开发
掌握了C基本语法之后,开发游戏也依然是一个不错的选择,目前工业级别的3D游戏引擎仍然是用C或C++编写的。
虽然以个人能力无法去完成一个庞大的网络游戏,但是从简单开始,编写一些小游戏,然后逐渐深入,循序渐进并最终加入大型游戏开发团队还是非常好的一个选择。与之相应的就业岗位主要有游戏开发工程师、游戏引擎架构工程师等。
▪ 5. 客户端开发
毕竟C/C++语言已经是一个很成熟的语言了,所以除了后端开发其实它还有很多其它的开发岗位可以选择。自然而然的,就是客户端开发了。
相信大多数学C语言的同学都用过C语言写桌面软件吧。所以如果不想做后端,完全可以靠C语言找一份客户端开发的工作。做客户端同样也需要扎实的编程基础和计算机理论基础,同时可能还要熟悉Windows/C++编译链接机制、QT客户端开发技术体系、Windows消息机制等技术。
所以,假如你学的是C,同时也不在乎业内莫名其名的岗位歧视链的话,找一个客户端开发的工作也是非常不错的。只不过相较于后端开发,你可能需要重新审视客户端这个角色。
▪ 6. 多媒体开发
目前多媒体技术同样渗入到人们的日常生活中,音视频已经成为人们获取信息的一个非常重要的手段。音视频在传输过程中都是经过压缩并且按照一定规则打包过的。视频的编码技术从最开始的H.261到如今的H.265,经历了30多年的发展,而且实现代码全部是由C或C++实现。
▪ 7. 实验室开发
不敢说C是世界上最好的语言,但C基本是工科生中的大语言。暂且不说计算机专业,很多工科专业,比如电信、电气、通信等专业,基本上正常的学习中都会使用到C。
C既拥有比较优秀的运行速度,又有良好的大型项目开发能力,那简直可以霸占高校实验室了。
l C语言学习方法与建议
▪ 1、C语言有着复杂的基础语法:变量、字符串、条件、循环、数组、函数、结构体等,以及指针、内存管理等C语言中至关重要的两大标准。所以,系统地学习很重要。因此,学习C语言推荐大家可以从我的往期内容系统地了解C语言的基础语法和简单应用。
▪ 2、自学C语言就是一个坚持看、敲、写的过程。习题实战+答疑复盘,可以增加编程信心,防止心态崩溃。能够动手实操,才能快速提升编程水平。
▪ 3、一本好书一个好的学习网站能够让你建立基本的知识体系,而一个好的学习导师与团队则是一次让你快速成长的机会。
l 可以自学吗
如果你选择自学建议如下:
1、了解如今的市场行情,就是企业需要什么样的人才,这点很重要。
2、有一套系统的学习方案,学习不是瞎学的,是有节奏感的,每天看多少视频,不是说看完了就完了,在很多人的实践中,看完视频一点用没有用。一天用多少时间学习,自己规划好,每天做什么案例都是非常重要的。
3、合理的学习路线,不懂的可以随时来问我。
4、有人指点,很多问题是我们自己不可能解决的,除非那个是天才,可能一个小问题,我们一天都想不明白,但是别人的一句话可能就懂了,这个就是经验。所以的话,有个人带的话是最好的。
附学习路线图,可以参考。
最后
以上就是怡然蓝天为你收集整理的零基础如何学习c语言的全部内容,希望文章能够帮你解决零基础如何学习c语言所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复