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、浮躁的人容易问我到底该学什么;——别问学就对了;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!1 :指针变量名称以p为首字符这是程序员通常在定义指针时的一个习惯2 :har * p; (int *)p 把p强制转换为int型3.1 :指针的问题指针应用时最好给予定义(初始化)这样可以保证指针的指向是程序员自己能够把握的。3.2 :指针的越界这恐怕是最难查出的吧3.3 :指针的局部变量问题。局部的指针变量会被程序自动释放若程序员引用此类指针就会出错。二维指针的应用实例123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657#include lt;stdio.hgt;#include lt;string.hgt;voidsort(char(*client)[10]);voidmain(){inttemp;charclient[3][10];char(*pClient)[10] NULL;for( temp 0; temp lt; 3; temp ){gets(client[temp]);}pClient client;sort(pClient);for( temp 0; temp lt; 3; temp ){puts(*(pClient temp));}}voidsort(char(*client)[10]){//冒泡算法的明了写法inttemp1, temp2;chartemp[10];for( temp1 2; temp1 gt; 0; temp1-- )//控制每一步的比较次数{for( temp2 0; temp2 lt; temp1; temp2 )//比较指针{if(strcmp(*(client temp2), *(client temp2 1)) )//比较过程