作者在 2008-12-16 16:13:27 发布以下内容
我学C有8个月了 能力虽没什么 感触还是有点的 希望我写的这篇简短的文章能给初学者一点帮助 也是写给我自勉的
我想讲的有两点
一:看书一定要看实体书
在网上下的电子书拿来看 第一对视力不好 第二 浪费网费 第三 浪费时间
怎么说浪费时间呢 反问一句 你对着电脑思考比你对着书思考有效吗
我看书喜欢在书上乱画 也许只是个人习惯 但是你可想过了 你光看电子书能记得多少东西?
二:书上的习题一定要认真对待
我半年左右看完了 《程序设计基础》+《数据结构》
也了解了很多经典的算法 但实际编程能力并没有大的提高 遇到新的问题就傻眼了
主要原因就是看的多 独立思考的少 独立动手的少 以至于我现在重新把书上的题目从头到尾写一遍
为什么强调注重写书上的题目呢
书上的例题看似简单 但作者的思考方式可能和你不一样 我们就是要学习作者写的程序的优点
另外还有很多细节容易被忽视……
例如 编程输出100以内能被3整除且个位数为6的所有整数
// 以下是我自己写的
main()
{
int i,j;
for(i=1;i<100;i++)
if((i%3==0)&&(i%10)==6)
printf("%d ",i);
}
//作者写的
main()
{
int i,j;
for(i=0;i<=9;i++)
{
j=i*10+6;
if(j%3!=0)
continue;
printf("%4d",j);
}
}
书上写的程序循环明显少了很多
再例如 求素数的时候 常见到如下代码
if(j>sqrt(i))//j>=sqrt(i)+1 //int k=sqrt(i);
这三行代码有什么不同 ?
这里的隐式转换就易被忽视
…………
总之
不论是学 基础程序 数据结构 还是 算法设计
都要以书本为主 别三心二意到处下载题目做 下载电子书看 自己书上的习题做熟了 书上的内容看熟了
就不错了
最后我要感谢 BCCN 感谢 雨中飞燕 感谢 永夜的极光 感谢 广陵绝唱 感谢 starwing83 感谢 ……
呵呵……
[ 本帖最后由 liyanhong 于 2008-12-4 21:04 编辑 ]
我想讲的有两点
一:看书一定要看实体书
在网上下的电子书拿来看 第一对视力不好 第二 浪费网费 第三 浪费时间
怎么说浪费时间呢 反问一句 你对着电脑思考比你对着书思考有效吗
我看书喜欢在书上乱画 也许只是个人习惯 但是你可想过了 你光看电子书能记得多少东西?
二:书上的习题一定要认真对待
我半年左右看完了 《程序设计基础》+《数据结构》
也了解了很多经典的算法 但实际编程能力并没有大的提高 遇到新的问题就傻眼了
主要原因就是看的多 独立思考的少 独立动手的少 以至于我现在重新把书上的题目从头到尾写一遍
为什么强调注重写书上的题目呢
书上的例题看似简单 但作者的思考方式可能和你不一样 我们就是要学习作者写的程序的优点
另外还有很多细节容易被忽视……
例如 编程输出100以内能被3整除且个位数为6的所有整数
// 以下是我自己写的
main()
{
int i,j;
for(i=1;i<100;i++)
if((i%3==0)&&(i%10)==6)
printf("%d ",i);
}
//作者写的
main()
{
int i,j;
for(i=0;i<=9;i++)
{
j=i*10+6;
if(j%3!=0)
continue;
printf("%4d",j);
}
}
书上写的程序循环明显少了很多
再例如 求素数的时候 常见到如下代码
if(j>sqrt(i))//j>=sqrt(i)+1 //int k=sqrt(i);
这三行代码有什么不同 ?
这里的隐式转换就易被忽视
…………
总之
不论是学 基础程序 数据结构 还是 算法设计
都要以书本为主 别三心二意到处下载题目做 下载电子书看 自己书上的习题做熟了 书上的内容看熟了
就不错了
最后我要感谢 BCCN 感谢 雨中飞燕 感谢 永夜的极光 感谢 广陵绝唱 感谢 starwing83 感谢 ……
呵呵……
[ 本帖最后由 liyanhong 于 2008-12-4 21:04 编辑 ]