计算机c语言好学吗?要是想自学应该怎么办?
谢谢邀请,
C语言放在之前都是必备的基础语言,由于指针的存在很多人觉得C语言是一门特别难编程语言,放在十年前C语言是学习编程的必备语言,但整个软件行业发展趋势,趋向于高度集成化,所以编程语言集成度越来越高,目前非常流行的编程语言都高度集成化的编程语言
1.python
2.java
3.前端
这三种语言是目前初学者选择比较多的语言,在以前这些都属于脚本语言,所谓脚本语言的底层功能模块都是封装起来的,直接调用拿到结果,现在慢慢向着主流编程语言迈进的趋势了,特别最近特别火的python
是不是C语言不值得学习了?
这种顾虑完全没有必要,python底层实现基本上由C语言完成,所以不要再听什么C语言已经过时之类的论调了。
那么C语言想要自学需要具备两个条件:
1.对编程特别的感兴趣,兴趣才是第一老师,有了兴趣中间遇到问题才能克服
2.觉得编程工资还不低,能够满足自己当前急缺钱的现状,基于这点强大的内心驱动力也能够让自己遇到困难的时候克服过去。
如果不满足前面的条件不建议匆忙就开始学习C语言
如何自学?
1. 首先选择一门入门的书籍,c primer plus 适合初学者入门
2. 制定详细的学习计划,遇到不懂的知识点,在网络上找一些对号的视频解决掉,然后回归继续书本学习
3.基础学完后开始在开源社区研究代码,先从看代码开始,然后尝试修改代码
按照三个步骤走,坚持下去学习个基础还是足够的,要想学的更加深刻需要真的项目的锤炼。
首先介绍一下C语言:
C是一种静态,偏底层的通用编程语言,广泛应用于系统级软件的开发。C语言语法简介、富有表达力,又灵活,加上极快的运行速度,已经成为编程语言中的常青树。
目前,全世界通用的计算机操作系统可以说都是C语言来开发的,可见C语言在系统级应用方面拥有极高的占有率。同时C语言也是大多数软件开发专业所学的第一门编程语言。
就自学C而言,我推荐读“柴田望洋”著的《明解C语言》,这本书拥有丰富的图解,可以很好的帮助初学者入门C语言的编程。
这本书包括以下部分:
运算以及数据类型
分支结构
循环控制
数组
函数
字符串
指针
结构体
文件处理
学完这本书之后相信你已经对C语言已经具有初步的认识,可以编写一些简单的小程序。接下来可以读一读《C Primer Plus》,这本书是对学习C语言的进阶。
当然只学习语言本身是没有任何意义的,编程语言的作用是编写出来给人用的程序以及应用。由于C语言比较底层,编写软件所需的代码量是巨大的,进而一般开发应用程序都是选择java、c#、php等。
学完C语言之后题主可以学一下计算机的理论课程以及算法。主要是这几个方向:
操作系统
网络
数据库
编译器
算法
以上回答只是本人的观点以及经验,不具有绝对性,对IT行业感兴趣的或者想通过自学进入软件开发行业的欢迎关注,可以提供学习上的帮助。如有不同意见或者需要补充的可以下方评论,多谢指正!
这样说,学习语言不是你的目的,语言只是一门工具。学会编程才是你真正的目的。换句话说,我们就是要对语言外的算法、数据结构都要有了解。
这里首先不得不推荐的是 力扣(LeetCode)职业化技术成长平台,帮助你高效拿下互联网技术岗 Offer,让你的技能发挥他真正的价值。另外,我们也想为您推荐以下写书籍:
- 《C和指针》
《C缺陷与陷阱》
《C专家编程》
《C语言深度剖析》
《C++ Primer 5th》
《Effective C++》
《深度探索C++对象模型》
《STL源码解析》
《编码》
《编译原理》
《汇编语言》
《C++反汇编与逆向分析》
《编码》深度形象的讲解了计算机的原理,看完此书后你会对计算机的工作原理有较深刻的理解,强烈推荐大家看一看。
《算法导论》
《编程珠玑》
《编程之美》
《算法艺术与信息学竞赛》
《深入理解操作系统》
《Linux内核完全注释》
《自己动手写操作系统》
《Windows内核原理与实现》
《Head First 设计模式》
《设计模式-可复用面向对象软件的基础》
《重构与模式》
《代码大全》
《设计模式》(GOF)
《数据库系统概念》
《数据库系统实现》
《MySQL技术内幕:sql编程》
《MySQL技术内幕:InnoDB存储引擎》
我的建议是先学汇编语言,再学C语言。经过这么多年的各类语言学习,最终发现原来汇编语言是最简单的语言。就是通用性差点,会了之后学C语言就会发现没难度,C语言的实质就是简单封装汇编。指针的实质就是地址+类型。入门C语言21天认真学,其实时间足够。
c语言现在还有必要学吗,如果有,优势是什么?
这是这个问题具备很强的两面性,对于想切入某些领域比如嵌入式开发等这些C语言是必须要学的,不但是C语言要学习,数据结构,c++也要切入进去,所以对于C语言的学习,还是要选择的方向,有些java的技术大牛本身也不懂c++,但java搞的风生水起。
从系统学习的角度考虑学习C语言还是很有必要,毕竟懂得底层功能的实现,对于系统的了解软件框架还是有帮助。现在很多主流的编程语言的底层大多是基于C语言构建出来的,了解底层的实现,对于深刻了解底层代码的实现有非常强烈的借鉴意义。
简单总结下学习C语言的步骤:
1.选择一本教材然后找到配对的视频
2.制定学习计划,计划的推进以书本的大纲为基准
3.在推进计划的过程中,如果遇到不懂找到 对应的视频学习
4.把指针,数组,函数,结构体,递归,回调等基础学好之后
5.尝试做点C语言的测试小项目,比如贪食蛇,图书管理系统等等
6.找一些开源的代码,通过查找资料争取让自己看明白
7.尝试修改开源代码,并且能够顺畅的运行起来。
觉得有道理就点个赞
我感觉C语言有必要学,但不是必须要学。
我们可能会看到有关这样的疑问:“老师,为什么我们的应用程序设计要学C语言而不是别的?C语言不是已经过时了吗?如果现在要写一个Windows程序,用VB或Dephi开发多快呀,用C行吗?退一万步,为什么选择C而不是C++呢?”
一、C语言在编程语言中的地位
随着编程技术的发展,编程语言越来越多,多到甚至看花了眼,现在我们经常会看到各种培训班培训JAVA,VC,LINUX等等编程语言,却看不到多少C语言的培训班。
但是说起C语言,可以说是无人不知,无人不晓(当然,我只是说知道编程的人)。C语言诞生至今已经四十多年了,相比于现在火爆的JAVA,PYTHON等编程语言,C语言是不折不扣的老大哥。
我们可以查看一下历年来的编程语言排行榜,C语言基本都是前五名。这说明什么?说明C语言不仅资格老,而且功能强大。
我想今天我们这个问题的目的也正是这样:C语言很好很强大,但是是否真的有必要学?
二、学习C语言的必要性?
C语言是计算机编程的基础,不管你现在是一个高级编程师还是一个刚刚起步学习计算机语言的人,建议从C语言开始学习。如果不懂C语言,你想写底层程序这听起来十分的可笑,不懂C语言,想写出优秀高效的程序简直是天方夜谭。正所谓:学好C语言,走遍天下都不怕。
C语言是实用的程序设计工具,学好C语言对我们今后学习JAVA、C++、VB等可以打下良好的基础,因为这些语言大部分都是由C语言扩充或衍生而来的。C可以用于开发比较底层的东西,比如驱动、通信协议之类,在Unix和Linux环境中也是不可或缺的,另外在嵌入式领域也大有作为。
三、C语言的优势
1、学了C语言,也就理解了程序设计的思想,因为想真正学会程序设计就不可能不跟数据结构打交道,而初学者如果直接从VB或Java入手,基本上很难理解如何构造数组、链表、树、图等数据结构。也只有真正理解了数据结构,才有机会体验程序设计的思想和算法的精髓。
2、C语言语法结构很简洁精妙,写出的程序也很高效,很便于描述算法,而我们常说的,算法是程序设计的灵魂,只有掌握了设计的灵魂,才能做出更好的设计。
3、C语言能够让你深入系统底层,所有的操作系统windows,Unix,Linux,Mac,os/2,都使用C语言来完成的,如果不懂C语言,怎么可能深入到这些操作系统当中去呢?
4、很多新型的语言都是衍生自C语言,C++,Java,C#...掌握了C语言,可以说你就掌握了很多门语言,经过简单的学习,你就可以用这些新型的语言去开发了。

