这是基于比特鹏哥C语言课程的笔记,B站上有全套视频。

首先,什么是C语言?

语言对于人们来说是人与人交流的工具,例如汉语、英语、韩语和日语等。

而计算机语言是人们创造出来用于实现人与计算机交流的工具,C语言就是一种计算机语言,还有C++、python、Java等。

C语言是一门通用计算机编程语言,广泛用于底层开发。C语言的设计目标是提供一种能以建议的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

这里提到了C语言的应用范围普遍在于底层开发,什么是底层开发呢?对于我们的计算机来说,普遍油CPU、显卡等硬件构成,在使用时通过操作系统来控制计算机,windows、Linux占大多数,这里操作系统对硬件的控制是通过各种各样的驱动实现的,用户会在计算机上安装各种各样的应用软件,这些软件就是应用层,是基于操作系统的进一步开发。如下图所示:

所谓的底层,就是指应用层以下的部分。当然,也不排除有些应用的开发也是基于C语言,例如wps在早期开发时就是使用的C语言。

这里再简述一下C语言的历史,最开始的计算机语言就是一长串的二进制语言代表一种命令,加或者减的计算就需要一长串代码实现,使得计算机开发的门槛很高。后来就有人开发出了汇编语言,用助记符来替代冗长的二进制语言,例如ADD代表加,后面又衍生出了B语言等,但是这种开发并没有一定的规范,不同的企业或者单位开发出来的语言之间语法有差异,不能互通,于是在上世纪八十年代,由美国国家标准局为C语言制定了一台完整的美国国家标准语法,称为ANSI C,后续又有各种优化,有兴趣可以自行了解。

如何编写C语言代码?

这里要用到的工具是编译器,C语言作为一种编程的入门语言,以及应用十分广泛的语言,其编译器也是数不胜数,主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。对这些编译器,可以说是褒贬不一,没有最好的,只有最适合自己的,这一点需要自己来选择。应用较多的是MSVC集成开发环境。

对于编译器的使用网上教程很多,可自行学习。

C语言学习笔记(自用)(1):初识C语言相关推荐

  1. 【C语言学习笔记】《C程序设计语言》读后感

    Warning: 为了避免非零基础人群感到身体不适.头晕恶心.易怒及粗口,请不要查看以下内容. 文章目录 前言 读书感悟 总结 前言 截至目前为止,我已经"抄"完了10篇<C ...

  2. R语言学习笔记(一)R语言的基本操作与函数

    文章目录 写在前面 R语言GUI操作 基本的快捷键与命令 帮助命令 R Studio 常用快捷键 R语言基础语法 变量操作 运算符 数据类型 数据类型的判断 向量的基本操作 创建向量(数值类型) 基本 ...

  3. Go语言学习笔记【18】 Go语言常见库:html/template

    [声明] 非完全原创,部分内容来自于学习其他人的理论和B站视频.如果有侵权,请联系我,可以立即删除掉. 一.html/template 主要参考文档: (1)Go语言标准库之http/template ...

  4. c语言学习笔记(8)c 语言面试题(二)

    C练习1-9详解 转载我喜欢我看向别处你望向我的目光 最后发布于2019-05-06 10:30:16 阅读数 239 收藏 展开 不变的真理 int a[5]={1,2,3,4,5}; a[0]=* ...

  5. (一)易语言学习笔记之从了解易语言到写一个小程序

    如果要安装易语言参考下面链接: https://www.bilibili.com/video/BV1Rd4y1F7N4/?spm_id_from=333.999.0.0&vd_source=8 ...

  6. C语言学习笔记—P2(<C语言初阶>+<字符串+转义字符+注释>+图解+题例)

    目录 1.变量的使用 2. 变量的作用域和生命周期 3. 常量 4. 字符串 5. 注释 后记:●由于作者水平有限,文章难免存在谬误之处,敬请读者斧正,俚语成篇,恳望指教!               ...

  7. C语言学习笔记—P1(<C语言初阶>+<数据类型>+图解+题例)

    目录 1. 什么是C语言? 2. 第一个C语言程序 3. 数据类型 3.1 变量.常量 3.2 定义变量的方法 3.3变量的分类 后记:●由于作者水平有限,文章难免存在谬误之处,敬请读者斧正,俚语成篇 ...

  8. c语言如何宏定义枚举型结构体,C语言学习笔记--枚举结构体

    枚举 枚举是一种用户定义的数据类型,它用关键字enum以如下语法格式来声明: enum 枚举类型名字 {名字0,名字1,...,名字n}: 枚举类型名字通常并不真的使用,要用的是大括号里面的名字,因为 ...

  9. r语言c函数怎么用,R语言学习笔记——C#中如何使用R语言setwd()函数

    在R语言编译器中,设置当前工作文件夹可以用setwd()函数. > setwd("e://桌面//") > setwd("e:\桌面\") > ...

  10. 易语言学习笔记——基础篇

    易语言学习笔记20180710 一. 易语言的数据类型可以分为基本数据类型和特殊数据类型 1.     其中基本数据类型分为: ①   数值型 ②   逻辑型 ③   日期时间型 ④   文本型 ⑤  ...

最新文章

  1. 24 式加速你的 Python
  2. MySQL_解决ERROR 2006 (HY000) at line XX MySQL server has gone away问题
  3. java 静态初始化 调用_java JVM-类加载静态初始化块调用顺序
  4. GAE、SAE与BAE的对比分析
  5. 双链集合添加删除算法
  6. TCP链接的建立与终止
  7. 2017-2018-1 20179209《Linux内核原理与分析》第六周作业
  8. Linux版awvs破解详细步骤
  9. 20220418 如何下载网页pdf(没有下载按钮的情况,不是打印网页)
  10. wps小技巧,wps删除空白页怎么删?
  11. vue项目静态图片不显示
  12. combo 口切换配置
  13. 【开发技术】2万字详细介绍Docker 和 web项目的部署监控,docker部署,拉取kafana,prometheus镜像监控
  14. 平面设计怎么学,平面设计怎么学排版:夏雨老师
  15. 高级计算机应用a,A东师计算机应用基础15春在线作业.doc
  16. SpringBoot:yaml配置及语法、yml数据读取、多环境开发控制
  17. HEVC逆扫描之三:TU逆扫描过程
  18. QT报错:“pure virtual method called; terminate called without an active exception“
  19. vuejs知乎_GitHub - xrr2016/zhihu-daily: 知乎日报(Vuejs)
  20. 学习lucene.net的好网站(不断添加)

热门文章

  1. 极智Coding | 剖析 darknet load_weights 接口
  2. php获取微信uninoid_PHP微信小程序之获取并解密用户数据获取openId和unionId,,小程序登陆...
  3. 计算机图形学四:着色-Shading
  4. Google浏览器被搜狗篡改怎么恢复?
  5. acm 比赛 专业术语
  6. 3D人体姿态估计论文汇总(CVPR/ECCV/ACCV/AAAI)
  7. Android Studio kotlin编程实现图片滑动浏览 stepbystep
  8. Android分屏模式代码实现
  9. 软件构造实验一问题解决方法及经验教训
  10. linux批量对文件改名,在Linux中对文件进行批量重命名文件的方法