C语言篇 - (1)初识C语言 - (1)什么是C语言

  • 简介:
  • 纠正:
  • 什么是C语言

简介:

我是一名初学者,我会以我的角度来展现学习编程的一个过程,每个阶段的对知识点的理解都将写在上面,如果后续对知识点的理解有所偏差,我将会在最上面备注所要纠正的地方,并在新发布的博客上面,提醒之前哪个博客的知识点需要纠正,每个阶段全部发完之后将会总结在一个博客上面。(如果大佬看到我的知识点有错并评论,我将会感谢并纠正错误的知识点,欢迎各位批评指正)

纠正:

什么是C语言

c语言是一门计算机语言(比如c++/java/python…),常用于底层开发,跟人类交流的语言类似,它是人与计算机交流的语言。

计算机语言的发展:低级–>高级

#mermaid-svg-8WUf1c2QYg5vECYH {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-8WUf1c2QYg5vECYH .error-icon{fill:#552222;}#mermaid-svg-8WUf1c2QYg5vECYH .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-8WUf1c2QYg5vECYH .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-8WUf1c2QYg5vECYH .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-8WUf1c2QYg5vECYH .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-8WUf1c2QYg5vECYH .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-8WUf1c2QYg5vECYH .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-8WUf1c2QYg5vECYH .marker{fill:#333333;stroke:#333333;}#mermaid-svg-8WUf1c2QYg5vECYH .marker.cross{stroke:#333333;}#mermaid-svg-8WUf1c2QYg5vECYH svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-8WUf1c2QYg5vECYH .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-8WUf1c2QYg5vECYH .cluster-label text{fill:#333;}#mermaid-svg-8WUf1c2QYg5vECYH .cluster-label span{color:#333;}#mermaid-svg-8WUf1c2QYg5vECYH .label text,#mermaid-svg-8WUf1c2QYg5vECYH span{fill:#333;color:#333;}#mermaid-svg-8WUf1c2QYg5vECYH .node rect,#mermaid-svg-8WUf1c2QYg5vECYH .node circle,#mermaid-svg-8WUf1c2QYg5vECYH .node ellipse,#mermaid-svg-8WUf1c2QYg5vECYH .node polygon,#mermaid-svg-8WUf1c2QYg5vECYH .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-8WUf1c2QYg5vECYH .node .label{text-align:center;}#mermaid-svg-8WUf1c2QYg5vECYH .node.clickable{cursor:pointer;}#mermaid-svg-8WUf1c2QYg5vECYH .arrowheadPath{fill:#333333;}#mermaid-svg-8WUf1c2QYg5vECYH .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-8WUf1c2QYg5vECYH .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-8WUf1c2QYg5vECYH .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-8WUf1c2QYg5vECYH .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-8WUf1c2QYg5vECYH .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-8WUf1c2QYg5vECYH .cluster text{fill:#333;}#mermaid-svg-8WUf1c2QYg5vECYH .cluster span{color:#333;}#mermaid-svg-8WUf1c2QYg5vECYH div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-8WUf1c2QYg5vECYH :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}

二进制的指令
汇编指令
B语言
C语言

发展到C语言时,已经是高级语言了

语言形式 例:

        二进制的指令     1001010  汇编语言         ADD

C语言的国际标准:ANSI C(常用的是C89,C90还包括C99,C11…)

编译C语言的编译器主要有MSVC(作者目前使用),GCC,Clang,WIN-TC,Turbo C等

C/C++是编译型的语言,要把源代码(test.c), 编译为程序(test.exe), 需要4个过程(下面四个过程)

初步了解编译器运行过程:

#mermaid-svg-BItu0xCq0cELClYh {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-BItu0xCq0cELClYh .error-icon{fill:#552222;}#mermaid-svg-BItu0xCq0cELClYh .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-BItu0xCq0cELClYh .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-BItu0xCq0cELClYh .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-BItu0xCq0cELClYh .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-BItu0xCq0cELClYh .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-BItu0xCq0cELClYh .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-BItu0xCq0cELClYh .marker{fill:#333333;stroke:#333333;}#mermaid-svg-BItu0xCq0cELClYh .marker.cross{stroke:#333333;}#mermaid-svg-BItu0xCq0cELClYh svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-BItu0xCq0cELClYh .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-BItu0xCq0cELClYh .cluster-label text{fill:#333;}#mermaid-svg-BItu0xCq0cELClYh .cluster-label span{color:#333;}#mermaid-svg-BItu0xCq0cELClYh .label text,#mermaid-svg-BItu0xCq0cELClYh span{fill:#333;color:#333;}#mermaid-svg-BItu0xCq0cELClYh .node rect,#mermaid-svg-BItu0xCq0cELClYh .node circle,#mermaid-svg-BItu0xCq0cELClYh .node ellipse,#mermaid-svg-BItu0xCq0cELClYh .node polygon,#mermaid-svg-BItu0xCq0cELClYh .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-BItu0xCq0cELClYh .node .label{text-align:center;}#mermaid-svg-BItu0xCq0cELClYh .node.clickable{cursor:pointer;}#mermaid-svg-BItu0xCq0cELClYh .arrowheadPath{fill:#333333;}#mermaid-svg-BItu0xCq0cELClYh .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-BItu0xCq0cELClYh .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-BItu0xCq0cELClYh .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-BItu0xCq0cELClYh .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-BItu0xCq0cELClYh .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-BItu0xCq0cELClYh .cluster text{fill:#333;}#mermaid-svg-BItu0xCq0cELClYh .cluster span{color:#333;}#mermaid-svg-BItu0xCq0cELClYh div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-BItu0xCq0cELClYh :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}

预处理
编译
汇编
链接

我们都知道计算机使用的是二进制语言,我们生活在十进制的世界,
二进制就例如10010101,逢二进一;
八进制就例如157643235,逢八进一;
十进制就例如95124921,逢十进一;
十六进制就例如A5B46,逢十六进一。(A指10,B指11,依次类推)

 二进制          八进制          十进制          十六进制1                 1               1               110                2               2               2111               7               7               71000              10              8               81001              11              9               91010              12              10              A1101              15              15              E1110              16              16              101011001011        1313            715             2CB

那么计算机为什么要使用二进制语言而不去使用八进制,十进制,甚至十六进制的语言呢,这是物理方面的原因,只有二进制比较好实现,

灯亮则是1

灯灭则是0
从物理方面好实现,其他的进制都不太好实现,这里就先简单了解一下

C语言篇 - (1)初识C语言 - (1)什么是C语言相关推荐

  1. python嵌入式系统开发_图解嵌入式系统开发之语言篇:初识Python

    一直忙于工作,似乎忘记了抽时间学习新知识,最近难得空闲,花了两天时间看了一下Python语法.作为工作中经常使用C/C++的人,学习Python的过程中最大的感受就是"似曾相识". ...

  2. 【C语言篇】初识C语言

    友情链接:C/C++系列系统学习目录 知识总结顺序参考C Primer Plus(第六版)和谭浩强老师的C程序设计(第五版)等,内容以书中为标准,同时参考其它各类书籍以及优质文章,以至减少知识点上的错 ...

  3. 求素数的三大算法 —— C 语言 篇

    求素数的三大算法 -- C 语言 篇 文章目录 求素数的三大算法 -- C 语言 篇 算法一 :暴力遍历 思路: 代码: 算法二:折半范围遍历 思路: 代码: 算法三:根号范围遍历 思路: 代码: 总 ...

  4. JAVA WEB篇1——初识JAVAWEB

    JAVA WEB篇1--初识JAVAWEB JavaWeb主要指使用Java语言进行动态Web资源开发技术的统称,是解决相关Web互联网领域的技术总和 1.Http协议 HTTP协议(HyperTex ...

  5. 【C语言篇(初级)】初识C语言——上

    前言 本篇(初识C语言)主要讲述C语言的一些基础知识,后期还会更新选择语句,循环语句,函数,数组,操作符,指针,结构体等一些知识.如果有错误的地方,还请大佬多多指教,在这里先感谢各位了. 来开启我们的 ...

  6. C语言入门(初识C语言)

    C语言入门(初识C语言) 前言 什么是C语言? 为什么选择C语言? 计算机语言的发展 高级计算机语言中的经典:C语言 初识C语言(正片开始) 一.第一个C语言程序(你好,C语言) 1.1 #inclu ...

  7. .Net 程序员面试 C# 语言篇 (回答Scott Hanselman的问题)

    过去几年都在忙着找项目,赶项目,没有时间好好整理深究自己在工作中学到的东西.现在好了,趁着找工作的这段空余时间,正好可以总结和再继续夯实自己的.Net, C#基本功.在05年的时候,Scott Han ...

  8. 深入理解Java 8 Lambda(语言篇——lambda,方法引用,目标类型和默认方法)

    作者:Lucida 微博:@peng_gong 豆瓣:@figure9 原文链接:http://zh.lucida.me/blog/java-8-lambdas-insideout-language- ...

  9. c语言为什么提供函数声明机制,通过实战理解C语言精要——函数篇

    本文为作者原创,转载请注明出处,感谢您的阅读与分享,希望本文能让您有所收获. 前言 本篇博客是对C语言函数部分的重点内容和细枝末节通过实战得到的经验的总结精炼,不涵盖C语言函数的全部内容,所有提炼内容 ...

最新文章

  1. java集合框架栈_自己实现集合框架(九):栈接口
  2. fir.im Weekly - 2016 年 Android 最佳实践列表
  3. mysql面试考点_mysql面试知识点
  4. antd的tooltip如何调整间距_Word字符间距不会调?那就试试这些技巧
  5. 今天会议的召开,和你有关系吗?
  6. python 点击按钮 click_用selenium和Python单击“onclick”按钮
  7. UvaLive7362 Fare(欧拉函数)
  8. 20、Tabs底部导航栏
  9. 2021年上海高考小三门成绩查询,高考小三门怎么算分 上海2021高考小三门
  10. nginx——ngx_http_gzip_module
  11. python称为胶水的例子_为什么称python为胶水语言
  12. html空间图片,html+js实现图片预览
  13. php令牌桶,令牌桶限频(TokenBucket)
  14. CKA 认证笔记 - CKA 认证经验帖
  15. Hbuilder X自定义安装微信开发工具无法启动
  16. Mac下导入virtualenv报错:its parent directory is not owned by the current user
  17. 求求你用数学炒股行不行?
  18. 【产品经理】日活跃用户「MAU」 和月活跃用户「DAU」
  19. SpringMVC基础入门
  20. vivo手机支持html,vivo手机也能刷门禁了,只有这三款手机支持,教你如何开通使用...

热门文章

  1. 用java求水仙花数,适合新手
  2. http网页返回状态码含义
  3. 结缘OpenStack:运营商NFV部署加速 要开源也要保障
  4. 如何用C语言实现小游戏——扫雷
  5. 地理商业智能发展浅析
  6. 【常见错误 error】Vivado SDK在启动程序时显示cannot stop MicroBlaze.MicroBlaze is held in reset 问题解决办法
  7. 1)java基本语法
  8. ARM9嵌入式Linux开发-内存与IO操作
  9. 计算机网络实验(思科模拟器Cisco Packet Tracer)配置静态路由使三台pc机网络互通
  10. Vi编辑器的常用命令2(文件操作)