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

news2024/11/15 23:39:14

介绍常用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.coloradmin.cn/o/1360469.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue3项目中axios的常见用法和封装拦截(详细解释)

1、axios的简单介绍 Axios是一个基于Promise的HTTP客户端库&#xff0c;用于浏览器和Node.js环境中发送HTTP请求。它提供了一种简单、易用且功能丰富的方式来与后端服务器进行通信。能够发送常见的HTTP请求&#xff0c;并获得服务端返回的数据。 此外&#xff0c;Axios还提供…

大学物理-实验篇——测量误差与数据处理(测量分类、误差、有效数字、逐差法)

目录 测量分类 测量次数角度 测量条件角度 误差 误差分类 系统误差 随机误差 异常值 误差描述 精密度&#xff08;Precision&#xff09; 正确度&#xff08;Trueness&#xff09; 准确度/精确度&#xff08;Accuracy&#xff09; 随机误差的处理 直接测量 算术…

阻止持久性攻击改善网络安全

MITRE ATT&CK框架是一个全球可访问的精选知识数据库&#xff0c;其中包含基于真实世界观察的已知网络攻击技术和策略。持久性是攻击者用来访问系统的众多网络攻击技术之一;在获得初始访问权限后&#xff0c;他们继续在很长一段时间内保持立足点&#xff0c;以窃取数据、修改…

基于多反应堆的高并发服务器【C/C++/Reactor】(中)创建一个TcpConnection实例 以及 接收客户端数据

#CSDN 年度征文&#xff5c;回顾 2023&#xff0c;赢专属铭牌等定制奖品# 一、主线程反应堆模型的事件添加和处理详解 >>服务器和客户端建立连接和通信流程&#xff1a; 基于多反应堆模型的服务器结构图&#xff0c;这主要是一个TcpServer&#xff0c;关于HttpServer,…

目标检测-One Stage-EfficientDet

文章目录 前言一、EfficientNetEfficientNet-B0 baselineMBConv 参数优化EfficientNet B0-B7 参数 二、EfficientDetBiFPN复合缩放方法 总结 前言 EfficientDet是google在2019年11月发表的一个目标检测算法系列&#xff0c;其提出的背景是&#xff1a;之前很多研究致力于开发更…

【面试高频算法解析】算法练习5 深度优先搜索

前言 本专栏旨在通过分类学习算法&#xff0c;使您能够牢固掌握不同算法的理论要点。通过策略性地练习精选的经典题目&#xff0c;帮助您深度理解每种算法&#xff0c;避免出现刷了很多算法题&#xff0c;还是一知半解的状态 专栏导航 二分查找回溯&#xff08;Backtracking&…

华为bgp之多级RR及团体属性、正则表达式多种应用案例

1、实现总部和分部的oa、财务网段互通 2、分部之间oa也能互通 3、分部之间不能互通财务 主要用到bgp自定义团体属性、一级二级RR配置、bgp正则表达式匹配规则 R1 router id 1.1.1.1 //配全局地址池&#xff0c;又可以给ospf用也可以给bgp用 interface GigabitEthernet0/0/0 …

紫光展锐5G扬帆出海 | 欧洲积极拥抱更多5G选择

和我国一样&#xff0c;欧洲不少国家也在2019年进入5G商用元年&#xff1a;英国在2019年5月推出了5G商用服务&#xff0c;该国最大的移动运营商EE(Everything Everywhere)最先商用5G&#xff1b;德国在2019年年中推出5G商用服务&#xff0c;德国电信、沃达丰和 Telefonica是首批…

【AI视野·今日NLP 自然语言处理论文速览 第六十七期】Mon, 1 Jan 2024

AI视野今日CS.NLP 自然语言处理论文速览 Mon, 1 Jan 2024 Totally 42 papers &#x1f449;上期速览✈更多精彩请移步主页 Daily Computation and Language Papers Principled Gradient-based Markov Chain Monte Carlo for Text Generation Authors Li Du, Afra Amini, Lucas…

php-ffmpeg运用 合并视频,转码视频

下载 官网 windows 版本 添加环境变量 合并视频 public function test_that_true_is_true(): void{ini_set(memory_limit,-1); //没有内存限制set_time_limit(0);//不限制执行时间//ffmpeg配置$path [ffmpeg.binaries > D:\soft\ffmpeg\bin/ffmpeg.exe,ffprobe.binaries…

面试算法98:路径的数目

题目 一个机器人从mn的格子的左上角出发&#xff0c;它每步要么向下要么向右&#xff0c;直到抵达格子的右下角。请计算机器人从左上角到达右下角的路径的数目。例如&#xff0c;如果格子的大小是33&#xff0c;那么机器人从左上角到达右下角有6条符合条件的不同路径。 分析…

排序算法——关于快速排序的详解

目录 1.基本思想 2.基本原理 2.1划分思想 2.2排序过程 &#xff08;1&#xff09;选择基准值 &#xff08;2&#xff09;分割过程&#xff08;Partition&#xff09; &#xff08;3&#xff09;递归排序 &#xff08;4&#xff09;合并过程 2.3具体实例 2.4实现代码 2.5关键要…

配置文件的创建和部署

配置描述文件&#xff08;Configuration Profiles&#xff09;的格式为xml&#xff0c;其提供了一个非常容易的方式去给电脑、移动设备或用户定义一些设置或限制&#xff0c;你可以使用Jamf Pro去创建这样的配置文件。 &#xff08;配置文件的负载&#xff09; 有关配置文件的配…

HarmonyOS 开发基础(五)Button

HarmonyOS 开发基础&#xff08;五&#xff09;Button Entry Component struct Index {build() {Row() {Column() {// Button&#xff1a;ArkUI 的基础组件 按钮组件// label 参数&#xff1a;文字型按钮Button(我是按钮)// width&#xff1a;属性方法&#xff0c;设置组件的宽…

git本地创建分支并推送到远程关联起来

git本地创建分支并推送到远程关联起来 git本地基于当前分支创建个新的分支&#xff0c;然后推送到远程&#xff0c;并把本地新创建的分支和远程分支关联 在当前分支下&#xff0c;新建分支 git checkout -b test推送到远程仓库 git push origin test将本地分支和远程分支关联…

推荐几个免费的HTTP接口Mock网站和工具

在前后端分离开发架构下&#xff0c;经常遇到调用后端数据API接口进行测试、集成、联调等需求&#xff0c;比如&#xff1a; &#xff08;1&#xff09;前端开发人员很快开发完成了UI界面&#xff0c;但后端开发人员的API接口还没有完成&#xff0c;不能进行前后端数据接口对接…

Vue电商后端管理API接口测试

引言 最近有人在学习接口自动化测试时没有接口练手&#xff0c;其实接口的话&#xff0c;要么找第三方提供的&#xff0c;要么自己开发。第三方在线API需要认证&#xff0c;并且普通的话每天调用次数有一定的限制。自己开发的话&#xff0c;只要不停电&#xff0c;想怎么用就怎…

百度吉利合作造车生态,极越“智价比”能否带来科技平权?

文|AUTO芯球 作者|文泽 临近年关&#xff0c;车企迎来“降价潮”。为了获得更好的年终成绩单&#xff0c;包括上汽大众、比亚迪、长安汽车、智己汽车等20多家品牌推出了购车补贴、限时优惠等措施&#xff0c;优惠幅度最高近20万元。 在此背景下&#xff0c;新车发布一个多月…

读算法霸权笔记12_数据科学

1. 公平与公正 1.1. 公平大多数时候只是副产品 1.2. 由贪婪或偏见导致的不公正一直发生在我们身边 1.2.1. 如果承认法律面前人人平等&#xff0c;或者作为选民的大众应该被平等对待&#xff0c;我们就不能允许模型把我们分为不同的群体进行区别对待 1.3. 对于数学模型来说&…

常用python代码大全-使用Python的requests模块发送HTTP请求

要使用Python的requests模块发送HTTP请求&#xff0c;你需要首先确保已经安装了这个模块。如果没有安装&#xff0c;可以通过以下命令进行安装&#xff1a; pip install requests一旦安装完成&#xff0c;你可以按照以下步骤发送HTTP请求&#xff1a; 1.导入requests模块&…