文章目录

  • 1 前言
  • 2 代码
  • 3 源文件
    • 3.1 关于后缀名
    • 3.2 特别注意
  • 4 编辑
  • 5 编译
  • 6 小结

1 前言

在给本科一二年级的学生教学C语言时,发现有不少同学由于使用计算机少或缺少基本理论的教学,对这程序设计中的很多基本概念并不了解,比如一些基本的文件和后缀名的概念都不清楚,给C语言的实践带来了很多麻烦。所以本文就程序设计的一些相关的基本概念进行简要介绍(注:如无特别指出,所有的示例均指C语言)。

2 代码

我们需要了解的第一概念是代码(也称源代码)。代码是指程序开发人员根据编程语言的语法规则,所编写的用于实现某些功能操作的语句的集合。如以下的示例代码:

#include <stdio.h>
int main()
{printf("Hello world!\n");return 0;
}

3 源文件

代码的本身就是一串文本形式的数据,需要有一个地方来存储。在计算机中,几乎所有的系统都使用文件来存储数据,所以源文件就是保存代码的文件。比如,我可以用一个记事本文件 hello.txt 来保存代码。

3.1 关于后缀名

为了区分源代码文件和普通文件,一般使用不同的后缀名表示,如C语言就使用 .c,Java 用 .java,python用 .py等。这样的目的是为了更好地区分不同的文件类型,但是本质上都是一样的文本文件,没有本质区别。

3.2 特别注意

在Windows中会自动隐藏后缀名,比如在新建一个文本文件后,只能看到新建文本文件 看不到后缀名 .txt。Windows默认隐藏后缀名的设定给很多初学者带来麻烦。解决的办法只需要简单设置一下即可。在Win10中,只需在文件资源管理器中勾选“查看->文件扩展名”即可,如下图所示(Win7系统点 这里)。

4 编辑

编辑是对文件内容的修改。由于数据保存在文件中,我们需要一个工具来修改文件,例如对于文本文件 .txt,双击时系统会自动使用系统自带的 notepad 打开、编辑和保存修改内容。对于源文件,同样地我们也需要编辑器来进行编译操作。一般可以对源代码进行操作的编译器有很多,如 Notepad++, Atom, Sublime Text等,推荐初学者使用 Notepad++,不仅免费,而且功能强大。

5 编译

我们所编写的代码是纯文本文件,是为了方便人阅读和查看,所以机器是没有办法执行的。为了让机器能够执行程序,需要进行一个转换操作,将人工编写的代码转换为机器可以执行的程序,就是编译。举例来说,编译就是将 hello.c 转换为 hello.exe 的过程即: hello.c ==编译==> hello.exe。编译后,hello.exe 的内容变成了机器可读而人无法阅读的纯二进制码,如下图所示(上面为 hello.c,下面为 hello.exe):

同时两个文件的大小也不一样,源文件体积很小只有1KB,而生成的程序为54KB,如下图所示:

6 小结

本文就代码,源文件和编译进行了简单的解释,希望对大一大二的同学有所帮助。

什么是代码,源文件、编辑和编译?相关推荐

  1. 拓扑排序:如何确定代码源文件的编译依赖关系

    什么是拓扑排序? 由某个集合上的一个偏序得到该集合上的一个全序,这个操作称之为拓扑排序 拓扑排序有何应用? 我们知道,一个完整的项目往往会包含很多代码源文件.编译器在编译整个项目的时候,需要按照依赖关 ...

  2. Linux下C程序的编辑,编译和运行以及调试

                                                                                                        ...

  3. Java程序的编辑、编译、运行

    Java程序 Java程序包括Java应用程序(Java Application)和Java小应用程序(Java Applet) Java应用程序是完整的程序,一般可以独立运行在Java虚拟机上,而J ...

  4. 【Groovy】编译时元编程 ( ASTTransformation#visit 方法中访问 Groovy 类、方法、字段、属性 | 完整代码示例及进行编译时处理的编译过程 )

    文章目录 一.ASTTransformation#visit 方法中访问 Groovy 类.方法.字段.属性 二.完整代码示例及进行编译时处理的编译过程 1.Groovy 脚本 Groovy.groo ...

  5. 运用京东云代码托管、云编译、云部署等产品进行蓝绿部署简单实践

    干货 | 运用京东云代码托管.云编译.云部署等产品进行蓝绿部署简单实践 前几天我们以一种较为传统的方式在京东云上简单实践了基于Jenkins+Docker+Git 的CI流程,主要利用一些开源技术来实 ...

  6. 正确理解以下名词及其含义:(1)源程序,目标程序,可执行程序(2)程序编辑,程序编译,程序连接(3)程序,程序模块,程序文件 (4)函数,主函数,被调用函数,库函数

    正确理解以下名词及其含义: (1)源程序,目标程序,可执行程序. ​ 源程序:指未编译的按照一定的程序设计语言规范书写的文本文件,是一系列人类可读的计算机语言指令 ​ 目标程序:为源程序经编译可直接被 ...

  7. 在线 Beosin EOS-IDE 免费版本同时支持智能合约在线编辑、编译、运行调试、部署

    Beosin EOS-IDE 是一款免费的面向EOS区块链平台的智能合约在线集成开发环境,可同时支持合约开发.部署.测试和源码调试等功能的在线区块链应用开发集成环境. Beosin EOS-IDE产品 ...

  8. Beosin成都链安发布在线EOS-IDE免费版本 EOS智能合约在线编辑、编译、运行调试、部署一步到位...

    Beosin EOS-IDE产品链接: https://beosin.com/EOS-IDE/index.html#/ (推荐Chrome浏览器) 每一个区块链开发的程序员都需要一个界面友好,操作方便 ...

  9. 厉害了,手把手教你搭建一个代码在线编辑预览工具

    点击下方"前端开发博客",选择"设为星标" 回复"2"加入前端群 简介 大家好,我是一个闲着没事热衷于重复造轮子的不知名前端,今天给大家带来 ...

最新文章

  1. java File类 常用相关函数
  2. 别瞎操心了!机器人根本不会抢你的饭碗
  3. js快速判断IE浏览器(兼容IE10与IE11)
  4. 2016-2017 ACM-ICPC Southwestern European Regional Programming Contest (SWERC 2016)
  5. 不用+、-、×、÷数字运算符做加法
  6. java图片的缩放_Java的图片自动缩放
  7. 歌词模拟项目c语言,C语言之歌词解析
  8. android 网络诊断工具,网络诊断工具MTR
  9. Velodyne VLP16 WIN下配置
  10. win7 下安装vs2010 pro 失败解决方法
  11. 问题解决:openCV处理视频、手机拍摄视频自旋转(90度)
  12. C语言冒泡排序(从大到小排序核心代码)
  13. MOSFET的SOA
  14. unilife-fridge-producetion-show
  15. ssm基于微信小程序的校园跑腿系统——计算机毕业设计
  16. 计算机一级网页制作教程视频教程,0626 网页设计与制作31讲,教学视频,湖南铁道职业技术学院陈承欢...
  17. 爬梯:Docker全解析(一)
  18. [伸展树]codevs1286 郁闷的出纳员
  19. 200行Perl 语言实现 VCD 转ATE测试pattern ---VCD的解析
  20. python文本替换

热门文章

  1. ckplayer网页视频在线播放
  2. 意图推荐 Metapath-guided Heterogeneous Graph Neural Network for Intent Recommendation
  3. 电池相关---电池保护
  4. 网易2018实习生招聘笔试题-C++开发实习生解答
  5. linux段错误core dumped,Linux下Segmentation fault(core dumped)简单调试方法
  6. 工作笔记-Hazelcast安装和基本配置
  7. C语言程序员未来发展前景如何
  8. 如何利用新闻传播进行产品网络推广?
  9. 陌生人社交已成主流,“灵魂”社交软件Soul的上市之忧
  10. 设计解谜游戏的30堂课