华南理工大学吧 关注:310,875贴子:4,446,650
  • 10回复贴,共1

【技术科普指导贴】百步梯技术部倾情奉献之——带你走进编程世界

取消只看楼主收藏回复

一楼喂达仔
有错别字请原谅轻拍


IP属地:广东1楼2014-08-03 16:25回复
    在计算机飞速发展的时代,会一点编程是一件很有意义且很必要的事情。
    也是由于计算机发展的非常迅速,不同的语言也应运而生,各自拥有自己所擅长的领域。


    IP属地:广东2楼2014-08-03 16:25
    收起回复
      简单介绍一些语言,有遗漏会有其他BBT技术部的童鞋来补充。


      IP属地:广东3楼2014-08-03 16:25
      收起回复
        首先是在清水里呛过,血水里泡过,咸水里滚过,依然坑害者天下二分之一的程序猿的C语言。
        C语言最初是在贝尔实验室发明的,因为那时拥有A语言和B语言,自然而然新发明的就叫C语言了,因为其悠久的历史,应用范围极其广泛,从编写操作系统,到软件开发,到嵌入式系统,到科学研究都应用极为广泛。


        IP属地:广东4楼2014-08-03 16:26
        回复
          时代慢慢发展,面向对象等一些新型概念被发明出来,C语言慢慢地被修改,添加进了许多新的特性,C++最初是作为C语言的扩充被开发出来。后来它渐渐离开母亲的怀抱,成为能独挡一面的牛败语言,甚至在许多方面应用更比C语言广泛,于是C++这门语言茁壮起来。Ps:C++的名字很谦虚的,就是C语言的扩充……


          IP属地:广东5楼2014-08-03 16:26
          回复
            某公司后来用C++开发一个项目,发现C++的一些缺点让员工头大。应用于该项目,C++缺少一些机制,它的其他一些机制又过分复杂,不适合他们的项目,于是他们就像做一些补充,打算给这门补充出来的新语言命名为C++++ –(看~!和C++多么雷同的历史啊!程序猿,唉…数不尽的忧伤)但后来他们放弃了,重新编写了一门新预言,慢慢应用发展,就变成了现在的JAVA。


            IP属地:广东6楼2014-08-03 16:26
            回复
              然后随着时间轴继续向前,越来越靠近现代,语言发展也越来越迅速,Perl,Python, Ruby等强大的语言都慢慢发展起来,壮大了时间编程语言民族之林。
              现在你们用的几乎所有软件,都是用上述语言编写出来。包括你用的浏览器,右下角没有闪烁的QQ图标,Windows或者Linux系统,Office系列,PS,LR……凡是你用过的没用过的,都来自上面那些杰出的语言以及他们伟大的创造者。
              (为他们鼓掌先)


              IP属地:广东7楼2014-08-03 16:26
              回复
                网络慢慢兴起,又新涌现出一批非常适用于网络的语言。这里的历史有一点交叉,但是下面这些因为主要应用于网络,故单独提出。
                PHP,ASP,JSP,Nodejs等语言,主要应用于Web开发领域,实现网络动态化。
                javascript主要应用于网页内部脚本执行,实现动态化的页面。
                两种动态化的概念完全不相同,第一种是服务器会根据不同的客户会显示不同的,譬如,同样是weibo,你看到的是你的微博,我看到的是我的微博,这是前者动态化的概念;后者动态化的概念就是你看到网页会变耶!鼠标放上菜单,它就会下拉现实内容。


                IP属地:广东8楼2014-08-03 16:27
                收起回复
                  我觉得HTML,CSS等不算严格意义上的编程语言,它们没有顺序执行的功能,它们是用于辅助显示的。
                  例如网页上每一个图片都是在HTML中使用<img></img>标示的。你的浏览器在读取这个页面的HTML,获取到这个img标签就会去标签所指示的图片地址把图片下载下来,然后替换掉<img>标签,显示在相应的位置。


                  IP属地:广东10楼2014-08-03 16:27
                  收起回复
                    算作一些简单的介绍,师弟师妹如果有兴趣或者有问题可以直接在下面跟帖回复,我们百步梯技术部的童鞋们竭诚为你们服务!
                    另,我们会不定期更新一些相关语言的简短介绍和培训。


                    IP属地:广东11楼2014-08-03 16:28
                    回复
                      ——————————此处是硬黑体字!——————————
                      C语言非常基础篇
                      ——————————此处是硬黑体字!——————————
                        试想,你点开QQ首先会弹出登录窗口;点开浏览器首先会弹出你设置的显示页面;打开电脑它会首先驱动各个硬件并显示桌面(说话要严谨…多数系统如此…)。
                        我们给C语言编程也需要一个程序的入口,我们写下的所有代码都是从这个入口开始一步一步按照我们给定的流程向下执行。
                        一个语言一个程序(说话要严谨…多数语言如此…)都是如此,严格按照程序猿所设定的流程向下执行,QQ登录窗口之后就会登陆成功,点开好友就会弹出对话框……
                        main是C语言的入口,每个程序必须有一个:
                      1.#include <stdio.h>
                      2.int main(void){
                      3. int a, b, c;
                      4. int d;
                      5. printf(“Pleaseinput three numbers:\n“);
                      6. scanf(“%d%d%d”,&a, &b, &c);
                      7. d = a - b *c;
                      8. printf(“%d\n”,d);
                      9. d = (a - b) *c;
                      10. printf(“%d\n”,d);
                      11. d=a-b-c;
                      12. printf(“%d\n”,d);
                      13. return 0;
                      14.}
                      执行例子:


                        代码释义:
                        第1行,稍后解释。
                        第2行和第14行 int main(){ } 表示了程序执行的入口和程序结束的地方。程序会按照顺序从第3行一直执行到第13行,当执行到第14行,也就结束了int main()所管辖的范围,程序也就退出了。
                        实际上int main()是一个函数,函数是一个代码块的概念,可以把很多个实现单一功能的代码放在一个函数里以实现其他功能或者组成一个会经常用到的代码块。
                        系统在编译(就是从C语言翻译成可执行文件(*.exe))过程中会寻找名为main的函数,并从这里开始执行。
                        3、4行定义了四个变量,类型是整形(int)。
                        第5行输出用户提示(可有可无,但有可以增加程序友好性)。printf这是一个函数,系统会将这个函数的参数按照某种方式组合输出到屏幕上。
                        第6行从屏幕中接受用户输入三个数字,并依次存储在a, b, c变量中。scanf的功能便是从屏幕输入信息给程序,至于具体函数的语法以及&的功能,有兴趣者可google查看一下。
                        这里再说第1行,#include是将“头文件”引用进C语言的语法,编译器会将stdio.h这个系统头文件的内容全部载入并替换#include <stdio.h>所在的位置,stdio.h里面定义了scanf和printf的程序原型。
                        8,10,12行是输出d变量。
                        13行的代码是主动退出main函数,即退出程序,并且返回0。
                        比如用户打开QQ和浏览器,有时会出现忽然关闭的页面,然后系统提示程序崩溃了如何如何……系统是如何辨认到?都是程序退出,为什么系统认为有些是正常退出,有些会提醒是异常退出?因为这个return,它会是函数退出并且返回一个值给调用该函数的位置。
                        main函数是系统打开程序时最先执行的地方,那么程序的返回值就会返回给系统。系统统一认为返回0就是正常退出,返回其它数字都是异常退出。
                        吐槽:很多书的习惯都不好,会使用main()和void main()这样的写法,编译不会报错,但习惯不好,至少说明作家的程序猿素质不够!
                        7,9,11都是用abc运算之后,将运算结果赋值给c。
                        这里重点讲两个概念,优先级和结合方向。
                        当多个运算符同时摆放在一起时,会作如何的运算呢?根据从小学就学过的法则,我们会不假思索的认为是a-(b*c),括号内的优先运算,值得庆幸的是几乎所有语言应该是会遵守我们所学过的这个规则。那如果是我们没有学过的法则呢,如a+b^c,a^b+c……?
                        在C语言中有一个这样的运算符优先级的表,所有的运算符会按照该表规定的顺序进行运算。详见百度:http://baike.baidu.com/view/262524.htm?fr=aladdin
                        还有这样一种情况:a-b-c,同一个符号的优先级自然是相同的,但a-(b-c)和(a-b)-c的结果是不相同的,这里我们也可以按照我们的习惯,肯定是(a-b)-c的结合顺序,但是如果a^b^c呢?(2^3)^4=4096和2^(3^4)=2^81,完全不相同啊!为了解决这种情况,C语言还拥有结合方向这一概念。
                        因为这两个概念我以前一长段时间不懂,也有人问过我,便在这里重点提出,也觉得是这篇小文章最主要的内容吧。


                      IP属地:广东62楼2014-08-08 22:12
                      回复