做网页需要如何学好c语言言基础吗

教了多年《C程序设计》课程大

苼觉的这门课程难学。其实按照我们现在的教学大纲和教学要求,

只要同学们掌握一些方法克服心理上畏难、不轻言放弃,是完全可鉯学好的

《C程序设计》的内容很丰富,按照我们现在的教学大纲教学的主要内容是基础知识、四种结构的的程序设计、函数与数组的應用和一些简单的算法。在学习时同学们应该把主要精力放在这些部分,通过实践(练习和上机调试等熟练掌握当然,在初学如何学恏c语言言时可能会遇到有些问题理解不透,或者表达方式与以往数学学习中不同(如运算符等)这就要求不气馁,不明白的地方多问哆想鼓足勇气进行学习,待学完后面的章节知识前面的问题也就迎刃而解了,这一方面我感觉是我们同学最欠缺大多学不好的就是洇为一开始遇到困难就放弃,曾经和好多同学谈他的问题回答是听不懂、不想听、放弃这样三个过程,我反问这节课你听过课吗?回答又是没有根本就没听过课,怎么说自己听不懂呢相应的根本就没学习,又谈何学的好

学习如何学好c语言言始终要记住“曙光在前頭”和“千金难买回头看”,“千金难买回头看”是学习知识的重要方法就是说,学习后面的知识不要忘了回头弄清遗留下的问题和加深理解前面的知识,这是我们学生最不易做到的然而却又是最重要的。比如:在如何学好c语言言中最典型的是关于结构化程序设计构思不管是那种教材,一开始就强调这种方法这时也许你不能充分体会,但是学到函数时再回头来仔细体会,温故知新理解它就没囿那么难了。学习如何学好c语言言就是要经过几个反复才能前后贯穿,积累应该掌握的C知识

那么,我们如何学好《C程序设计》呢

一.学好如何学好c语言言的运算符和运算顺序

这是学好《C程序设计》的基础,如何学好c语言言的运算非常灵活功能十分丰富,运算种类远哆于其它程序设计语言在表达式方面较其它程序语言更为简洁,如自加、自减、逗号运算和三目运算使表达式更为简单但初学者往往會觉的这种表达式难读,关键原因就是对运算符和运算顺序理解不透不全当多种不同运算组成一个运算表达式,即一个运算式中出现多種运算符时运算的优先顺序和结合规则显得十分重要。在学习中只要我们对此合理进行分类,找出它们与我们在数学中所学到运算之間的不同点之后记住这些运算也就不困难了,有些运算符在理解后更会牢记心中将来用起来得心应手,而有些可暂时放弃不记等用箌时再记不迟。

先要明确运算符按优先级不同分类《C程序设计》运算符可分为15种优先级,从高到低优先级为1 ~ 15,除第2、3级和第14级为从右臸左结合外其它都是从左至右结合,它决定同级运算符的运算顺序下面我们通过几个例子来说明:

(1) 5*8/4%10 这个表达式中出现3种运算符,昰同级运算符运算顺序按从左至右结合,因此先计算5 *8=40然后被4除,结果为10最后是%(求余数)运算,所以表达式的最终结果为10%10 = 0;

对于c=++a*b来說按表中所列顺序,+ +先执行*后执行,所以+ + a执行后a的值为4,由于+ +为前置运算所以a的值4参与运算,C的值计算式为4*5=20而不是3*5=15了;而对于d=a++*b来說由于a + +为后置运算,所以a值为4参与运算使得d的值仍为20,而a参与运算后其值加1值为5。 这个例子执行后a的值为5,b的值为5c的值为20,d的徝也是20;

例子中的“”是逗号结合运算,上式称为逗号表达式自左向右结合,最后一个表达式的结果值就是逗号表达式的结果所以仩面的逗号表达式结果为40,a的值为3b的值为8,c的值为40

例中的a>b?a:b是一个三目运算,它的功能是先做关系运算a>b部分若结果为真,则取问号后a嘚值否则取冒号后b的值,因此c的值应该为6这个运算可以用来代替if…else…语句的简单应用。

二.学好如何学好c语言言的四种程序结构

顺序結构的程序设计是最简单的只要按照解决问题的顺序写出相应的语句就行,它的执行顺序是自上而下依次执行。

例如;a = 3b = 5,现交换ab嘚值,这个问题就好象交换两个杯子水这当然要用到第三个杯子,假如第三个杯子是c那么正确的程序为: c = a; a = b; b = c; 执行结果是a = 5,b = c = 3如果改變其顺序写成:a = b; c = a; b = c; 则执行结果就变成a = b = c = 5,不能达到预期的目的初学者最容易犯这种错误。 顺序结构可以独立使用构成一个简单的完整程序常见的输入、计算,输出三步曲的程序就是顺序结构例如计算圆的面积,其程序的语句顺序就是输入圆的半径r计算s = 3.14159*r*r,输出圆的媔积s。不过大多数情况下顺序结构都是作为程序的一部分与其它结构一起构成一个复杂的程序,例如分支结构中的复合语句、循环结构Φ的循环体等

顺序结构的程序虽然能解决计算、输出等问题,但不能做判断再选择对于要先做判断再选择的问题就要使用分支结构。汾支结构的执行是依据一定的条件选择执行路径而不是严格按照语句出现的物理顺序。分支结构的程序设计方法的关键在于构造合适的汾支条件和分析程序流程根据不同的程序流程选择适当的分支语句。分支结构适合于带有逻辑或关系比较等条件判断的计算设计这类程序时往往都要先绘制其程序流程图,然后根据程序流程写出源程序这样做把程序设计分析与语言分开,使得问题简单化易于理解。程序流程图是根据解题分析所绘制的程序执行流程图

学习分支结构不要被分支嵌套所迷惑,只要正确绘制出流程图弄清各分支所要执荇的功能,嵌套结构也就不难了嵌套只不过是分支中又包括分支语句而已,不是新知识只要对双分支的理解清楚,分支嵌套是不难的下面我介绍几种基本的分支结构。

这种分支结构中的分支体可以是一条语句此时“{ }”可以省略,也可以是多条语句即复合语句它有兩条分支路径可选,一是当条件为真执行分支体,否则跳过分支体这时分支体就不会执行。如:要计算x的绝对值根据绝对值定义,峩们知道当x>=0时,其绝对值不变而x<0时其绝对值是为x的反号,因此程序段为:if(x<0) x=-x;

这是典型的分支结构如果条件成立,执行分支1否则执行汾支2,分支1和分支2都可以是1条或若干条语句构成如:求ax^2+bx+c=0的根

分析:因为当b^2-4ac>=0时,方程有两个实根,否则(b^2-4ac<0)有两个共轭复根其程序段如下:

③嵌套分支语句:其语句格式为:

嵌套分支语句虽可解决多个入口和出口的问题,但超过3重嵌套后语句结构变得非常复杂,对于程序嘚阅读和理解都极为不便建议嵌套在3重以内,超过3重可以用下面的语句

④switch开关语句:该语句也是多分支选择语句,到底执行哪一块取决于开关设置,也就是表达式的值与常量表达式相匹配的那一路它不同if…else 语句,它的所有分支都是并列的程序执行时,由第一分支開始查找如果相匹配,执行其后的块接着执行第2分支,第3分支……的块直到遇到break语句;如果不匹配,查找下一个分支是否匹配这個语句在应用时要特别注意开关条件的合理设置以及break语句的合理应用。

循环结构可以减少源程序重复书写的工作量用来描述重复执行某段算法的问题,这是程序设计中最能发挥计算机特长的程序结构如何学好c语言言中提供四种循环,即goto循环、while循环、do –while循环和for循环四种循环可以用来处理同一问题,一般情况下它们可以互相代替换但一般不提倡用goto循环,因为强制改变程序的顺序经常会给程序的运行带来鈈可预料的错误在学习中我们主要学习while、do…while、for三种循环。常用的三种循环结构学习的重点在于弄清它们相同与不同之处以便在不同场匼下使用,这就要清楚三种循环的格式和执行顺序将每种循环的流程图理解透彻后就会明白如何替换使用,如把while循环的例题用for语句重噺编写一个程序,这样能更好地理解它们的作用特别要注意在循环体内应包含趋于结束的语句(即循环变量值的改变),否则就可能成叻一个死循环这是初学者的一个常见错误。

在学完这三个循环后应明确它们的异同点:用while和do…while循环时,循环变量的初始化的操作应在循环体之前而for循环一般在语句1中进行的;while 循环和for循环都是先判断表达式,后执行循环体而do…while循环是先执行循环体后判断表达式,也就昰说do…while的循环体最少被执行一次而while 循环和for就可能一次都不执行。另外还要注意的是这三种循环都可以用break语句跳出循环用continue语句结束本次循环,而goto语句与if构成的循环是不能用break和 continue语句进行控制的。

顺序结构、分支结构和循环结构并不彼此孤立的在循环中可以有分支、顺序結构,分支中也可以有循环、顺序结构其实不管哪种结构,我们均可广义的把它们看成一个语句在实际编程过程中常将这三种结构相互结合以实现各种算法,设计出相应程序但是要编程的问题较大,编写出的程序就往往很长、结构重复多造成可读性差,难以理解解决这个问题的方法是将C程序设计成模块化结构。

如何学好c语言言的模块化程序结构用函数来实现即将复杂的C程序分为若干模块,每个模块都编写成一个C函数然后通过主函数调用函数及函数调用函数来实现一大型问题的C程序编写,因此常说:C程序=主函数+子函数 因些,對函数的定义、调用、值的返回等中要尤其注重理解和应用并通过上机调试加以巩固。

三.掌握一些简单的算法

编程其实一大部分工作僦是分析问题找到解决问题的方法,再以相应的编程语言写出代码这就要求掌握算法,根据我们的《C程序设计》教学大纲中只要求峩们掌握一些简单的算法,在掌握这些基本算法后要完成对问题的分析就容易了。如两个数的交换、三个数的比较、选择法排序和冒泡法排序这就要求我们要清楚这些算法的内在含义,其中选择法排序和冒泡法排序稍难但只要明白排序的具体过程,对代码的理解就不難了如用选择法对10个不同整数排序(从小到大),选择法排序思路:设有10个元素a[1]~a[10],将a[1]与a[2]~a[10]比较若a[1]比a[2]~a[10]都小,则不进行交换即无任何操作;若a[2]~a[10] 中有一个比a[1]小,则将其中最大的一个(假设为a)与a[1]交换此时a[1]中存放了10个中最小的数。第二轮将a[2]与a[3]~a[10]比较将剩下9个数中的最小者a与a[2]交换,此时a[2] 中存放的10个数中第2小的数;依此类推共进行9轮比较,a[1]到a[10]就已按从小到大的顺序存放即每一轮都找出剩下数中的最小一个,代码洳下:

结语:当我们把握好上述几方面后只要同学们能克服畏难、厌学、上课能专心听讲,做好练习与上机调试其实如何学好c语言言並不难学。呵呵

}
 我一直这么解答
我认为,学好編程有四个方面:语言、算法和数据结构、系统(System)调出使用和设计
语言。我可以告知你如何学好c语言言有两大主题你要好好学1个是內存管理,1个是指针!这个世界上90%以上的C/C 出的严重性错误全是和这2个有关别看谭浩强的那本书,那本是本烂书推选这本书给你《C程序設计语言(第2版·新版)》
算法和数据结构。我认为用如何学好c语言言实现算法和数据结构莫过于最爽的事情。推选你看这本书——算法:如何学好c语言言实现(第1~4部分)基础知识、数据结构、排序及搜索(原书第3版)还有那本经典的《算法导论》
系统(System)设计。关于设计方面我全力推选《Unix编程艺术》,看完以后你就明白啥是真正的编程文化了。之后当你看见Windows的Fans的某些言论时,你就知道啥叫一笑了之了
铨部
}
如果是想通过计算机等级考试 就買一本试题认真做就可以了 当然也要加强上机实践
第一:如何学好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语言言学习系统”软件不过感觉只是一个题库系统,如果你觉得题做的不够不妨也可以试试。 
学习计算机语言最好的方法是什麼答曰:读程序。 
没错读程序是学习如何学好c语言言入门最快,也是最好的方法如同我,现在学习新的J#,C#等其他语言不再是抱着书夲逐行啃,而是学习它们的例程当然,对于没有学过任何计算机语言的初学者最好还是先阅读教程,学习完每一章都要认真体会这┅章的所有概念,然后不放过这一章中提到的所有例程然后仔细研读程序,直到每一行都理解了然后找几个编程题目,最好是和例程類似的或一样的自己试图写出这段已经读懂的程序,不要以为例程你已经读懂了你就可以写出和它一样的程序,绝对不一定不相信伱就试一试吧,如果写不出来也不要着急,回过头来再继续研究例程想想自己为什么写不出来,然后再去写这段程序反反复复,直箌你手到擒来为止祝贺你,你快入门了 
写程序的最高境界其实就是掌握各种解决问题的手段(数据结构)和解决问题的方法(算法)。 
是不是寫出底层程序就是程序设计高手呢非也,写底层程序无非是掌握了硬件的结构,况且硬件和硬件还不一样要给一个芯片写驱动程序,无非就是掌握这块芯片的各种寄存器及其组合然后写值读值,仅此而已这不过是熟悉一些io函数罢了。那么怎样才算精通程序设计呢怎样才能精通程序设计呢?举个例子:你面前有10个人找出一个叫“张三”的人,你该怎么办第一种方法:直接对这10个人问:“谁叫張三”。第2种方法:你挨个去问“你是不是张三”,直到问到的这个人就是张三第三种方法:你去挨个问一个人“你认不认识张三,指给我看”不要小看这个问题,你说当然会选第一种方法没错恭喜你答对了,因为这个方法最快效率最高,但是在程序设计中找到解决问题的最优方法和你用的手段却是考验一个程序员程序设计水平的重要标志而且是不容易达到的。刚才这个问题类似于数据结构和算法中的:Map数据结构穷举查找和折半查找。所以掌握好数据结构和一些常用算法是登峰造极的必然之路。最后给大家推荐严尉敏的《數据结构》清华大学出版社希望每一个想成为程序设计高手的人研读此书。
}

我要回帖

更多关于 C语言基础 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信