本文章B站有对应视频

(本文图片、部分文字引用c primer plus)

什么是C语言

顾名思义,c语言是一门语言,但是和我们所讲的话不同,它是一门编程语言,是为了让机器可以听懂人的意思所以编写的一门语言。c语言的诞生也很有趣(引用)

1972年,贝尔实验室的丹尼斯·里奇(Dennis Ritch)和肯·汤普逊(Ken Thompson)在开发UNIX操作系统时设计了C语言。然而,C语言不完全是里 奇突发奇想而来,他是在B语言(汤普逊发明)的基础上进行设计。至于 B 语言的起源,那是另一个故事。C 语言设计的初衷是将其作为程序员使用的 一种编程工具,因此,其主要目标是成为有用的语言。

为什么推荐初学者学习c语言入门?

c语言是一门高级程序设计语言,对于初学者来说,一门出色的严格的语言作为启蒙语言对未来编程,甚至做事都有很好的启蒙作用。有人说c语言难,又有人说c语言简单,你要问我c语言难不难?我只能这样回答你,简单应用不难,深度应用很难,尤其是c指针。但是,既然大家是初学者,那么他就算是简单的了。

c语言能干啥?

高级程序语言和编译器(引用)

高级编程语言(如,C)以多种方式简化了编程工作。首先,不必用数字码表示指令;其次,使用的指令更贴近你如何想这个问题,而不是类似计 算机那样繁琐的步骤。使用高级编程语言,可以在更抽象的层面表达你的想 法,不用考虑CPU在完成任务时具体需要哪些步骤。例如,对于两数相加, 可以这样写:

total = mine + yours;【总数=我的+你的】

对我们而言,光看这行代码就知道要计算机做什么;而看用机器语言写成的等价指令(多条以数字码形式表现的指令)则费劲得多。但是,对计算 机而言却恰恰相反。在计算机看来,高级指令就是一堆无法理解的无用数 据。编译器在这里派上了用场。编译器是把高级语言程序翻译成计算机能理 解的机器语言指令集的程序。程序员进行高级思维活动,而编译器则负责处 理冗长乏味的细节工作。

编译器还有一个优势。一般而言,不同CPU制造商使用的指令系统和编 码格式不同。例如,用Intel Core i7 (英特尔酷睿i7)CPU编写的机器语言程 序对于ARM Cortex-A57 CPU而言什么都不是。但是,可以找到与特定类型 CPU匹配的编译器。因此,使用合适的编译器或编译器集,便可把一种高级 语言程序转换成供各种不同类型 CPU 使用的机器语言程序。一旦解决了一 个编程问题,便可让编译器集翻译成不同 CPU 使用的机器语言。

简而言之,高级语言(如C、Java、Pascal)以更抽象的方式描述行为,不受限于特定CPU或指令集。而且,高级语言简单易学,用高级语言编 程比用机器语言编程容易得多。

介绍一下程序设计

程序设计一般来讲有一下几步


c标准

编译器支持的标准

一般来讲新标准都是为了方便程序员的,但是新标准有时也会带来报错

vc++6.0 c90

devc c90,c99

vs2010 c99

vs2019 c11

编译原理

了解编译原理可以让我们更好的排除错误。

第一章结束

C语言学习笔记第一章——开篇的更多相关文章

  1. Java 学习笔记 第一章:Java语言开发环境搭建

    第一章:Java语言开发环境搭建 第二章:常量.变量和数据类型 第三章:数据类型转换.运算符和方法入门 1.Java虚拟机——JVM JVM(Java Virtual Machine ):Java虚拟 ...

  2. JavaScript高级程序设计学习笔记第一章

    作为学习javascript的小白,为了督促自己读书,写下自己在读书时的提炼的关键点. 第一章: 1.JavaScript简史:Netscape Navigator中的JavaScript与Inter ...

  3. Java学习笔记 第一章 入门<转>

    第一章 JAVA入门 一.基础常识 1.软件开发 什么是软件? 软件:一系列按照特定顺序组织的计算机数据和指令的集合 系统软件:DOS,Windows,Linux 应用软件:扫雷.QQ.迅雷 什么是开 ...

  4. c#高级编程第七版 学习笔记 第一章 .NET体系结构

    第一章      .NET体系结构 本章内容: 编译和运行面向.NET的代码 Microsoft中间语言(Microsoft Intermediate Language,MSIL或简称IL)的优点 值 ...

  5. [HeadFirst-JSPServlet学习笔记][第一章:前言与概述]

    第一章 前言与概述 web服务器做什么? 答:接收客户请求,然后向客户返回结果 web客户做什么? 答:此处客户指浏览器,web客户允许用户请求服务器上的某个资源,并向用户展现请求的结果. html ...

  6. 《跟我学Shiro》学习笔记 第一章:Shiro简介

    前言 现在在学习Shiro,参照着张开涛老师的博客进行学习,然后自己写博客记录一下学习中的知识点,一来可以加深理解,二来以后遗忘了可以查阅.没有学习过Shiro的小伙伴,也可以和我一起学习,大家共同进 ...

  7. GIT学习笔记——第一章

    git之vim编辑器退出命令 # 学习笔记 张文军微博主页  张文军码云主页   张文军新浪云主页  张文军博客主页 ## 刚学习git,好多东西没接触过,进入vim后不知道如何出来了,网上找了很多都 ...

  8. [HeadFrist-HTMLCSS学习笔记][第一章Web语言:开始了解HTML]

    head title body 元素= 开始标记 + 内容 +结束标记 还能给段落一个变量名 <p id="houseblend"> body </p> s ...

  9. 【数据分析 R语言实战】学习笔记 第一章 数据分析导引

    1.1数据分析概述 1.1.1数据分析的原则 (1)数据分析是为了验证假设的问题,需要提供必要的数据验证.在数据分析中,分析模型构建完成后,需要利用测试数据验证模型的正确性. (2)数据分析是为了挖掘 ...

随机推荐

  1. java实现Prim算法

    1 问题描述 何为Prim算法? 普里姆算法(Prim算法),图论中的一种算法,可在加权连通图里搜索最小生成树.意即由此算法搜索到的边子集所构成的树中,不但包括了连通图里的所有顶点(英语:Vertex ...

  2. IOS App如何调用python后端服务

    本篇文章旨在通过一个小的Demo形式来了解ios app是如何调用python后端服务的,以便我们在今后的工作中可以清晰的明白ios app与后端服务之间是如何实现交互的,今天的示例是拿登录功能做一个 ...

  3. hackrf 输出功率测试

    使用PortaPack H1的话筒发射功能测试: 144M :8dbm 430M:6dbm 950M:6dbm 1545.42M:0.5dbm 7.42M:18.5dbm 14.2M:16.3dbm

  4. 在PyQt5中显示matplotlib绘制的图形

    import sys from PyQt5.QtCore import Qt from PyQt5.QtWidgets import * from plot_pyqt import PlotCanva ...

  5. CAT12提取surface指标

    介绍 基于表面的形态学分析(VSM)的方法被越来越多的研究者使用.本文主要介绍基于SPM12和CAT12工具包进行ROI-based VSM的处理步骤. 方法 本文数据处理使用的工具是MATLAB,S ...

  6. SQL Beautifier & SQL2014自带的格式化工具

    格式化工具(希望有几款集成在IDE中的格式化工具)为什么要说明这些,不是为说明这个工具而发,看到那几千行或集成在一起的存储过程觉得乱七八的不爽,后面将会强力训练下自己. --下面这款SQL Beaut ...

  7. LR字符串处理函数-lr_save_var

    int lr_save_var ("截取的字符串"+start,len,options,param_name) start:表示从第几位截取  len:表示截取长度  option ...

  8. Linux下常用命令(持续更新)

    l: 列举目录下的所有文件 ll: 显示详细属性 pwd: 查看当前所在完整路径 cd: 变更文件夹(变更到根目录:cd + /:变更到上级目录:cd + ..) sudo: 允许利用超级用户权限执行 ...

  9. cb14a_c++_顺序容器的操作7_赋值与交换(swap)_vector转list

    cb14a_c++_顺序容器的操作7_赋值与交换(swap) vector数据赋值给list, slist.assign(svec.begin(), svec.end());//这样可以转 svec- ...

  10. CODING DevOps 系列第四课:DevOps 中的质量内建实践

    什么是质量内建 随着时间的推移,我们项目的开发效率会逐渐降低,直到几年之后整个项目可能就无法维护,只能推倒重来.具体的表现首先就是随着时间推移,我们会发现整个需求列表里面能做的需求越来越少,因为每当我 ...