C语言奇妙之旅_发展历史
C语言的发展历史(简化)
1972年 -> 在B语言的基础上设计出了一种新的语言, 没错, 就是我们讲的C语言
1973年(初) -> C语言主体完成, 重写了UNIX操作系统, 随着UNIX的发展, C语言自身也在不断的完善
为什么选择C语言
一、 在计算机领域, C语言大小通吃
- 可以写网站后台程序 -> 使用Selet epoll poll函数等。
- 可以写出绚丽的GUI界面 -> 建议在windows中学习, Linux用作服务器的更多。
- 强大的程序库 -> 内存分配, 网络和URL解析、 字符串处理等。
- 可以写大型游戏的引擎 -> 要用gtk+, 比较难, C++相比C是一个更普遍的选择, 使用C++的引擎有COCOS2D-x 面向3a开发的udk等都是最典型的例子。
- 可以写出另一个语言 -> 比如 C++、 JAVA。
- 可以写操作系统和驱动程序 -> ReactOS、 Windows、 Linux等。
一句话, 没有C语言干不了的事情。
二、 掌握了C语言, 其他类似语言不学自通
就算没有不学自通的话, 学习别的编程语言也不会花太大的力气才能学会,
三、 C语言的优点
- 代码简洁、 紧凑 、 灵活性高
- 使用方便
- 功能强大
- 执行效率高
- 结构化语言
四、 当然没有完美的程序C语言也是有缺点的
- 危险性高
- 开发走起长
- 可移植性不强
程序设计语言
第一代 -> 机器语言 (以二进制代码0、 1, 构成)
第二代 -> 汇编语言 (add加法、 sub减法等)
第三代 -> 高级语言 (比如C语言)
速度对比(大致的了解一下)
机器语言 < 汇编语言 < 高级语言
机器语言的速度最快。
什么是面向过程 什么是面向对象(大致的了解一下)
为什么面向过程会比面向对象慢的, 可以用五子棋程序来说明。
面向过程
开始游戏 -> 黑子先走 -> 绘画画面 -> 判断输赢 -> 轮到白子 -> 绘制画面 -> 判断输赢 -> 返回步骤2(黑子先走)
面向对象
黑白双方, 这两方的行为是一模一样的 -> 棋盘系统、 负责绘制画面 -> 规则系统, 负责判定(例如 犯规、输赢等)
第一类对象(玩家对象)负责接受用户输入, 并告知第二类对象(棋盘对象)棋子布局的变化, 棋盘对象接收棋子的变化就要负责在屏幕上面显示出这种变化, 同时利用第三类对象(规则系统)未对棋盘进行判定。
其实学习终归是一件痛苦的事情, 所以呢, 面对学习你还是的得要认真用功, 努力的去学习, 享受的是什么? 是学习之后获得的那种成就, 快乐是从成就当中来的。 ————翁恺
课后学习
- 了解C语言是如何演变而来的。
- 了解机器语言、 汇编语言、 高级语言的区别、 及优缺点。
- 在本文下方评论(指正作者的错误 与 随笔意见), 让作者写出更好的文章。
C语言奇妙之旅_发展历史相关推荐
- C语言奇妙之旅_环境搭建
爱护"环境"从我做起 课前回顾 C语言是由什么演变而来的 ALGOL -> CPL -> BAPL -> B -> C 机器语言. 汇编语言 ...
- C语言奇妙之旅_if大家庭
if 你可以去翻译软件翻译一下, 可以理解为假如! if是流程控制中的选择: 某些代码可能执行, 也可能不执行! /* * 编写时间: 2018/7/24 * 编写作者: 流光飞霞 * 程序功能: i ...
- C语言的概述和发展历史(C语言编程之旅)
各位bro,你们好,当你点开这篇博客时,我由衷的希望你们能够在这字里行间找到想要的答案.每个人都在寻找着答案,而我也在寻找着自己的答案,谨以此篇开启我自己的C语言学习之旅,2023年你我携手同行, ...
- keras cnn注意力机制_从发展历史视角解析Transformer:从全连接CNN到Transformer
编译 | bluemin校对 | 陈彩娴Transformer架构在机器学习领域(尤其是NLP里)是一项热门研究,为我们带来了许多重要成果,比如:GPT-2.GPT-3等写稿机器人:第一代GPT及其性 ...
- 学完java学swift_前言最近学完Swift之后一直没有机会实战,发现由于Swift发展历史原因,目前网上大部分的算法都是使用C、Java或其他语言实现的,几乎没有使用Swift实...
前言 最近学完Swift之后一直没有机会实战,发现由于Swift发展历史原因,目前网上大部分的算法都是使用C.Java或其他语言实现的,几乎没有使用Swift实现的,所以自己打算使用Swift去实现一 ...
- java语言发展历史_Java编程语言的历史和未来
java语言发展历史 通过AppDynamics解决应用程序问题的速度提高了10倍–以最小的开销在代码级深度监视生产应用程序. 开始免费试用! 作为互联网上著名的编程语言 ,Java对人们如何浏览数字 ...
- C语言发展历史,C语言特点,C语言利于弊,入门须知三招
C语言是面向过程的,而C++是面向对象的 这些是C/C++能做的 服务器开发工程师.人工智能.云计算工程师.信息安全(黑客反黑客).大数据 .数据平台.嵌入式工程师.流媒体服务器.数据控解.图像处理. ...
- 360浏览器登录_浏览器发展历史介绍及当今主流浏览器的详细对比
作为访问internet的工具,浏览器已经成为我们日常生活中必不可少的上网工具了,它能让你加入全球的网络,通过一个窗口就能够连接世界.当你用浏览器时有没有想过浏览器的发展历史?面对市场上繁多的浏览器你 ...
- 计算机发展历史小报图片大全,【科技小报图片大全】科技小报简单又漂亮_科技小报内容资料大全_(2)_亲亲宝贝网...
科技小报图片大全:科技的分类 生命科学 现代生命科学技术,在20世纪得到了空前的发展,特别是DNA双螺旋结构的发现和人类基因组计划的实施,更使得生命科学技术成为21世纪高新科技的主流.由于生命科学技术 ...
最新文章
- 【Zookeeper实战】Zookeeper入门到实战看这篇就够了
- 【CVPR 2021】首次实现将GAN压缩22倍,性能比原始模型还高!
- Golang sync
- python自动化办公 百度网盘-Python自动化办公实战教程2020最新带源码
- 理解 async/await 的执行
- opencv简单滤波
- Qt Creator向项目添加库
- [AtCoder Grand Contest 048] D - Pocky Game(区间dp + 博弈)
- 安卓清理垃圾清理代码_从战中清理代码
- CVPR 2021 出自港中文,对抗变换提高对抗样本的可迁移性
- 基于JAVA+SpringBoot+Mybatis+MYSQL的旅游信息管理系统
- python读取json并列_python解析含有重复key的json方法
- HTML 如何禁用缓存
- 数据结构与算法 完整版单链表(附GIF)
- 向Maven的本地库中添加jar文件
- 约瑟夫问题-sdut
- 【PL/SQL】处理数据
- Selenium 高阶应用之WebDriverWait 和 expected_conditions
- centos7磁盘备份和还原
- php ping 检测电脑在线,怎么ping网速(教你如何用ping命令来检测电脑的网速)
热门文章
- 一把梭哈,轻松解决CentOS7离线RPM方式安装perl工具
- 笔记本电脑linux系统下载,荣耀笔记本Linux版安装Windows系统,电脑小白必学的一招!...
- 【安全知识分享】消防安全知识讲座(附下载)
- windows kill 具体端口 线程 关闭nginx
- 必应地图控件(WPF版)添加中国地图
- Zookeeper Zap协议
- Android全面屏显示不全下方有黑色解决方案
- IDEA代码提示中显示api的注释
- linux添加用户出现错误/usr/bin/xauth: file /home/chenwi/.Xauthority does not exist
- H3C与华为--不应错过的专业常识