chanel 154唇釉:追加分:::::::::自学C语言和JAVA有何方法和窍门?

来源:百度文库 编辑:高校问答 时间:2024/05/05 13:49:19
我以前没学过计算机语言,只有一些基础的网络知识,现在想自学C和JAVA,请教各位高手有没有好的学习方法和窍门呢?谢谢!
也可以给我推荐一些好书!

我来谈谈吧.
对于C和JAVA,个人认为,最好选学C,而不要先学JAVA,虽说JAVA比C看起来简单一点,什么规则都少一点,但是,当你学了JAVA后再学C,就会有很多的地方不适应,反而形成一种"好像是这样"的思想,但是它在C里确实行不通.而如果先学C,再看JAVA时,因为JAVA是在C后面出现的,里面保留了很多C的特性,学起来反而事半功倍.这是我的亲历.
更不要一边学C一边JAVA,那样你只会越看越糊涂,一会儿在C里串了JAVA,一会儿又在JAVA里用上了指针,有你好受的.
下面说说C吧.当今最基础的语言恐怕就要属C了,我说的是高级语言.其实学C对网络知道没有什么要求,反而对数学以及逻辑思维能力要求要强一点.所以,只你数学好,编程也不会太难.当然我说的是高中数学,大学数学在这里面根本用不上,就是用上也是少之又少.
C在很多初学者眼里看起来很难,什么指针啦,结构体啦,链表啦,各种排序多得要死,头也大得要撞地,但是,其实你细看起来,这些很多全都是逻辑问题,就说指针,说白了就是指向一个地址的变量,通俗是说就是一个标签,一个目录,上面帖着你要的东西的位置,你要这东西,只要拿着这个标签找就行了.
C语言里最大的重点就是算法的设计了,当然,很多语言也都是如此,通过C算法的学习,就会一通百通的.例如这么一个程序:
main()
{
int i, a[3],result;
for(i=0;i<3;i++)
scanf("%d",&a[i]);
result=num(a[0],a[1]);/*第一次调用函数*/
result=num(result,a[2]);/*第二次调用函数*/
printf("%d",result);
}

int num(int p, int q)/*定义函数求两个数最小公倍数*/
{
int temp;
int i=p,j=q;
if(p<=0||q<=0)return (0);
do
{
if (i<j)
{
temp=i;
i=j;
j=temp;
}
for(;i>=j;i=i-j);
if (i*j==0)
return (p*q/(i+j));
}
while(1);
}
这是求三个数最小公倍数的C程序.两个数的最小公倍数好求,就是利用辗转相除法.而三个数的最小公倍数你以转化成先求两个数的最小公倍数,再拿这个数和第三个数求最小公倍数,就是结果.不过辗转相除法求出的是最大公约数,但你只要用这两个数相乘再除以它的公约数就是它的公倍数.
这里面就是用到的算法,把一个复杂的问题简单化.
在学习完C后再看JAVA,你会有登泰山而小天下的感觉.这我就不多说了,天下程序一般样.
还有,多看些有关算法的小程序.多看书,自己动手,多练,多问,在网上多找资料,这是干所有事的方法,纸上得来终觉浅,绝知此事要躬形.

1、只是学习计算机语言是用处不大的,建议对数据结构有一定了解。
2、多动手实践。可以从网上找好的代码自己分析(C和java的代码都很容易找到),也可以调试一下书上的例子,并对其修改扩展其功能,不要完全照搬。
3、一定要坚持,不要学到一点就止步不前。
4、学习过程中遇到的问题要先自己思考,自己解决不了再上网求助。

可以去www.china-pub.com去搜索相关的书和介绍:
C语言程序设计 谭浩强(入门级)
C程序设计语言 BRIAN W.KERNIGHAN,DENNIS M.RITCHIE(经典)

Java2核心技术 CAY S.HORSTMANN,GARY CORNELL
Java编程思想 BRUCE ECKEL

你说的网络知识就是把几台电脑连成局域网吧?这个对学编程没什么用
你到底是想学c还是想学java?这两个基本上完全不同,我建议你还是学一个的好。
学java吧,比较简单
自己从头学起很难的,最好还是报个java培训班,跟个具体项目,打个基础。这样才有希望。
自己看书基本上只能坚持一个星期

多看书,多写代码,多读好的代码

唉!要有窍门我早就是超强人了

学习最重要的还是循序接近,没有什么捷径可走。建议先学好C,在学JAVA,C是JAVA的基础。C推荐采用清华大学出版,谭浩强编写的C程序设计。
另:建议先学C++在学JAVA,这样循序渐进,效果最好。