百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

与大家分享一下我对C语言的认识(对c语言的理解和收获)

mhr18 2024-10-20 06:49 24 浏览 0 评论

很多小伙伴都老是会碰到疑问,其实还是基础没打扎实,这些题如果你不看答案你能知道多少呢?如果还有很多不知道就证明基础没打扎实,如果你还在入门纠结,如果你还在苦恼怎么入门!小编有个建议,可以加小编弄的一个C语言交流基地,大家可以进入交流基地:379249575,里面新手入门资料,可以说从零到项目实战,都是可以免费获取的,还有程序员大牛为各位免费解答问题,热心肠的小伙伴也是蛮多的。不失为是一个交流的的好地方,小编在这里邀请大家加入我的大家庭。欢迎你的到来。一起交流学习!共同进步!小编等你!

1、 各种技术方向分析

对大部分即将进入IT行为的人来说,普遍存在一个问题,如何选择技术方向,以下谈谈我个人的看法。

1.1、JAVA

优点

几乎可以做任何事情,适用于各种操作系统平台,在WEB应用方面有优势。

入门容易,学习环境容易搭建。

缺点

入门太容易了,从事这方面的开发的人太多了。

在数据处理、传输等应用方面,性能比其它语言要低。

技术更新很快,每过几年就有新的技术和框架出来,需要不断的学习。

1.2、.NET

这个不行,只能用于Windows平台,事实证明,.NET已败给了JAVA。

如果某公司招你进去,让你学习.NET,这是很不负责任的行为,必定耽误你的前程。

1.3、手机端开发

手机端的开发目前有两种主流的技术,Android和IOS,目前看来,基于Android平台的应用比IOS多很多。

如果你要学习,建议选择Android,不要选择IOS,因为IOS是苹果公司独家的,如果哪一天苹果公司不行了,估计你也行转行。

近几年,随着智能手机的普及,手机端开发非常火,开发人员短缺,跟风学习的技术员很多,这让我想起了2000年时的互联网泡沫,不知道再过几年会怎么样,会不会浮华退去?

1.4、C

C的历史有N年了,在1995年之前,计算机主要用于银行、证券、电信等大行业,那时个,连操作界面都是用C编写的,后来的PowerBuild、VB、VC、Dephi等取代了C的界面应用,但是,在后台应用,如传输、通讯、数据处理、监控等方面,C的地位无可取代。

优点

主要用于UNIX操作系统,在Windows系统中也有应用,但没有优势。

在传输、通讯、数据处理、监控方面有非常大的优势,效率极高。

几十年来,C语言就没怎么变过,程序员无更新换代之苦。

缺点

入门太难了,学习环境难以搭建。

想精通更难,如果没有高人指点,几乎不可能。

C提供的函数都只是简单的功能,但是,在实际应用中,需要程序根据自己丰富的应用经验,预先做大量的封装工作。

C语言的应用还有嵌入式开发方向,这个我不太懂,就不说了。

C语言应用的还有Windows方向,这个没什么好说的,C语言在Windows系统下,只能做一些小东西,重要系统的核心还是在UNIX,这一点无不容置疑。

1、 学习建议

当然选择C了。

在1995年之前,大部分程序员是做C的,30年过去了,这些人大部分都退役了,但是,新的C程序员越来越少,这些年来,我想找合适的C程序员很难,菜鸟不能用,有经验和技术的人要价太高,没实力的公司根本请不起。

我在刚做技术的时候,什么都想搞一下,以前流行VB、PB、Dephi等,我都学过,但是,现在VB、PB、Dephi等都已随风而去,只有C,经久不衰,做的时间越长,感觉越妙。

几十年来,C语言程序员始终是精英。

不过,C不是孤立的,还需要学习UNIX操作系统和数据库系统。

1、 如何学习

人生选择方向很重要,例如字母B,往南走和往北走,意义完全不同。

这些年来,我见过很多菜鸟找不到入门的方法,瞎折腾,也看过国内的培训机构的课程,如达内,培训的内容连入门都算不上,所以,就有了想搞培训的想法。

本人1996年接触C、UNIX和Oracle数据库,2008年注册了一个皮包公司,到处奔波,折腾项目,售前、售后、设计、编码的事都是一个人做,这些年来,也不知道做了多少个系统,写了多少代码,这样的经验和技术水平,能不能教教各位菜鸟?

1、 教程设计

各位菜鸟,不知道如何才能让你相信我,有个建议,请把我这个教程给有经验的C程序员看看,从这个教程可见我的功力。

不忽悠各位了,开始教程。

4.1、Linux基础知识

课时:一星期(在本教程中,一星期不是五天,是七天。)

Linux系统的优点,应用范围。

连Linux服务器的工具程序的使用(SecureCRT)。

Linux系统常用的命令。

telnet工具。

ftp工具。

ssh工具。

vi编辑器。

Linux系统的安装、常用软件包介绍、磁盘分区方法。

熟悉Linux操作系统,具备Linux系统的安装和日常维护能力。

老师教的东西总是有限的,培养各位获取帮助和查找资料的能力非常重要。

4.2、C程序入门

课时:一星期

以谭浩强的《C程序设计》为教材,学习C程序的基础知识。

了解Linux的C语言编译器gcc。

Makefile文件编写。

4.5、常用函数和类的封装

课时:三星期

不同于其它的语言,C语言只提供了基本的函数,没有丰富的工具,一切都要自己积累和封装工具。

我面试C程序员的方法很简单,我只问他是否有自己的封装工具就可以了,如果没有,那一定不是高手。例如李嘉诚很有钱,但他的钱也是多年来积累的结果,并不是今年才赚到的,再厉害的人也不能在一年赚那么多钱,再高手C程序员,也不可能每次都从头开始写程序。

各位,我不会把自己多年来的封装工具提供给你,我要教会你如何去封装,你封装的东西就是你达到了高水平的证据。

在本教程中,我只给出了定义,不列出具体的实现代码,各位自己发挥。

以下是开发各种应用系统常用到的封装函数,在教学的过程中,再介绍做这种封装的原因。

4.6、TCP/IP通讯

课时:二星期

TCP/IP协议基础知识。

Socket通讯程序编写。

封装CTcpServer和CTcpClient类。

编写一个多进程的TCP服务程序,与客户端程序进行数据交换。

TCP通讯性能瓶颈分析,如何提升TCP程序数据交换的效率。

TCP报文交换数据还是太慢,所以,要开发一个文件交换的工具,采用TCP实现文件交换功能。

4.7、FTP编程

课时:一星期

FTP作为广泛应用的文件传输协议,不可不精通它。

采用C语言,从FTP协议开始,实现FTP客户端的功能,并编写两个FTP工具程序,一个是获取文件,一个是发送文件。

4.8、数据库知识

课时:一星期

数据库有Oracle、SQL Server、My SQL、Postgresql和DB2,在本教程中,我们主要学习Oracle,其它的也有必要了解,但不是重点。

数据库基础知识。

Oracle数据库的安装,数据库的启动和停止。

Oracle数据库的基础知识。

TNS配置。

SQL语言。

表、视图、序列生成器、数据库链路、表空间等常用知识。

熟悉Oracle的数据字典。

exp和imp工具的使用。

Oracle的锁。

试试折腾一下其它种类的数据库。

4.9、数据库编程

课时:两星期

数据库编程以Oracle数据库为主。

C语言访问Oracle数据库的方法主要有两种,Pro*C和OCI,很多培训机构能培训Pro*C就不错了,OCI这东西,没多少人会,我们直接学习最重要的技术。

用C语言访问Oracle数据的确不是一件容易的事,我在做了四年的C程序员才学会,OCI是一个很麻烦的东西,必须要封装。

在我第一次封装OCI,那时候公司给我7K的工资,比项目经理还高,如果各位能把对数据库的操作也能封装成这样,毕业吧,不用我教你了。

试试折腾一下用C语言访问其它种类的数据库。

相关推荐

【预警通报】关于WebLogic存在远程代码执行高危漏洞的预警通报

近日,Oracle官方发布了2021年1月关键补丁更新公告CPU(CriticalPatchUpdate),共修复了包括CVE-2021-2109(WeblogicServer远程代码执行漏洞)...

医院信息系统突发应急演练记录(医院信息化应急演练)

信息系统突发事件应急预案演练记录演练内容信息系统突发事件应急预案演练参与人员信息科参与科室:全院各部门日期xxxx-xx-xx时间20:00至24:00地点信息科记录:xxx1、...

一文掌握怎么利用Shell+Python实现完美版的多数据源备份程序

简介:在当今数字化时代,无论是企业还是个人,数据的安全性和业务的连续性都是至关重要的。数据一旦丢失,可能会造成无法估量的损失。因此,如何有效地对分布在不同位置的数据进行备份,尤其是异地备份,成为了一个...

docker搭建系统环境(docker搭建centos)

Docker安装(CentOS7)1.卸载旧版Docker#检查已安装版本yumlistinstalled|grepdocker#卸载旧版本yumremove-ydocker.x...

基础篇:数据库 SQL 入门教程(sql数据库入门书籍推荐)

SQL介绍什么是SQLSQL指结构化查询语言,是用于访问和处理数据库的标准的计算机语言。它使我们有能力访问数据库,可与多种数据库程序协同工作,如MSAccess、DB2、Informix、M...

Java21杀手级新特性!3行代码性能翻倍

导语某券商系统用这招,交易延迟从12ms降到0.8ms!本文揭秘Oracle官方未公开的Record模式匹配+虚拟线程深度优化+向量API神操作,代码量直降70%!一、Record模式匹配(代码量↓8...

一文读懂JDK21的虚拟线程(java虚拟线程)

概述JDK21已于2023年9月19日发布,作为Oracle标准Java实现的一个LTS版本发布,发布了15想新特性,其中虚拟线程呼声较高。虚拟线程是JDK21中引入的一项重要特性,它是一种轻量级的...

效率!MacOS下超级好用的Linux虚拟工具:Lima

对于MacOS用户来说,搭建Linux虚拟环境一直是件让人头疼的事。无论是VirtualBox还是商业的VMware,都显得过于笨重且配置复杂。今天,我们要介绍一个轻巧方便的纯命令行Linux虚拟工具...

所谓SaaS(所谓三维目标一般都应包括)

2010年前后,一个科技媒体的主编写一些关于云计算的概念性问题,就可以作为头版头条了。那时候的云计算,更多的还停留在一些概念性的问题上。而基于云计算而生的SaaS更是“养在深闺人未识”,一度成为被IT...

ORA-00600 「25027」 「x」报错(报错0xc0000001)

问题现象:在用到LOB大对象的业务中,进行数据的插入,失败了,在报警文件中报错:ORA-00600:内部错误代码,参数:[25027],[10],[0],[],[],[],[],[...

安卓7源码编译(安卓源码编译环境lunch失败,uname命令找不到)

前面已经下载好源码了,接下来是下载手机对应的二进制驱动执行编译源码命令下载厂商驱动https://developers.google.com/android/drivers?hl=zh-cn搜索NGI...

编译安卓源码(编译安卓源码 电脑配置)

前面已经下载好源码了,接下来是下载手机对应的二进制驱动执行编译源码命令下载厂商驱动https://developers.google.com/android/drivers?hl=zh-cn搜索NGI...

360 Vulcan Team首战告捷 以17.5万美金强势领跑2019“天府杯“

2019年11月16日,由360集团、百度、腾讯、阿里巴巴、清华大学与中科院等多家企业和研究机构在成都联合主办了2019“天府杯”国际网络安全大赛暨2019天府国际网络安全高峰论坛。而开幕当日最激荡人...

Syslog 日志分析与异常检测技巧(syslog发送日志配置)

系统日志包含有助于分析网络设备整体运行状况的重要信息。然而,理解并从中提取有效数据往往颇具挑战。本文将详解从基础命令行工具到专业日志管理软件的全流程分析技巧,助你高效挖掘Syslog日志价值。Gr...

从Oracle演进看数据库技术的发展(从oracle演进看数据库技术的发展的过程)

数据库技术发展本质上是应用需求驱动与基础架构演进的双向奔赴,如何分析其技术发展的脉络和方向?考虑到oracle数据库仍然是这个领域的王者,以其为例,管中窥豹,对其从Oracle8i到23ai版本的核...

取消回复欢迎 发表评论: