当前位置:首页 » 编程软件 » 31学c编程

31学c编程

发布时间: 2022-05-30 14:26:37

① 我想学习c语言编程,大侠们给点建议

首先,计划只能自己制定,别人制作的就像你说,我没鞋子而且不会造鞋子,能不能帮忙造一个。别人制作的鞋子不一定适合你的脚。你需要的是制作鞋子的方法。

学C语言,首先,要有本好教材,推荐谭浩强的《C程序设计<第三版>》,

其次,要找个老师或者至少比你强的人,因为你是新手,所以从其他人那里学经验是很重要的,这可以帮你节省时间,更重要的是,指导你学习调试程序。

再次,你要多和别人交流,从交流中学习别人的算法、设计思路、学习方法,调试程序方法……

加入一个群固然是个不错的选择,我还是建议你在身边找个懂C语言的,这样会好的多。

,下面给你一个网摘,很不错的,虽然是关于C++的,但还是有用,你也收藏了吧:
下面的是学 C++ 时要注意的。

1. 把 C++ 当成一门新的语言学习(和 C 没啥关系!真的。);

2. 看《 Thinking In C++ 》,不要看《 C++ 变成死相》;

3. 看《 The C++ Programming Language 》和《 Inside The C++ Object Model 》 , 不要因为他们很难而我们自己是初学者所以就不看;

4. 不要被 VC 、 BCB 、 BC 、 MC 、 TC 等词汇所迷惑 —— 他们都是集成开发环境,而我们要学的是一门语言;

5. 不要放过任何一个看上去很简单的小编程问题 —— 他们往往并不那么简单,或者可以引伸出很多知识点;

6. 会用 Visual C++ ,并不说明你会 C++ ;

7. 学 class 并不难, template 、 STL 、 generic programming 也不过如此 —— 难的是长期坚持实践和不遗余力的博览群书;

8. 如果不是天才的话,想学编程就不要想玩游戏 —— 你以为你做到了,其实你的 C++ 水平并没有和你通关的能力一起变高 —— 其实可以时刻记住:学 C++ 是为了编游戏的;

9. 看 Visual C++ 的书,是学不了 C++ 语言的;

10. 浮躁的人容易说: XX 语言不行了,应该学 YY ; —— 是你自己不行了吧!?

11. 浮躁的人容易问:我到底该学什么; —— 别问,学就对了;

12. 浮躁的人容易问: XX 有钱途吗; —— 建议你去抢银行;

13. 浮躁的人容易说:我要中文版!我英文不行! —— 不行?学呀!

14. 浮躁的人容易问: XX 和 YY 哪个好; —— 告诉你吧,都好 —— 只要你学就行;

15. 浮躁的人分两种: a) 只观望而不学的人; b) 只学而不坚持的人;

16. 把时髦的技术挂在嘴边,还不如把过时的技术记在心里;

17.C++ 不仅仅是支持面向对象的程序设计语言;

18. 学习编程最好的方法之一就是阅读源代码;

19. 在任何时刻都不要认为自己手中的书已经足够了;

20. 请阅读《 The Standard C++ Bible 》 ( 中文版:标准 C++ 宝典 ) ,掌握 C++ 标准;

21. 看得懂的书,请仔细看;看不懂的书,请硬着头皮看;

22. 别指望看第一遍书就能记住和掌握什么 —— 请看第二遍、第三遍;

23. 请看《 Effective C++ 》和《 More Effective C++ 》以及《 Exceptional C++ 》;

24. 不要停留在集成开发环境的摇篮上,要学会控制集成开发环境,还要学会用命令行方式处理程序;

25. 和别人一起讨论有意义的 C++ 知识点,而不是争吵 XX 行不行或者 YY 与 ZZ 哪个好;

26. 请看《程序设计实践》,并严格的按照其要求去做;

27. 不要因为 C 和 C++ 中有一些语法和关键字看上去相同,就认为它们的意义和作用完全一样;

28.C++ 绝不是所谓的 C 的 “ 扩充 ”—— 如果 C++ 一开始就起名叫 Z 语言,你一定不会把 C 和 Z 语言联系得那么紧密;

29. 请不要认为学过 XX 语言再改学 C++ 会有什么问题 —— 你只不过又在学一门全新的语言而已;

30. 读完了《 Inside The C++ Object Model 》以后再来认定自己是不是已经学会了 C++ ;

31. 学习编程的秘诀是:编程,编程,再编程;

32. 请留意下列书籍:《 C++ 面向对象高效编程( C++ Effective Object-Oriented Software Construction )》《面向对象软件构造 (Object-Oriented Software Construction) 》《设计模式( Design Patterns )》《 The Art of Computer Programming 》;

33. 记住:面向对象技术不只是 C++ 专有的;

34. 请把书上的程序例子亲手输入到电脑上实践,即使配套光盘中有源代码;

35. 把在书中看到的有意义的例子扩充;

36. 请重视 C++ 中的异常处理技术,并将其切实的运用到自己的程序中;

37. 经常回顾自己以前写过的程序,并尝试重写,把自己学到的新知识运用进去;

38. 不要漏掉书中任何一个练习题 —— 请全部做完并记录下解题思路;

39.C++ 语言和 C++ 的集成开发环境要同时学习和掌握;

40. 既然决定了学 C++, 就请坚持学下去,因为学习程序设计语言的目的是掌握程序设计技术,而程序设计技术是跨语言的;

41. 就让 C++ 语言的各种平台和开发环境去激烈的竞争吧,我们要以学习 C++ 语言本身为主;

42. 当你写 C++ 程序写到一半却发现自己用的方法很拙劣时,请不要马上停手;请尽快将余下的部分粗略的完成以保证这个设计的完整性,然后分析自己的错误并重新设计和编写(参见 43 );

43. 别心急,设计 C++ 的 class 确实不容易;自己程序中的 class 和自己的 class 设计水平是在不断的编程实践中完善和发展的;

44. 决不要因为程序 “ 很小 ” 就不遵循某些你不熟练的规则 —— 好习惯是培养出来的,而不是一次记住的;

45. 每学到一个 C++ 难点的时候,尝试着对别人讲解这个知识点并让他理解 —— 你能讲清楚才说明你真的理解了;

46. 记录下在和别人交流时发现的自己忽视或不理解的知识点;

47. 请不断地对自己写的程序提出更高的要求 , 哪怕你的程序版本号会变成 Version 100.XX ;

48. 保存好你写过的所有的程序 —— 那是你最好的积累之一;

49. 请不要做浮躁的人;

50. 请热爱 C++!

补充 :

对 c++ 学习的一点感想,希望对初学者能有些帮助

1. 如果你以前从来没有接触过 c++ ,那么选择的第一本 c++ 教程就显得尤为重要,我认为你可以参照以下的标准进行选择:

a. 对标准 c++ 进行讲解,毕竟 c++ 比从前发生了很大的变化。

b. 要求全面,但不要很深,这要有助于你对于 c++ 有一个全面的认识,打好基础,并且易懂的教材还能加快学习的进度,让自己保持一种成就感。

c. 要有完整的范例来讲解每一个知识点如何运用,请注意这里所说的完整,并不是个个代码片断。因为由于你以前从未接触过用 c++ 进行编程,完整的代码可以使你有一个整体的概念,并且能够很快去进行大量的实践,因为变编程是从模仿开始,完整的代码恰恰告诉你了一个完整的步骤。不必自己去揣测。

d. 推荐:《 c++ primer plus 》

2. 当你有了一定的基础以后,就要选择一些书来迅速提高自己。这类书的特点是不仅仅教你如何去运用,而且要叫你如何去思考,并且你读起来也不是那么轻松。它意味深远,并不是你读一遍就能掌握的。

推荐:《 thinking in c++ 》《 effective c++ 》《 more effective c++ 》

《 c++ programming language 》 ... 《 c++ 沉思录》

3. 接下来就是对第二步所介绍的书籍进行反复的阅读,并且进行实践。由于这些书一位深远,每个人基于自己的基础都会有不同的收获,例如如果你的基础还没有达到某一高度,那么你就对一些精深的技术视而不见,不信?你可以试试,看看当自己有了一定提高之后再来读从前的一本书,你会发现许多新的东西。

② 如何学习C语言

学习C++和编程的50个观点

下面的是学C++时要注意的。绝对经典。!!
1.把C++当成一门新的语言学习(和C没啥关系!真的。);
2.看《Thinking In C++》,不要看《C++变成死相》;
3.看《The C++ Programming Language》和《Inside The C++ Object
Model》,不要因为他们很难而我们自己是初学者所以就不看;
4.不要被VC、BCB、BC、MC、TC等词汇所迷惑——他们都是集成开发环境,而我们要学的是一门语言;
5.不要放过任何一个看上去很简单的小编程问题——他们往往并不那么简单,或者可以引伸出很多知识点;
6.会用Visual C++,并不说明你会C++;
7.学class并不难,template、STL、generic
programming也不过如此——难的是长期坚持实践和不遗余力的博览群书;
8.如果不是天才的话,想学编程就不要想玩游戏——你以为你做到了,其实你的C++水平并没有和你通关的能力一起变高——其实可以时刻记住:学C++是为了编游戏的;

9.看Visual C++的书,是学不了C++语言的;
10.浮躁的人容易说:XX语言不行了,应该学YY;——是你自己不行了吧!?
11.浮躁的人容易问:我到底该学什么;——别问,学就对了;
12.浮躁的人容易问:XX有钱途吗;——建议你去抢银行;
13.浮躁的人容易说:我要中文版!我英文不行!——不行?学呀!
14.浮躁的人容易问:XX和YY哪个好;——告诉你吧,都好——只要你学就行;
15.浮躁的人分两种:a)只观望而不学的人;b)只学而不坚持的人;
16.把时髦的技术挂在嘴边,还不如把过时的技术记在心里;
17.C++不仅仅是支持面向对象的程序设计语言;
18.学习编程最好的方法之一就是阅读源代码;
19.在任何时刻都不要认为自己手中的书已经足够了;
20.请阅读《The Standard C++ Bible》(中文版:标准C++宝典),掌握C++标准;
21.看得懂的书,请仔细看;看不懂的书,请硬着头皮看;
22.别指望看第一遍书就能记住和掌握什么——请看第二遍、第三遍;
23.请看《Effective C++》和《More Effective C++》以及《Exceptional C++》;
24.不要停留在集成开发环境的摇篮上,要学会控制集成开发环境,还要学会用命令行方式处理程序;
25.和别人一起讨论有意义的C++知识点,而不是争吵XX行不行或者YY与ZZ哪个好;
26.请看《程序设计实践》,并严格的按照其要求去做;
27.不要因为C和C++中有一些语法和关键字看上去相同,就认为它们的意义和作用完全一样;
28.C++绝不是所谓的C的“扩充”——如果C++一开始就起名叫Z语言,你一定不会把C和Z语言联系得那么紧密;
29.请不要认为学过XX语言再改学C++会有什么问题——你只不过又在学一门全新的语言而已;
30.读完了《Inside The C++ Object Model》以后再来认定自己是不是已经学会了C++;
31.学习编程的秘诀是:编程,编程,再编程;
32.请留意下列书籍:《C++面向对象高效编程(C++ Effective Object-Oriented Software
Construction)》《面向对象软件构造(Object-Oriented Software
Construction)》《设计模式(Design Patterns)》《The Art of Computer
Programming》;
33.记住:面向对象技术不只是C++专有的;
34.请把书上的程序例子亲手输入到电脑上实践,即使配套光盘中有源代码;
35.把在书中看到的有意义的例子扩充;
36.请重视C++中的异常处理技术,并将其切实的运用到自己的程序中;
37.经常回顾自己以前写过的程序,并尝试重写,把自己学到的新知识运用进去;
38.不要漏掉书中任何一个练习题——请全部做完并记录下解题思路;
39.C++语言和C++的集成开发环境要同时学习和掌握;
40.既然决定了学C++,就请坚持学下去,因为学习程序设计语言的目的是掌握程序设计技术,而程序设计技术是跨语言的;
41.就让C++语言的各种平台和开发环境去激烈的竞争吧,我们要以学习C++语言本身为主;
42.当你写C++程序写到一半却发现自己用的方法很拙劣时,请不要马上停手;请尽快将余下的部分粗略的完成以保证这个设计的完整性,然后分析自己的错误并重新设计和编写(参见43);

43.别心急,设计C++的class确实不容易;自己程序中的class和自己的class设计水平是在不断的编程实践中完善和发展的;
44.决不要因为程序“很小”就不遵循某些你不熟练的规则——好习惯是培养出来的,而不是一次记住的;
45.每学到一个C++难点的时候,尝试着对别人讲解这个知识点并让他理解——你能讲清楚才说明你真的理解了;
46.记录下在和别人交流时发现的自己忽视或不理解的知识点;
47.请不断的对自己写的程序提出更高的要求,哪怕你的程序版本号会变成Version 100.XX;
48.保存好你写过的所有的程序——那是你最好的积累之一;
49.请不要做浮躁的人;
50.请热爱C++!

说了这么多这是我学习C语言的心得,下面给你个实惠点的:C语言教程(免费)的,你可以先看看,http://tech.163.com/special/000915SN/cyuyan.html

③ c编程怎么学

1.一本好的教材,推荐你用清华大学谭浩强的教材。
2.一本编程习题答案,跟教材配套。
3.多看教材,不仅仅是记住语法,更重要的是掌握C语言的编程思想。多分析课本上的源程序。尝试改动程序,分析有什么结果,上级,对照
4.一定自己写程序,不能眼高手低。如果条件允许,尽量上机运行。看结果是不是自己想要的。
5.要有耐心。程序调试查错的过程比较麻烦,一定要坚持。

④ 学C语言前要学什么呢

软件编程后期一定要学C++

如何提高C语言的编程能力:

学习C语言,谭浩强的《C程序设计》是一部非常好的C语言书籍,学习程序设计是一个非常漫长的过程,不要着急,一本书多看两遍三遍,学会交叉学习法,在学习C的过程中,可以看看数据结构,编译原理,操作系统等书籍,对编成都是很有帮助的。最开始学习的时候,先不要编一些比较大的程序,多编一些小程序,比如数组运算,字符组合等等,指针是C语言的精华,是比较复杂的部分。看到你的情况,既然学的是软件编程,那么对语言的驾驭能力还是很不错的,我相信你,你一定能学习好C语言的。

C++的学习方法或建议

C++是C语言的扩展,学习的难度比较大一些,也是目前学习难度最大的一门语言,相对与C来讲,增加了一些新特性,继承,对象,模板,多态,STL(标准模板库),充分掌握这门语言需要四年的时间,

C++学习经典:
1.把C++当成一门新的语言学习。
2.看《Thinking In C++》,不要看《C++变成死相》;
3.看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因为他们很难而我们自己是初学者所以就不看;
4.不要被VC、BCB、BC、MC、TC等词汇所迷惑——他们都是集成开发环境,而我们要学的是一门语言;
5.不要放过任何一个看上去很简单的小编程问题——他们往往并不那么简单,或者可以引伸出很多知识点;
6.会用Visual C++,并不说明你会C++;
7.学class并不难,template、STL、generic programming也不过如此——难的是长期坚持实践和不遗余力的博览群书;
8.如果不是天才的话,想学编程就不要想玩游戏——你以为你做到了,其实你的C++水平并没有和你通关的能力一起变高——其实可以时刻记住:学C++是为了编游戏的;
9.看Visual C++的书,是学不了C++语言的;
10.浮躁的人容易说:XX语言不行了,应该学YY;——是你自己不行了吧!?
11.浮躁的人容易问:我到底该学什么;——别问,学就对了;
12.浮躁的人容易问:XX有钱途吗;——建议你去抢银行;
13.浮躁的人容易说:我要中文版!我英文不行!——不行?学呀!
14.浮躁的人容易问:XX和YY哪个好;——告诉你吧,都好——只要你学就行;
15.浮躁的人分两种:a)只观望而不学的人;b)只学而不坚持的人;
16.把时髦的技术挂在嘴边,还不如把过时的技术记在心里;
17.C++不仅仅是支持面向对象的程序设计语言;
18.学习编程最好的方法之一就是阅读源代码;
19.在任何时刻都不要认为自己手中的书已经足够了;
20.请阅读《The Standard C++ Bible》(中文版:标准C++宝典),掌握C++标准;
21.看得懂的书,请仔细看;看不懂的书,请硬着头皮看;
22.别指望看第一遍书就能记住和掌握什么——请看第二遍、第三遍;
23.请看《Effective C++》和《More Effective C++》以及《Exceptional C++》;
24.不要停留在集成开发环境的摇篮上,要学会控制集成开发环境,还要学会用命令行方式处理程序;
25.和别人一起讨论有意义的C++知识点,而不是争吵XX行不行或者YY与ZZ哪个好;
26.请看《程序设计实践》,并严格的按照其要求去做;
27.不要因为C和C++中有一些语法和关键字看上去相同,就认为它们的意义和作用完全一样;
28.C++绝不是所谓的C的“扩充”——如果C++一开始就起名叫Z语言,你一定不会把C和Z语言联系得那么紧密;
29.请不要认为学过XX语言再改学C++会有什么问题——你只不过又在学一门全新的语言而已;
30.读完了《Inside The C++ Object Model》以后再来认定自己是不是已经学会了C++;
31.学习编程的秘诀是:编程,编程,再编程;
32.请留意下列书籍:《C++面向对象高效编程(C++ Effective Object-Oriented Software Construction)》《面向对象软件构造(Object-Oriented Software Construction)》《设计模式(Design Patterns)》《The Art of Computer Programming》;
33.记住:面向对象技术不只是C++专有的;
34.请把书上的程序例子亲手输入到电脑上实践,即使配套光盘中有源代码;
35.把在书中看到的有意义的例子扩充;
36.请重视C++中的异常处理技术,并将其切实的运用到自己的程序中;
37.经常回顾自己以前写过的程序,并尝试重写,把自己学到的新知识运用进去;
38.不要漏掉书中任何一个练习题——请全部做完并记录下解题思路;
39.C++语言和C++的集成开发环境要同时学习和掌握;
40.既然决定了学C++,就请坚持学下去,因为学习程序设计语言的目的是掌握程序设计技术,而程序设计技术是跨语言的;
41.就让C++语言的各种平台和开发环境去激烈的竞争吧,我们要以学习C++语言本身为主;
42.当你写C++程序写到一半却发现自己用的方法很拙劣时,请不要马上停手;请尽快将余下的部分粗略的完成以保证这个设计的完整性,然后分析自己的错误并重新设计和编写(参见43);
43.别心急,设计C++的class确实不容易;自己程序中的class和自己的class设计水平是在不断的编程实践中完善和发展的;
44.决不要因为程序“很小”就不遵循某些你不熟练的规则——好习惯是培养出来的,而不是一次记住的;
45.每学到一个C++难点的时候,尝试着对别人讲解这个知识点并让他理解——你能讲清楚才说明你真的理解了;
46.记录下在和别人交流时发现的自己忽视或不理解的知识点;
47.请不断地对自己写的程序提出更高的要求,哪怕你的程序版本号会变成Version 100.XX;
48.保存好你写过的所有的程序——那是你最好的积累之一;
49.请不要做浮躁的人;
50.请热爱C++!

⑤ 学好C语言要多少时间

C语言本身就是很难的一门编程语言。如果之前从未接触过编程语言,那么只要有兴趣,肯钻研,方法得当,入门也需要几个月。推荐入门书籍《C程序设计 谭浩强编着》。关键的关键一定要多练习,多实践。 如果之前接触过编程语言,比如面向对象的JAVA,C#,那么C语言入门就会很快,但是C语言是纯粹面向过程的语言,思想转变也需要一段时间。切不可急功近利,一步一个脚印,才能学好编程。总结:兴趣、钻研、多练、莫浮躁。
1、程语语言其实是一个很初级的工具,但是又必须熟练的掌握它,学懂一门编程语言就好像学会了写字,但是会写字的人不见得会写文章,而会写文章又不见的写得好。可是如果不会写字,那就一定写不出文章来。
2、在学习C语言之前,应该学好计算机基础。里面的很多概念对于C程序员都是非常重要的。如果在着手学习C之前,或者已经开始学习C,但是碰到了很多问题,应该再把计算机基础的书拿来好好看看。如果有足够的耐心,十足的毅力,应该再学习C语言之前学学汇编,这会对许多比较细腻的概念有清醒的认识。那么可以在看完一遍C语言的教材后再看,但是一定要看一遍,一定会受益匪浅。不管看什么书,先认真地看懂,不要贪速度,应该力求深入的理解。如果能够比较熟练的解决一本教材上的所有习题,那么就应该转入对算法的学习,尽管此时的C语言还称不上精通,有许多细节问题还不了解,许多问题还没有碰到,但是这些问题会在后面的工作和学习中得到解决的。
3、不需要多少资料,掌握一本《The C Programming Language》就足够了。继续学习就更加容易。建议不要找捷径,通过考试除外,真正的水平提高是建立在编程实践积累基础上的,必须一个一个程序的完成才能提高。

⑥ 在C语言编程中应该注意哪些问题

1.先学习C语言的基础知识。现在正在学C语言的在校学生可以直接进入第2步学习。
2.按照《C语言程序设计入门学习六步曲》进行上机练习。
3.在上机练习时要养成良好的编程风格。点击查看C语言的编程风格

4.积极参加C、C++兴趣小组,养成和老师与同学交流习惯,从而相互收益。有时别人不经意的一句话可能使你茅塞顿开--“一句话点醒梦中人”。

5.及时总结自己的学习经验,养成写C语言日记的习惯。软件有编程日记功能。

6.从网上或教材上找一个自己感兴趣的题目(选题时根据自己的能力,可先易后难,培养自己的成就感,如果有了成就感,即使再苦再累还是感觉C语言学习是一件快乐的事,同学们喜欢打游戏,经常通宵达旦地玩游戏也乐而不疲就是这个道理)进行实战训练,提高自己的C语言综合应用能力。

7. 由于C语言灵活、强大,初学者要全面地掌握它是不可能的,因此在学习C语言的过程中,不要在细枝末节上浪费精力(比如++、--用于表达式的计算,实际上是没有意义的),但一定要熟练掌握C语言的流程控制语句、数组、函数、指针等基础知识的应用,为学习面向对象程序设计打下坚实的基础。如果这些知识你学不好,要后续学习好C++、可视化的程序设计Visual C++或C++Builder就像空中楼阁,是不现实的。
C语言程序设计入门学习六步曲

笔者在从事教学的过程中,听到同学抱怨最多的一句话是:老师,上课我也能听懂,书上的例题也能看明白,可是到自己动手做编程时,却不知道如何下手。发生这种现象的原因有三个:

一、所谓的看懂听明白,只是很肤浅的语法知识,而我们编写的程序或软件是要根据要解决问题的实际需要控制程序的流程,如果你没有深刻地理解C语言的语句的执行过程(或流程),你怎么会编写程序解决这些实际问题呢?

二、用C语言编程解决实际问题,所需要的不仅仅是C语言的编程知识,还需要相关的专业知识。例如,如果你不知道长方形的面积公式,即使C语言学得再好你也编不出求长方形的面积的程序来。

三、C语言程序设计是一门实践性很强的课程,“纸上谈兵”式的光学不练是学不好C语言的。例如,大家都看过精彩自行车杂技表演,假如,你从来没有骑过自行车,光听教练讲解相关的知识、规则、技巧,不要说上台表演、就是上路你恐怕都不行。

出现问题原因清楚了,那么如何学习呢?请你看【C语言学习六步曲】

在程序开发的过程中,上机调试程序是一个不可缺少的重要环节。“三分编程七分调试”,说明程序调试的工作量要比编程大得多。这里以如何上机调试C程序来说明C语言的学习方法。

第一步、验证性练习

在这一步要求按照教材上的程序实例进行原样输入,运行一下程序是否正确。在这一步基本掌握C语言编程软件的使用方法(包括新建、打开、保存、关闭C程序,熟练地输入、编辑C程序;初步记忆新学章节的知识点、养成良好的C语言编程风格)。
初学者最容易犯的错误是:

1、没有区分开教材上的数字1和字母l,字母o和数字0的区别,造成变量未定义的错误。另一个易错点是将英文状态下的逗号,分号;括号()双引号""输入出入成中文状态下的逗号,分号;括号(),双引号“”造成非法字符错误。

2、C语言初学者易犯语法错误:使用未定义的变量、标示符(变量、常量、数组、函数等)不区分大小写、漏掉“;”、“{”与“}”、“(”与“)”不匹、控制语句(选择、分支、循环)的格式不正确、调用库函数却没有包含相应的头文件、调用未C声明的自定义函数、调用函数时实参与形参不匹配、数组的边界超界等。

3、修改C语言语法错误时要注意以下两点:

(1)、由于C语言语法比较自由、灵活,因此错误信息定位不是特别精确。例如,当提示第10行发生错误时,如果在第10行没有发现错误,从第10行开始往前查找错误并修改之。

(2)、一条语句错误可能会产生若干条错误信息只要修改了这条错误,其他错误会随之消失。特别提示:一般情况下,第一条错误信息最能反映错误的位置和类型,所以调试程序时务必根据第一条错误信息进行修改,修改后,立即运行程序,如果还有很多错误,要一个一个地修改,即,每修改一处错误要运行一次程序。
第二步、照葫芦画瓢
在第一步输入的C程序的基础上进行试验性的修改,运行一下程序看一看程序结果发生了什么变化,分析结果变化的原因,加深新学知识点的理解。事实上这和第一步时同步进行的,实现“输入”加深知识的记忆,“修改”加深对知识的理解。记忆和理解是相辅相成的,相互促进。

例如:将最简单的Hello World!程序
#include "stdio.h"
int main()
{
printf("Hello World!\n");
return 0;
}
中的

printf("Hello World!\n");

中的Hello World!改成你的姓名,运行一下程序,看有什么变化?

再如求1+2+3...+100的和的程序

#include <stdio.h>

main()

{

int i,sum=0;

for(i=1;i<=100;i++)
{
sum=sum+i;
}
printf("sum=%d\n",sum);
}

第1次将for(i=1;i<=100;i++)中的100改成50,运行一下程序,看有什么变化?

第2次将for(i=1;i<=100;i++)中的i++改成i=i+2,运行一下程序,看有什么变化?

找出程序结果变化的原因,就加深了对C语句的理解。

第三步、不看教材看是否能将前两步的程序进行正确地输入并运行。

在这一步要求不看教材,即使程序不能运行,看能否将其改正,使其能正确运行。目的是对前两步的记忆、理解进一步强化。

第四步、增强程序的调试能力

在教材中每章都有C语言初学者易犯的错误,按照易出错的类型,将教材中的正确的程序改成错误的程序,运行一下程序,看出现的错误信息提示,并记下错误信息,再将程序改成正确的,运行一下程序。这样反复修改,就能够学习C语言程序发生错误的原因和修改错误的能力。

注意:每次只改错一个地方,目的是显示发生该错误的真正原因,避免一次改动多个地方,搞清发生错误的真正原因,切记!!!!

注意:上机调试程序时要带一个记录本,记下英文错误提示信息和解决该错误问题的方法,积累程序调试经验,避免在编程犯同样的错误,切记!!!!。

例如,将Hello World程序中语句

printf("Hello World!\n");

中的;改成中文的分号;

运行一下程序,看有什么结果?

调试程序是一种实践性很强的事,光纸上谈兵是是没用的,就像游泳运动员只听教练讲解示范,而不亲自下水练习,是永远学不会游泳的。

即使在优秀的程序员编写程序也会犯错误的,可能事最低级的语法错误,但他能快速发现错误并改正错误,而我们C语言初学者面对错误提示,不知道发生了什么错误,如何改正,这就事差别。

第五步、研究典型的C语言程序,提高程序设计能力

C语言初学者遇到最多的困惑是:上课也能听懂,书上的例题也能看明白,可是到自己动手做编程时,却不知道如何下手。发生这种现象的原因是:所谓的看懂听明白,只是很肤浅的语法知识,而没有深刻地理解C语言的语句的执行过程(或流程)。

计算机是按照人的指令(编写的程序)去执行的,如果不知道这些C语句在计算机中是如何执行的,你怎么回灵活运用这些知识去解决实际问题呢?

解决问题的方法是要先理解C语言各种语句的流程(即计算机是如何执行这些语句的过程),然后研读现成C语言经典程序,看懂别人事如何解决问题的,以提高自己的程序设计能力。
第六步、研究课程设计源成序,提高C语言的综合应用能力.

⑦ 学习C语言需要掌握哪些基本知识

1.入门程序

#include <stdio.h>
int main()
{
printf("Hello World!");
return 0;
}

2.数据类型

数据类型:

1.基本数据类型:

1.1. 整型:int 4个字节

1.2. 字符型:char 1个字节

1.3. 实型(浮点型)

  • 1.3.1.单精度型:float 4个字节

  • 1.3.2.双精度型:double 8个字节

  • 2.构造类型:

    2.1.枚举类型

    2.2.数组类型

    2.3.结构体类型

    2.4.共用体类型

    3.指针类型:

    4.空类型:

    3.格式化输出语句

  • %d:十进制整数;

  • %c:单个字符;

  • %s:字符串;

  • %f:6位小数;

  • #include <stdio.h>

  • int main()

  • {

  • int age = 18;

  • float height = 1.85;

  • char unit = 'm';

  • printf("小明今年%d岁 ", age);

  • printf("小明身高%f%c ", height, unit);

  • printf("小明现在在慕课网上学习IT技术 ");

  • return 0;

  • }

  • 学好C++才是入职大厂的敲门砖! 当年要是有这课,我的C++也不至于这样

    已失效

    4.常量

    值不发生改变的量成为常量;

    定义字符常量(注意后面没有;)

  • #include <stdio.h>

  • #define POCKETMONEY 10 //定义常量及常量值

  • int main()

  • {

  • printf("小明今天又得到%d元零花钱 ", POCKETMONEY);

  • return 0;

  • }

  • 5.运算符

    5.1.算数运算符:+,-,*,/,%,++,--;前++/--,先运算,再取值.后++/--,先取值,再运算;

    5.2.赋值运算符:

    5.3.关系运算符;

    5.4.逻辑运算符;

    5.5.三目运算符:

  • 表达式1 ? 表达式2 : 表达式3;

  • 6.水仙花数计算

    输出所有三位数的水仙花数字

    所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数,如:153就是一个水仙花数,153=111+555+333。

  • #include <stdio.h>


  • int main()

  • {

  • //定义三位数num,个位数sd,十位数td,百位数hd

  • int num, sd, td, hd;

  • //循环所有三位数

  • for( num=100 ; num<1000 ; num++ )

  • {

  • //获取三位数字num百位上的数字

  • hd = num/100 ;

  • //获取三位数字num十位上的数字

  • td = num/10%10 ;

  • //获取三位数字num个位上的数字

  • sd = num%10 ;

  • //水仙花数的条件是什么?

  • if(num ==hd*hd*hd+td*td*td+sd*sd*sd )

  • {

  • printf("水仙花数字:%d ", num);

  • }

  • }

  • return 0;

  • }

  • 7.打印正三角形的*

  • #include <stdio.h>

  • int main()

  • {

  • int i, j, k;

  • for(i=1; i<5; i++)

  • {

  • /* 观察每行的空格数量,补全循环条件 */

  • for( j=i ; j<5 ; j++ )

  • {

  • printf(" "); //输出空格

  • }

  • /* 观察每行*号的数量,补全循环条件 */

  • for( k=0 ; k<2*i-1 ; k++ )

  • {

  • printf("*"); //每行输出的*号

  • }

  • printf(" "); //每次循环换行

  • }

  • return 0;

  • }

  • 8.臭名远扬的goto语句

    很少使用

  • #include <stdio.h>

  • int main()

  • {

  • int sum = 0;

  • int i;

  • for(i=1; i<=10; i++)

  • {

  • printf("%d ", i);

  • if(i==3){

  • goto LOOP;//满足条件就执行goto语句

  • }

  • }

  • //执行goto

  • LOOP:printf("结束for循环了...."); //请选择合适位置添加标识符

  • return 0;

  • }

  • 9.形参与实参

    形参:形参是在定义函数名和函数体的时候使用的参数,目的是用来接收调用该函数时传入的参数;

    实参:实参是在调用时传递该函数的参数。

    函数的形参和实参具有以下特点:

  • 形参只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只有在函数内部有效。函数调用结束返回主调函数后则不能再使用该形参变量。

  • 实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值,以便把这些值传送给形参。因此应预先用赋值等办法使实参获得确定值。

  • 在参数传递时,实参和形参在数量上,类型上,顺序上应严格一致,否则会发生类型不匹配”的错误。

  • 10.函数返回值注意

    注意:void函数中可以有执行代码块,但是不能有返回值,另void函数中如果有return语句,该语句只能起到结束函数运行的功能。其格式为:return;

    11.递归

  • #include <stdio.h>


  • int getPeachNumber(int n) //这里要定义n,要不编译器会报错!

  • {

  • int num;

  • if(n==10)

  • {

  • return 1;

  • }

  • else

  • {

  • num = (getPeachNumber(n+1)+1)*2;

  • printf("第%d天所剩桃子%d个 ", n, num);

  • }

  • return num;

  • }

  • int main()

  • {

  • int num = getPeachNumber(1);

  • printf("猴子第一天摘了:%d个桃子。 ", num);

  • return 0;

  • }

  • 12.变量存储类别 !

    12.1.生存周期划分存储方式

    C语言根据变量的生存周期来划分,可以分为静态存储方式和动态存储方式。

    静态存储方式:是指在程序运行期间分配固定的存储空间的方式。静态存储区中存放了在整个程序执行过程中都存在的变量,如全局变量。

    动态存储方式:是指在程序运行期间根据需要进行动态的分配存储空间的方式。动态存储区中存放的变量是根据程序运行的需要而建立和释放的,通常包括:函数形式参数;自动变量;函数调用时的现场保护和返回地址等。

    12.2.存储类型划分

    C语言中存储类别又分为四类:自动(auto)、静态(static)、寄存器的(register)和外部的(extern) ;

  • 用关键字auto定义的变量为自动变量,auto可以省略,auto不写则隐含定为“自动存储类别”,属于动态存储方式。

  • 用static修饰的为静态变量,如果定义在函数内部的,称之为静态局部变量;如果定义在函数外部,称之为静态外部变量。

  • 注意:静态局部变量属于静态存储类别,在静态存储区内分配存储单元,在程序整个运行期间都不释放;静态局部变量在编译时赋初值,即只赋初值一次;如果在定义局部变量时不赋初值的话,则对静态局部变量来说,编译时自动赋初值0(对数值型变量)或空字符(对字符变量)

  • 为了提高效率,C语言允许将局部变量的值放在CPU中的寄存器中,这种变量叫“寄存器变量”,用关键字register作声明。

  • 注意:只有局部自动变量和形式参数可以作为寄存器变量;一个计算机系统中的寄存器数目有限,不能定义任意多个寄存器变量;局部静态变量不能定义为寄存器变量。

  • 用extern声明的的变量是外部变量,外部变量的意义是某函数可以调用在该函数之后定义的变量。

  • #includ <stdio.h>

  • //来源公众号:C语言与CPP编程

  • int main()

  • {

  • //定义外部局部变量

  • extern int x;

  • return 0;

  • }

  • int x=100;

  • 13.内部函数外部函数 !

    在C语言中不能被其他源文件调用的函数称为内部函数 ,内部函数由static关键字来定义,因此又被称为静态函数,形式为:

    static [数据类型] 函数名([参数])

    这里的static是对函数的作用范围的一个限定,限定该函数只能在其所处的源文件中使用,因此在不同文件中出现相同的函数名称的内部函数是没有问题的。

    在C语言中能被其他源文件调用的函数称为外部函数 ,外部函数由extern关键字来定义,形式为:

    extern [数据类型] 函数名([参数])

    C语言规定,在没有指定函数的作用范围时,系统会默认认为是外部函数,因此当需要定义外部函数时extern也可以省略。 extern可以省略; 14.数组 数组:一块连续的,大小固定并且里面的数据类型一致的内存空间, 数组的声明:数据类型 数组名称[长度n]

  • 数据类型 数组名称[长度n] = {元素1,元素2,元素3,......};

  • 数据类型 数组名称[] = {元素1,元素2,元素3,......};

  • 数类类型 数组名称[长度n]; 数组名称[0] = 元素1;数组名称[1] = 元素2;...... 注意: 1、数组的下标均以0开始; 2、数组在初始化的时候,数组内元素的个数不能大于声明的数组长度; 3、如果采用第一种初始化方式,元素个数小于数组的长度时,多余的数组元素初始化为0; 4、在声明数组后没有进行初始化的时候,静态(static)和外部(extern)类型的数组元素初始化元素为0,自动(auto)类型的数组的元素初始化值不确定。

  • 15.数组遍历

  • #include <stdio.h>


  • int main()

  • {

  • int arr[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};

  • int i;

  • for(i=0;i<10;i++)

  • {

  • printf("%d ",arr[i]);

  • }

  • return 0;

  • }

  • 数组的冒泡排序

  • 冒泡排序的思想:相邻元素两两比较,将较大的数字放在后面,直到将所有数字全部排序。

  • 字符串与数组

  • 在C语言中,是没有办法直接定义子字符串数据类型的,需使用数组来定义所要的字符串,形式如下:

  • char 字符串名称[长度] = "字符串内容";

  • char 字符串名称[长度] = {'字符串1','字符串2',....,'字符串n',''};

  • 注:

  • []中的长度可以省略不写;

  • 采用第二种方式最后一个元素必须是'',表示结束;

  • 第二种方式不能写中文!; 输出字符串时,要使用:printf("%s",字符数组名);或puts(字符数组名);

  • 16.字符串函数

  • strlen(s):获取字符串s的长度;

  • strcmp(s1,s2):比较字符串;比较的时候会把字符串转换成ASCII码再进行比较,返回结果为0表示s1和s2的ASCII码值相等,返回结果为1表示s1比s2的ASCII码大,返回结果为-1表示s1比s2的ACSII码小;

  • strcpy(s1,s2):字符串拷贝;s2会取代s1中的内容;

  • strcat(s1,s2)将s2拼接到s1后面;注意:s1的length要足够才可以!

  • atoi(s1)将字符串转为整数!

  • 17.多维数组

    数据类型 数组名称[常量表达式1]...[常量表达式n];

    多维数组的初始化与一维数组的初始化类似也是分两种:

  • 数据类型 数组名称[常量表达式1][常量表达式2]...[常量表达式n] = {{值1,..,值n},{值1,..,值n},...,{值1,..,值n}};

  • 数据类型 数组名称[常量表达式1][常量表达式2]...[常量表达式n]; 数组名称[下标1][下标2]...[下标n] = 值;

  • 多维数组初始化要注意以下事项:

  • 采用第一种始化时数组声明必须指定列的维数。因为系统会根据数组中元素的总个数来分配空间,当知道元素总个数以及列的维数后,会直接计算出行的维数;

  • 采用第二种初始化时数组声明必须同时指定行和列的维数。

  • 18.多维度数组的遍历

    使用嵌套循环

    注意:多维数组的每一维下标均不能越界!

    19.结构体

    C 数组允许定义可存储相同类型数据项的变量,结构是 C 编程中另一种用户自定义的可用的数据类型,它允许您存储不同类型的数据项。

    结构用于表示一条记录,假设您想要跟踪图书馆中书本的动态,您可能需要跟踪每本书的下列属性:

  • Title

  • Author

  • Subject

  • Book ID

  • 定义结构

    为了定义结构,您必须使用 struct 语句。struct 语句定义了一个包含多个成员的新的数据类型,struct 语句的格式如下:

  • struct tag {

  • member-list

  • member-list

  • member-list

  • ...

  • } variable-list ;

  • tag 是结构体标签。

    member-list 是标准的变量定义,比如 int i; 或者 float f,或者其他有效的变量定义。

    variable-list 结构变量,定义在结构的末尾,最后一个分号之前,您可以指定一个或多个结构变量。下面是声明 Book 结构的方式:

  • struct Books

  • {

  • char title[50];

  • char author[50];

  • char subject[100];

  • int book_id;

  • } book;

  • 在一般情况下,tag、member-list、variable-list 这 3 部分至少要出现 2 个。以下为实例:

  • //此声明声明了拥有3个成员的结构体,分别为整型的a,字符型的b和双精度的c

  • //同时又声明了结构体变量s1

  • //这个结构体并没有标明其标签

  • struct

  • {

  • int a;

  • char b;

  • double c;

  • } s1;


  • //此声明声明了拥有3个成员的结构体,分别为整型的a,字符型的b和双精度的c

  • //结构体的标签被命名为SIMPLE,没有声明变量

  • struct SIMPLE

  • {

  • int a;

  • char b;

  • double c;

  • };

  • //用SIMPLE标签的结构体,另外声明了变量t1、t2、t3

  • struct SIMPLE t1, t2[20], *t3;


  • //也可以用typedef创建新类型

  • typedef struct

  • {

  • int a;

  • char b;

  • double c;

  • } Simple2;

  • //现在可以用Simple2作为类型声明新的结构体变量

  • Simple2 u1, u2[20], *u3;

  • 访问结构成员

    为了访问结构的成员,我们使用成员访问运算符(.)。成员访问运算符是结构变量名称和我们要访问的结构成员之间的一个句号。您可以使用 struct 关键字来定义结构类型的变量。下面的实例演示了结构的用法:

  • #include <stdio.h>

  • #include <string.h>

  • //来源公众号:C语言与CPP编程


  • struct Books

  • {

  • char title[50];

  • char author[50];

  • char subject[100];

  • int book_id;

  • };


  • int main( )

  • {

  • struct Books Book1; /* 声明 Book1,类型为 Books */

  • struct Books Book2; /* 声明 Book2,类型为 Books */


  • /* Book1 详述 */

  • strcpy( Book1.title, "C Programming");

  • strcpy( Book1.author, "Nuha Ali");

  • strcpy( Book1.subject, "C Programming Tutorial");

  • Book1.book_id = 6495407;


  • /* Book2 详述 */

  • strcpy( Book2.title, "Telecom Billing");

  • strcpy( Book2.author, "Zara Ali");

  • strcpy( Book2.subject, "Telecom Billing Tutorial");

  • Book2.book_id = 6495700;


  • /* 输出 Book1 信息 */

  • printf( "Book 1 title : %s ", Book1.title);

  • printf( "Book 1 author : %s ", Book1.author);

  • printf( "Book 1 subject : %s ", Book1.subject);

  • printf( "Book 1 book_id : %d ", Book1.book_id);


  • /* 输出 Book2 信息 */

  • printf( "Book 2 title : %s ", Book2.title);

  • printf( "Book 2 author : %s ", Book2.author);

  • printf( "Book 2 subject : %s ", Book2.subject);

  • printf( "Book 2 book_id : %d ", Book2.book_id);


  • return 0;

  • }

  • 学好C++才是入职大厂的敲门砖! 当年要是有这课,我的C++也不至于这样

    已失效

    20.共用体

    共用体是一种特殊的数据类型,允许您在相同的内存位置存储不同的数据类型。您可以定义一个带有多成员的共用体,但是任何时候只能有一个成员带有值。共用体提供了一种使用相同的内存位置的有效方式。

  • #include <stdio.h>

  • #include <string.h>


  • union Data

  • {

  • int i;

  • float f;

  • char str[20];

  • };


  • int main( )

  • {

  • union Data data;


  • printf( "Memory size occupied by data : %d ", sizeof(data));


  • return 0;

  • }

  • 21.指针

  • #include <stdio.h>


  • int main ()

  • {

  • int var = 20; /* 实际变量的声明 */

  • int *ip; /* 指针变量的声明 */


  • ip = &var; /* 在指针变量中存储 var 的地址 */


  • printf("Address of var variable: %p ", &var );


  • /* 在指针变量中存储的地址 */

  • printf("Address stored in ip variable: %p ", ip );


  • /* 使用指针访问值 */

  • printf("Value of *ip variable: %d ", *ip );


  • return 0;

  • }

  • 22.文件读写

    写入文件

  • #include <stdio.h>


  • int main()

  • {

  • FILE *fp = NULL;


  • fp = fopen("/tmp/test.txt", "w+");

  • fprintf(fp, "This is testing for fprintf... ");

  • fputs("This is testing for fputs... ", fp);

  • fclose(fp);

  • }

  • 读取文件

  • #include <stdio.h>


  • int main()

  • {

  • FILE *fp = NULL;

  • char buff[255];


  • fp = fopen("/tmp/test.txt", "r");

  • fscanf(fp, "%s", buff);

  • printf("1: %s ", buff );


  • fgets(buff, 255, (FILE*)fp);

  • printf("2: %s ", buff );


  • fgets(buff, 255, (FILE*)fp);

  • printf("3: %s ", buff );

  • fclose(fp);


  • }

  • C语言与C++学习路线

    23.排序算法

    十大经典排序算法(动态演示+代码)

    24.查找算法

    九种查找算法

    25.面试知识

    C语言与C++面试知识总结

    26.字符串操作

    字符串操作的全面总结

    27.C语言常用标准库解读

    C语言常用标准库解读

    28. C语言最常用的贪心算法

    C语言最常用的贪心算法就这么被攻克了

    29. 常见的C语言内存错误及对策

    常见的C语言内存错误及对策

    30. C语言实现面向对象的原理

    C语言实现面向对象的原理

    31. C语言/C++内存管理

    看完这篇你还能不懂C语言/C++内存管理?

    32. 再谈C语言指针

    再谈指针:大佬给你拨开 C 指针的云雾

    C语言函数指针之回调函数

    C语言指针详解(文末有福利)

    33. C语言预处理命令

    长文详解:C语言预处理命令

    34. C语言高效编程与代码优化

    C语言高效编程与代码优化

    35. C语言结构体

    C语言之结构体就这样被攻克了!值得收藏!

    36. 原码, 反码, 补码 详解

    原码, 反码, 补码 详解

    37. C语言宏定义

    简述C语言宏定义的使用

    38. c语言之共用体union、枚举、大小端模式

    c语言之共用体union、枚举、大小端模式

⑧ 如何快速入门学习C语言编程

如果是想通过计算机等级考试 就买一本全国计算机等级考试二级试题认真做就可以了 当然也要加强上机实践。

怎样才能学好C语言

第一:C语言语法结构很简洁精妙,写出的程序也很高效,很便于描述算法,大多数的程序员愿意使用C语言去描述算法本身,所以,如果你想在程序设计方面有所建树,就必须去学它。
第二:C语言能够让你深入系统底层,你知道的操作系统,哪一个不是C语言写的?所有的indows, Unix, Linux, Mac, os/2,没有一个里外的,如果你不懂C语言,怎么可能深入到这些操作系统当中去呢?更不要说你去写它们的内核程序了。
第三:很多新型的语言都是衍生自C语言,C++,Java,C#,J#,perl...哪个不是呢?掌握了C语言,可以说你就掌握了很多门语言,经过简单的学习,你就可以用这些新型的语言去开发了,这个再一次验证了C语言是程序设计的重要基础。还有啊,多说一点:即使现在招聘程序员,考试都是考C语言,你想加入it行业,那么就一定要掌握好C语言。

那么究竟怎样学习C语言呢?

1:工欲善其事,必先利其器
这里介绍几个学习C语言必备的东东:
一个开发环境,例如turbo C 2.0,这个曾经占据了DOS时代开发程序的大半个江山。但是现在windows时代,用turbo C有感觉不方面,编辑程序起来很吃力,并且拖放,更没有函数变量自动感应功能,查询参考资料也不方便。建议使用Visual C++,这个东西虽然比较大块头,但是一旦安装好了,用起来很方便。
一本学习教程,现在C语言教材多如牛毛,但推荐大家使用《C语言程序设计》谭浩强主编 第二版 清华大学出版社,此书编写的很适合初学者,并且内容也很精到。
除此以外,现在有很多辅助学习的软件,毕竟现在是Window时代了,学习软件多如牛毛,不象我们当初学习,只有读书做题这么老套。我向大家推荐一个“集成学习环境(C语言)”,里边的知识点总结和例程讲解都非常好,还有题库测试环境,据说有好几千题,甚至还有一个windows下的trubo C,初学者甚至不用装其它的编译器,就可以练习编程了,非常适合初学者。还有一个“C语言学习系统”软件,不过感觉只是一个题库系统,如果你觉得题做的不够,不妨也可以试试。

2:葵花宝典
学习计算机语言最好的方法是什么?答曰:读程序。
没错,读程序是学习C语言入门最快,也是最好的方法。如同我,现在学习新的J#,C#等其他语言,不再是抱着书本逐行啃,而是学习它们的例程。当然,对于没有学过任何计算机语言的初学者,最好还是先阅读教程,学习完每一章,都要认真体会这一章的所有概念,然后不放过这一章中提到的所有例程,然后仔细研读程序,直到每一行都理解了,然后找几个编程题目,最好是和例程类似的或一样的,自己试图写出这段已经读懂的程序,不要以为例程你已经读懂了,你就可以写出和它一样的程序,绝对不一定,不相信你就试一试吧,如果写不出来,也不要着急,回过头来再继续研究例程,想想自己为什么写不出来,然后再去写这段程序,反反复复,直到你手到擒来为止,祝贺你,你快入门了。

3:登峰造极
写程序的最高境界其实就是掌握各种解决问题的手段(数据结构)和解决问题的方法(算法)。
是不是写出底层程序就是程序设计高手呢?非也,写底层程序,无非是掌握了硬件的结构,况且硬件和硬件还不一样,要给一个芯片写驱动程序,无非就是掌握这块芯片的各种寄存器及其组合,然后写值读值,仅此而已。这不过是熟悉一些io函数罢了。那么怎样才算精通程序设计呢?怎样才能精通程序设计呢?举个例子:你面前有10个人,找出一个叫“张三”的人,你该怎么办?第一种方法:直接对这10个人问:“谁叫张三”。第2种方法:你挨个去问“你是不是张三?”,直到问到的这个人就是张三。第三种方法:你去挨个问一个人“你认不认识张三,指给我看”。不要小看这个问题,你说当然会选第一种方法,没错恭喜你答对了,因为这个方法最快,效率最高,但是在程序设计中找到解决问题的最优方法和你用的手段却是考验一个程序员程序设计水平的重要标志,而且是不容易达到的。刚才这个问题类似于数据结构和算法中的:Map数据结构,穷举查找和折半查找。所以掌握好数据结构和一些常用算法,是登峰造极的必然之路。最后给大家推荐严尉敏的《数据结构》清华大学出版社,希望每一个想成为程序设计高手的人研读此书。

编译软件,对于新手来说VC++6.0简单易操作
下载地址
http://hi..com/%D3%A5%DE%C4/blog/item/2a8d0df7180b9b4c342acc5e.html

谭浩强《C程序设计》上机试题可以下载
http://hi..com/%D3%A5%DE%C4/blog/item/1b8c968f649f4e639e2fb49c.html

其他C语言资料参考书,如趣味一百例
http://hi..com/%D3%A5%DE%C4/blog/item/019bcafefade81c2b58f3159.html

基础C视频教程
http://hi..com/%D3%A5%DE%C4/blog/item/31e3eac0cc57f3d738db495f.html

郝斌C语言视频
http://hi..com/%D3%A5%DE%C4/blog/item/df9b5a26c00bc1b84623e894.html

⑨ C语言编程

不建议学习c,直接c++吧

嗯 给你一些话(网上流传的)其中有一些书名字,自己搜索下载吧

1.把C++当成一门新的语言学习(和C没啥关系!真的。);

2.看《Thinking In C++》,不要看《C++变成死相》;

3.看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因为他们很难而我们自己是初学者所以就不看;

4.不要被VC、BCB、BC、MC、TC等词汇所迷惑——他们都是集成开发环境,而我们要学的是一门语言;

5.不要放过任何一个看上去很简单的小编程问题——他们往往并不那么简单,或者可以引伸出很多知识点;

6.会用Visual C++,并不说明你会C++;

7.学class并不难,template、STL、generic programming也不过如此——难的是长期坚持实践和不遗余力的博览群书;

8.如果不是天才的话,想学编程就不要想玩游戏——你以为你做到了,其实你的C++水平并没有和你通关的能力一起变高——其实可以时刻记住:学C++是为了编游戏的;

9.看Visual C++的书,是学不了C++语言的;

10.浮躁的人容易说:XX语言不行了,应该学YY;——是你自己不行了吧!?

11.浮躁的人容易问:我到底该学什么;——别问,学就对了;

12.浮躁的人容易问:XX有钱途吗;——建议你去抢银行;

13.浮躁的人容易说:我要中文版!我英文不行!——不行?学呀!

14.浮躁的人容易问:XX和YY哪个好;——告诉你吧,都好——只要你学就行;

15.浮躁的人分两种:a)只观望而不学的人;b)只学而不坚持的人;

16.把时髦的技术挂在嘴边,还不如把过时的技术记在心里;

17.C++不仅仅是支持面向对象的程序设计语言;

18.学习编程最好的方法之一就是阅读源代码;

19.在任何时刻都不要认为自己手中的书已经足够了;

20.请阅读《The Standard C++ Bible》(中文版:标准C++宝典),掌握C++标准;

21.看得懂的书,请仔细看;看不懂的书,请硬着头皮看;

22.别指望看第一遍书就能记住和掌握什么——请看第二遍、第三遍;

23.请看《Effective C++》和《More Effective C++》以及《Exceptional C++》;

24.不要停留在集成开发环境的摇篮上,要学会控制集成开发环境,还要学会用命令行方式处理程序;

25.和别人一起讨论有意义的C++知识点,而不是争吵XX行不行或者YY与ZZ哪个好;

26.请看《程序设计实践》,并严格的按照其要求去做;

27.不要因为C和C++中有一些语法和关键字看上去相同,就认为它们的意义和作用完全一样;

28.C++绝不是所谓的C的“扩充”——如果C++一开始就起名叫Z语言,你一定不会把C和Z语言联系得那么紧密;

29.请不要认为学过XX语言再改学C++会有什么问题——你只不过又在学一门全新的语言而已;

30.读完了《Inside The C++ Object Model》以后再来认定自己是不是已经学会了C++;

31.学习编程的秘诀是:编程,编程,再编程;

32.请留意下列书籍:《C++面向对象高效编程(C++ Effective Object-Oriented Software Construction)》《面向对象软件构造(Object-Oriented Software Construction)》《设计模式(Design Patterns)》《The Art of Computer Programming》;

33.记住:面向对象技术不只是C++专有的;

34.请把书上的程序例子亲手输入到电脑上实践,即使配套光盘中有源代码;

35.把在书中看到的有意义的例子扩充;

36.请重视C++中的异常处理技术,并将其切实的运用到自己的程序中;

37.经常回顾自己以前写过的程序,并尝试重写,把自己学到的新知识运用进去;

38.不要漏掉书中任何一个练习题——请全部做完并记录下解题思路;

39.C++语言和C++的集成开发环境要同时学习和掌握;

40.既然决定了学C++,就请坚持学下去,因为学习程序设计语言的目的是掌握程序设计技术,而程序设计技术是跨语言的;

41.就让C++语言的各种平台和开发环境去激烈的竞争吧,我们要以学习C++语言本身为主;

42.当你写C++程序写到一半却发现自己用的方法很拙劣时,请不要马上停手;请尽快将余下的部分粗略的完成以保证这个设计的完整性,然后分析自己的错误并重新设计和编写(参见43);

43.别心急,设计C++的class确实不容易;自己程序中的class和自己的class设计水平是在不断的编程实践中完善和发展的;

44.决不要因为程序“很小”就不遵循某些你不熟练的规则——好习惯是培养出来的,而不是一次记住的;

45.每学到一个C++难点的时候,尝试着对别人讲解这个知识点并让他理解——你能讲清楚才说明你真的理解了;

46.记录下在和别人交流时发现的自己忽视或不理解的知识点;

47.请不断的对自己写的程序提出更高的要求,哪怕你的程序版本号会变成Version 100.XX;

48.保存好你写过的所有的程序——那是你最好的积累之一;

49.请不要做浮躁的人;

50.请热爱C++!

⑩ 31岁了想学电脑,学哪方面好

计算机方面很多技术,大体分三块:计算机硬件知识,像数字逻辑、单片机等科目;计算机软件知识,像系统软件、应用软件等;以及计算机编程,像vb、vc、vf,C,C++之类的等。
硬件方面的有一个网络工程师的考试,可作为敲门砖,硬件方面像网络维护之类的的工作薪水不高,除非你“自主创业”。现在好就业的就是软件开发,一个很好的方向就是手机游戏软件开发,我一同学现在深圳工作,月薪7000多,他就刚工作2年多。
软件工程师是一个认证考试,具体地说是从事软件职业的人员的一种职业能力的认证,通过它说明具备了工程师的资格。软件工程师是从事软件开发相关工作的人员的统称。它是一个广义的概念,包括软件设计人员、软件架构人员、软件工程管理人员、程序员等一系列岗位,工作内容都与软件开发生产相关。软件工程师的技术要求是比较全面的,除了最基础的编程语言(C语言/C++/JAVA等)、数据库技术(SQL/ORACLE/DB2等)等,还有诸多如JAVA SCRIPT、AJAX、HIBERNATE、SPRING等前沿技术。此外,关于网络工程和软件测试的其他技术也要有所涉猎。
说简单点,就是计算机四级的一种,没太多用,只能说明你有一点基础而已,一般公司不会看的。
软件和编程对数学要求不高,高中毕业就差不多了,编程主要要求的是逻辑思维能力,和数学不同,不考察你的计算能力或分析能力。

热点内容
java返回this 发布:2025-10-20 08:28:16 浏览:645
制作脚本网站 发布:2025-10-20 08:17:34 浏览:936
python中的init方法 发布:2025-10-20 08:17:33 浏览:632
图案密码什么意思 发布:2025-10-20 08:16:56 浏览:821
怎么清理微信视频缓存 发布:2025-10-20 08:12:37 浏览:731
c语言编译器怎么看执行过程 发布:2025-10-20 08:00:32 浏览:1066
邮箱如何填写发信服务器 发布:2025-10-20 07:45:27 浏览:299
shell脚本入门案例 发布:2025-10-20 07:44:45 浏览:160
怎么上传照片浏览上传 发布:2025-10-20 07:44:03 浏览:852
python股票数据获取 发布:2025-10-20 07:39:44 浏览:763