(一)编译器

编译器是将“一种语言(通常为高级语言)”翻译为“另一种语言(通常为低级语言)”的程序。一个现代编译器的主要工作流程:源代码 (source code) -->预处理器 (preprocessor) -->编译器 (compiler) -->目标代码 (object code) -->链接器 (Linker) -->可执行程序 (executables)。
高级计算机语言便于人编写,阅读交流,维护。机器语言是计算机能直接解读、运行的。编译器将汇编或高级计算机语言源程序(Source program)作为输入,翻译成目标语言(Target language)机器代码的等价程序。源代码一般为高级语言 (High-level language), 如C、C++、Java或汇编语言,而目标则是机器语言的目标代码(Object code),有时也称作机器代码(Machine code)。

(二)C语言编译器

Windows上的C编译器有Turbo C,VC 6.0,Visual Studio, Dev C++等。
Turbo C界面看起来不那么舒服。
VC6.0过于古老,不一定兼容Win 7/10。
Visual Studio极其庞大,安装文件有几个G,主要用于工业项目的开发。
所以,Win系统下推荐安装Dev C++。

苹果电脑的Mac系统下,直接用标配的Xcode编译器就行。Xcode可以用来编写C, C++, Objective-C和Swift。

Linux系统下,可用标配的GCC编译器。Linux系统比较难学,多为专业的技术人员所用。初学者不考虑也罢。

(三)安装Dev C++

1 从网络上搜索并下载Dev-Cpp.5.11

2 双击开始安装

 
1.png

3 同意

 
2.png

4 勾选按默认,Next

 
3.png

5 安装路径可以按默认的C:\Program Files (x86)\Dev-Cpp,也可以选择其他路径

 
4.png

6 安装中

 
5.png

7 勾选按默认,点击“Finish”即运行Dev C++编译器

 
6.png

8 Next

 
7.png

9 页面风格按默认,Next

 
8.png

10 OK

 
9.png

11 Dev C++成功启动

 
10.png

(四)用Dev C++编写第一个程序

1 首先在硬盘里建立一个目录,比如D:\CProjects用来存放即将编写的C程序

2 点击左上角的File-->New-->Project,打开一个新的项目

 
11.png

3 按默认选择Baisic下的Console Application,Name重命名为HelloWorld,项目类型由默认的C++ Project改为C Project,OK

 
12.png

4 保存路径选择第1步中创建的D:\Cprojects,文件名和保存类型按默认,点击“保存”按纽

 
13.png

5 编写程序

 
14.png

6 点击“Compile & Run”按纽,或按快捷键“F11”,在弹出的界面中,将main.c改为HelloWorld.c,点击“保存”按钮

 
 

7 显示运行结果,成功!
0.653秒是编译器计算出来的处理器运行这个程序所耗的时间。

 
 

8 进入D:\Cproject

 
 

这里HelloWorld.dev是咱们创建的项目,
HelloWorld.c是咱们编译的源码文件,
HelloWorld.o是编译生成的目标文件,
HelloWorld.exe是最终生成的可执行文件。

关注微信公众号请扫二维码

小朋友学C语言(2):安装Dev C++编译器的更多相关文章

  1. 小朋友学C语言(7)

    数组 一.数组简介 C 语言支持数组数据结构,它可以存储一个固定大小的相同类型元素的顺序集合.数组是用来存储一系列数据,但它往往被认为是一系列相同类型的变量. 数组的声明并不是声明一个个单独的变量,比 ...

  2. 小朋友学C语言(1):Hello World

    首先,需要一款C语言的编译器,可以使用在线编译器,也可以在本地安装编译器,比如Mac电脑可以安装Xcode,PC可以安装Dev C++. 若是第一次编写程序,建议使用在线编译器,推荐 菜鸟编译器 编写 ...

  3. 小朋友学C语言(8)

    求圆周率 (一)圆周率简介 圆周率(Pi)是圆的周长与直径的比值,一般用希腊字母π表示,是一个在数学及物理学中普遍存在的数学常数.π也等于圆形之面积与半径平方之比.是精确计算圆周长.圆面积.球体积等几 ...

  4. 小朋友学C语言(6)

    (一) 先动手编写一个程序: #include <stdio.h> int main() { if(1) { printf("The condition is true!\n&q ...

  5. 小朋友学C语言(5):常量和变量,for循环

    动手编写程序: #include <stdio.h> int main() { int a = 1; printf("a = %d\n", a); a = 2; pri ...

  6. 小朋友学C语言(3):整数、浮点数、字符

    C语言的数据类型有整型.浮点型(就是小数).字符.字符串.数组.结构体等.刚开始学的时候,不要一下子学太多.先学最基本的整型.浮点型和字符. 对于学习程序来说,最重要的是动手操作. 先编写程序: #i ...

  7. 小朋友学C语言(4):单精度浮点数与双精度浮点数

    上节课简单介绍了浮点数.计算机程序中的浮点数分为单精度浮点数和双精度浮点数. 单精度和双精度精确的范围不一样. 计算机里的最基本的存储单位用位(bit)来表示.bit只能用来存储0或1. 稍大一点的单 ...

  8. 小朋友学C++(2)

    多态 (一) 先编写函数: #include <iostream> using namespace std; class Shape { protected: int width, hei ...

  9. 小朋友学Python(4)

    Mac下安装Python 3 Mac系统会自带Python 2.7.x.安装Python 3时,不要卸载Python 2.7.x,因为有Mac系统有一些库会依赖于Python 2.7.x. 安装步骤: ...

随机推荐

  1. 996.icu 事件后

    996.icu 事件后 雇主 更加关注效率 减少成本 分工再细化 精简人员 雇员 法律意识加强 个人权利争取 效率低者下岗 技能提高 效率提高 影响 商业社会更有效率 人力市场竞争更加激烈 国内竞争力 ...

  2. Java基础语法 第3节 常用软件安装-Webstorm

    Webstorm是专用于web开发的号称最好的的编辑器,使用起来很方便. 一.安装 1.去官网下载正版安装包,官网地址:http://www.jetbrains.com/webstorm/ 2.开始安 ...

  3. Java多线程知识总结(一)

    一.创建线程的三种方式: 创建线程的方式有三种,一是创建Thread实例,二是实现Runnable接口,三是实现Callable接口,Runnable接口和Callable接口的区别是一个无返回值,一 ...

  4. 事务 — Redis 设计与实现

    非事务状态下的命令以单个命令为单位执行,前一个命令和后一个命令的客户端不一定是同一个: 事务状态则是以一个事务为单位,执行事务队列中的所有命令:除非当前事务执行完毕,否则服务器不会中断事务,也不会执行 ...

  5. elasticsearch 镜像使用

    elasticsearch 镜像使用 下载镜像: docker pull elasticsearch:6.5.4 创建容器: docker run -it -p 9200:9200 -p 9300:9 ...

  6. xml配置*的问题

    spring配置种classpath * 和classpath的问题,class path有多个的情况下,会匹配第一个 <context:component-scan/>中两个**表示可以 ...

  7. Host does not support domain type kvm for virtualization type 'hvm' arch 'x86_64'

    kvm创建虚拟机报错: qemu-img create -f qcow2 /tmp/centos.qcow2 10G virt-install --virt-type kvm --name cento ...

  8. jmeter ---断言持续时间(Duration to Assert )和断言文件大小

    jmeter ---断言持续时间(Duration to Assert )和断言文件大小 1.断言持续时间(Duration to Assert ) Duration to Assert -- 允许的 ...

  9. msp430学习笔记-实现开方log等计算及FFT算法(待续)

    MSP430 FFT算法实现 http://bbs.21ic.com/icview-391532-1-1.html http://blog.sina.com.cn/s/blog_6cd2030b010 ...

  10. sqlserver触发器执行顺序【未经验证】

    exec sp_settriggerorder @triggername = 'tr_customer_1', @order = 'first', @stmttype = 'insert',@name ...