公开课学习笔记-[哈佛]计算机科学CS50(二)

第3课C语言,源代码,编译器(1) -2011.10.11

编程思想,从语句的格式语法中抽离。介绍了loop、逻辑表达式,数组,这些抽象概念以及C语句的范例。介绍源代码、编译器,gcc -ohello hello.c, make hello,gcc -o hello hello.c-lcs50(加载libary)。介绍了函数。

CS50建立的一台服务器,每个人都可以在上面注册名字,通过ssh登录,这个也称为云,云倒是一个万能的名词。

和之前的公开课一样,非常重视注释,在程序的开始,注释说明程序的内容,作者等信息。

介绍primitive类型,float、int、char、bool之类等等。字符'\r',回到最左边,所以有时我们看到换行是"\r\n",而Mac只是"\r"。

第4课C语言,源代码,编译器(2) -2011.10.19

gcc后面的参数-ggdb是调测用,我还是喜欢用printf来解决,并用-DDEBUGX之类的来定义是否要设定宏定义,将调测的语句都防止在#ifdefDEBUGX后面。貌似还未使用高级调测方式。

sizeof用于检测数据所占存储空间。long在linux中(至少在某些机器中)仍然为4,与int等同,可以使用longlong的类型,长度为8。这些长度和机器以及系统有关。

介绍了整型除法的问题和解决方式。

介绍if(){}else{}的用法,逻辑判断,switch语句、for语句、while语句,do{}while()语句。Linux中的man用法。其实我喜欢vi,也很喜欢用命令的方式来编译和运行。

第5课函数,全局变量,参数,返回值(1) -2011.10.20

Typecasting类型变换,要注意溢出问题。对于float运算,由于存储位置有限,32bit或者64bit,会存在精度问题,对于浮点大小比较需要注意,例如0.81+0.03== 0.84不一定成立。

介绍了循环嵌套。int main(int argc ,char ** argv ){}或者参数的含义。运算溢出的处理。

第6课函数,全局变量,参数,返回值(2) -2011.10.24

讲述了一些入门者需要注意的语法书写方式。接着介绍函数,讲述内存的分配方式。内存从上至下为Heap,用于分配给全局变量,包括静态和动态,从下至上为stack,用于分配local变量和函数。通过intmain(int argc, char * argv[])引入命令行操作,数组的概念。

相关链接:我的与编程思想相关的文章

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值