学好C

学习C语言,因为的是他的执行效能高,可直接操作内存,非常灵活,给程序员以及大的发展空间,受硬件环境的影响极小,这也正是很多嵌入式开发平台选用C是一样的道理,那怎么学习C呢?

还是找本书照本宣科的从头学吗?还写HelloWorld吗?我认为没有必要这样了,中国为什么这么落后,中国的教育为什么总是被各国所数落?中国的软件 产业为什么发展这么缓慢?我觉得最根本的原因是学生不知道自己学的东西有什么用?能做什么?学习没有方向,没有目的,你学结构学算法,学排序,学遍历(即 查找)这些算法,学链表,学结构体,这些数据结构为了什么? 有的学员有爆棚自信,认为我计算机学了四年什么东西我没做过,什么东西我没学过?

但是为何到企业却处处碰壁呢?我觉得是心态没有摆正,你以为自己是大学生别人就应该说5k-6k的请你求你去?低去4K看都不看?但实际上 ICL3241CV软件开发是要有经验的,不是说理论知识就行了,你可以说你在学校里做过的几个项目,那能叫项目吗?没有需求没有分析,律千篇的都是XX 管理系统,学生管理系统,学分管理系统GMS97L58PL,学星爷大话西游里的话:有点创意好不好,老兄.你说别人用人单位看到这样的简历或经历别人会 用你吗?

用MFC的架子做个学员还是老师管理系统这种东西别人用人单位看都不看直接扔的,因为特别是在中国像这样的行业软件几乎都是定制,就连东软金碟这样的 CMM5的企业都不敢说自己卖的是产品型的软件.也就是说每个软件都有它自己的设计模式,不是说像MFC这样一开始就定好的框架,除非你自己玩下,还可以 要不然这东西基本是没有用,如果说VC这块你要学习的话建议还是学下ATL即COM技术,这块必竟还是有做中间件的企业会需要的!总结了一下C中比较重要 的内容,虽然也有朋友发表过类似的东西觉得比较乱的,自己理了下:

一,基础部分:这里分两大块,一块就是数据结构RCV336ACF/SVD,另一块是算法:

1.数据结构要看的是:基本的数据类型,int ,float,double, char ,指针;

1)扩展数据类型struct,枚举,联合;用户数据定义数据结构:链表,数组.这里要掌握几种基本数据类型的用法!

2)MIC2025-2YM指针,及用指针来处理字符串,因为C里面没有字符串这种类型的变量,其实在其它语言里学习过字符串可能会有先入为主的观点,认 为字符串也是一种基本的数据类型,而我告诉你其实不然,计算机的长度是32位,而中国的方块字一个个怎么可能把一串字符存储在一个单位里面而有别于另一个 字符串?字符串在C里面是以字符串数组的形式所表现的UTC3842A,而在C中数组的传递实际指首地址的传递即指针的传递.而我们现在生活中所做的项目 大部分时间是对字符串的处理,这部分你一定要掌握的非常的牢固!

3.1)修饰符作用要分清:signed,unsigned ,long, short这几种是修饰基本数据类型的;

3.2)作用域和生命周期这部分要了解:Static修饰的生命周期是全局的,function,scope只能限制它的作用域;

4)链表,而链表我就不多说了作为一种非线性存储的数据结构,正因为他的不连续性所以被广泛的应用于数据层的持久化上MCC56-14I08 B,一般而言在实际项目中也是使用的非常的广泛,建议多看看.

5)堆与栈CX80501-31B,程序出入栈运行的方式一定要熟练,这对你以后调试程序有很好的帮助.堆,没什么好说的,堆上的空间是动态的,正因为它 的这一好处,也可能成为很多程序员的梦魇,记得malloc之后一定要free.注:这里不是简单的成双成对的问题,还是上面的知识,每种类型的生命周期 和作用域一定要清楚,这里就不会有垃圾内存的问题了.

2.算法,即有效的组织数据结构以最理想的方式运行,从而达到最佳的效果.

1).这方面我觉得首先作为算法的基础,元素之间的运算一定要非常的熟练,要把算术优先级别做到倒背如流,当然有些人和你说这没什么用EN29LV040A-70TCP,你看这没用,等用到时你就等着哭吧.

2).元素间的值传递也要有了解,引用还是直接传值一定要有清晰的思维,赋值也是一种值传递记住,左值和右值要分清.

3).函数的学习,注意无类型指针void的用法,及它的两种含义和用法

4).控制流:结构化程序还是面向对象的设计都必不可少的东西,一定要使用熟练,顺序就不说了,判断,循环里的常用语句烂熟于胸!

3.对外部设备的调用,这写包含文件的操作,注意下就可以了.不必太在意,,其实输入/输出都是这个领域的一些东西,没必要去在意那些什么printf/scanf 之类的没什么用,自己测试代码可以用下,其它的地方就没必要的...呵呵
原文地址:https://www.cnblogs.com/analyzer/p/1293973.html