论坛登陆 用户名:  密 码:
设为首页  加入收藏
07年北京名校秋季招生
名牌院校免试入学宽进严出,突破考分限制,名校与你零距离,以下院校按报名先后顺序录取,24小时网上报名覆盖全国
  您现在的位置: 中国教育招生在线 >> IT >> 应试技巧 >> IT正文
C语言自学方法
 作者:佚名     2007-3-14 15:59:42        来源:不详  浏览次数:

  一、C语言入门的基本学习方法
   《C语言》的内容很丰富,有的部分涉及到的细节很多,如硬件知识和数据结构知识等,自学时不可能面面俱到,否则必然会顾此失彼,反而抓不住主要矛盾。笔者认为对初学C语言的考生,开始不必在每一个细节上过于死抠,而应当把主要精力放在最基本、最常用的那些部份,待有一定的基础后再深入到一些非主要的细节,有一些细节需要通过较长期的实践才能熟练掌握。初学C语言时,可能会遇到有些问题理解不透,请不要气馁,鼓足勇气向后面的内容学习,待学完后面的章节知识,前面的问题也就迎刃而解了。学习C语言始终要记住“曙光在前头”和“千金难买回头看”,“千金难买回头看”是学习知识的重要方法,就是说,学习后面的知识,不要忘了回头弄清遗留下的问题和加深理解前面的知识,这是学习的人最不易做到的,然而却又是最重要的。比如:在C语言中最典型的是关于结构化程序设计构思,不管是那种教材,一开始就强调这种方法,这时也许你不能充分体会,但是学到函数时,再回头来仔细体会,温故知新,理解它就没有那么难了。学习C语言就是要经过几个反复,才能前后贯穿,积累应该掌握的C知识。
  
   下面我们就围绕《C语言》的特点、以98年全国等级考试大纲为基础,把里面的重点和难点,从宏观和微观两个角度,就如何学好这门课程提供一些建议和方法,供大家学习时参考。
  
   首先从宏观上谈一谈自学C语言的方法。
   我认为要学好C语言首先必须了解等级考试C语言的大纲和内容,以及各种辅助材料的用途,这是学好C的基础。从以前的经验以及考网上的一些信息可知,要自学C语言必须准备以下资料:
  
   1、 教材:大家现在都公认是清华大学谭浩强主编的那本,当然有其他的也可以,如高校出版社的。
   2、 习题集:我认为清华大学的《C语言样题汇编》不错。书后面附有答案。
   3、 上机练习:我认为南开大学的那个可以,最好是在考前从头到尾做一遍。答案可以去考网下载区下载。
   4、 大纲:这个肯定要的,可以在考网二级版那里去下,然后打印出来。
   5、 自学计划:为了做到有计划有目的地学习C语言,大家可以根据自己的学习(或工作)情况,制定一个自学计划,循序渐进地学习。
   6、 模拟盘:为了更好地熟悉考场环境,下一个模拟盘是必不可少的,可以在http://studywang.yeah.net/。下载,注意,在下载时要把锁匙盘一起下回来,否则不能进入考试环境。
   7、 教学光盘:如果能买到C语言的教学光盘,那当然更好,这样可以更直观地学习C语言了。
   下面从微观上针对C语言的几个重点和难点,逐个谈谈具体的自学方法。
  二 如何学习C语言的运算符和运算顺序
   C语言的运算功能十分丰富,运算种类远多于其它程序设计语言。因此,当多种不同运算组成一个运算表达式,即一个运算式中出现多种运算符时,运算的优先顺序和结合规则显得十分重要。
  
   初学者往往对此感到非常困难,觉得C语言学习太繁杂,其实只要我们对此合理进行分类,找出它们与我们在数学中所学到运算之间的不同点之后,记住这些运算也就不困难了,有些运算符在理解后更会牢记心中,将来用起来得心应手,而有些可暂时放弃不记,等用到时再记不迟。
  
   下面是所有的运算符按优先级不同分类列表:(对不起,因为表格显示不正常,已被我删除大家可以看书上的)
  
   表中列出15种优先级的运算符,从高到低,优先级为1 ~ 15,最后边一栏是结合规则,除第2、3级和第14级为从右至左结合外,其它都是从左至右结合,它决定同级运算符的运算顺序。
   下面我们通过几个例子来说明:
   (1) 3*20/4%10 这个表达式中出现3种运算符,是同级运算符,运算顺序按从左至右结合,因此先计算3 * 20=60,然后被4除,结果为15,最后是%(求余数)运算,所以表达式的最终结果为15%10 = 5
   (2)a = 3;b = 5;c =++ a* b ;d =a + +* b;
   例子中的“;”是C语言的语句分隔符,执行顺序为从左到右,第1条语句执行后a的值为3,第2条语句执行后b的值为5,第3条语句中有两个运算符前置+ +和*,按表中所列顺序,+ +先执行,*后执行,所以+ + a执行后,a的值为4,由于+ +为前置运算,所以a的值4参与运算,C的值为20,最后执行第4条语句,由于a + +为后置运算,所以a值为4参与运算,使得d的值仍为20,而a参与运算后其值加1,值为5。
   这个例子执行后,a的值为5,b的值为5,c的值为20,d的值也是20。
   (3)a = 3,b = 5,b+ = a,c = b* 5
   例子中的“,”是逗号结合运算,上式称为逗号表达式,自左向右结合,最后一个表达式的结果值就是逗号表达式的结果,所以上面的逗号表达式结果为40,a的值为3,b的值为8,c的值为40。
  
  三、如何学习C语言的四种程序结构
   (1)顺序结构
   这种结构的程序比较简单,就是按照语句的排列顺序依次执行的机制。顺序结构的执行顺序是自上而下,依次执行,因此编写程序也必须遵守这一规定,否则你的程序执行结果就不对。
  
   例如;a = 3,b = 5,现交换a,b的值,正确的程序为:
   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。而大多数情况下顺序结构都是作为程序的一部分,与其它结构一起构成一个复杂的程序,例如分支结构中的块体、循环结构中的循环体等。
  
   (2) 分支结构
   分支结构与顺序结构不同,其执行是依据一定的条件选择执行路径,而不是严格按照语句出现的物理顺序。分支结构的程序设计方法的关键在于构造合适的分支条件和分析程序流程,根据不同的程序流程选择适当的分支语句。
   分支结构适合于带有逻辑条件判断的计算,设计这类程序时往往都要先绘制其程序流程图,然后根据程序流程写出源程序,这样做把程序设计分析与语言分开,使得问题简单化,易于理解。程序流程图是根据解题分析所绘制的程序执行流程图。
  
   学习分支结构不要被分支嵌套所迷惑,只要弄清基本的分支结构,嵌套结构也就不难了。嵌套只不过是分支块体中又包括分支语句而已,不是新知识,只要你基础知识扎实,分支嵌套也难不住你,下面我们重点讨论几种基本的分支结构的学习方法。
  
   ①If(条件)
   {
   块
   }
   这种分支结构中的块可以是一条语句,此时“{
   }”可以省略,也可以是多条语句。它有两条分支路径可选,一条是条件为真,执行块,另一条是条件不满足,跳过块。
   如,计算x的绝对值,根据绝对值定义,我们知道,当x>=0时,其绝对值不变,而x<0时其绝对值是为x的反号,因此程序段为:if(x<0)
   x=-x;
   ②if(条件)
   {块1}
   else
   {块2}
   这是典型的分支结构,如果条件成立,执行块1,否则执行块2,块1和块2都有1条或若干条语句构成。
   如:求ax^2+bx+c=0的根
   分析:因为当b^2-4ac>=0时,方程有两个实根,否则(b^2-4ac<0)有两个共轭复根。其程序段如下:
   d=b*b-4*a*c;
   if(d>=0)
   {x1=(-b+sqrt(d))/2a;
   x1=(-b-sqrt(d))/2a;
   printf(“x1=%8.4f,x2=%8.4f\n”,x1,x2);
   }
   else
   {r=-b/(2*a);
   i =sqrt(-d)/(2*a);
   printf(“x1=%8.4f+%8.4fi\n”r, i);
   printf(“x2=%8.4f-%8.4fi\n”r,i)
   }
   ③多路分支:其语句格式为:
   if(条件1) {块1};
   else if(条件2) {块2}
   else if(条件3) {块3}
   ……
   else if(条件n) {块n}
   else {块n+1}
   ④switch语句:
   switch
   语句也是多分支选择语句,又称为多路开关语句,到底执行哪一块,取决于开关设置,也就是表达式的值与常量表达式相匹配的那一路,它不同if—else 语句,它的所有分支都是并列的,程序执行时,由第一分支开始查找,如果相匹配,执行其后的块,接着执行第2分支,第3分支……的块,直到遇到break语句;如果不匹配,查找下一个分支是否匹配。
  
   (3)循环结构:
   循环结构可以减少源程序重复书写
责任编辑:lss
  相关新闻
怎样学习C语言
以二级C语言为例分析如何准备计算机考试
06年9 月计算机等级考试三级C语言上机试题汇总
名师访谈:如何应对二级C语言笔试考题
C语言笔试轻松过—也谈二级C应试技巧,基础教程网
二级C语言考试复习五要点,基础教程网
生成Mapping文件、编辑HQL语言的好工具
链表的C语言实现系列辅导:单链表的实现
2006年11月软考辅导班资料:程序设计语言基础讲义
链表的C语言实现系列辅导:动态内存分配
C语言笔试轻松过—也谈二级C应试技巧,基础教程网
二级C语言考试复习五要点,基础教程网
怎样学习C语言
等级考试三级C语言上机注意事项
以二级C语言为例分析如何准备计算机考试
名师访谈:如何应对二级C语言笔试考题
程序员典型题汇与解析-程序设计语言的基础知识(1)
2006年11月软考辅导班资料:程序设计语言基础讲义
2006年11月软考辅导班资料:程序设计语言基础试题
链表的C语言实现系列辅导:单链表的查找运算
  评论
现在有100人对本文发表评论
查看所有评论
 
推  荐
 
100本成功必读热销书
热门招生
  北京文理研修学院   前进大学
  北京明园大学   北京建设大学
  北京邮电大学世纪学院   北方工商管理学院
  联想软件定向委培班   香港数码动画学院
  青年企业管理研修学院   北京华夏管理学院
热门培训
网络化办公专家培训认证 电子科技大学软件学院
软件测试工程师培训认证 北大青鸟十大授权培训
IT硬件工程师培训认证班 北京环球雅思荷兰预科
JAVA开发工程师培训 潜能时代IT服务管理培训
网络信息化工程师培训 清华大学继续教育学院
论坛精选
 
有些细节是男人也该注意的风度!最容易读错的字
某强人手机里保存的30条短信 中国十大高薪职业
最感人的十大韩剧经典台词 嫁给工程师的N个理由
爆强!只有一句话的鬼故事 转贴教你如何做妖精
 女人一定要記住的話 女人最好别嫁给最爱的男人
城市联盟
 大连 上海 天津 广州 西安 深圳  天津  青岛  大连  福州  沈阳  青海  连云港  南京  吉林  厦门  威海  辽宁  呼和浩特
Copyright © 2006   www.edu999.com   All rights reserved. 中国教育招生在线  版权所有
北京市通信管理局[2004]字第552号函    京ICP证040442号