c语言的能干什么?

c语言能干什么,以前以为c语言就是课本上那种黑底白字的代码,后来看了一些书后,知道c语言也能开发窗体程序,还有人说c语言一辈子都学不完。我是初学者,对语言越学越迷茫了,c语言到底能干些什么,包括了些什么,麻烦懂得的朋友给我讲讲!
先谢过了。答得满意又加分哦。

刚开始入门的时候都比较迷茫, 觉得 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 的身影.
语言只是一个工具, 关键是算法设计.
还有就是每天要养成写程序的习惯, 要不然很容易生分, 而且没有感觉, 我说的感觉就是, 看到代码以后可以很快的找出错误.
我的思维很混乱, 讲究看吧.追问

谢谢你。现在已经学完谭浩强版《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 平台的东西不接触, 比较恶心. 尽管外面的世界是微软的天下, 多是些没有质量的垃圾应用. 我不会选择一个湖泊而放弃大海.

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-07-22
说的极端一点,C就是万能的,底层到高层,从驱动到高级网络应用程序,不孔不入。比如LINUX操作系统就是用C写的,而不可能用JAVA去写一个操作系统,因为JAVA是运行在JVM之上的,而C编译后的程序(操作系统不同,编译和链接出来的执行文件也不同)可以直接运行在操作系统之上。同楼上的,现在C程序的开发效率不高,但无疑的是,C的运行效率是最高的。所有开发效率高的语言,一般都是集成了强大的I开发工具和函数库,而且好多都是运行在一些虚拟机之上,比如JAVA、C#,(C#必须有FRAMEWORK支持,变相的相当于需要虚拟机,这个其实跟java虚拟机又是两码事)。所以,最简单的,就是楼主你自己所谓的黑白程序,这叫控制台;往图形化去了的,你可以称作GUI,比如GTK就是用C写的,MFC就是用作WINDOWS下GUI编程。当然,我上面说C是万能的,这夸张了,只是,如果愿意用C,他一定是万能的,只是他在某些方面的开发效率注定了这些方面的程序不能用C开发,这是软件市场化追求利润的需求所致。额,扯远了,你可以同楼上说的,多学就懂了。。。。
第2个回答  2018-05-11

C++程序可以被转换成C语言程序,也就是说C++能完成的任务C语言都可以。
对于计算机,有些任务只有汇编能够完成,C语言有可能不太适合,(其实C语言可以写汇编器,然后自己动态编译程序,那样就全面了)。除了操作系统启动代码,特殊权限的寄存器操作(不考虑C语言的内建汇编),都可以写。

操作系统,在不同的系统上,C是完全不同的语言,比如Windows的消息机制和Linux的信号量,功能相似,但完全不同;算法,这决定了你程序的效率;多进程、多线程、数据库,这些在实际项目中是必不可少的。

C语言是Combined Language(组合语言)的中英混合简称。是一种计算机程序设计语言。它既具有高级语言的特点,又具有汇编语言的特点。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围广泛,不仅仅是在软件开发上,而且各类科研都需要用到C语言,具体应用比如单片机以及嵌入式系统开发。

C语言编译链接出来的程序就是软件。硬件是基础,软件是灵魂。硬件功能需要软件操作来体现。所以用处大了,小到计算器,大道操作系统都可以C语言实现。

本回答被网友采纳
第3个回答  2017-12-05
c语言是图灵完备的语言,也就是说任何你能想象的功能,在理论上通过c语言都能够实现。确实在刚刚学习c语言时基本都是命令行模式下进行输入输出的。但计算机软件体系是分层的,刚学的时候学的都是底层的基本操作。实际上通过c语言编写菜单模块、按钮模块等等基本模块也能实现界面的相应功能。只不过有了c++,现在基本的基于计算机界面的编程都不怎么使用c语言了,但是许多嵌入式设备的界面依然是由c语言来实现的。好好学习c语言吧,它是许多更高级语言的基础,也是了解计算机硬件体系的一个直观的工具。
第4个回答  2017-11-12
C语言和硬件联系比较大,做单片机程序啊,你可以自己做无人机,机器人,智能模块

学了C语言可以干什么
c语言学会了能干的事情有:1、做嵌入式开发;2、写漂亮的界面;3、做服务器开发;4、可以写游戏;5、可以写驱动程序;6、可以写外挂;7、可以做视频图片流媒体处理;8、可做网页和爬虫相关的编程;9、可以进行黑客编程等等。C语言是一种计算机程序设计语言。它既具有高级语言的特点,又具有汇编语言的...

C语言,学了能干什么?
c语言学会了能干的事情有:1、做嵌入式开发;2、写漂亮的界面;3、做服务器开发;4、可以写游戏;5、可以写驱动程序;6、可以写外挂;7、可以做视频图片流媒体处理;8、可做网页和爬虫相关的编程;9、可以进行黑客编程等等。C语言是一种计算机程序设计语言。它既具有高级语言的特点,又具有汇编语言的...

学会了C语言都可以做什么呢
开发系统组件或服务,用于支撑上层应用;编写PHP扩展,增强PHP的功能;如果对软件某个模块(例如算法和搜索部分)的效率要求较高,也可以使用C语言来开发。

c语言可以做什么 学c语言能干什么
1、C语言可以做嵌入式开发。2、C语言可以写漂亮的界面。以windows开发为例,你可以学习《windows程序设计(第五版)》,学完就可以写出界面来。还有一些开源库界面库,例如soui也是用C写出来的。3、C语言可以做服务器开发,现在的游戏服务器端大多都是C\/C++开发的。《windows核心编程》里面的例子就是用...

c语言可以用来做什么
C语言的主要用途 一、系统开发 C语言被广泛用于操作系统、编译器、数据库等核心系统的开发。由于其具备高效、灵活的特点,使得系统软件的运行效率得到优化。例如,Windows、Linux等主流操作系统都大量使用C语言进行核心代码编写。二、软件应用开发 C语言也可用于开发应用软件。无论是桌面应用程序还是网络应用...

c语言的能干什么
1、C语言是许多高级计算机语言的基础,学好C语言能更好的学习其他高级语言,为以后的学习打基础;往深学C语言的话那就是学到C在Linux里的应用,Linux十分强大,可以百度了解。2、C语言是一种计算机程序设计语言。具有高级语言的特点,又具有汇编语言的特点。C语言可作为工作系统设计语言,编写系统应用程序...

c语言可以用来做什么
1、设计特性 C语言的设计是自顶向下的规划、结构化编程和模块化设计。因此,用C语言编写的程序更易懂、更可靠。2、高效性 C语言具有通常是汇编语言才具有的微调控制能力(汇编语言是为特殊的中央处理单元设计的一系列内部指令,使用助记符来表 示;不同的CPU系列使用不同的汇编语言),可以根据具体情况...

c语言能干什么(会c语言能找什么工作?)
c语言是一种面向过程、抽象化的通用程序设计语言,它可以用来编写应用软件、编写系统软件和图形处理、开发嵌入式设备和开发游戏软件。下面是详细介绍:1、编写应用软件,Linux操作系统中的应用软件都是使用C语言编写的,这样的应用软件安全性非常高。2、编写系统软件和图形处理,C语言具有很强的绘图能力和可...

学c语言以后可以干什么
C语言是一种面向过程、抽象化的通用程序设计语言,适合开发固件或便携式应用程序,是最广泛使用的语言之一,学C语言可以干很多事情:1、编写应用软件:Linux操作系统中的应用软件都是使用C语言编写的,这样的应用软件安全性非常高。2、编写系统软件和图形处理:C语言具有很强的绘图能力和可移植性,并且具备...

C语言能干什么?
C语言是一种强大的计算机程序设计语言,它在1972年由D.M.Ritchie在美国贝尔研究所推出。随后,C语言被广泛移植到各种大、中、小及微型计算机上。学习C语言可以让你:1. 从事嵌入式开发,编写用于微控制器和硬件设备的软件;2. 设计并实现美观且功能丰富的用户界面;3. 进行服务器开发,构建高性能的...

相似回答