怕啥?不就是C吗!

怕啥?不就是C吗!

 

——《C程序设计(第三版)》读书心得


我是一名计算机专业的学生,说到自己学习的初衷,每每想来,实在有趣。当初以为学计算机就是建建网站、盗个QQ、修修电脑之类的。当真正到了大学,开始步入计算机的殿堂的时候,才恍然彻悟:原来计算机是一个有着自己秩序、自己文化的多姿世界,它为人们的学习生活提供前所未有的便利,也为这个社会开创了一个新的纪元。理所当然地,若要孰能轻巧的跟这个计算机世界打交道,首要条件便是语言的交流。从而,C语言作为一门连通人与计算机的桥梁,成为我们专业学习所必要的知识。

读罢谭浩强教授所著作的《C》,感受到本书将C语言复杂繁琐的概念、灵活却易错的算法、枯燥单调的操作等用通俗易懂、妙趣横生的语言和科学的教学方式呈现给读者,让读者由浅入深、步步为营,最终理解掌握。同时,针对学习过程中的一些难点和思考,在此大体指出,以为读书心得。

一、 兴趣是最好的老师

众所周知,学习C语言本身面对的是一串一串的字符代码,而且像变量作用域和存储类别、函数、数组、指针及链表等,这些都是C的难点部分。C语言最为难学的当数指针,好多人觉得它指来指去都不知道指到哪儿了,于是乎便成了丈二和尚。再者,想当初报读软件设计的缘由便是为了能够“高调”地编写一个绚丽精彩的诸如游戏之类的东西。但是事实上每当亲自去上机操作,在面对着一个基本的“hello world”程序都绞尽脑汁、费尽心思时……其间的单调乏味以及挫败感,颇有茫茫不知其所然的感觉,甚至产生了放弃的念头。

路漫漫其修远兮,吾将上下而求索。学习,讲求一种积极主动的求知心态。如果你对C语言没有应有的兴趣,就是《C》讲得再好,也只是徒劳而已。我们提倡一种本着使命感的精神去学习,但是,在没有兴趣的前提下,就算你有一颗立志的心,坚信坚持就是胜利,而实际上,你的学习是被动的,是抗拒的,是通过在学与不学之间反复思想挣扎过来的。这样的话,学习是很难收效的。

所以,兴趣是很关键的。当你对它产生了浓厚的兴趣,你就会用一种愉快的心情来看待学习,从而在面对困难时而不会急躁。其实你大可以以一种诗人的姿态去对待《C》,C语言就其本身来说,它有着数学般严谨的句式逻辑,有着语言学那样瑰丽的语法宝库,同时又讲求诗句般规整化的书写结构。你只要端正好心态,树立起信心,完全可以“与之共舞”,彻底熟练和掌握它。

二、 小处不可随便

在阅读《C程序设计》时,要留心细节,每每看上去微不足道的东西,往往起着决定性的作用。

比如程序中预留一个注释,不仅起到帮助阅读者理解程序的目的,而且能够在某些语句上添加或删去注释符号而使其成为或不作为程序的执行语句,这在调试时是很有用处的。在阅读《C程序设计》过程中,要特别留心作者经过醒目文字要求注意的地方,譬如说,C语言是对大小写敏感的,这就是说numNum是两个不同的标识符;再如,程序编写应该有一定的排版方式,按“意群”而非行来编排语句,以增加程序的可读性和方便排错。

我们在上机的过程中,错误的原因往往是因为一些细小易忽略的东西而导致的,有的忘了定义变量,有的忘了加分号,甚至一些基本常识例如在设计一个除法程序:

#include<stdio.h>

void main()

{

int a,b,c;

scanf(“%d%d”,&a,&b);

c=a/b;

printf(“a / b = %d”,c);

}

上面这个简单的程序看似没有差错,但是它却没有充分考虑到“除数不能为0”这一基本常识,因为它没有对除数b进行“非0”的限制。正确的设计应该是诸如在第二步之后加入一个条件语句:

#include<stdio.h>

Void main()

{

int a,b,c;

scanf(“%d%d”,&a,&b);

if(b!=0)

{

c=a/b;

printf(“a / b = %d”,c);

}

else

  printf”error!”);

}

总之,C语言同其他计算机语言一样,它是一门追求严谨的学科,毕竟你是用它来与机器打交道,请务必重视小节。

三、 重复是记忆之母

只有记得住的,才是属于你的。在学习《C》时,觉得老师讲了然后自己看了一遍,都能够理解,于是摊起书总爱“日行千里”,每天看它个四五十页然后搞定收工。后来的我为这种急攻进切,追求“速成”的行为可算是付出了代价。原因在于,只顾向前探步,却忘了回头记路,没有及时复习巩固,结果造成忘记的比学到的还多。这就是“学了便忘”的原因。

有了兴趣理所当然是打下了好的开始,但是《C程序设计》里面如此多的知识点,小至一些基本的术语语法;大至那些经典的代码实例,例如函数递归的汉诺塔问题、闰年判断问题,特别像指针这一章节里的实例,还有链表之类的代码实例等等。这些东西课本都有详尽的解释,需要大家反复阅读,强化记忆。艾宾浩斯记忆曲线告诉我们,遗忘在你学习一结束便开始了,所以不断地重复地学习能够减小遗忘的速度。其实《C》在第一章就已经告诉我们C语言是介于人类语言与计算机语言之间的语言,想想自己能够成为一个英语高手,是不是因为在平时一个单词一个单词的背诵记忆?这个道理也是一样的,罗马城从来都不是一天修建的。

勤笔记、勤上机、时时温故,对教材逐字逐句、反复研读,通过不断的上机摸索琢磨。不要觉得这样进度很慢而失去了耐性,正所谓慢工出细活嘛。

四、 实践是试金石

知识理论的学习,在于掌握、在于精通,而精通的目的,全在于运用——这已是人们所公认的道理。《C程序设计》教给你的,除了理论和一些操作上的建议。其他的全靠你在实践中去探讨,去挖掘。退一万步讲,学习的最终目的是要你把自己学来的东西运用到实际的生产活动当中,动手能力直接决定了你能力的大小。所以,我们不应该只是在试卷上考个一百分,而在面对上机操作时却偷工减料敷衍了事。特别像C语言这类实践性极强的学科,更应该注重实际操作的部分。

单从上机实验来说,笔者这里便有一个体会:同一个问题,必然有很多不同的算法来实现,比如对评委评分的问题,就可以通过定义单变量,也可以通过设计数组,还可以通过指针等来实现。所以针对教材提出的一些问题,除了熟练运用课本的算法思想外,还应该尽量思考其他的算法来实现相同问题的解决,这样,不仅加深了相关概念的理解,起到融合贯通的作用,而且培养了独立思考问题的能力。

以上,便是我个人在学习《C程序设计》一书时有感而发的心得,这让我更加理解了大学里应该怎样学习的问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值