西安电子科技大学吧 关注:264,221贴子:5,283,501

C/C++ 的入门教程,手写哒~ 给小萌新的礼物

只看楼主收藏回复

一楼喂度娘


1楼2015-08-23 09:21回复
    二楼


    来自Android客户端2楼2015-08-23 09:23
    收起回复
      慢慢开始写,小萌新还在军训,不着急 如果觉得有帮助,就好啦~晚些时候我把我滴企鹅小号发出来,大家如果有想深入研究的可以加喽~


      3楼2015-08-23 09:24
      回复
        你们简直是在欺负chinanet的网速


        来自iPhone客户端6楼2015-08-23 09:27
        回复
          这个文章布局很难规划,所以我就凑活着发,表介意哈下面是引言部分~


          7楼2015-08-23 09:29
          回复
            引言:
            首先,我也是一名大二的学生,我写这个也算是心血来潮,也希望这个教程可以帮到很多当时和我一样在编程方面遇到巨大困难的学生们。如题,这是C和C++的入门教程,但严格意义上来说,这又不算是入门,因为我不希望自己写的东西像谭浩强老师所写的书那样给人一种填鸭式教学的感觉(虽然不得不承认,某个层面上这确实是很有用的),我到现在也已经看了很多编程方面的书,不乏好书,但总感觉似乎哪里有些问题,这些在我所写的内容里都希望加以完善,当然本书中的很多陈述这都是我自己个人的看法,如果冒犯到一些人希望多多谅解。
            下面我就我所写内容的一些方面给出规范
            一、代码风格
            (1) 所有的函数均采用pascal命名法(即所有单词首字母大写),并根据其组成单词确定其功能,如PrintArray();
            (2) 所有的变量均采用camel命名法(除第一个单词外其余单词首字母大写;
            (3) 所有的const常量所有字母都大写,如 const intSECONDS_PER_MINUTERS = 60;
            (4) 所有的结构名,类名以大写T(type简写)开头
            (5) 本文所有的代码采用的编程风格基本一致,因为作者本人是emacs控,所以一切的缩进方式以emacs C++缩进方式为准,如果大家喜欢这种缩进方式可以去搜索emacs这款软件。


            8楼2015-08-23 09:29
            回复
              度娘调皮了,歇会再发


              11楼2015-08-23 09:34
              回复
                orz,后排膜拜


                IP属地:北京来自Android客户端12楼2015-08-23 11:30
                收起回复


                  IP属地:河北来自Android客户端13楼2015-08-23 11:39
                  回复
                    来贴吧都是玩的,哪有人会认真看


                    来自Android客户端14楼2015-08-23 11:48
                    收起回复
                      看得我都以为自己没学过c…orz


                      IP属地:北京来自iPhone客户端15楼2015-08-23 12:00
                      收起回复
                        吃了个饭,看着小萌新们悠哉哉吃饭的样子,真是有些郁闷诶,我们去年都限制吃饭时间的,开始吃饭20分钟后重新集合,然后才解散的,你们直接解散好舒服诶.... 然后楼主企鹅号 2020349448, e_s_,请不要问楼主的企鹅头像为什么是只牛,去搜gnu计划你就懂~ 下面开始第一部分...


                        16楼2015-08-23 12:00
                        回复
                          第一部分. 基本概念
                          首先在这里介绍一些非常基本的内容,注意,是非常非常基本的,如果你希望对语言有所理解,我推荐你仔细理解这段内容。
                          一、编译器与链接器
                          电脑如果将它划分层次体系,分为三层,分别是硬件层、系统层、软件层。这三个层各有各的优点。
                          硬件层,代表语言为汇编语言和C,举个例子,你的机器很多硬件(显卡、网卡、USB等)都需要驱动程序,而驱动程序是什么呢,就是指导这些硬件,如何工作的程序,这决定了驱动程序必须是速度最优、效能最优的,因此采用汇编语言或者C。
                          系统层,例如windows系统、linux系统(严格意义上linux不是系统,有兴趣自行百度)、mac系统等,这些系统提供了平台,可以让硬件层和软件层很好的连接起来,比如QQ就有windows版本、linux版本、mac版本等。
                          软件层,这应该是大家接触最多的了,QQ、360、office、浏览器、输入法还有各种游戏,这些都是软件,他们大多被设计成可以在特定的系统层上运行,仅有一少部分可以在多个不同的系统上运行,这是软件层。
                          电脑有几个非常重要的部分:CPU、内存(注:这不是全部),。其中CPU大家应该都知道,它负责计算(这里就不讨论多线程编程了,可能涉及数据竞争的代码向来让人郁闷)。而内存我们来举个例子,你在电脑里打开了计算器,输入了5,然后按下乘号,输入7,再按下等于号,就可以得到结果35,在这过程中,需要一个地方存放5和7,以便CPU计算结果,这个地方就是内存(注:真正的处理要复杂得多,CPU内部也有一级、二级、三级缓存,这些缓存的处理速度相比较内存要快得多,有兴趣的可以自行百度)。
                          了解这个后,我们来看语言方面的知识。这里依旧只谈特别基础的。你写好了代码(扩展名可以是.c, .cpp, .cxx 等等),现在要把它弄成可执行程序(.exe, .out),应该怎么做呢?写过代码的同学都知道,要先编译,然后运行。但是却很少有人去探究这是为什么。
                          C primer plus 以及 C++ primer plus 都对这个有解释,但这个解释过于术语化,我用另外一种方式来解释这个吧。你写的代码是软件的最初始的形式,它比较笨,不知道系统层是什么样子的;然后编译器很厉害啊,编译器就知道系统层是啥样,所以编译器把代码变成了系统层的语言;然后软件层又不满意了,说你这写的是啥东西,我看都看不懂的;然后系统层没办法,就只好利用链接器又把这些系统层的语言变成了软件层的语言,也就是windows上的exe格式文件或者linux上的out文件。
                          然后说说调试器。只要一写程序就都知道,刚开始写的时候,真是痛苦,错误满天飞,而调试器就是专门用来对程序进行调试的工具。不过,虽然话是这样说的,在刚开始入门的时候就不要尝试用调试器了,因为会疯掉!不仅多了大量术语,而且它对你前期所写的那些小程序没有任何用处!不过大家还是应该知道调试器的概念。
                          这样理解之后,大家对编译器还有链接器的工作还有调试器就有了了解。这也就是大家所能做到的第一步,了解这些之后,我们就可以正式开始入门了!


                          17楼2015-08-23 12:03
                          回复
                            留名


                            IP属地:北京来自iPhone客户端18楼2015-08-23 12:04
                            收起回复