C语言的小门道(6)

发表在    27studio 02-08 19:29:37

1 2019 3

   C语言的小门道(5)

作:索特127 实例测试:keyboard

    大家刚考完试很累对吧?所以呢,127决定今天多给大家讲一些技巧性的东西。(又在自圆其说了,汗)

读程序的方法与重要性(适用于任何语言!)

  先给大家强调一件事,就是读程序。

  读程序是很重要的,比如说吧,你不太清楚C的指针,或者是C++的const修饰符,可以读一下示例程序,可以帮助理解;或者是你希望学一些更好的编程算法,可以参照大佬们开源的程序,学习新的算法。

  这里给大家举个实例,索特127在学C语言指针的时候,就从来不读程序,结果这么慢悠悠的学了一个月,勉强过去了,现在还要补,希望大家吸取教训。

找bug

  再说一件对很多人来说很麻烦的事,就是找bug。

  这件事吧,如果你真的想少找些bug的话,只有一个方法:认真点写程序吧!(曾经我边聊QQ边写27log,结果把fputs写成pftus,醉了)

  如果你想成为大佬,给别人找bug(同时享受别人痛苦改程序的乐趣)的话,那么请你首先有一个安静的环境,只打开程序编辑器(反正只看别人的代码),一个一个函数,一个一个类的往下看,千万不要假定任何一个前提,如“XXX函数一定是正确的”这类,没有人能保证哪个函数里没有一个bug。

  如果你是给程序增加了一些功能,或减少了一些代码,程序就挂了,那么首先分离出你添加/删除的代码,把它们分成能执行特定功能的几部分,挨个添加/删除再编译,如果你发现任何一个模块有问题,就把其中的所有语句挨个读一读,试一试,一定会找出来。如果这是别人的库,或者函数,你就要找开发者投诉了(呵呵呵)。

关于语句(上)

if

  if后面的语句加不加大括号?这是这个主体的主要内容。

  我可以很负责的告诉你,只有一条语句时可以不加,但是看起来会难看一些。

  如果加了大括号,这些语句就组成了一条语句,编译器把它当做一条语句看待(并不是说它只有一个功能,你可以理解为它被编译器作为一个没有参数,没有名字的函数,但这不完全相同),所以说,if语句其实只能判断一个表达式来判断是否执行一条语句。

书写方法

  C语言一行能写几个语句?有的人可能很想问这件事,答案是:无数条。

  实际上,C程序编译时,预处理程序会先执行预处理命令,再去掉所有的换行以便编译。所以说,你可以在一行上写完一个程序而不必换行,C语言分隔语句的符号,其实是分号。(但你不能用预处理命令,因为预处理命令没有分号分隔)

好了,今天就讲到这吧!(关于语句要写的东西太多了,于是分成上和下)

登录或注册后发布评论
  • 也没什么了,自学不需要学的太精细,毕竟课上一定会讲。(C很基础)多接触一下与计算机硬件结构有关的这些内容,对于C,汇编等较接近硬件的语言会有帮助。我说的不一定正确,至少我是这么学的(不过是纯自学),个人有个人的喜好,但C很简单,也很基础,像C plus plus这些都是从中改良得来的。

    6年前 0 回复
  • 大一 计算机科学与技术专业 还没正式接触C 觉得很慌  想先自学一点   以后想做网络安全方面的职业  有什么好建议?

    6年前 0 回复
  • 有人有建议吗,有的话尽管提。。

    6年前 0 回复