C语言编译器(C语言编程软件)完全攻略(第五部分:VS2015使用教程(使用VS2015编写C语言程序))

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

五、VS2015使用教程(使用VS2015编写C语言程序)

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

#include <stdio.h>

int main()

{

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

        return 0;

}

本节我们就来看看如何通过 VS2015 来运行这段代码。

1、创建项目(Project)

在 VS2015 下开发程序首先要创建项目,不同类型的程序对应不同类型的项目,初学者应该从控制台程序学起。

打开 VS2015,在上方菜单栏中选择“文件 --> 新建 --> 项目”:

或者按下Ctrl+Shift+N组合键,都会弹出下面的对话框:

选择“Win32控制台应用程序”,填写好项目名称,选择好存储路径,点击“确定”按钮即可。

如果你安装的是英文版的 VS2015,那么对应的项目类型是“Win32 Console Application”。另外还要注意,项目名称和存储路径最好不要包含中文。

点击“确定”按钮后会弹出向导对话框:

点击“下一步”按钮,弹出新的对话框:

先取消“预编译头”和“安全开发生命周期检查”这两个选项,再勾选“空项目”,然后点击“完成”按钮就创建了一个新的项目。

感兴趣的读者可以打开 E 盘,会发现多了一个cDemo文件夹,这就是整个项目所在的文件夹。

2、添加源文件

在“源文件”处右击鼠标,在弹出菜单中选择“添加 -> 新建项”,如下图所示:

或者按下Ctrl+Shift+A组合键,都会弹出添加源文件的对话框。如下图所示:

在“代码”分类中选择C++文件(.cpp),填写文件名,点击“添加”按钮就添加了一个新的源文件。

小小的提示:C++是在C语言的基础上进行的扩展,C++已经包含了C语言的所有内容,所以大部分的 IDE 只有创建C++文件的选项,没有创建C语言文件的选项。但是这并不影响使用,我们在填写源文件名称时把后缀改为.c即可,编译器会根据源文件的后缀来判断代码的种类。上图中,我们将源文件命名为hello.c

3、编写代码并生成程序

打开 hello.c,将本节开头的代码输入到 hello.c 中,上图是输入完成以后的效果。

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

(1)编译(Compile)

在上方菜单栏中选择“生成 --> 编译”,就完成了 hello.c 源文件的编译工作。

或者直接按下Ctrl+F7组合键,也能够完成编译工作,这样更加便捷。

如果代码没有错误,会在下方的“输出窗口”中看到编译成功的提示:

编译完成后,打开项目目录(本教程中是 E:\cDemo\)下的 Debug 文件夹,会看到一个名为hello.obj的文件,这就是经过编译产生的中间文件,这种中间文件的专业称呼是目标文件(Object File)在 VS 和 VC 下,目标文件的后缀都是.obj

(2)链接(Link)

在菜单栏中选择“项目 --> 仅用于项目 --> 仅链接 cDemo”,就完成了 hello.obj 的链接工作,如下图所示:

如果代码没有错误,会在下方的“输出窗口”中看到链接成功的提示:

本项目中只有一个目标文件,链接的作用是将 hello.obj 和系统组件(专业讲是静态链接库)结合起来,形成可执行文件。 如果有多个目标文件,这些目标文件之间还要相互结合。

再次打开项目目录(本教程中是 E:\cDemo\)下的 Debug 文件夹,会看到一个名为cDemo.exe的文件,这就是最终生成的可执行文件,就是我们想要的结果。

双击 cDemo.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");无效。

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

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

(3)更加快捷的办法

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

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

不过 VS 提供了一种更加快捷的方式,可以一键完成编译、链接、运行三个动作,点击菜单栏中的“运行”按钮,或者按下F5就能做到这一点。

(4)还有更实用的技巧

如果我们的代码中没有添加system("pause");暂停语句,点击“运行”按钮,或者按下F5后程序依然会一闪而过,只能看到一个“黑影”。

如果想让程序自动暂停,可以按下Ctrl+F5组合键,这样程序就不会一闪而过了;换句话说,按下Ctrl+F5,VS 会自动在程序的最后添加暂停语句。

现在我们已经了解了从编写代码到生成程序的整个过程,在以后的学习中,可以直接使用Ctrl+F5组合键了,不用再分步骤完成了,这样会更加方便和实用。

4、总结

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

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

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

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

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

相关文章

kubectl常用命令(主题篇)

上一篇是按照操作把全局性的命令给整理出来&#xff0c;但是在实际的使用中&#xff0c;经常需要对某一个主题进行操作&#xff0c;因此这一篇按照对应的主题进行一系列操作。 集群 查看集群基本信息 kubectl cluster-info namespace 命名空间 查看 kubectl get namespace k…

面试题:聊聊 SpringBoot 中的 SPI 机制

文章目录 简介Java SPI实现示例说明实现类1实现类2相关测试 源码分析Spring SPISpring 示例定义接口相关实现 相关测试类输出结果源码分析 总结 简介 SPI(Service Provider Interface)是JDK内置的一种服务提供发现机制&#xff0c;可以用来启用框架扩展和替换组件,主要用于框架…

FindMy技术用于键盘

键盘是我们生活中不可或缺的输入工具&#xff0c;是人与计算机之间沟通的桥梁&#xff0c;无论是编写文档、浏览网页、玩游戏、或是进行复杂的数据分析&#xff0c;键盘都在其中发挥着关键的作用。此外&#xff0c;键盘还是各种软件的快捷键操作的关键。通过熟练地运用快捷键&a…

c语言:用结构体求平均分|练习题

一、题目 用c语言的结构体&#xff0c;求4位学生成绩的平均分 如图&#xff1a; 二、代码截图【带注释】 三、源代码【带注释】 #include <stdio.h> float aver();//声明平均分函数 void printScore();//声明打印函数 //设置结构体&#xff0c; struct student { …

编程基础 - 初识Linux

编程基础 - 初识Linux 返回序言及专栏目录 文章目录 编程基础 - 初识Linux前言一、Linux发展简介二、现代Linux三、Linux系统各发行版小结 前言 为什么要学习Linux呢&#xff1f;我这Windows用得好好的&#xff0c;简单易用傻瓜式、用的人还超多&#xff01;但是我要告诉你的…

Linux操作系统——进程控制(一) 进程创建和进程终止

进程创建 fork函数 在linux中fork函数时非常重要的函数&#xff0c;它从已存在进程中创建一个新进程。新进程为子进程&#xff0c;而原进程为父进程。 #include <unistd.h> pid_t fork(void); 返回值&#xff1a;自进程中返回0&#xff0c;父进程返回子进程id&#xff…

借助文档控件Aspose.Words,使用 Java 在 Word 文档中创建表格

Microsoft Word 是一种流行的文字处理应用程序&#xff0c;用于创建各种类型的文档。这些文档可能包含多种类型的元素&#xff0c;包括文本、图像、表格和图表。当涉及到用 Java 自动创建和操作文档时&#xff0c;您可能需要一个轻松的解决方案来在 Word 文档中创建表格。因此&…

2024年【金属非金属矿山(露天矿山)安全管理人员】考试题及金属非金属矿山(露天矿山)安全管理人员考试总结

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2024年【金属非金属矿山&#xff08;露天矿山&#xff09;安全管理人员】考试题及金属非金属矿山&#xff08;露天矿山&#xff09;安全管理人员考试总结&#xff0c;包含金属非金属矿山&#xff08;露天矿山&#xf…

LLM(九)| 使用LlamaIndex本地运行Mixtral 8x7大模型

欧洲人工智能巨头Mistral AI最近开源Mixtral 8x7b大模型&#xff0c;是一个“专家混合”模型&#xff0c;由八个70亿参数的模型组成。Mistral AI在一篇博客文章&#xff08;https://mistral.ai/news/mixtral-of-experts/&#xff09;介绍了Mixtral 8x7b&#xff0c;在许多基准上…

使用quill富文本编辑器

学习目标&#xff1a; 学习目标 了解quill富文本编辑器 学习内容&#xff1a; 内容 安装 d2-quill npm install vue-quill-editor -S引入到 使用的项目中 &#xff08;1&#xff09;、全局引用 import Vue from vue import VueQuillEditor from vue-quill-editor// 引入样式…

如何利用SD-WAN优化企业访问Salesforce的体验?

在这个数字化时代&#xff0c;客户关系管理&#xff08;CRM&#xff09;应用如 Salesforce &#xff0c;已经成为企业运营的重要部分。然而&#xff0c;许多企业在使用 Salesforce 时常遇到页面加载缓慢、甚至完全无法访问等问题&#xff0c;严重影响了他们的工作效率和用户体验…

程序员真是越来越懒了,Api 文档都懒得写?程序员:Api工具惯的!

关于大多数程序员不爱写文档问题&#xff0c; 我觉得可以从两个方面去拆解&#xff1a;主观原因、客观原因。 1. 客观 - 时间紧任务重&#xff0c;需求变化快 需求方每次都是紧急需求&#xff0c;老板每次都要求敏捷开发&#xff0c;快速响应。按时交付的压力已经让大多数程序员…