快速学习C语言途径,让你少走弯路
1.标准C语言能干什么?
坦白讲,在今天软件已经发展了半个多世纪,单纯的C语言什么都干不了。标准C语言库只提供了一些通用的逻辑运算方法以及字符串处理,当然字符串在C语言看来也是一种操作内存的方法,所以单纯的C什么都做不了,不论是游戏客户端,服务器以及其他插件标准C语言要配合相应的系统C调用和其他语言共同完成一个完整的软件。所以C只是一个入门,要想吃软件这碗饭还有很长的路要走
2.从学会C语言到能写软件还要做什么?
I.个人认为第一步是学习数据结构和算法。推荐一本书:《数据结构(C语言版) 》
有能力的同学应该从这本书开始就要慢慢开始英文原版阅读,当然在这里我给大家说的还是中文版的名字。
数据结构和算法两者密不可分,数据结构体现了数据在内存和硬盘中存储的形态,如何运用这些形态进行最优化操作,就要靠相应的算法来实现了
II.了解一点汇编知识。推荐一本书《汇编语言》作者:王爽
可以说这本书是中国代码人的骄傲,目前为止我还未看到过像王老师这样文笔流畅,深入浅出的把一个生涩的汇编语言描述的如此清晰的大师。王老师用中国人的思维方式,语言习惯,学习思路为我们介绍了汇编,这一点上惊为天人!!!
III.还是介绍一本书,不过这本书算是课外读物吧《编码——隐匿在计算机软硬件背后的语言》。看这本书时可以和前面几个步骤平行进行。这本书并不教你软件编程,却用宏观的角度概括了从数模电到C语言层次计算机的整体思路。非常棒
3.用什么系统学C?
linux!毫无疑问,天下武功出少林,所有操作系统出UNIX。而linux则是UNIX集大成者。linux版本众多,推荐Ubuntu,其界面友好,又不失UNIX本真。当然有钱的朋友用个苹果本本在Mac上搞也是一样牛逼的,但苹果这个东西学生party还不是每个人都消费的起的,所以没有条件的同学搞个Ubuntu玩玩就够了。现在用wubi这个软件,可以在window上直接格出一个文件夹作为Ubuntu的系统路径,跟安装一个应用软件一样简单,所以大家为何不试试呢。
在Ubuntu上我推荐大家跟着一本书来走《LinuxC一站式编程》宋劲彬老师所写。现在已近绝版,但网上有开源免费书籍可以下到。宋老师在国内时一直是一个较为有名的软件培训学校老师,这本书也是从零基础直接到LinuxC程序员的一条捷径,但由于是职业培训学校教材,就在基本功方面砍去了一些东西,我希望大家不要把这些基本的东西丢掉,否则到了三四十岁可能你就没饭吃了
4.掌握几种语言就可以算是个合格的程序员了呢?
这个问题仁者见仁智者见智。从我个人的角度讲,我现在玩过的语言全加起来一共有这么几种
C,C++,JAVA,Javascript,VB,Lua,SQL
不要被他们吓到,也不要膜拜哥,吼吼吼(自恋了)
快速学习C语言途径,让你少走弯路的更多相关文章
- 快速学习C语言一: Hello World
估计不会写C语言的同学也都听过C语言,从头开始快速学一下吧,以后肯定能用的上. 如果使用过其它类C的语言,如JAVA,C#等,学C的语法应该挺快的. 先快速学习并练习一些基本的语言要素,基本类型,表达 ...
- C语言超全学习路线(收藏让你少走弯路)
刚入门是否觉得C语言很难?那可能是你还没找到正确的C语言学习路线,收藏以防找不到,让你少走弯路. 基本语法 选择控制语句 if,swith 循环控制语句 while,for 控制语句相关关键字分析 变 ...
- 快速学习C语言三: 开发环境, VIM配置, TCP基础,Linux开发基础,Socket开发基础
上次学了一些C开发相关的工具,这次再配置一下VIM,让开发过程更爽一些. 另外再学一些linux下网络开发的基础,好多人学C也是为了做网络开发. 开发环境 首先得有个Linux环境,有时候家里机器是W ...
- 快速学习C语言二: 编译自动化, 静态分析, 单元测试,coredump调试,性能剖析
上次的Hello world算是入门了,现在学习一些相关工具的使用 编译自动化 写好程序,首先要编译,就用gcc就好了,基本用法如下 gcc helloworld.c -o helloworld.o ...
- 快速学习C语言四: 造轮子,ArrayList
高级语言里的列表是最常用的数据结构,在C里造个轮子玩玩,C没有泛型,先用int练习. Collection的ADT一般有hasnext,next,add, remove操作,List一般还加了remo ...
- 学习swift语言的快速入门教程推荐
随着苹果产品越来越火爆,苹果新推出的swift必定将在很大程度上代替oc语言.学好swift语言,对于IOS工程师来讲,已经是一门必备技能. 有一些比较好的英文版教程,值得学习. 1. Swift T ...
- Dart语言快速学习上手(新手上路)
Dart语言快速学习上手(新手上路) // 声明返回值 int add(int a, int b) { return a + b; } // 不声明返回值 add2(int a, int b) { r ...
- 如何快速高效率地学习Go语言
要想快速高效率地掌握Go语言,关键是要通过不断写代码去训练,熟能生巧.方法是没问题的,但具体的路径呢?就像开车,能不能给个导航?我希望这篇文章能起到一个导航的作用,这里提供的路径,应该对很多人都适合. ...
- 大神教零基础入门如何快速高效的学习c语言开发
零基础如果更快更好的入门C语言,如何在枯燥的学习中找到属于自己的兴趣,如果把学习当成一种事务性的那以后的学习将会很难有更深入的进步,如果带着乐趣来完成学习那将越学越有意思这样才会让你有想要更深入学习的 ...
随机推荐
- django——web框架简介
1.web应用 Web应用程序是一种可以通过Web访问的应用程序,程序的最大好处是用户很容易访问应用程序,用户只需要有浏览器即可,不需要再安装其他软件. 应用程序有两种模式C/S.B/S.C/S是客户 ...
- [CF542A]Place Your Ad Here
[CF542A]Place Your Ad Here 题目大意: 有\(n(n\le2\times10^5)\)个广告和\(m(m\le2\times10^5)\)个电视台,第\(i\)个广告只能在\ ...
- vue学习:vue+webpack的快速使用指南(新手向)
一.vue有两种使用方式: 1.下载vue.js <script src="vue.js"></script> 2.使用npm npm install vu ...
- __x__(36)0908第五天__背景 background
1. 背景 background: red url(img/cat.gif) repeat-x fixed; 2. 背景颜色 background-color: red; 3. 背景图片 backgr ...
- 5. 箭头函数_this 指向_es6 常用语法
1. 箭头函数 函数的简写方式 () => {} 只有一个参数时,可以省略() ---- x => {} 只有一条语句时,可以省略{},此时这点语句的结果会作为函数的返回值返回 () = ...
- Go语言基础之切片
Go语言基础之切片 本文主要介绍Go语言中切片(slice)及它的基本使用. 引子 因为数组的长度是固定的并且数组长度属于类型的一部分,所以数组有很多的局限性. 例如: func arraySum(x ...
- wamp 环境安装php_mongo 或 mongodb的扩展
特别注意:momgo 与mondb 是两个不同的扩展,不是同一个,这是一个坑 1.查看你的php版本,Compiler,Thread safety版本 2.下载地址 https://pecl.php. ...
- javaweb中的文件上传的一般写法(初次接触时写)
javaweb上传文件 上传文件的jsp中的部分 上传文件同样可以使用form表单向后端发请求,也可以使用 ajax向后端发请求 1. 通过form表单向后端发送请求 <form id=&quo ...
- python函数详解
''' 函数:是一段可以重复调用的代码,通过输入的参数,返回对应的结果 名字绑定的机制,把实际参数的值与形式参数的值绑定到一起 1.函数调用的时候,实际参数的值的顺序与形式参数的顺序一一对应 2.当在 ...
- LeetCode 70 - 爬楼梯 - [递推+滚动优化]
假设你正在爬楼梯.需要 n 阶你才能到达楼顶. 每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数. 示例 1: 输入: 2输出: 2解释: 有两种方 ...