C语言编译器(C语言编程软件)完全攻略(第二十六部分:C-Free使用教程(使用C-Free编写C语言程序))

介绍常用C语言编译器的安装、配置和使用。

二十六、C-Free使用教程(使用C-Free编写C语言程序)

1、安装C-Free 5.0

C-Free 是一款国产的Windows下的C/C++ IDE,最新版本是 5.0,整个软件才 14M,非常轻巧,安装简单。

下载地址:C-Free 5.0下载

按照教程中的说明安装并激活 C-Free 5.0。

需要注意的是:C-Free 5.0 在 XP、Win7 下能够完美运行,在 Win8、Win10 下可能会存在兼容性问题,读者可以先尝试安装,不行的话再使用 VS、Dev C++、Code::Blocks 等代替。

2、运行C语言代码

前面我们给出了一段完整的C语言代码,就是在显示器上输出“C语言中文网”,如下:

#include <stdio.h>

int main()

{

        puts("C语言中文网");

        return 0;

}

接下来,我们就来看看如何通过C-Free 5.0来运行这段代码。

(1)新建源文件

打开C-Free,通过新建菜单或Ctrl+N新建文件,然后通过保存菜单或Ctrl+S将文件保存到E:\Demo目录,并命名为hello.c,如下图所示:

图1:新建菜单和保存菜单

图2:命名为 hello.c,并保存到 E:\Demo 目录

C语言源文件的后缀为.c。不过你也可以保存为hello.cpp,它将以C++的方式运行,因为C++兼容C语言,所以不会出现错误,不过我依然建议大家保存为hello.c

(2)编写源代码

新建文件后,就可以输入本文开头给出的代码了。

注意:虽然可以将整段代码复制到编辑器,但是我还是强烈建议你手动输入,我敢保证你第一次输入代码会有各种各样的错误,只有把这些错误都纠正了,你才会进步。本教程后续章节还会给出很多示例代码,这些代码一定要手动输入,不要复制后运行成功了就万事大吉。

(3)编译和链接

在C-Free的工具栏中,有三个按钮特别重要,分别为“运行”“编译”和“构建”,如下图所示:

图4:常用的几个按钮

代码输入完成后,点击“编译”按钮或者按F11键,就完成了源文件的编译,下方控制台中会显示编译信息:

图5:编译成功

如果我们的代码语法有错误,比如puts("C语言中文网");语句最后忘记写;,编译就会失败:

图6:编译失败

编译成功后,打开 E:\Demo 目录,发现新生成了一个文件hello.o,而不是我们期望的hello.exe。这是因为,编译虽然生成了二进制文件,但是它还不能独立运行,还需要系统库(暂时可以理解为系统中的一些组件)的支持,.o 必须和系统库组合在一起才能生成 .exe,这个组合的过程就叫做链接(Link)

.o文件叫做目标文件(Object File),它是编译的结果,是中间文件,已经是非常接近 .exe 的二进制文件了,只是还缺少一些东西,必须由系统库提供。

点击“构建”按钮或者按Ctrl+F11组合键,就完成了 hello.o 和系统库的链接,打开 E:\Demo,终于看到了期待已久的 hello.exe。至此,我们就将C语言代码转换成了可执行文件了。

(4)运行程序

运行生成的 hello.exe 程序,并没有输出“C语言中文网”几个字,而是会看到一个黑色窗口一闪而过。这是因为,程序输出“C语言中文网”后就运行结束了,窗口会自动关闭,时间非常短暂,所以看不到输出结果,只能看到一个“黑影”。

我们对上面的代码稍作修改,让程序输出“C语言中文网”后暂停一下:

#include <stdio.h>

#include <stdlib.h>

int main()

{

        puts("C语言中文网");

        system("pause");

        return 0;

}

system("pause");语句的作用就是让程序暂停一下。注意代码开头部分还添加了#include <stdlib.h>语句,否则system("pause");无效。

再次编译并链接,运行生成的hello.exe,终于如愿以偿,看到输出结果了,如下图所示:

图7:第一个C语言程序

按下键盘上的任意一个键,程序就会关闭。

现在,你就可以将 hello.exe 分享给你的朋友了,告诉他们这是你编写的第一个C语言程序。虽然这个程序非常简单,但是你已经越过了第一道障碍,学会了如何编写代码,如何将代码生成 .exe 程序,这是一个完整的体验。

在本教程的基础部分,教大家编写的程序都是这样的“黑窗口”,与我们平时使用的软件不同,它们没有漂亮的界面,没有复杂的功能,只能看到一些文字,这就是控制台程序(Console Application),它与DOS非常相似,早期的计算机程序都是这样的。

控制台程序虽然看起来枯燥无趣,但是它非常简单,适合入门,能够让大家学会编程的基本知识;只有夯实基本功,才能开发出健壮的GUI(Graphical User Interface,图形用户界面)程序,也就是带界面的程序。

(5)更加快捷的方法

我们把上面的步骤总结一下,可以发现一个完整的编程过程是:

  1. 编写源文件:这是编程的主要工作,我们要保证代码的语法100%正确,不能有任何差错;
  2. 编译:将源文件转换为目标文件;
  3. 链接:将目标文件和系统库组合在一起并转换为可执行文件;
  4. 运行:可以检验代码的正确性。

不过,实际开发中我们最常用的是“运行”按钮或F5快捷键,它会一次性完成编译、链接和运行的操作,并让程序运行结束后自动暂停,这样我们就不必额外增加system("pause");语句了。

再次将本文开头部分的代码输入编辑器,点击“运行”按钮或按F5,就可以看到运行结果,如下图所示:

图8:点击“运行”按钮

你可以认为,是编译器在程序最后自动添加了 system("pause");语句。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/324982.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【ARMv8架构系统安装PySide2】

ARMv8架构系统安装PySide2 Step1. 下载Qt资源包Step2. 配置和安装Qt5Step3. 检查Qt-5.15.2安装情况Step4. 安装PySide2所需的依赖库Step5. 下载和配置PySide2Step6. 检验PySide2是否安装成功 Step1. 下载Qt资源包 if you need the whole Qt5 (~900MB): wget http://master.qt…

Unity之键盘鼠标的监控

小编最近在玩大表哥2&#xff0c;通过 W、A、S、D 来移动亚瑟&#xff0c;鼠标左键来不吃牛肉 我们都知道玩家通过按键鼠标来控制游戏人物做出相应的行为动作&#xff0c;那在Unity引擎里是怎么知道玩家是如何操作的呢&#xff1f;本篇来介绍Unity是怎样监控键盘和鼠标的。 首先…

vue2 +Html + css 实现房间状态图,酒店前台入住管理系统的设计与开发

一、需求分析 酒店管理系统是指一种可以提高酒店管理效率的软件或平台。其面向酒店前台工作人员和酒店管理员&#xff0c;界面美观大方、操作方便。系统强化以客源为中心的信息完整性、长久性、可操作性&#xff0c;突出以预订、房源、房价等对营销具有影响力的信息处理。 系统…

项目整合积木报表-设计页面

项目整合积木报表-设计页面 <template><div><iframe id"dome" :srcsrc ></iframe></div> </template><script>export default {data(){return{src:configSrc.src"/jmreport/view/836138868821839872"}}} </…

Apache Commons Email在邮件发送中的应用

第1章&#xff1a;简介 大家好&#xff0c;我是小黑&#xff0c;今天咱们聊聊Apache Commons Email这个库&#xff0c;它在发送邮件方面可谓是小而美的利器。Apache Commons Email基于JavaMail API&#xff0c;但它提供了更简洁、更易用的接口&#xff0c;让咱们在处理电子邮件…

B059-权限管理系统01

目录 知识点介绍项目演示项目搭建动态菜单查询分析(权限表分析)权限系统表分析角色模块pageInfopageHelper实现前端动态分页高级查询新增与修改删除角色 分配权限-表分析角色授权数据-一级和二级权限查询 知识点介绍 项目演示 准备数据库 准备工程auth_new tips&#xff1a;…

Jenkins接口调用

Jenkins是好用&#xff0c;但是接口文档写的稀烂 1、授权&#xff0c;Jenkins不推荐使用创建单个任务时创建的token&#xff0c;推荐这个用户下的创建user token。 点击自己账号信息&#xff0c;即可创建token。 2、postman选择basic auth&#xff0c;输入账号密码&#xff0…

高并发如何保证接口的幂等性?

前言 接口幂等性问题&#xff0c;对于开发人员来说&#xff0c;是一个跟语言无关的公共问题。本文分享了一些解决这类问题非常实用的办法&#xff0c;绝大部分内容我在项目中实践过的&#xff0c;给有需要的小伙伴一个参考。 不知道你有没有遇到过这些场景&#xff1a; 有时我…

LLM增强LLM;通过预测上下文来提高文生图质量;Spikformer V2;同时执行刚性和非刚性编辑的通用图像编辑框架

文章首发于公众号&#xff1a;机器感知 LLM增强LLM&#xff1b;通过预测上下文来提高文生图质量&#xff1b;Spikformer V2&#xff1b;同时执行刚性和非刚性编辑的通用图像编辑框架 LLM Augmented LLMs: Expanding Capabilities through Composition 本文研究了如何高效地组…

STM32F4 IAP升级 Bootloader程序+上位机下载程序源码

目录 一、硬件设计 二、软件设计 三、上位机设计 四、IAP说明 五、下载验证 资料下载地址&#xff1a;STM32F4 IAP升级 Bootloader程序上位机下载程序源码 一、硬件设计 升级下载程序采用外部硬件触发的方式。 PB-20M4硬件板 预留一个IO口处理代码下载及更新的功能。 功…

数据采集:获取有价值信息的关键步骤

在当今数据驱动的时代&#xff0c;数据已成为企业、组织和个人做出明智决策的重要依据。而数据采集作为数据分析和应用的第一步&#xff0c;其重要性不言而喻。本文将探讨数据采集的概念意义、方法工具、面临的挑战和应对策略以及注意事项。 一、数据采集的定义和重要性 &…

win10电脑提示“KBDSG.DLL文件缺失”,软件游戏无法启动运行,快速修复方法

很多用户在日常使用电脑的时候&#xff0c;或多或少都遇到过&#xff0c;在启动游戏或软件的时候&#xff0c;Windows桌面会弹出错误提示框“KBDSG.DLL文件缺失&#xff0c;造成软件无法启动或运行&#xff0c;请尝试重新安装解决”。 不少用户&#xff0c;会根据提示重装游戏或…