C语言入门系列一之C语言介绍、环境配置和运行执行

        鉴于书本和教材文字过多、又难懂的缺点,所以我打算写一系列通俗移动的C语言入门教程,让大家在短时间内学习和掌握C语言,以及遇到C语言的一些问题该如何得到快速的解决。希望这些系列的教程,能够帮助到大家!该系列包括:
        1、C语言入门系列一之C语言介绍、环境配置和运行执行
        2、C语言入门系列二之基本语法和输入输出语句
        3、C语言入门系列三之数据类型、变量、常量、关键词和运算符
        4、C语言入门系列四之顺序结构、分支结构和循环结构
        5、C语言入门系列五之函数和递归
        6、C语言入门系列六之数组和指针
        7、C语言入门系列七之结构体
        8、C语言入门系列八之文件操作
        9、C语言入门系列九之总结和下一步打算

一、C语言介绍

  1. 首先,什么是C语言?
            C语言是一门面向过程的计算机编程语言。那么问题又来了,刚刚入门C语言的同学可能对于“面向过程”、“编程语言”等等什么的也还都没搞个明白,所以呢,我会慢慢尝试去解释清楚的。
            面向过程就是按照过程来解决问题。至于过程嘛,我们以前都有接触过,它就是按照一定顺序来执行的步骤。也就是说,这个过程是一步一步的来执行的。打个比方,我们在考语文的时候写作文(如图1),第一步就是写开头,第二步就是写中间,第三步写结尾。有的人可能要问,我要是先写结尾呢?那是一样的,这个是你指定的顺序,作文按照你的过程来写,它还是一步一步按顺序写出来的。这就是面向过程了。一句话,C语言就是用一步一步执行的代码语句来解决问题的。
Created with Raphaël 2.3.0 开始 写开头 写中间 写结尾 结束
图1   写作文的过程

        至于编程语言,它就是用来定义计算机程序的形式语言。跟我们一般人所说的语言一样,它同样可以翻译成另一种语言,比如英语翻译为中文,中文又翻译成英语。计算机编程语言跟我们所说的中文、英语一样,需要大家来遵守语法来描述计算机程序。但不同的是,计算机编程语言是讲给计算机和程序员来听的,而计算机是具有数学逻辑的工具,因此编程语言更加严密,也不会产生歧义。
        最后,简单介绍一下计算机程序,计算机程序就是实现指定功能的有明确顺序的计算机指令集合,这些指令将会一条一条地按顺序执行。


  1. 关于C语言的历史
    1967年,马丁·理察德(Martin Richards)设计实现BCPL编程语言。
    1970年,肯·汤普逊(Ken Thompson)以BCPL语言为基础,设计了简单且接近硬件的B语言(取BCPL的首字母)。
    1972年,丹尼斯·里奇(D.M.Ritchie )以B语言为基础,设计了一种新的语言(取BCPL的第二个字母),这就是C语言。
    1973年,C语言的主体完成。
    1977年,丹尼斯·里奇(D.M.Ritchie )发表了不依赖于具体机器系统的C语言编译文本《可移植的C语言编译程序》。
    1982年,美国国家标准协会成立C标准委员会。
    1989年,ANSI发布了第一个完整的C语言标准:ANSI X3.159:1989,简称“C89”,也称“ANSI C”。
    1990年,国际标准组织ISO采纳C89并命名为ISO/IEC 9899:1990,简称为“C90”。
    1999年,ISO发布新的C语言标准并命名为ISO/IEC 9899:1999,简称“C99”。
    2011年,ISO正式发布新标准并命名为ISO/IEC9899: 2011,简称为“C11”。

  2. C语言能够干些什么?
            相信大家对于C语言持着一定很好奇的想法:C语言它到底能干嘛?我为什么要学它,而不学习B语言、BCPL语言这种更加简单的语言呢?
            C 语言最初是用来系统开发工作的,特别是组成操作系统的程序。由于 C 语言所产生的代码运行速度与汇编语言编写的代码运行速度几乎一样,所以采用 C 语言作为系统开发语言。B语言也能作为系统开发语言,但它和BCPL一样,功能有限并且相对C语言要简单一些。BCPL仅能操作一种数据类型,B语言无法处理不同规格大小的对象,也没有提供单独的操作符去操作它们。不管怎样,C语言经起了时间的考验,而B语言、BCPL语言等等语言到现在已经几乎没有人在使用它们了。C语言至今还能实现很多应用,比如:
            算法描述,比如二叉排序树、最短路径、快速排序等算法。
            操作系统,比如UNIX操作系统。
            嵌入式应用开发,比如Stm32、51单片机应用开发。
            数据库管理系统,比如手机本地数据库SQLite
            实体工具,比如文本编辑器,音乐播放器,图片显示等等。
            …以及更多

二、C语言学习的期望

  1. 我将学到什么?
            首先,在入门系列的课程中,你会学习到C语言的语法,就像英语一样,你知道怎么写一段正确的代码,以及怎么表达出一段具备简单功能的程序来。如果你认为这远远不能满足你对C语言知识学习的需求,请去专研Linux操作C语言应用开发、嵌入式系统开发、Win32应用开发等等。
            其次,你可以学到,如何将一个算法用C语言描述出来。所谓描述,也就是把这个算法实现。
            还有,你将学到如何解决C语言会遇到的问题。对于这一点和上一点,我不能确定大家一定可以做到,但是我将努力让大家学到这两点的精髓。

  2. 我怎么学?
            我应该怎么学?首先呢,我认为动手实践、动手编程是必不可少的,这是学习一门新的语言必须要做到的一点,否则你很难去熟悉这些编程语言的语法。要学会一门编程语言,就得把语法熟悉,这样,你在写代码的过程中才能做到行云流水。
            然后,学会使用搜索引擎去速查C语言的一些函数库的使用,这会使你快速的调用一个功能,比如将一个单词从小写变成一个字母全部是大写的单词,你可以搜索“小写转大写 C语言”之类的关键词。当然,在你学习的过程中,我将不建议你这样做,尽可能把能自己实现的功能让自己编写代码吧!
            模仿,学习的本质就是模仿。在学编程语言的过程中,模仿就是复制别人的代码到自己的程序中去,然后研究它、分析它,让自己也能写出这样的程序来。
            动手设计,在自己有一定的编程基础和动手能力的时候,尝试去设计一些问题解决的方法,比如如何计算10000的阶乘之类的问题。
            对于这一块如果有什么问题的,请一定要在以后掌握一定的知识水平后,再来看看,你将会得到第二次收获。

  3. 遇到C语言编程问题应该怎么办?
            遇到问题,首先是学会使用搜索引擎搜索问题,而不要一开始就想着提问别人,别人的时间都是很珍贵的,万不得已的情况下再麻烦别人,至于怎么提问,可以了解一下Eric Raymond的《提问的艺术》这篇文章(精读版网址:https://blog.csdn.net/ajian005/article/details/81006663)。 想想如何表达你的问题,如何找出问题的关键词,然后去百度搜索、Bing搜索,当然如果你可以科学上网的话,Google搜索也是可以的。一般而言,Stack Overflow上面会有很多问题和优质的解决方案,但是由于网络限制,你需要科学上网才能够快速打开这些网页。如果不想科学上网,我相信国内的博客在很多情况下都是可以帮助到你的。

  4. C语言编程,有哪些要注意的?

        注意吃饭时间,如果你不小心使自己学习着了迷,请不要在中午12点和傍晚6点-7点这个时间段忘记吃饭,而是应该去吃上一顿美味的午餐和晚餐。
        注意身体健康,如果你不小心使自己学习着了迷,记得去操场上或者健身房做一些体育锻炼噢!这样会使你的大脑和身体更加健康。
        注意不要生气,我得提前告诉你,学习的过程中可能会经常需要大量的调试。

三、C语言开发环境

  1. Windows系统的个人电脑端
            在Windows操作系统中有很多可以编写和运行C语言程序的工具,但在入门的学习C语言的时候,我强烈推荐使用Dev-C++这个工具,大家别看这个工具带有C++,实际上它不仅仅是C++的开发工具,它也是C语言的开发工具,因为C++是由C语言派发出来的编程语言。它需要在你的操作系统中安装,下载链接是: https://pan.baidu.com/s/1NAgonuca5UXWPhzfdhXAyg 提取码: 88e5。如果失效了请联系博主或者自行搜索Dev-C++5.11下载。
    在这里插入图片描述
图2  Dev-C++5.11

        那么,等我入门C语言之后,有什么推荐的开发工具呢?在这里,我将建议大家使用更高级别的开发工具Code Blocks(适合中小型),Visual Studio(适合大型)。当然这些也不是绝对的,不管项目的大小,用哪个开发工具都是可以的,毕竟它们都是工具嘛,适合自己最好啦!
  1. Mac系统的个人电脑端
            推荐Sublime Text,这个文本编辑器是跨平台的,Mac、Linux、Windows都能使用,在mac上使用尤其方便。cmd+n新建文本,cmd+s保存成xxx.c,然后就能写代码了,写完以后cmd+shift+b编译运行,就是这么简单!当然,Mac的终端也是很方便的,你可以轻轻松松的通过一个文本编辑器写一个C语言程序,然后在终端命令编译运行。
    在这里插入图片描述
图3 Sublime Text

         项目级别的开发则推荐 Xcode



  1. Linux系统的个人电脑端
            在Linux操作系统上,建议一开始使用终端Vim来编写,然后通过GCC编译,使用命令“./”运行,如果不习惯Vim编辑的话,则可以使用gedit 文本编辑器,它既支持C语言,还支持Shell脚本,并且缩进也很方便,有良好的语法高亮。

  2. Android的个人手机端
            那么,手机端也是可以编写C语言代码的,如果你身边没有电脑,而你急需运行一个C语言程序,这个时候你就可以用“C语言编译器”这个App、或者“C4droid”,在应用商店搜索“C语言编译器”这个关键字准没错。
    在这里插入图片描述

Android端 C语言编译器

  1. iPhone的个人手机端
            那么Android都可以写C语言代码,iPhone手机呢?它当然也是可以的,iPhone平台上有Mobile C或者C language。但至于哪个好,博主也说不准,因为博主没有使用过。

  2. 网页的在线编译端
            如果你觉得编译、保存文件的过程令人繁琐,而要写的C语言程序只用一个文件就可以写完的小项目时,就可以使用网页的在线编译运行工具啦!那么,有一下这几个不错的工具:
            C在线编译器 https://www.dooccn.com/c/
            C在线工具 https://c.runoob.com/compile/11
            C语言在线运行工具 https://www.w3xue.com/tools/c.aspx
            代码在线运行 https://tool.lu/coderunner/

四、编译和执行你的第一个C语言程序

        在这么多的开发环境中,本系列教程将在Windows系统个人电脑上对大家在学习C语言的过程中进行指引,如果。开发工具选用为Dev-C++5.11版本。那么,我们开始吧

  1. 下载和安装Dev-C++5.11
            双击运行下载好的“Dev-Cpp.5.11.exe”安装程序(https://pan.baidu.com/s/1NAgonuca5UXWPhzfdhXAyg 提取码: 88e5)。在弹出的“安装语言选择窗口”中,点击语言列表选择需要的语言(没找到中文,只好选择英文安装),然后点击“OK按钮”确定安装语言;
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  2. 编写C语言程序
            打开Dev-C++,Ctrl + n新建一个文件,另存为"Helloworld.c"或者"Helloworld.cpp"都行,他们的差距是以c结尾的只能写C语言代码,以cpp结尾的不仅能写C语言代码,还能写C++语言代码。因为选cpp过于方便,而选c还要选择文件类型,所以保存文件的时候选默认的就行。保存好文件之后,回到写代码界面,输入下面的代码:

#include<stdio.h>
int main(){
	printf("HelloWorld");
	return 0;
}

在这里插入图片描述

  1. 编译C语言程序
            Ctrl + s保持文件,然后按F9建编译,会得到下面的编译结果:
    在这里插入图片描述
            在这个图中,Error和Warning的个数都为0,说明你的程序写的很规范,既没有语法错误,也写的很规范。一般而言,用Error的个数来决定你的代码是否编译成功,Errors为0的时候才能成功编译,而Warning则衡量你写的代码是否足够规范,是不是有定义了变量而实际中没有用到,等等问题。

  2. 运行C语言程序
            编译通过后,按F10运行你的程序,你将会看到下面的输出结果,也就是帮助你把:
    在这里插入图片描述

  3. 关于编写、编译和运行过程中的源程序和可执行程序

        编写的过程中,你需要熟悉C语言的语法,才能做到快准狠的写完,如果是复杂度过高的程序,那么你会需要程序的设计,再进行编写程序的工作。
        编译的过程中,你的程序将被转化为计算机能够直接运行的二进制代码,因此它将会产生一个可执行的文件Helloworld.exe。这个文件就是可以直接点击运行的,但是点击后我们会看到它一闪而过,这是因为程序运行的速度太快了,还没等我们反应过来它就结束运行了。

五、参考资料

[1]:C语言,百度百科 https://baike.baidu.com/item/C%E8%AF%AD%E8%A8%80
[2]:C语言,维基百科 https://zh.wikipedia.org/wiki/C%E8%AF%AD%E8%A8%80
[3]:编程语言,百度百科 https://baike.baidu.com/item/%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80
[4]:计算机程序,百度百科 https://baike.baidu.com/item/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%A8%8B%E5%BA%8F
[5]:C语言教程,菜鸟教程 http://www.runoob.com/cprogramming/c-intro.html
[6]:Mac 上如何编写 C 语言,知乎 https://www.zhihu.com/question/27942341
[7]:请问有什么可以在iPhone上编写C语言程序的软件,知乎 https://www.zhihu.com/question/39631810
[8]:Dev-C++ 5.11安装教程,百度经验 https://jingyan.baidu.com/article/dca1fa6f6a2d5af1a4405229.html

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

飞机火车巴雷特

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值