vs2019 开始自己的第一个C++程序

还不想使用vs2019的用户可以看博主的vs2017这篇博客:vs2017安装和使用教程(详细)里面涵盖了大部分编程语言和项目的示例,从初学vs算法设计面向对象深度学习部分,带领大家使用vs2017


vs2019安装教程(里面有下载地址):vs2019安装和使用教程(详细)

这是针对于以上安装教程的C++项目新建示例,与vs2017稍有不同,旨在示范从项目搭建到程序运行的简单流程,代码就是打印Hello World,适合初次使用vs2019的用户~


如果对于算法设计与分析感兴趣的可以订阅我的专栏:算法设计与分析


vs2019MFC使用博主也提供了十分详细的范例,博客为:

vs2019 MFC实现office界面的画图小项目(超超级详细)


一、新建项目

1.点击菜单栏-->文件-->新建-->项目,我们可以看到上方存在的语言平台项目类型的选项

(1)语言这里我们就选择C++,或者所有语言

(2)平台这里我们就选择windows,或者所有平台

(3)项目类型这里选择控制台,或者所有项目类型

博主这里以C++为例,选择空项目,我们来写一个简单的打印hello world的程序

2.改变默认路径,填写项目名称,可勾选将解决方案和项目放在同一目录中

3.可以看到并且可以看到项目结构:

  • 引用
  • 外部依赖项 
  • 头文件
  • 源文件
  • 资源文件

                                                             

3.右键源文件,点击“添加-->新建项”,改名(我这里是main.cpp),点击添加

4.生成以下界面

二、代码演示

1.在main.cpp中输入代码

#include<stdio.h>

int main() {
	printf("hello world!!");
	getchar();
	return 0;
}

2.点击“本地Windows调试器”,运行结果

3.按下任意键,退出

4.最近比较忙,评论区里回复博主也仔细看了看,确实有一些简单(>_<),所以稍微增加一些代码。博主现在添加了一个for循环,并且输出了打印”Hello world!!”次数,但是如果想用双引号强调输出的内容,则需要利用转义"\"来输出。C++中所有的特殊字符都可以通过添加转义符"\"来输出。如果想单独输出双引号则可以

std::cout << "\""

输出”hello world!!”次数main.cpp如下

#include<stdio.h>
#include<iostream>
int main() {
	int number = 0;
	printf("1 hello world!!\n");
	number++;
	int n = 3;
	for (int i = 0; i < n; i++) {
		std::cout << i + 2 << " "<< "hello world!!" << std::endl;
		number++;
	}
	std::cout << "一共打印了" << number << "个""\"hello world!!""\"" << std::endl;
	getchar();
	return 0;
}

5.运行结果 


对于新手,稍微有些难度的地方来了

6.程序里每次输入代码都要输入“hello world!!”这太麻烦了。因此我们可以定义一个字符指针指向这个字符串const指的是常量

const char* s ="hello world!!";

7.如何输出这个整个字符串呢?我们可以直接这么写,相当于现在指针*s指向"h"这个字母的地址,也就是首地址,就是只有知道它才会知道整个字符串

	std::cout << s << std::endl;

而如果是下面这样,则是指输出s指向的位于这个地址的变量,也就是一个字符“h”,因此只输出一个“h”

	std::cout << *s << std::endl;

 8.那如果我想输出字符串中第二个字符呢?如果我们这么写,则是输出了"h"ASCII码表中的下一个,也就是"i",这个输出结果为105这显然是不对的!

但是为什么输出的是数字呢?因为这里+1操作只有像int类型的变量才能+1,因此这里相当于变成了数字104+1=105

	std::cout << *s + 1 << std::endl;

如果想输出字符,则需要在前面加一个(char),强制类型转换字符型

	std::cout << *s + 1 << "为" << (char)(*s + 1) << std::endl;

ASCII码表如下,可以看到"h"ASCII码104"i"ASCII码105

因此输出第二个字符的正确写法应该是这样的,注意括号的位置,这里相当于指针指向的位置向后移

	std::cout << *(s + 1) << std::endl;

9.最终main.cpp整体代码如下

#include<iostream>
int main() {
	int number = 0;
	const char* s ="hello world!!";
	std::cout << "字符串首字母是""\"" << *s << "\"" << std::endl;
	std::cout << "字符串首字母在ASCII码中的下一个是""\"" << *s + 1 << "\"" <<",为""\"" << (char)(*s + 1) <<"\""<< std::endl;
	std::cout << "字符串第二个字母是""\"" << *(s + 1) << "\"" <<std::endl;
	std::cout << number++ << " " << s << std::endl;
	int n = 3;
	for (int i = 0; i < n; i++) {
		std::cout << i + 2 << " "<< s << std::endl;
		number++;
	}
	std::cout << "一共打印了" << number << "个""\"" << s <<"\"" << std::endl;
	getchar();
	return 0;
}

10.运行结果


应评论区要求,这里提及一下指针数组

11.指针数组的使用也是学习C++的一项任务。先放代码,目的是把hello world!!这个字符串分别逐字符地顺序输出逆序输出

#include<iostream>

int main() {
	const char *p[13] = { "h","e","l","l","o"," ","w","o","r","l","d","!","!"};
	for (int i = 0;i<13;i++)
	{
		std::cout << p[i];
	}
	std::cout << std::endl;
	for (int i = 12; i >= 0; i--)
	{
		std::cout << p[i];
	}
	return 0;
}

12.这里的*p[13]相当于有13个指针分别指向hello world!!这个字符串的每一个字符,用for循环顺序和逆序遍历一下,结果如为:


返回至原博客:vs2019安装和使用教程(详细)

悲恋花丶无心之人 CSDN认证博客专家 深度学习 神经网络 Pytorch
计算机视觉在读研究生,熟悉Pytorch,MXNet,TensorFlow,Keras等深度学习框架,主要涉及的领域有目标检测,语义分割,超分辨率重建,行人重识别等。
个人GitHub网址为:https://github.com/nickhuang1996
©️2020 CSDN 皮肤主题: Age of Ai 设计师:meimeiellie 返回首页
实付 9.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值