答案:需要很多的知识,虽然你学的是软件开发,但黑客技术是很全面的计算机技术,优势需要你对所有计算机有关的技术都有了解,像是你要编写一个sniffer那么你需要知道sniffer的工作原理,这样的话你至少需要了解网络的知识,了解协议,了解网络工程,了解数据包在网络中的传输方式,你还要掌握一个编写的语言,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。
www.fangyou-sh.com先学会怎么应用他们写出来的程序吧。学黑不一定要学C的。。楼主你可以去黑客学习基地。零基础实现黑客梦想。。