我是一个c语言初学者,选择的是谭浩强的教材,看了三遍了,也在网上找了一些例题看了,可就是写不出程序来,我现在不知道我接下来要做什么了,怎么的很苦恼,求那位高手给我讲讲你学习c语言的经历好吗?
拜托!!
我不是高手,而且是文科的,也学的谭浩强的教材,<C程序设计>第二版.我刚学C不到一个星期,也是学的但能写出简单程序了,关键是要吃透内容,光看是不够的,如完全理解的,要随时用心记下来就可以了,也不必对每个知识点动手上机,但遇到一知半解的,就一定要上机实践了,(其实,这本教材中已有不少典型的例题了,吃透每一个也就很不错了,也不必再花大量时间专做<上机书>,可用这些时间再学新的..)
用眼更要用脑加上手才行呀,并且要举一反三.
比如,我现在学到函数递归调用,教材中有个例子, 求N! 就是1X2X3X4X5...X10
说用一般的递推也行,但没给出代码,接着就讲解了用函数递归调用.
我就觉得好奇, 要试一试, 既然两种方法都可以,那有什么区别? 我就试着用前面刚学到的写出了递推的代码,这样就真正理解了函数递归调用,也巩固了前面的知识
代码如下:(要键盘输入数据的)
#include <stdio.h>
main() { int n; int limit; char b[10]; /* 此处要用字符数组,后面才可以输入字符串, */ float sum; /*此处要用FLOAT申明才能较准确的算出结果*/ scanf("%d",&limit); for(n=2,sum=1;n<=limit;n++) sum=sum*n; /* 此处SUM可以重复赋值,因为它每次都变了,也只有这样才能解决问题*/ printf("%f\n",sum); printf("please input \"ok\" to end\n"); /*此处 用\才能显示" */ scanf("%s",b); /*由于是16位程序,要在WINDOWS中输入输出,必须要在程序结束后挺在那里,让用户看到显示现在我只学到通过标准输入的方法来暂停,还有,b前无需加赋值整型或单个字符&来定内存地址,因为是初始化字符数组(要赋值字符串就必须以数组的形式)*/ }
[此贴子已经被作者于2004-12-26 14:32:33编辑过]