计算机编程语言基础知识 版本:v1.3 Crifan Li 摘要 本文主要介绍了计算机领域中的编程语言的基础知识,主要指的是各种编程语言中比较通 用的基本概念,比如逻辑结构等等。 整理了计算机语言的分类和关系。 [提 本文提供多种格式供: 示] 在线阅读 HTML HTMLs PDF CHM TXT RTF WEBHELP 下载(7zip压缩包) HTML HTMLs PDF CHM TXT RTF WEBHELP HTML版本的在线地址为: http://www.crifan.com/files/doc/docbook/programming_language_basic/release/ html/programming_language_basic.html 有任何意见,建议,提交bug等,都欢迎去讨论组发帖讨论: http://www.crifan.com/bbs/categories/programming_language_basic/ 2015-05-07 ┌─────────────────────────────────────────────────────────────────────────────┐ │修订历史 │ ├─────────────────────────────┬───────────────────────────────────┬───────────┤ │修订 1.3 │2015-05-07 │crl │ ├─────────────────────────────┴───────────────────────────────────┴───────────┤ │ 1. 把之前教程的地址整理过来 │ │ 2. 代码写出来就是留给别人看的 │ │ 3. 很多语言都有打印这个函数 │ │ 4. 添加学习C先Windows还是Linux │ └─────────────────────────────────────────────────────────────────────────────┘ 版权 © 2015 Crifan, http://crifan.com 本文章遵从:署名-非商业性使用 2.5 中国大陆(CC BY-NC 2.5) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 目录 前言 1. 本文目的 1. 计算机编程语言分类 1.1. 脚本语言 2. 计算机编程语言通用知识 2.1. 代码写出来是为了给别人看的 2.2. 不同计算机语言都有常见通用的函数 2.2.1. 通用函数:print 2.3. 某某(比如C)语言初学者在Windows还是Linux环境下练习更有优势? 3. 变量分类 4. 操作和运算 5. 分支与判断 6. 循环 7. 函数 参考书目 前言 目录 1. 本文目的 1. 本文目的 本文目的在于介绍计算机编程语言的基础知识。 第 1 章 计算机编程语言分类 目录 1.1. 脚本语言 不懂的语言,擅长做的事情也不同,适用的领域和层次也不同: [提 相关旧帖 示] 【整理】计算机语言的不同应用层次 计算机语言分类:脚本语言,解释性语言,编译性语言等等 1.1. 脚本语言 关于什么是脚本语言,简单说就是,需要你用什么编译器,将源代码,编译为对应的可执 行程序,再去运行可执行程序; 而直接通过对应的脚本语言的解释器,去直接“运行”你的脚本语言的源代码,即文本文件 ,一堆的字符串,就可以实现运行程序的效果了。 即: 其他语言:源代码 -> 编译成可执行程序 -> 运行程序 脚本语言:源代码 -> (解释器)直接"运行"你的源代码 常见的计算机语言有: • Assembly • C • C++ • C# • Java • JavaScript • Object-C • Perl • PHP • Python • GO 第 2 章 计算机编程语言通用知识 目录 2.1. 代码写出来是为了给别人看的 2.2. 不同计算机语言都有常见通用的函数 2.2.1. 通用函数:print 2.3. 某某(比如C)语言初学者在Windows还是Linux环境下练习更有优势? 2.1. 代码写出来是为了给别人看的 计算机语言通用知识之写代码是用来(被别人读和被别人)维护的 关于此观点,这里也有提到: Architecting iOS Apps with VIPER - Architecture - objc.io issue #13 “Good architecture is not what makes a product successful, but it does make a product maintainable and helps preserve the sanity of the people maintaining it!” 2.2. 不同计算机语言都有常见通用的函数 不同的计算机语言,都有一些常见的函数。 2.2.1. 通用函数:print 不同语言都有打印这个函数: • C:printf • C++:cout<< • Python: print • Java:System.out.println 2.3. 某某(比如C)语言初学者在Windows还是Linux环境下练习更有优势? 刚开始学习计算机语言,尤其是类似于C语言这种,很多人都会问同一个问题: 先在Windows下还是现在Linux下去学习,效果会更好,速度会更快? 对于此问题,之前遇到一个解释的比较清楚的答案: C语言初学者在Windows还是Linux环境下练习更有优势?(摘自知乎问答) 引用如下: 从Windows入门,熟悉到一定程度之后推荐根据情况转移到Linux下继续学习。 重点是“专注+效率”。 忽视初学者的境况和人的本性去考虑问题都是不恰当的。 并不是否定Linux,而是它对于初学者的入门门槛太高了。 Window进入难度小,非常有助于不断积累幸福感。 各种IDE完备,基本可以按照书上按图索骥,能让你专注而有效率的在学C语言。 windows下完善的IDE调试环境有利于减少入门难度,这对于初学者是大益。 难以想象一个初学者在Linux下面遇到指针错误会不会看着segementfault直接崩溃掉 ,然后选择掩卷长泣,深藏功与名。。。 而选择Linux入门会让你学C语言变成:捣鼓系统,学习gcc/GDB的使用,学习vim/ emacs使用,make文件的编写等。 请问:对于初学者的你,你还能专注的学C吗? 当你在windows下学习到一定程度之后,你会发现windows下学习的缺陷:IDE过于完备 导致对于细节缺乏了解;windows这个”化妆过度“的系统导致你从中基本学不到东西。 你可能不时需要去考虑IDE到底变了什么戏法? windows为甚么和你学的语言感觉一点关系都没有? 这个时候你可以转到Linux下继续学习。 通过对细节的把握以及在一个对程序员友好的系统的帮助下,可以让你的问题得到消 解,继续专注而有效率的学习。 另外,如果学的是C语言,不是OperatingSystem,Linux和Windows下是没有区别的。 《C Programming Language》里面除了专讲Unix的章节,其余的程序在Windows上也可 以运行。 C语言是有标准的,只要选择支持C89或C99标准的编译器就行了,这点两个平台也没区 别。 但是要知道C语言当初发明就是为了重写Unix的,C很多风格上和设计思维上同Unix更 接近些。尤其是C标准的内存,文件等接口。 上述的回答,对于其他语言,比如C++,Java,Python等等,也是实用的: 前期可以在Windows中,尤其是Windows中的各种IDE中去学习某语言的基本的语法和调试运 行, 待对语言有了一定的熟悉,想要深入学习内部机制和原理时,再去换到Linux的环境中去学 习。 由此可以由浅入深,循序渐进的去学习某种语言。 第 3 章 变量分类 为何要去将变量分类 常见的变量有哪些类型 整型:byte,short int,int,long 字符,字符串:char,string 浮点数:float,double 列表,等 高级的,比如:字典dict,Map 第 4 章 操作和运算 基础运算 加减乘除:+,-,*,/ 取余数% 等等 位运算:按位操作,按位与&,按位或 |等等 逻辑运算:AND,OR等 [提 相关旧帖 示] 【软件开发基础知识】逻辑运算 第 5 章 分支与判断 if,else then 其中,python中的判断,相对比较“智能”,自动判断某个变量的,是否为“真” 第 6 章 循环 关于循环:while,do while,for go语言中,好像只有for? 第 7 章 函数 为何要有函数 函数的参数 [提 相关旧帖 示] 【软件开发基础】调用函数中的变量名和被调用函数中的参数名之间的关系:没半毛 钱关系 函数中的变量 函数的返回值 参考书目 [1] 【教程】计算机编程语言之基础知识 [2] 【整理】计算机语言的不同应用层次 [3] 【软件开发基础】调用函数中的变量名和被调用函数中的参数名之间的关系:没半毛 钱关系