历史

C 语言是一门面向过程的计算机编程语言,于 1972 年诞生于贝尔实验室。

C 语言是丹尼斯·里奇(Dennis Ritchie)以 B 语言为基础发展而来,因此他被称为 C 语言之父

C 语言为什么命名为 C ?

1967 年,剑桥大学的 Martin Richards 对 CPL(Combined Programming Language)语言进行了简化,于是产生了 BCPL(Basic Combined Programming Language)语言

1969 年,美国贝尔实验室的肯·汤普森(Ken Thompson),以 BCPL 语言为基础,设计出很简单且很接近硬件的 B 语言(取 BCPL 的首字母),并且用 B 语言写了初版 Unix 操作系统

1972 年,美国贝尔实验室的丹尼斯·里奇(Dennis Ritchie)在 B 语言的基础上最终设计出了一种新的语言,他取了 BCPL 的第二个字母 C 作为这种语言的名字,这就是 C 语言

1973 年初,C 语言的主体完成。汤普森和里奇用它完全重写了 Unix。

随着 Unix 的发展,C 语言自身也在不断地完善。

截至目前,各种版本的 Unix 内核和周边工具仍然使用 C 语言作为最主要的开发语言。

1982年,美国国家标准协会(ANSI)为了使 C 语言健康地发展下去,决定成立 C 标准委员会,建立 C 语言的标准。

1989 年,ANSI 发布了第一个完整的 C 语言标准,简称 C89,也称其为 ANSI C

1990 年,国际标准化组织 ISO(International Standard Organization)一字不改地采纳 C89,发布 C90

1999 年,在做了一些必要的修正和完善后,ISO 发布 C99

2011 年,ISO 发布 C11

2018 年,ISO 发布 C17(也被称为 C18)。

2022 年,ISO 发布 C23

编译器

  • GCC:GNU Compiler Collection 的缩写,GNU 组织开发的开源免费的编译器(常用)。
  • MinGW:Minimalist GNU for Windows 的缩写,Windows 操作系统下的GCC。
  • Clang:开源的 BSD 协议的基于 LLVM 的编译器。
  • Visual C++:Microsoft VC++ 自带的编译器。

Hello World

学习一门语言写的第一个程序就是 Hello World,这既是基础,也是仪式:

#include<stdio.h>

int main()
{
printf("Hello World\n");
return 0;
}

简单来说,一个C程序就是由若干 头文件函数 组成。

  • #include <stdio.h> 是一条预处理命令, 它的作用是通知 C 语言编译系统在对 C 程序进行正式编译之前需做一些预处理工作。
  • 函数 就是实现代码逻辑的一个小的单元。(注意:C 程序一定是从主函数开始执行的)
  • \n 是转义字符中的换行符。

C语言 01 概述的更多相关文章

  1. 重学C语言---01概述

    1.什么是C语言 C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点.计算机语言是从第二次世界大战以后,经历了戏剧性的发展过程.从机器语言到汇编语言和高级语言.C语言是与硬件 ...

  2. Linux下c语言环境概述

    Linux下C语言环境概述 主要涉及编辑器.编译链接器.调试器.项目管理工具 编辑器 Linux中常用的编辑器有vi和emacs 查看vim配置文件并编辑 编译链接器 在Linux中,最常用的编译器是 ...

  3. 2017.12.23 第二章 统一建模语言UML概述

    第二章 统一建模语言UML概述 (1)为什么要建模 模型是某个事物的抽象,其目的是在构建这个事物之前先来理解它,因为模型忽略了那些非本质的细节,这样有利于更好的理解和表示事物: 在软件系统开发之前首先 ...

  4. kafka详解(01) - 概述

    kafka详解(01) - 概述 定义:Kafka是一个分布式的基于发布/订阅模式的消息队列(Message Queue),主要应用于大数据实时处理领域. 消息队列 MQ传统应用场景之异步处理 使用消 ...

  5. Zookeeper详解(01) -概述

    Zookeeper详解(01) -概述 概念 Zookeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目. Zookeeper从设计模式角度来理解,是一个基于观察者模式设计的分 ...

  6. c语言01次作业--分支,顺序结构

    C语言--第01次作业 1.1思维导图 1.2本章学习体会及代码量学习体会 1.2.1学习体会 本章学习让我体会良多.首先,不得不承认自己是一个非常马虎的人.常见的问题就是输出格式上常因为没有与题目要 ...

  7. 【OracleDB】 01 概述和基本操作

    实例概念: Oracle有一个特殊的概念 Oracle数据库 = 数据库 + Oracle文件系统 + Oracle实例 实例处理Oracle的请求,调用文件系统 然后返回结果响应给客户端 单实例和多 ...

  8. C语言的概述--学习c的第二天

    以下是整理的知识点: #include <stdio.h>/* 引入stdio.h文件c的标准函数库 */ int main(void)/* 定义一个函数main(),int定义函数返回的 ...

  9. C语言 01 形参实参

    之前的都在印象笔记记录 continue 结束本轮循环体,进入下一次循环.break 直接结束整个while循环 形参:定时函数时函数名后面中的参数实参:调用函数时传入的具体数据基本数据类型作为形参, ...

  10. java语言特性概述

    一.前言 我们都知道java是面向对象的编程,其中四个基本特性:抽象.封装.继承.多态.这四个特性,概括起来可以这么理解,抽象.封装.继承是多态的基础,多态是抽象.封装.继承的表现. 二. JAVA ...

随机推荐

  1. 第一百一十篇:内存泄漏和垃圾回收(JS)

    好家伙,本篇内容为<JS高级程序设计>第四章的学习笔记 1.内存泄露 1.1.什么是内存泄漏? 内存泄漏(Memory Leak)是指程序中已动态分配的堆内存由于某种原因程序未释放或无法释 ...

  2. 【Azure 应用服务】Function App中的函数(Functions)删除问题

    问题描述 Function App 中的函数如何删除问题 问题分析 1)在Function App的门户上,点击"Delete"进行删除 2) 进入Function App的高级管 ...

  3. [Linux] rockylinux9.1 的部署使用过程 -- ZFS 虚拟机 cockpit podman samba

    备选镜像 | Rocky Linux rocky linux 使用记录 - 个人文章 - SegmentFault 思否 # https://blog.csdn.net/NeverGUM/articl ...

  4. C++ //类模板中成员函数创建时机 //类模板中成员函数和普通类中成员函数创建时机是有区别的: //1.普通类中的成员函数一开始就可以创建 //2.类模板中的成员函数在调用时才创建

    1 //类模板中成员函数创建时机 2 //类模板中成员函数和普通类中成员函数创建时机是有区别的: 3 //1.普通类中的成员函数一开始就可以创建 4 //2.类模板中的成员函数在调用时才创建 5 6 ...

  5. 在本地搭建 SVN 教程

    SVN 使用教程 以下内容参考自:SVN使用详细教程_大梦谁先觉i的博客-CSDN博客_svn使用教程 一.SVN 安装 1.1 软件下载 服务器:Downloads | VisualSVN 客户端: ...

  6. MindSpore自定义算子中的张量维度问题

    技术背景 在前面的几篇博客中,我们介绍了MindSpore框架下使用CUDA来定义本地算子的基本方法,以及配合反向传播函数的使用,这里主要探讨一下MindSpore框架对于CUDA本地算子的输入输出的 ...

  7. 使用 PMML 实现模型融合及优化技巧

    在机器学习的生产环境中,我们经常需要将多个模型的预测结果进行融合,以便提高预测的准确性.这个过程通常涉及到多个模型子分的简单逻辑回归融合.虽然离线训练时我们可以直接使用sklearn的逻辑回归进行训练 ...

  8. Web服务器通信原理

    Web服务器通信原理 1.区分系统 2.DOS系统 3.IP地址 4.域名.DNS 5.端口 6.HTTP协议 7.Web容器 8.整个流程 一.区分系统 主要三个系统Windows.Linux.Ma ...

  9. day01-HTML01

    day01-HTML 1.JavaWeb技术体系 2.B/S软件开发架构简述 B/S架构 B/S框架,意思是前端(Browser浏览器,小程序,APP,或者自己写的)和服务端(Server)组成的系统 ...

  10. 修改easyui日期控件只显示年月,并且只能选择年月

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...