还不想使用vs2019的用户可以看博主的vs2017这篇博客:vs2017安装和使用教程(详细)里面涵盖了大部分编程语言和项目的示例,从初学vs到算法设计,面向对象和深度学习部分,带领大家使用vs2017
vs2019安装教程(里面有下载地址):vs2019安装和使用教程(详细)
这是针对于以上安装教程的C++项目新建示例,与vs2017稍有不同,旨在示范从项目搭建到程序运行的简单流程,代码就是打印Hello World,适合初次使用vs2019的用户~
如果对于算法设计与分析感兴趣的可以订阅我的专栏:算法设计与分析
vs2019的MFC使用博主也提供了十分详细的范例,博客为:
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安装和使用教程(详细)