① 学会了c语言都可以做什么呢
C语言是一门通用性的语言,并没有针对某个领域进行优化,在实际项目中,C语言主要用于较底层的开发,例如:
Windows、Linux、Unix 等操作系统的内核90%以上都使用C语言开发;
开发硬件驱动,让硬件和操作系统连接起来,这样用户才能使用硬件、程序员才能控制硬件;
单片机和嵌入式属于软硬件的结合,有很多使用C语言的地方;
开发系统组件或服务,用于支撑上层应用;
编写PHP扩展,增强PHP的功能;
如果对软件某个模块(例如算法和搜索部分)的效率要求较高,也可以使用C语言来开发。
② 如何吸引人关注C语言
我的建议是搞一个嵌入式方面的展览,可以是实物加上图片的方式。
一方面,嵌入式领域与电子的联系比较紧密(电子、电路在嵌入式领域很多时候都是需要自己设计和制作的),另一方面,嵌入式方面最多使用的编程语言就是C了(包括基于Linux等嵌入式系统的产品的开发)。
通过展示这些产品及其开发过程,可以让人知道:光是电子领域,只是有一个躯壳,而C语言则是赋予 这个躯売智慧。
至于是哪方面的嵌入式,就看你的能力了,最简单的如洗衣机、微波炉等家电的的控制板,复杂一点的如手机、机器人、航天飞机等的设计。此外,嵌入式开发已经是目前电子领域最具活力的行业之一。
③ 学习C语言可以做什么
1. 后端开发
主流的后端开发语言就那么几种,以Java、C/C++领衔,Python和Go紧跟其后。
2. 游戏开发
掌握了C/C++基本语法之后,开发游戏也依然是一个不错的选择,目前工业级别的3D游戏引擎仍然是用C或C++编写的。
虽然以个人能力无法去完成一个庞大的网络游戏,但是从简单开始,编写一些小游戏,然后逐渐深入,循序渐进并最终加入大型游戏开发团队还是非常好的一个选择。与之相应的就业岗位主要有游戏开发工程师、游戏引擎架构工程师等。
3. 客户端开发
毕竟C/C++已经是一个很成熟的语言了,所以除了后端开发其实它还有很多其它的开发岗位可以选择。自然而然的,就是客户端开发了。
相信大多数学C/C++的同学都用过C/C++写桌面软件吧。那时候估计还是用MFC,照着代码书上敲一遍就能写一个比较简单的界面了。所以如果不想做后端,完全可以靠C/C++找一份客户端开发的工作。做客户端同样也需要扎实的编程基础和计算机理论基础,同时可能还要熟悉Windows/C++编译链接机制、QT客户端开发技术体系、Windows消息机制等技术。
4. 多媒体开发
目前多媒体技术同样渗入到人们的日常生活中,音视频已经成为人们获取信息的一个非常重要的手段。音视频在传输过程中都是经过压缩并且按照一定规则打包过的。视频的编码技术从最开始的H.261到如今的H.265,经历了30多年的发展,而且实现代码全部是由C或C++实现。
5. 嵌入式开发
上面几种岗位选择都是偏软件方向想的,而C/C++还有一类非常大的就业方向,就是去做嵌入式。嵌入式本身可能是偏硬件一点,但是现在做个什么事,都是软硬不分家的。
嵌入式的开发同样也会涉及到网络编程、并发编程等方面。通俗点解释可能就是,嵌入式代码是运行在别的小系统上,而不是传统意义的计算机上。这个方向除了需要编程能力,还需要基本的电路理论素养。
6. 人工智能
人工智能、机器学习等方向也少不了C或C++语言的身影。
需要强调的是虽然C/C++语言可以从事的方向非常广泛,但是仅仅掌握C/C++语法是远远不够的,上述的应用领域C/C++语言是基础,进入这些领域还需要进一步深入系统学习相关领域的知识以及去接触真实企业项目的内容。
④ 比较好的大学生C语言竞赛编程题 或者比较有档次的竞赛有哪些(本科、研究生可以参加的)
1:C语言竞赛编程题很多,你可以去北大的ACM网上测评系统JudgeOnline上做题,它能检查你的代码是否正确。
网址:http://acm.pku.e.cn/JudgeOnline/
可以注册一个账号,它会保存你每次提交正确的代码,上面的题比较多,范围广,各种难度试题都有。当然还有其他大学的一些JudgeOnline,如上海交大的。
2:有档次的竞赛首推ACM/ICPC(国际大学生程序设计竞赛),当然也有全国大学生程序设计大赛。每年有的网站和机构也会举办编程竞赛,如这几年网络举办的网络之星程序设计大赛也很有影响力。在给出的样题第一例有对ACM的详细介绍,样题是我们学校某届程序大赛初试题,比较简单。(此外ACM程序大赛也可以用C++编程,本科生、研一可参加)
3:一些简单的ACM样题(因为是国际性比赛,ACM试题都是E文的,下面部分是翻译过来的)
H-acm规则
Description
ACM/ICPC(国际大学生程序设计竞赛)是由ACM(Association for Computing Machinery,美国计算机协会)组织的年度性竞赛,始于1976年,是全球大学生计算机程序能力竞赛活动中最有影响的一项赛事,是全世界公认的规模最大、规格最高的大学生程序设计竞赛,是参赛选手展示计算机才华的广阔舞台,是着名大学计算机教育成果的直接体现,是信息企业与世界顶尖计算机人才对话的最好机会。ACM/ICPC采用赛区选拔的方式产生参加世界决赛学校的资格,2001年,来自全球超过25个地区1141所大学的2362支队伍参加了第26届ACM/ICPC的赛区竞赛。在2002年3月,来自世界各地的约60支队伍,200多名选手参加了夏威夷总决赛的角逐。
在 ACM/ICPC 比赛中,均使用自动判题系统,这不仅减轻了ACM/ICPC比赛的举办方的负担,同时也使竞争更加的公正公平。 因为在比赛中,比赛成员就可以看到自己排名情况,这使的比赛更加的透明。
ACM/ICPC 比赛中排名是按如下方法排名的:
1: 解题数目最多的队伍排在前面。
2: 如果解题数目相等的队伍,总用时最少的排在前面。
注: 在比赛中,每道试题用时将从竞赛开始到试题解答被判定为正确为止,期间每一次错误的运行将被加罚20分钟时间,未正确解答的试题不计时。 那么所有解答出来题目的用时和罚时加起来为:该队伍所花的总用时。
现在,需要你写一个程序来给比赛队伍进行排名(假设不超过200支队伍)。
Input
多行测试数据,每行包含各个队伍的比赛信息。
每个队伍格比赛信息表示格式为:
string n m 分别表示队名、解题数量、总用时(其中:队名为长度不超过30的字符串,解题数量为1…10之间的整数,罚时的范围不超过int的范围)
当输入end时,表示输入结束。
Output
按先后名次输出各个队伍的比赛信息。
每个比赛队伍占一行。
每行格式为:
string n m 分别代表 队名 解题数量 总用时。
Example Input
amstl 3 65
danoniao 2 50
lutedan 3 60
end
Example Output
lutedan 3 60
amstl 3 65
danoniao 2 50
G-我想我需要一只船屋
Description
佛瑞德最近正在考虑在路易斯安那洲买一片土地来盖一栋房子.在进行调查研究土地的过程中佛瑞德发现,路易斯安那洲的土地由于密西西比河的侵蚀会以每年50平方英里的速度缩减.佛瑞德计划后半生都在该地度过,所以他不希望在自己的有生之年房屋受到河水的侵蚀.现在他需要知道自己是否会受到河水的侵蚀.
在做了更多的调查之后,佛瑞德得知这里的土地沿河岸以半圆形方式侵蚀,这个半圆以(0,0)为圆心的,被X轴分成上下两部分,位于X轴下边的是河水,上面是河岸.在第一年开始的时候这个半圆范围为0,也就是说河岸未被河水侵蚀.(半圆如下图所示)
Input
第一行的一个正整数N指出下边有多少组数据需要计算.下边N行,每行包含两个实数X和Y,指出佛瑞德考虑的房子以(0,0)为原点的坐标系内的位置.以英里为单位.Y为非负数.
Output
计算在X,Y位置佛瑞德的房子在第几年会被河水侵蚀.与输入数据相对应每行以如下形式输出你的计算结果:“Property N: This property will begin eroding in year Z.”, 其中N为第N组数据,Z为你计算出的开始侵蚀的年数.在最后输出一句“END OF OUTPUT.”,表示计算结束.
Example Input
2
1.0 1.0
25.0 0.0
Example Output
Property 1: This property will begin eroding in year 1.
Property 2: This property will begin eroding in year 20.
END OF OUTPUT.
Hint
• 房屋的位置不会正好在半圆边界上,要不在内,要不在外。
• 你所提交的程序计算输出会由系统自动判断。你的结果要和输出要求精确匹配,字母大小写、标点符号和空格 。包括最后一行的语句也要精确匹配。
• 所有给定数据都以英里为单位。
F-N!的计算
Description
N!=N×(N-1)×(N-2)×(N-3)×....
Input
输入第一行为一正整数m,表示下边要计算几个 N!
下一行开始为m个正整数( 1 ≤ N ≤ 11 , m ≤ 9)
Output
输出这m个正整数的阶乘结果,每个一行.
Example Input
3
1
2
5
Example Output
1
2
120
I-Vertical Histogram
Description
Write a program to read four lines of upper case (i.e., all CAPITAL LETTERS) text input (no more than 72 characters per line) from the input file and print a vertical histogram that shows how many times each letter (but not blanks, digits, or punctuation) appears in the all-upper-case input. Format your output exactly as shown.
Input
* Lines 1..4: Four lines of upper case text, no more than 72 characters per line.
Output
* Lines 1..??: Several lines with asterisks and spaces followed by one line with the upper-case alphabet separated by spaces. Do not print unneeded blanks at the end of any line. Do not print any leading blank lines.
Example Input
THE QUICK BROWN FOX JUMPED OVER THE LAZY DOG.
THIS IS AN EXAMPLE TO TEST FOR YOUR
HISTOGRAM PROGRAM.
HELLO!
Example Output
*
*
* *
* * * *
* * * *
* * * * * *
* * * * * * * * * *
* * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * *
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
J-白棋胜?还是黑棋胜?
Description
Cinderalla最近迷上了玩五子棋.可是在和其它的小伙伴一起玩时她老是输,于是她想用计算机来帮她判断棋局是那方获胜.为了简便,我们先去掉一些规则.我们认为棋盘上只要有一方的棋有五个棋子相连就确定那一方获胜.你的任务是编写一个程序来判断我们给出的棋局是那一方获胜.
Input
输入数据只有一组.第一行有两个正整数m,n(5 ≤ m,n ≤ 10),分别代表棋盘的行数和列数.紧接着的2*n+1行是棋盘的描述,棋盘由"+","-","|"构成,其中"*"代表白棋,"#"代表黑棋. "+","-","|"的ASCII码分别为43、45、124
Output
输出数据只有一组,如果白棋获胜则输出White Win!,如果黑棋获胜则输出Black Win!
Example Input
5 10
+-+-+-+-+-+-+-+-+-+-+
| |*| | | | | | | | |
+-+-+-+-+-+-+-+-+-+-+
| | |*|#| | | | | | |
+-+-+-+-+-+-+-+-+-+-+
| | |#|*|#|#| | | | |
+-+-+-+-+-+-+-+-+-+-+
| | | | |*|#| | | | |
+-+-+-+-+-+-+-+-+-+-+
| | | | | |*| | | | |
+-+-+-+-+-+-+-+-+-+-+
Example Output
White Win!
Hint
给出的棋局必有一方是获胜的.
⑤ C语言活动
选C,X--是执行后减一,那么Z被附的值就是2。
⑥ c语言能用来做什么
C语言是许多高级计算机语言的基础,学好C语言,能更好地学习其他语言,为以后学习打基础。它既具有高级语言的特点,又具有汇编语言的特点。它的应用广泛,具备很强的数据处理能力,各类科研都需要用到C语言。它是面向过程的语言。学好是语言再学习使用其他语言也会有很大的帮助。
⑦ c语言的主要用途
C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。它由美国贝尔研究所的D.M.Ritchie于1972年推出,1978年后,C语言已先后被移植到大、中、小及微型机上,它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画,具体应用比如单片机以及嵌入式系统开发。
基本特性
1、C是高级语言:它把高级语言的基本结构和语句与低级语言的实用性结合起来。工作单元。
2、C是结构式语言:结构式语言的显着特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C 语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。
3、C语言功能齐全:具有各种各样的数据类型,并引入了指针概念,可使程序效率更高。而且计算功能、逻辑判断功能也比较强大,可以实现决策目的的游戏。
4、C语言适用范围大:适合于多种操作系统,如Windows、DOS、UNIX等等;也适用于多种机型。C语言对编写需要硬件进行操作的场合,优于其它高级语言,有一些大型应用软件也是用C语言编写的。
5、C语言应用指针:可以直接进行靠近硬件的操作,但是C的指针操作不做保护,也给它带来了很多不安全的因素。C++在这方面做了改进,在保留了指针操作的同时又增强了安全性,受到了一些用户的支持,但是,由于这些改进增加语言的复杂度,也为另一部分所诟病。Java则吸取了C++的教训,取消了指针操作,也取消了C++改进中一些备受争议的地方,在安全性和适合性方面均取得良好的效果,但其本身解释在虚拟机中运行,运行效率低于C++/C。一般而言,C,C++,java被视为同一系的语言,它们长期占据着程序使用榜的前三名。
⑧ 求c语言程序设计比赛活动策划书
范例:
XXX(2009-10-05 22:57:35)标签:杂谈
重庆邮电大学09年程序设计大赛策划书
一、活动名称:重庆邮电大学09年程序设计大赛
二、活动目的:为了推动和促进计算机软件技术在校园内的推广与普及,有助于提高在校生的创新能力,协作精神和理论联系实际的学风;有助于在校生实践素质的培养,提高在校生针对实际问题进行设计制作的能力;有助于吸引,鼓励广大在校生踊跃参加课外科技活动,为优秀人才的脱颖而出创造条件
三、参赛对象:重庆邮电大学在校本科生、研究生。以对为单位参赛,每队队员1至3人。
四、活动的主题及要求
1.大赛主题:设计小程序,激发大智慧
2.作品要求:
⑴参赛作品应健康,积极向上。
⑵作品功能最好要实用,使用要快捷方便。
⑶作品使用的设计语言必须为C语言,为保证及时开发出软件作品参加比赛,建议设计中、小规模的作品。
⑷作品题材不限,可自行确定。
⑸作品主要内容必须为原创,不得抄袭,如有引用他人作品的部分,须在文档中详细注明,否则视为抄袭。
⑹作品必须有规范详细的设计报告。
⑺提交的作品内容中不得含有参赛者的个人信息,否则取消参赛资格。
五、参赛报名形式及作品递交方式
1、报名流程
⑴报名表下载:报名表可从http://www.cqupt.e.cn/下载。
⑵报名表填写:认真如实填写报名表相关信息,之后准备电子稿与纸制稿各一份。
⑶报名表提交:报名表可提交到http://www.cqupt.e.cn/。
⑷报名时间:2009年XX月XX日--2009年XX月XX日。
2、作品提交流程
⑴作品完整内容:完整的作品包括规范的技术文档、程序源代码。
⑵作品提交方式:作品将以上所有内容打包以后,以电子档的形式通过邮件发送至大赛制定邮箱。
⑶作品提交时间:2009年XX月XX日--2009年XX月XX日。
六、比赛方式
1、初赛
评审老师通过审阅技术文档及作品,审定出额定数量的队伍参加比赛。
2、决赛
⑴决赛时间:2009年XX月XX日
⑵决赛地点:重庆邮电大学风雨操场
⑶决赛形式:
①作品宣讲
决赛当天由各参赛队上台进行作品解说,解说时间为5分钟。解说时可使用PPT及作品的功能演示。
②评委提问
由主委会专家组成的评审团,评审团针对作品的相关问题进行提问,参赛队伍必须正面回答评委提出的问题。
评委评分
根据以上两个环节以及作品的文档等评委进行评分,评审过程按照公平、公正、公开的原则。
统计得分
根据各位评委的评分,工作人员会现场统计各个参赛队伍的得分情况。
证书及奖品的发放
根据评委评分的结果按照从高到低的顺序评出本次比赛的各个基本奖项。评出各个奖项后由嘉宾现场对获奖队伍进行颁奖。
⑨ 与C语言相关的工作
与C相关的工作很多,毕竟C功能很强大,可应用范围广。
具体有:
1、嵌入式系统开发(如手机等);
2、游戏开发,让别人玩自己设计出来的游戏是很不错的感觉;
3、企业应用程序开发,如银行管理系统、公司财政或人员管理系统等等(最为广泛);
4、如果阁下您实力足够强大,写操作系统,写驱动程序。
......
当然还有很多很多,而前提是您足够牛,在较为精通C的情况下还要掌握一些数据库、汇编语言等知识,要与时俱进。要真那么不济,做个教师也毫不逊色的,呵呵。是金子终将发亮的,祝您成功!
⑩ C语言能用来做什么
学完C编程能力有一定提高,以后学java、C#等也快了。最好还是要有个人教你入门,网上的各种语言的学习视频也不少,可以看相关教学视频,多做上机试验。要做软件开发,还得自己的脑子转得快,遇到问题查资料看书结合自己知识解决问题。工作中不只是只有C方面的工作,也要学其他语言(如果新项目要用到),不是计算机专业的没关系,但是要看比较过关于这方面的知识,上网查资料是学习新知识比较好的方法,比如用网络、google就ok
要想让c语言为你所用,你要用他解决问题,而程序的基础是算法和数据结构,比如你要搞嵌入式,你要了解硬件,做音视频编解码,你要了解各种音视频编解码算法,总是语言本身并不算什么,你能用他解决问题了,才能算你入门。你可以先选个方向,然后找一份用c语言的工作,学习几年之后就有认识了