根据大家意见自学C (2014/04/11进度)(正式C学习,但有问题)

  • 2
    20060602
    《编码》这种书是可遇不可求的,你提到的这几本书我都看过,几本也是你这个顺序,
    先看了《编码》,
    然后买了《深入了解计算机系统》(是链接里这本吧),
    然后买了你图里那本 《一站式学习C编程》,还下载了《鸟哥的Linux私房菜》(基础学习篇和服务器架设篇都搞了)。
    我觉得这几本书里,最有意思的就是《编码》,看完这书有种强烈的“买一堆电子元件自己插一个cpu出来”的欲望;
    从业余爱好的角度来说,《编码》是最适合看的,其余的都有较强的“实用性”,不实际工作的话,光看书也意义不大;
    从“开卷有益”角度来说,这些书都值得看,实际上知识是一个复杂的网状结构,通常看一本书就涉及连带的一大堆书,
    如果能从中看到乐呵的东西,随意看下去好了,不过是个(非常良性的)获得乐趣的方式而已。小心的痔疮,建议你先看看水区的几篇有关菊花的帖子,防患于未然。
  • 7
    79859899
    编码那书太棒了 刚在亚马逊乱搜 有一个 图灵 自制CPU 不知道好看不 先把手头的弄完 另外我不是光看 安装了centos 算上前年一起手欠买的tcpip 都看完计算机趣味阅读就收官了 再下部准备好好学英语了 哈哈
    痔疮这个是的注意
  • m
    mting
    正则表达是 到最后一班只记得常用的几个
    http://tool.chinaz.com/regex
    这个网页不错
  • j
    jiejieup
    劝你别在bash管道和正则上花时间,我工作那么久,基本不用bash写,都用python写系统脚本,而且工作中使用到的机会很少,用到基本重新查一遍手册,所以劝你稍微看看就行了,知道有这个东西就可以了。以后要用到这个功能再看。
  • 禦意見無用
    迈克
  • s
    sfczhw
    mark
  • u
    ueol
    楼主,自学c目的是:玩玩呢?还是要用它找工作?
  • 7
    79859899
    多谢
  • 7
    79859899
    嗯,我主要是在学习阶段,所以想整体都弄懂了
  • 7
    79859899
    玩玩,与工作无关
  • 2
    20060602
    我擦,神同步,我年前看到一本《自制编程语言》,感觉有兴趣,虽然之前也买过几本编译原理、领域语言设计之类的书,都没看下去,
    昨天看到这个 《CPU自制入门》 跟 《自制编程语言》 很相似,就下了试读版,就看了个开头,发现我绝对感兴趣。

    现在还没决定先看哪本,但是手上还有些书没看完,先不买。推荐你也了解一下《自制编程语言》,或许你也感兴趣。
  • 7
    79859899
    都放购物车了,另外图灵还有一个 汽车是怎么跑起来的 这个貌似也有点儿意思
    下月手头富裕都收了 刚买了台版的 选择的自由 得控制一下购书欲 不知道下次亚马逊啥时打折
  • f
    ffcactus
    管道都不用还看什么Linux?
  • 2
    20060602
    http://readfree.me/explore
    昨天在 水区 看到的,这网站真不错,基本都是不错的书,你刚才说的书有商务印书馆的版本:
    http://readfree.me/book/1046202
  • 御弟哥哥
    喷了,只有Linux有管道,还是进程间通信的几种方式里面你只会用管道?
  • s
    somesun
    说一句,深入理解计算机系统是本好书,但光看是不够的,书里有大量的习题,一定要做才能真的理解
  • 7
    79859899
    商务印书馆的书比较实惠就是翻译比较晦涩,国内的书但凡聊点儿政治的又删节,所以变成了比较尴尬的技术书看国内,粘点政治看台湾,当然还是自己没本事,要不直接英语原版。
    不过国内书真心便宜........台版太贵了。。。。。
  • 7
    79859899
    A的配置,只考虑学习的话还是可以的,我准备再弄一个,放单位。D我听说只有几个西班牙语键盘的了,其余已经清仓了。
  • 脆骨
    太复杂了,以后年纪大了可以看看活化大脑
  • 7
    79859899
    2014/03/23-----------------------------------------------------------------------------------
    目前的进度是鸟哥私房菜前一半看完第二遍,后面看到了SELinux部分。
    目前的想法是跟进一下把服务器篇也看完,这样linux部分就收官了。
    但同时也产生了一个问题,希望各位大大给个看法:
    (1)如果学习程序,我是应该从汇编看起,还是C看起????
    (2)王爽的汇编好吗?我看网上还有一个汇编语言:基于Linux环境(第3版)作 者:[美] 达特曼(Jeff Duntemann) 著 梁晓晖 译 不知道好不好????
    ---------------------------------------------------------------------------------------------
  • y
    yang_yii
    汇编没啥意义了现在。安心学c挺好的。
  • j
    jiejieup
    C都学完了,做个东西吧。汇编就别学了。
  • h
    henvelleng
    汇编需要结合cpu硬件体系架构,不要说基本不会在应用层使用,就是搞内核驱动和单片机的都未必使用,要搞bsp和firmware的人才懂。汇编本身难度不高,难度在cpu体系架构上
  • 7
    79859899
    那哥们你的建议是?
  • h
    henvelleng
    我觉得你不要太盲目了,诚然汇编对理解c语言理解编译链接的底层原理至关重要,但关键是你到底有没有这个需求,因为没有实践,你很难学下去
  • e
    eos
    不搞破解或者查错看汇编干什么?
    从实用的角度看,我感觉c在单片机上的用处还是比较大的,可以直接实现需要的功能。当然用汇编更好程序精巧高速。
    如果玩玩学汇编没啥必要。
  • 7
    79859899
    2014/04/11-----------------------------------------------------------------------------------
    鸟哥私房菜基础篇已经看完,然后开始看一站式C编程;
    作者对习题部分没有正确答案,在第四章分支语句的一道关于布尔代数的题我不确定对不对,请各位大侠解答一下:

    4、以下哪一个if判断条件是多余的可以去掉?这里所谓的“多余”是指,某种情况下如果本来应该打印Test OK!,去掉这个多余的条件后仍然打印Test OK!,如果本来应该打印Test failed!,去掉这个多余条件后仍然打印Test failed!.

    if (x<3 && y>3)
    printf("Test OK!\n");
    else if (x>=3 && y>=3)
    printf("Test OK!\n");
    else if (z>3 && x>=3)
    printf("Test OK!\n");
    else if (z<=3 && y>=3)
    printf("Test OK!\n");
    else
    printf("Test failed!\n");

    我用笨方法,按1为真0为假将各种组合都列出后,感觉去掉else if (x>=3 && y>=3)结果一样。但是网上查到的答案是去掉第一句,由于作者没有标准答案,所以很费解!!!!
    ---------------------------------------------------------------------------------------------
  • m
    mino
    看起来就是去掉第二句,第三第四句包含了第二句。

    不过学C何必执着于这种逻辑题目。
  • h
    henvelleng
    喷了你这题除了整人以外还有啥实际意义?
  • 7
    79859899
    作者列了一堆布尔代数的定理,然后说出题的目的就是为了强化对这些定理的理解。
  • j
    jiejieup
    别纠结这道题目了,像题目中的这种烂代码是永远不会出现在真实的工程里。最后,照着书本学编程语言进步很慢,你需要一个明确的问题和目标来推动你学习,而不是漫无目的的。我给你出道题目,请你用c语言去实现。

    编写一个命令行程序head,显示一个文件的前几行。
    > head.exe mydoc.txt 10
    例如上面的命令,显示当前目录下文件名为mydoc.txt文件的前10行。

    要支持相对路径绝对路径,对于错误的输入要进行处理,例如非法的文件名,错误的行数,参数缺少等等。
  • g
    g8287694
    LZ行动派啊 我都磨蹭了好久 只是偶尔接触
  • Y
    Yit
    marlk
  • f
    frank77
    支持一下
  • h
    henvelleng
    184楼的题对于逻辑判断分支比你楼主的题有实际意义

    要学c语言,重点在函数指针,结构体,你先封装一个泛型的双向有头循环链表的库出来,注意要泛型
  • 7
    79859899
    我第四章条件语句还没看完你就给我出题了....
  • j
    jiejieup
    给你一个礼拜做这题,一个礼拜这题搞不定劝你别学了。
  • 一条僵尸
    相对路径是指用..\来实现的路径,fopen函数支持这个么?还真没有试过。而且这符号linux和windows的还不一样呢,一个点和两个点的区别。
    如果不支持相对路径,程序要先确定自己所在的位置,然后拼接出一个绝对路径来。于是从根目录开始递归访问所有文件夹...想想就觉得烦。直接用cstring类的+吧,strcat太烦了。

    [本帖最后由 一条僵尸 于 2014-4-11 15:15 编辑]
  • 一条僵尸
    泛型,尼玛一个比一个狠,LZ别搞这个,直接上模板库。
  • 一条僵尸
    我建议LZ,快速的吧C语言的内容过一遍。找份2级卷子做。做到90分就收手。然后赶紧换语言学。你想做什么方向就学相关的语言。带着项目一起学,边学边做。
    吃不透没关系,这世界上没几个人敢说自己把C语言吃透了。宽度比深度重要,等你有了宽度,你自然能理解里面的深刻内涵。
    编程语言其实都是差不多的东西,你的关键在于掌握适合你自己的学习路线(方法),同时不断给自己兴奋点,鼓励自己不断学下去,不能中途而费。
    关键是LZ得想好自己想干嘛,你得知道,TGFC是个有着深刻划胖传统的论坛。
    linux看上去很高端,但是并不是C语言开发的前提条件。实际上公司里写C语言还是用微软或者source insight的开发环境,顶多代码写好了传到linux上编译测试。我可不想在linux下写代码,会发疯的。
    当然,debug的事情另说。

    [本帖最后由 一条僵尸 于 2014-4-11 15:37 编辑]
  • j
    jiejieup
    我第一门语言是C++,没几天就看完变量,循环和函数,就开始编程解数学题了。后来对我提升最大的一次就是用OpenGL写3D程序,所以同样建议楼主早点开始做项目。少做题,多实践。
  • 一条僵尸
    看看前面的帖子,我突然觉得仿佛LZ本身就在划胖,然后大家跟着一起划胖。
    就当我什么都没说吧。
  • g
    g8287694
    额 问下业内 大大 如果 我学PHP 做练习的话 做哪种题目(或者类型)?
  • g
    g8287694
    额 问下业内 大大 如果 我学PHP 做练习的话 做哪种题目(或者类型)?
  • h
    henvelleng
    相对路径绝对路径当然是c库直接搞定的,直接传参即可,所以我挺奇怪为啥要特别说明,184楼说穿了就是做个错误处理的分流,文件IO的使用不是重点,否则就不是写head而是tree或ls了
  • h
    henvelleng
    c没有你说的那么复杂,几个月即可吃透,C++那是真心没人能吃透,没有一个人能。。。