程序员补课笔记(1)

原创 2004年08月24日 01:12:00
今天是第一天补课,终于有又机会可以听到林老师的课了,我觉得他比老潭说得还要好呢,虽然我没有听过老潭的课,不过我相信绝大部份在校的人学C语言都是用老潭的《C程序设计》吧。这本书的好处是有很多的,最主要的一点就是可以用生动的例子来说明一些概念,不过还是一点不好的地方,就是本书全都只是围绕着基础来说,没有一些可以让同学深入研究的课题。就我知道机械工业译的一本《C语言设计教程》,这本书有大量的实例练习,而且是围绕着生活的。学习和乐趣合在一齐,我在看这本书时都有好几个特别吸引我的兴趣课题呢!书就介绍到这里吧,还是说回今天补课的情况。
  今天因为第一天吧,老师还不太清楚我们的底究竟到那里。是因为我们之前都是全自学的,所以现在要摸一摸底吧。一开始,他直接引入了上界程序员考试的下午的第一道题,是一道编程填空题。如下:
int strcmp( char *s, char *t)
{
  while(*s && *t && _______)
  {
   s++;t++;
  }
  return ________;
}
  这是模仿C语言字符函数库里的字符比较函数,当时我第一时间就想到了一种方法,第一空因为大家都没有问题吧,*s和*t这两个都保持为逻辑真就行,表明这个存储单元是用字符的,大家都知道C语言里没有字符串这种变量的,只有字符数组,'/0'这个符号就是用来表明这个字符数组到了结尾了,这里又有一个新的概念要说说的了,就是C语言逻辑里非零的都为真,那么'/0'这个符号就是为零。所以填这个空就应该没有什么太大的难度了,跟着就是还要有一个条件退出循环,因为是比较大小,只要保持一样都继续,所以条件也很显示的可以写出来*s == *t。至于第二题当时我的思维就销定在条件运算符里,因为返回的值是有三种可以性的,大于返回正数,等于就返回零,小于就返回负数。知道了这三种可能就可以用条件运算符填了,我当时的答案是这样的 *s == *t ? 0: *s>*t ? 1 : -1 ,这是不是很长呢,其实我的答案我也不知道是否对,但是真正的答案是 *s - * t .知道答案为什么是这样吗?当时我也一时给答案吓住啦,因为当时我真想到是用它们本身的比较就可以得出结果(运用ACSII码),*s - *t 如果s指针所指向的单元如果是大于当然就是正数啦,跟着其它的原理一样,这里不再详细说明。
  除了引用这道答给我们说了很多的基础知识外,还更详细地给我们介绍了指针,唉!为什么老师说的总是这么的清晰明白,如果当初可以老师教的话就可以走少很多弯路了。算了,说这些话都是没有用的,只有现在能学好就行了。大家都指针的基础还有些吧,这里重要的提一提老师今天反复强调的一个概念,就是指针就是指向地址的一个变量。
  好了,今天就到这里吧。

给程序员推荐一些提高工作效率的工具

http://www.itjhwd.com/gcxytjyg/ 给程序员推荐一些提高工作效率的工具 一些高效的软件可以给我带来高效的工作效率。下面一些工具推荐给大家。欢迎补充 一、Xshe...
  • zdy0_2004
  • zdy0_2004
  • 2014年10月28日 22:08
  • 1184

黑马程序员学习笔记 Java的三大框架

如果做javaweb开发,spring是一定要学的,现在主流还是ssh,就是strurs+hibernate+spring,其中hibernate是持久层,用来持久化数据库操作的,如果不喜欢可以学点别...
  • Mr_April
  • Mr_April
  • 2015年07月03日 17:12
  • 1563

程序员的自我修养读书笔记

1.进程直接使用物理内存的坏处:第一、地址空间不隔离,一个进程可能改写另一个进程的数据,从而导致系统崩溃。第二、内存使用效率低,频繁的数据换入换出,效率低。第三、程序运行地址不稳定,每次重新装载的空闲...
  • Deep_l_zh
  • Deep_l_zh
  • 2016年06月26日 19:45
  • 2525

【好程序员笔记分享】——文件和目录处理

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 文件是Objective-C程序设计中是比较重要的一个概念。文件一般指存储在外部介质中的数据的...
  • likethesun121314
  • likethesun121314
  • 2015年04月18日 13:52
  • 305

黑马程序员:Hibernate基础知识

android培训、java培训
  • u012159707
  • u012159707
  • 2013年09月26日 15:42
  • 590

黑马程序员_学习笔记JAVA基础总结

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流!------- 1、方法重载 方法覆盖 重载:一个类中一种功能的多种实现方式,调用哪种实现...
  • qq_27123965
  • qq_27123965
  • 2015年04月19日 14:39
  • 402

《程序员的自我修养》学习笔记之温故而知新

《程序员的自我修养》学习笔记之温故而知新。
  • zhouzxi
  • zhouzxi
  • 2016年12月08日 21:57
  • 2485

黑马程序员--Struts2复习笔记

--------
  • li951418089
  • li951418089
  • 2015年12月24日 10:26
  • 258

给程序员推荐一些提高工作效率的工具

一些高效的软件可以给我带来高效的工作效率。下面一些工具推荐给大家。 在日常的电脑操作中,我们常常花很多时间重复做着一件事情:退回桌面/开始菜单->寻找软件图标->点击启动。但如果你喜欢高...
  • truelove12358
  • truelove12358
  • 2015年08月27日 13:56
  • 781

【ECS】程序员如何打造属于自己的云笔记服务

摘要: 目录 前言 介绍 安装 启动服务 使用配置 APP访问 前言 在这个互联网知识呈爆炸增长的时代,作为一个程序员要掌握的知识越来越多,然再好的记性也不如烂笔头,有了笔记我们就是可以时常扒拉扒拉以...
  • qq_40954115
  • qq_40954115
  • 2017年11月27日 14:40
  • 214
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:程序员补课笔记(1)
举报原因:
原因补充:

(最多只允许输入30个字)