首页 > 编程语言 >给小白用户的程序使用保姆级教程-控制台程序篇

给小白用户的程序使用保姆级教程-控制台程序篇

时间:2023-07-26 16:12:00浏览次数:44  
标签:解压 教程 程序 编译器 C++ Visual Studio Dev 控制台

给小白用户的程序使用保姆级教程-控制台程序篇

程序交付后,经常会遇到客户拿到代码不会用的情况,有些稍微提醒下就能自行解决,但也遇到过甚至连编译器都不知从哪里启动,不知哪个按钮是编译,甚至不知“编译”这个词的概念。因此将遇到的问题总结一下,整理一个保姆级教程供大家参考。

2. 控制台程序

能编写C/C++控制台程序的开发工具很多,学生中常用的有VC6.0、DevC++、Code::Blocks、VS2010等,这里推荐大家尽可能用最新的开发环境,比如Visual Studio 2022(后面有下载安装教程),新的工具更符合当下的语法标准,以及更好的智能感知和报错提示,使你写程序的效率更高。极力反对使用VC6.0,这个上古神器只是部分奇葩老师的宠儿,使用它有百害而无一利,过去不严格的语法规范会让你形成错误的代码编写习惯(我见过一些学校的老师强制学生用VC6.0,这种真的是误人子弟,完全就是自己不思进取不愿接受新事物,对这类老师来说,他们的知识体系已经非常陈旧了,甚至从毕业后就没学过新东西,只要有可能,他们能把VC6.0再教20年,甚至带到棺材里去)。如果觉得Visual Studio 2022太庞大,可以退而求其次考虑DevC++(后面有下载安装教程),不是说这个东西好,而是它的确在某些方面比较适合新手(比如不用创建项目工程就能运行程序),加之计算机算法竞赛指定它为专用工具,所以在学生中广泛使用。

2.1. 在Visual Studio 2022中使用程序

2.1.1. 便捷的做法

一般提供给你的是一个visual studio 2019工程的压缩文件,拿到压缩文件后,需要先解压(这里很多人不懂解压是什么含义,解压就是将.zip文件释放成一个文件夹,文件夹中含有各种文件)。
比如,我给的是这样的一个压缩包:
工程压缩包
它的扩展名是.zip(如果没有显示扩展名,请百度搜索如何设置系统显示文件扩展名)。
先通过解压工具对其进行解压,解压工具有很多,比如winrar7zip,甚至windows本身就支持zip格式的解压,这里我以win11自带的解压操作为例解压演示:
右键菜单,选择“全部解压缩”

在窗口中点击“提取”

解压后的文件夹与压缩包对比

至此,解压工作完成。
接下来,如果你电脑上安装的是vs2019或者vs2022,则可以直接启动工程:
首先进入文件夹:

这里顺带对什么是源文件,什么是数据文件进行解释,因案例工程简单,所以只有一个.c文件,如果是复杂的程序将会有多个.c.h文件。数据文件是程序在运行过程中需要用到的数据,这些数据需要在程序启动的时候进行加载,通常要将数据文件和源文件放在同一个目录(也就是文件夹)中,然后在开发工具中启动程序才能将数据文件正确加载到内存。

进入visual studio 2019工程目录后,可以直接双击.sln或者.vcxproj启动项目,.sln是解决方案文件,它可以管理多个项目文件,而.vcxproj就是项目文件,因为案例工程简单,所以解决方案下只有一个项目工程,因此你双击哪个都能启动项目。

在这里需要注意,如果是visual studio 2019,直接启动工程,如果是visual studio 2022,则在此过程中会提示你升级项目,出现的升级界面类似这样(我的是英文版,中文版类似,点OK就行):

有人问我,为什么启动后,界面是空白的,看不到代码,诸如这样:

解决办法是你应该找到解决方案的选项卡,然后逐个点开它就行:

选择调试模式运行,或者非调试模式运行,都会先编译程序,并在编译成功后将程序运行起来。

2.1.2. 自己创建工程的做法

(待续)

2.2. 在DevC++中使用程序

2.2.1. 便捷的做法

交付给你的是一个压缩包,如下这样:
工程压缩包
它的扩展名是.zip(如果没有显示扩展名,请百度搜索如何设置系统显示文件扩展名)。
先通过解压工具对其进行解压,解压工具有很多,比如winrar7zip,甚至windows本身就支持zip格式的解压,这里我以win11自带的解压操作为例解压演示:
右键菜单,选择“全部解压缩”

在窗口中点击“提取”

解压后的文件夹与压缩包对比

至此,解压工作完成。
将源程序修改编码格式,用记事本打开源文件:
右键源文件,选择用记事本打开:

在文件菜单中选择另存为:

选择编码为ANSI:

点击“是”确认替换:

如果你不按照我说的方式进行文件转码,将会在后续操作中遇到中文乱码的情况。
接下来重新右键代码文件,选DEVC++打开:

如果右键中没有DevC++,则可以先启动DevC++,然后将源代码文件通过鼠标拖拽到DevC++中。
接下来编译并运行程序:

如果不出意外,程序通过编译并成功运行。
如果出现类似下图中的编译错误,是因为默认配置的语言标准版本太低,请往下查看DevC++的安装配置章节,会有详细的解决说明。

2.2.2. 自己创建工程的做法

(待续)

4. 工具的下载安装

4.1. Visual Studio 2022的下载安装

Visual Studio 2022的社区版完全免费(其他版本也有公开的KEY可以激活,百度一搜就有)
Visual Studio 2022下载地址,这里直接去官网下载就行:https://visualstudio.microsoft.com/zh-hans/vs/
打开页面后,选择社区版:
下载VS2022
在安装Visual Studio 2022的时候,需要勾选(1)使之能开发C/C++工程,如果是需要运行MFC程序的话,需要将MFC组件勾选,这里注意一下,早期的Visual Studio版本MFC组件是默认安装的,从Visual Studio 2015之后需要手动勾选。(这里截屏是用的Visual Studio 2019,如果是Visual Studio 2022做法类似):
VS2022安装
如果你之前已经安装了Visual Studio 2022也没关系,可以在这里面重新配置(中文版可对照弄):

4.2.DevC++的下载安装

其实DevC++跟VC6.0一样,也是上古神器,连原作者都不再维护,但好在它还能配置新的语言标准(有一些非官方开发者在维护新版本),因为无法从官网下载(官网好像都没了),这里推荐从腾讯软件中心下载:https://pc.qq.com/detail/16/detail_163136.html

4.2.1. 编译器配置

之所以要做编译器配置,是因为默认配置用到的是较老的语言标准,这在编译代码的时候可能发生编译错误,所以建议大家在安装好DevC++后,及时设置编译器选项。
以下分别针对C语言的编译器选项和C++的编译器选项进行配置讲解:

4.2.2. C语言配置

DevC++默认使用C89标准,该标准不支持诸如在for圆括号中定义变量,这和现在的代码习惯有较大差别,建议改成C99标准或者C11标准,具体做法如下:

菜单->工具->编译器选项,进入选项卡,如下图所示:

点击编译器,勾选编译时加入以下命令复选框,在命令框中添加-std=c99,如下图所示:

点击代码生成/优化,再点击代码生成,从语言标准(-std)的下拉框中选择ISO C99,如下图所示:

4.2.3. C++配置

DevC++默认使用C++98标准,该标准不支持很多新的C++语法特性,建议改成C++11标准,具体做法如下:

菜单->工具->编译器选项,进入选项卡,如下图所示:

点击编译器,勾选编译时加入以下命令复选框,在命令框中添加-std=c++11,如下图所示:

点击代码生成/优化,再点击代码生成,从语言标准(-std)的下拉框中选择ISO C++11,如下图所示:

标签:解压,教程,程序,编译器,C++,Visual,Studio,Dev,控制台
From: https://www.cnblogs.com/bigbeet/p/17582729.html

相关文章

  • Linux下实现程序开机自启(rc.local 和 systemctl)
    需求:实现了一个程序,需要在ubuntu上跑起来。能开机自启,且崩溃了也能自己重启。有两种实现方式,个人推荐第二种。方式1:实现方式:直接将要启动程序的运行命令加在/etc/rc.local中,开机时会运行这里的命令。我使用时:写了一个脚本DDR_Guard.sh,在脚本里面循环判断程序有没有开启。如......
  • FreeMarker简介及教程
    FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写 FreeMarker被设计用来生成HTMLWeb页面,特别是基于MVC模式的应用程序 虽然FreeMarker具有一些编程的能力,但通常由Java程序准备要显示的数据,由FreeMarker生成页面,通过模板显示准备的数据(如下图) FreeMar......
  • InDesign (ID) 2018排版设计软件下载和安装教程
    InDesign软件是一个定位于专业排版领域的设计软件,是面向公司专业出版方案的新平台,由Adobe公司于1999年9月1日发布。它是基于一个新的开放的面向对象体系,可实现高度的扩展性,还建立了一个由第三方开发者和系统集成者可以提供自定义杂志、广告设计、目录、零售商设计工作室和报纸出版......
  • 微信小程序request请求
    request.js //新建http文件夹的request.js//constbaseUrl=require("../utils/env1").dev;//测试环境constbaseURL="https://v.api.aa1.cn/api/pyq";//公用总路径地址//专属域名//暴露出去一个函数,并且接收一个外部传入的参数exportconstrequest=(params)......
  • 仿奈雪の茶小程序,奶茶小程序模板源码(附全套源码下载链接)
    分享一个仿奈雪の茶小程序,奶茶小程序模板源码(兼容H5版本全网首发)完美复刻奈雪の茶小程序,可稍加修改使用。代码结构如下本项目包含:首页点餐(自取和外卖两种方式,有基本的点餐逻辑处理)取餐我的积分商城积分商城详情页积分签到会员码我的卡券收货地址我的资料我的订......
  • Android应用程序主要组件知识小结
    Android系统中通过几个主要的组件以其灵活的组织方式在方便了开发者的同时,也不失其炫丽的效果,实在是值得我不断深入了解和学习,下面的图作为近一段时间对Android组件知识的一个小结,难免有遗漏或错误之处,敬请各位不吝赐教。我觉得深刻理解和掌握这几个组件的使用方法以及相互关系,就......
  • 陪诊小程序开发|陪诊系统定制|医院陪诊小程序
    随着生活节奏加快,很多年轻人或者老年人都与家人分开在不同城市,一旦出现需要就医的情况,一个人就会有点力不从心。特别是面对医院繁杂的排队和挂号,让本身身体就不舒服的病人更是个人就医困难。那么我们在陪诊小程序的时候需要设计哪些功能呢?陪诊系统功能:1、全程代办:可以代为患者办理......
  • 5月书讯 | 备受期待的《NGINX经典教程》来啦!
    5月已经过半,今年计划读的书,你进行的怎么样了?在这个充满生机的5月,图灵即将有5本好书上市。快来看看都有什么吧!备受期待的《NGINX经典教程》终于来啦!这本书是新技术趋势下,对NGINX的全新解读。关注NGINX的基础、用法和现代场景,一本足够,带你全面了解NGINX开发。除此之外,《深......
  • 无涯教程-jQuery - bind( type, data, fn )方法函数
    bind(type,[data],fn)方法将处理程序绑定到每个匹配元素的一个或多个事件(如click)。也可以绑定自定义事件。bind(type,[data],fn)-语法selector.bind(type,[data],fn)这是此方法使用的所有参数的描述-type   - 一种或多种事件类型,以空格分隔。data  ......
  • 基于微信小程序的校园设备报修平台的设计与实现-计算机毕业设计源码+LW文档
    【摘要】随着互联网技术的发发展,计算机技术广泛应用在人们的生活中,逐渐成为日常工作、生活不可或缺的工具。在高校,各种管理系统层出不穷,为校园设备报修管理开发必要的系统,能够有效的提升管理效率。一直以来,校园设备报修一直没有进行系统化的管理,学生无法快速进行报修,由此提出开发基......