c语言的能干什么?
c语言能干什么,以前以为c语言就是课本上那种黑底白字的代码,后来看了一些书后,知道c语言也能开发窗体程序,还有人说c语言一辈子都学不完。我是初学者,对语言越学越迷茫了,c...
c语言能干什么,以前以为c语言就是课本上那种黑底白字的代码,后来看了一些书后,知道c语言也能开发窗体程序,还有人说c语言一辈子都学不完。我是初学者,对语言越学越迷茫了,c语言到底能干些什么,包括了些什么,麻烦懂得的朋友给我讲讲!
先谢过了。答得满意又加分哦。 展开
先谢过了。答得满意又加分哦。 展开
17个回答
展开全部
刚开始入门的时候都比较迷茫, 觉得 C 好像没有 GUI 就感觉什么也做不了一样. 事实上是 C 什么都可以做.
我之谈谈自己接触过的一些东西.
1. 图形处理 (OpenCV 里面都是 C 代码)
2. openkinect (同样是用 C 完成应用开发)
3. 在 Linux 平台上 GTK+ 应用程序的开发
4. 自然语言处理 (MeCab, 日本京都大学开发的, 里面也全部是 C 语言)
5. 太多的基于 C 语言的开放项目了, 数不清.
6. 声音信号的生成
7. 很多情况是用 C 写的 API, 然后用 swig 进行 warpper, 可以从 ruby, perl, python 等进行调用
什么都能做, 好好加油吧. 我的个人经验, 学完 C/C++, Java 其余语言都是相通的, 上手很快.
我自己熟悉的语言超过 10 种以上.
LISP (CommonLISP, Scheme), 普通用户不推荐, 大师级别可以考虑.
Fortran 很多人以为过时了, 其实根本不是, 本人接触的一些科研项目里面经常有 fortran 的身影.
语言只是一个工具, 关键是算法设计.
还有就是每天要养成写程序的习惯, 要不然很容易生分, 而且没有感觉, 我说的感觉就是, 看到代码以后可以很快的找出错误.
我的思维很混乱, 讲究看吧.
我之谈谈自己接触过的一些东西.
1. 图形处理 (OpenCV 里面都是 C 代码)
2. openkinect (同样是用 C 完成应用开发)
3. 在 Linux 平台上 GTK+ 应用程序的开发
4. 自然语言处理 (MeCab, 日本京都大学开发的, 里面也全部是 C 语言)
5. 太多的基于 C 语言的开放项目了, 数不清.
6. 声音信号的生成
7. 很多情况是用 C 写的 API, 然后用 swig 进行 warpper, 可以从 ruby, perl, python 等进行调用
什么都能做, 好好加油吧. 我的个人经验, 学完 C/C++, Java 其余语言都是相通的, 上手很快.
我自己熟悉的语言超过 10 种以上.
LISP (CommonLISP, Scheme), 普通用户不推荐, 大师级别可以考虑.
Fortran 很多人以为过时了, 其实根本不是, 本人接触的一些科研项目里面经常有 fortran 的身影.
语言只是一个工具, 关键是算法设计.
还有就是每天要养成写程序的习惯, 要不然很容易生分, 而且没有感觉, 我说的感觉就是, 看到代码以后可以很快的找出错误.
我的思维很混乱, 讲究看吧.
追问
谢谢你。现在已经学完谭浩强版《c语言版程序设计》,
请问:1、接下来我该学什么呢?
2、windows API和SDK是同一个东西吗?
3、麻烦您给我推荐一本c语言的深入教程吧,
再次感谢了!
追答
个人经验: 如果是学生的话, 没有必要在 GUI 或者 windows 这个粪坑儿平台浪费时间.
你应该学习更多是算法方面的东西, 既然你选择学 C, 就把数据结构和算法的代码都调试一下, 然后系统化的总结出来, 方便以后使用, 不要着急写 GUI 或者 Web Application, 这些东西都是可以在公司里面继续学习的, 只怕你到时候办瓶子, 想在去拾起来算法很难了. 还有那么多 IDE 工具你熟悉的过来吗? 非常推荐 Linux 平台, 我用的是 snow leopard (Mac OS X), 开源的思想很重要, 多接触一些基于C 的开源项目, 例如 libmemcached, grep 等.
windows 平台的东西不接触, 比较恶心. 尽管外面的世界是微软的天下, 多是些没有质量的垃圾应用. 我不会选择一个湖泊而放弃大海.
展开全部
说的极端一点,C就是万能的,底层到高层,从驱动到高级网络应用程序,不孔不入。比如LINUX操作系统就是用C写的,而不可能用JAVA去写一个操作系统,因为JAVA是运行在JVM之上的,而C编译后的程序(操作系统不同,编译和链接出来的执行文件也不同)可以直接运行在操作系统之上。同楼上的,现在C程序的开发效率不高,但无疑的是,C的运行效率是最高的。所有开发效率高的语言,一般都是集成了强大的I开发工具和函数库,而且好多都是运行在一些虚拟机之上,比如JAVA、C#,(C#必须有FRAMEWORK支持,变相的相当于需要虚拟机,这个其实跟java虚拟机又是两码事)。所以,最简单的,就是楼主你自己所谓的黑白程序,这叫控制台;往图形化去了的,你可以称作GUI,比如GTK就是用C写的,MFC就是用作WINDOWS下GUI编程。当然,我上面说C是万能的,这夸张了,只是,如果愿意用C,他一定是万能的,只是他在某些方面的开发效率注定了这些方面的程序不能用C开发,这是软件市场化追求利润的需求所致。额,扯远了,你可以同楼上说的,多学就懂了。。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C++程序可以被转换成C语言程序,也就是说C++能完成的任务C语言都可以。
对于计算机,有些任务只有汇编能够完成,C语言有可能不太适合,(其实C语言可以写汇编器,然后自己动态编译程序,那样就全面了)。除了操作系统启动代码,特殊权限的寄存器操作(不考虑C语言的内建汇编),都可以写。
操作系统,在不同的系统上,C是完全不同的语言,比如Windows的消息机制和Linux的信号量,功能相似,但完全不同;算法,这决定了你程序的效率;多进程、多线程、数据库,这些在实际项目中是必不可少的。
C语言是Combined Language(组合语言)的中英混合简称。是一种计算机程序设计语言。它既具有高级语言的特点,又具有汇编语言的特点。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围广泛,不仅仅是在软件开发上,而且各类科研都需要用到C语言,具体应用比如单片机以及嵌入式系统开发。
C语言编译链接出来的程序就是软件。硬件是基础,软件是灵魂。硬件功能需要软件操作来体现。所以用处大了,小到计算器,大道操作系统都可以C语言实现。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
c语言是图灵完备的语言,也就是说任何你能想象的功能,在理论上通过c语言都能够实现。确实在刚刚学习c语言时基本都是命令行模式下进行输入输出的。但计算机软件体系是分层的,刚学的时候学的都是底层的基本操作。实际上通过c语言编写菜单模块、按钮模块等等基本模块也能实现界面的相应功能。只不过有了c++,现在基本的基于计算机界面的编程都不怎么使用c语言了,但是许多嵌入式设备的界面依然是由c语言来实现的。好好学习c语言吧,它是许多更高级语言的基础,也是了解计算机硬件体系的一个直观的工具。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C语言和硬件联系比较大,做单片机程序啊,你可以自己做无人机,机器人,智能模块
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询