大学时期曾学过C++的知识,那时候也没有使用VS这样高档的IDE工具,就是C++6.0那样来的。对于重新拾起C++来说,换了个IDE,那么就先从使用IDE学起吧~
作者:苏生米沿
本文链接:http://blog.csdn.net/sushengmiyan/article/details/19928989
安装的VS是个中文版本的,嗯,使用起来少了一些英文的对比翻译,在安装的时候就选择了使用C++作为主要开发语言。所以现在新建项目也比较顺畅。
1.文件---新建---项目,弹出了新建项目设置向导窗体:
这里选择WIN32控制台应用程序即可,其实现在学习C++纯粹为了项目需要而已,这样的windows程序,觉得有些过于呆板,不过项目需要,还得照旧学。就选win32的控制台程序,在名称那里,输入项目名称 我这里选择了输入sushengmiyanTest,然后点击确定,进入应用程序设置向导。如图
这里因为只是为了演示hellowrd。也就不需要设置太复杂的东西,后期如果需要再来设置吧,这里直接点击完成。
程序会直接进入代码编辑页签,出现如下代码
全部代码如下:
// sushengmiyanTest.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" int _tmain(int argc, _TCHAR* argv[]) { return 0; }这些代码在物理磁盘中就是以Cpp文件格式存在的,可以选择使用记事本打开这个文件,可以看到同样的代码,这个跟Java语言的.java文件和Delphi的.pas文件或者Python的.py文件是一个道理,这里不多说。可以在该页签,就是上方全局范围那儿,右键---打开所在文件夹,在打开路径下可以看到该.Cpp文件,如图:
可以看到sushengmiyanTest.cpp文件,notepad记事本打开这个文件,可以看到跟在VS中一样的代码~,这就是C++的源代码。
其他文件.user 大致是用户配置文件 .vcproj是VS工程文件,·.h是头文件。
好吧。现在开始写个Helloworld.
写完之后的代码如下:
// sushengmiyanTest.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include <iostream> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { cout<<"hello world"<<endl<<endl; system("pause"); return 0; }
对比可知道,新加的代码是头文件中
#include <iostream>//引入文件读写流
using namespace std; //这个是C++标准 具体可以看 http://bbs.csdn.net/topics/80135755
在主方法中也加了两行
cout<<"Hello world"<<endl<<endl;在控制台输出 helloworld
system("pause"); 暂停,要不然会dos界面会一闪而过。
写完之后,F5运行,可以看到界面如下:
好了,第一个Helloworld就运行起来了。
下面就简单说说这不多的几行代码。
主要的前面也已经说过了,#include 紧跟着的是头文件,因为这里需要使用其他的一些头文件,所以这里会制定需要用哪些。
int _tmain(int argc, _TCHAR* argv[]) 这个是函数,在这里也是主函数,是程序执行入口
下面花括号分别代码函数开始和函数结尾。
中间的几句也已经说过,就是控制台输出。
刚读到cout和<<的含义:cout是标准的输出流 >>是输出运算符, 而输入运算符刚好是反过来的,即<<是输入运算符。
以上代码还可以是这样:
// sushengmiyanTest.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include <iostream> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { cout<<"hello world \n"; system("pause"); return 0; }
或者这样
// sushengmiyanTest.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include <iostream> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { cout<<"hello world"; system("pause"); return 0; }
这都是可以正常编译和生成的,只不过,是hello world的换行问题而已了。