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中输入代码


  
  1. #include<stdio.h>
  2. int main() {
  3. printf("hello world!!");
  4. getchar();
  5. return 0;
  6. }

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

3.按下任意键,退出

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

std::cout << "\""
 

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


  
  1. #include<stdio.h>
  2. #include<iostream>
  3. int main() {
  4. int number = 0;
  5. printf("1 hello world!!\n");
  6. number++;
  7. int n = 3;
  8. for (int i = 0; i < n; i++) {
  9. std::cout << i + 2 << " "<< "hello world!!" << std::endl;
  10. number++;
  11. }
  12. std::cout << "一共打印了" << number << "个""\"hello world!!""\"" << std::endl;
  13. getchar();
  14. return 0;
  15. }

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整体代码如下


  
  1. #include<iostream>
  2. int main() {
  3. int number = 0;
  4. const char* s ="hello world!!";
  5. std::cout << "字符串首字母是""\"" << *s << "\"" << std::endl;
  6. std::cout << "字符串首字母在ASCII码中的下一个是""\"" << *s + 1 << "\"" <<",为""\"" << (char)(*s + 1) <<"\""<< std::endl;
  7. std::cout << "字符串第二个字母是""\"" << *(s + 1) << "\"" <<std::endl;
  8. std::cout << number++ << " " << s << std::endl;
  9. int n = 3;
  10. for (int i = 0; i < n; i++) {
  11. std::cout << i + 2 << " "<< s << std::endl;
  12. number++;
  13. }
  14. std::cout << "一共打印了" << number << "个""\"" << s <<"\"" << std::endl;
  15. getchar();
  16. return 0;
  17. }

10.运行结果


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

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


  
  1. #include<iostream>
  2. int main() {
  3. const char *p[13] = { "h","e","l","l","o"," ","w","o","r","l","d","!","!"};
  4. for (int i = 0;i<13;i++)
  5. {
  6. std::cout << p[i];
  7. }
  8. std::cout << std::endl;
  9. for (int i = 12; i >= 0; i--)
  10. {
  11. std::cout << p[i];
  12. }
  13. return 0;
  14. }

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


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

文章来源: nickhuang1996.blog.csdn.net,作者:悲恋花丶无心之人,版权归原作者所有,如需转载,请联系作者。

原文链接:nickhuang1996.blog.csdn.net/article/details/88605617

(完)