前言

我是作为一个前端开发者入的编程世界,经过时间的推移,我发现对于编程底层的一些东西一点都不了解,只拘泥于表面,所以想尝试学习C语言然后进一步了解底层机制。

介绍

C 语言是一种通用的、面向过程式的计算机程序设计语言。

最初是由丹尼斯·里奇在贝尔实验室为开发 UNIX 操作系统而设计的。

在 1978 年,布莱恩·柯林汉(Brian Kernighan)和丹尼斯·里奇(Dennis Ritchie)制作了 C 的第一个公开可用的描述,现在被称为 K&R 标准。

当前最新的C语言标准为 C11 ,在它之前的C语言标准为 C99。

UNIX 操作系统,C编译器,和几乎所有的 UNIX 应用程序都是用 C 语言编写的。

c语言在线编辑器 会让你在前期没有搭建环境的情况下书写c程序

优点

  • 结构化语言。
  • 它产生高效率的程序。
  • 它可以处理底层的活动。
  • 它可以在多种计算机平台上编译。

关于 C

  • C 语言是以 B 语言为基础的,B 语言大概是在 1970 年被引进的。

  • C 语言标准是于 1988 年由美国国家标准协会制定的。

  • 目前,C 语言是最广泛使用的系统程序设计语言。

  • 大多数先进的软件都是使用 C 语言实现的。

  • 当今最流行的 Linux 操作系统和 MySQL 都是使用 C 语言编写的。

为什么要使用 C?

C 语言最初是用于系统开发工作,特别是组成操作系统的程序。由于 C 语言所产生的代码运行速度与汇编语言编写的代码运行速度几乎一样,所以采用 C 语言作为系统开发语言。下面列举几个使用 C 的实例:

  • 操作系统
  • 语言编译器
  • 汇编器
  • 文本编辑器
  • 打印机
  • 网络驱动器
  • 现代程序
  • 数据库
  • 语言解释器
  • 实体工具

C 程序

一个 C 语言程序,可以是 3 行,也可以是数百万行,它可以写在一个或多个扩展名为 ".c" 的文本文件中,例如,hello.c

hello.c

#include <stdio.h>

int main()
{
/* 我的第一个 C 程序 */
printf("Hello, World! \n"); return 0;
}
  • 所有的c程序都需要包含一个main() 函数。 代码从 main() 函数开始执行。
  • /* ... */ 用于注释说明。
  • printf() 用于把圆括号中内容输出到屏幕。printf() 函数在 "stdio.h" 头文件中声明了。
  • stdio.h 是一个头文件 (标准输入输出头文件) , #include 是一个预处理命令,用来引入头文件。 当编译器遇到 printf() 函数时,如果没有找到 stdio.h 头文件,会发生编译错误。
  • return 0; 语句表示退出程序。

环境设置

文本编辑器

前期可以选一个自己习惯的编辑器,通过编辑器创建的文件通常称为源文件,源文件包含程序源代码。C 程序的源文件通常使用扩展名 ".c"。

C 编译器

C 语言编译器用于把源代码编译成最终的可执行程序。

最常用的免费可用的编译器是 GNU 的 C/C++ 编译器

UNIX/Linux 上的安装

如果您使用的是 Linux 或 UNIX,请在命令行使用下面的命令来检查您的系统上是否安装了 GCC:

$ gcc -v

如果您的计算机上已经安装了 GNU 编译器,则会显示版本信息

如果未安装 GCC,那么请按照 http://gcc.gnu.org/install/ 上的详细说明安装 GCC。

Mac OS 上的安装

基本系统内置了gcc可以在命令行工具通过gcc -v来查看,如果没有可以使用brew install gcc命令进行安装,前提是你的电脑上有brew工具,这个一般会自带的。

Windows 上的安装

为了在 Windows 上安装 GCC,您需要安装 MinGW。为了安装 MinGW,请访问 MinGW 的主页 www.mingw.org,进入 MinGW 下载页面,下载最新版本的 MinGW 安装程序,命名格式为 MinGW-<version>.exe

当安装 MinWG 时,您至少要安装 gcc-core、gcc-g++、binutils 和 MinGW runtime,但是一般情况下都会安装更多其他的项。

添加您安装的 MinGW 的 bin 子目录到您的 PATH 环境变量中,这样您就可以在命令行中通过简单的名称来指定这些工具。

当完成安装时,您可以从 Windows 命令行上运行 gcc、g++、ar、ranlib、dlltool 和其他一些 GNU 工具。

编译执行

  1. 将上面的hello.c文件保存,

  2. 打开命令行工具,进入到保存文件所在的目录。

  3. 输入gcc hello.c,回车,编译。

  4. 如果代码中没有错误,命令提示符会跳到下一行,并生成 a.out 可执行文件。

  5. 在命令行输入./a.out就会执行程序。

  6. 会显示 Heelo,World!到页面上。


参考自:https://www.runoob.com/cprogramming/c-tutorial.html

C语言笔记 01_介绍&环境设置&编译执行的更多相关文章

  1. C语言基础知识【环境设置】

    直接使用绿色版的VC++6.0就ok,后期我会写一个具体的使用教程

  2. 第44篇-为native方法设置解释执行入口

    对于Java中的native方法来说,实际上调用的是C/C++实现的本地函数,由于可能会在Java解释执行过程中调用native方法,或在本地函数的实现过程中调用Java方法,所以当两者相互调用时,必 ...

  3. C语言/C++编程学习:C语言环境设置

    C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构.C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现 ...

  4. C语言编程入门之--第二章编译环境搭建

    第二章 编译环境搭建 导读:C语言程序如何工作,首先需要编译链接成可执行文件,然后就可以运行在不同的环境中,这个“环境”的意思就是比如说,电脑,手机,路由器,蓝牙音箱等等智能设备中,其中编译器启到了关 ...

  5. R语言 环境设置

    尝试在线环境 你真的不需要设置自己的环境来开始学习R编程语言. 原因很简单,我们已经在线设置了R编程环境,以便您可以在进行理论工作的同时在线编译和执行所有可用的示例. 这给你对你正在阅读的信心,并用不 ...

  6. java 学习笔记1 java语言概述及开发环境

    高级语言运行机制 高级语言按程序的执行方式分为编译型和解释型两种. java语言比较特殊,Java程序的执行必须经过先编译后解释的步骤. 1 编译生成字节码,只面向JVM(.class) 2Jvm执行 ...

  7. Mybatis学习笔记之一(环境搭建和入门案例介绍)

    一.Mybatis概述 1.1 Mybatis介绍 MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了go ...

  8. R语言环境变量的设置 环境设置函数为options()

    环境设置函数为options(),用options()命令可以设置一些环境变量,使用help(options)可以查看详细的参数信息. 1. 数字位数的设置,options(digits=n),n一般 ...

  9. Java-Runoob-高级教程-实例-环境设置实例:2.Java 实例 – Java 如何运行一个编译过的类文件?

    ylbtech-Java-Runoob-高级教程-实例-环境设置实例:2.Java 实例 – Java 如何运行一个编译过的类文件? 1.返回顶部 1. Java 实例 - 如何执行编译过 Java ...

随机推荐

  1. PHP页面跳转三种实现方法

    一.header()函数 header()函数是PHP中进行页面跳转的一种十分简单的方法.header()函数的主要功能是将HTTP协议标头(header)输出到浏览器.header()函数的定义如下 ...

  2. 代码自动机(攻 ACwing 限时题)

    #include<bits/stdc++.h> #include<windows.h> using namespace std; int tot=0; void an(int ...

  3. Modelarts与无感识别技术生态总结(浅出版)

    [摘要] Modelarts技术及相关产业已成为未来AI与大数据重点发展行业模式之一,为了促进人工智能领域科学技术快速发展,modelarts现状及生态前景成为研究热点.笔者首先总结modelarts ...

  4. 漫谈边缘计算(三):5G的好拍档

    边缘计算的热度迅速攀升,还有一个不得不提的因素,就是5G的发展. [5G推动云计算从集中化向分布式演进] 在第一篇文章(<漫谈边缘计算(一):边缘计算是大势所趋>)中我提到,传统的云计算技 ...

  5. Sql增加,删除,修改列

    1. 查看约束条件 - MySQL: SELECT * FROM information_schema.`TABLE_CONSTRAINTS` where table_name = 'book'; - ...

  6. Json schema 以及在python中的jsonschema

    目录 1. JSON Schema简介 2. JSON Schema关键字详解 2.1 $schema 2.2 title和description 2.3 type 3 type常见取值 3.1 当t ...

  7. [TimLinux] JavaScript 中循环执行和定时执行

    1. 两对函数 // 循环执行 // 在每个毫秒数之后,调用函数 var timeid = window.setInterval(函数名, 毫秒数); window.clearInterval(tim ...

  8. 将项目部署到github的方法

    GitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名GitHub. GitHub于2008年4月10日正式上线,除了Git代码仓库托管及基本的 We ...

  9. 【Web技术】314- 前端组件设计原则

    点击上方"前端自习课"关注,学习起来~ 译者:@没有好名字了译文:https://github.com/lightningminers/article/issues/36,http ...

  10. Orleans 文档记录

    Orleans 官方文档:官方文档 http://dotnet.github.io/orleans/index.html Orleans 中文文档:中文文档 https://orleanscn.git ...