1 如何学习C++
这个专题主要是针对,没有学过C++,但是有一定的C语言基础的,虽然是这样。但是对于学过其他语言或者没有接触过编程语言的同样适用,但因个人而异,可能会有差别。
在学习任何编程语言之前首先要做的事开发环境的安装,有关环境的安装这里不再介绍,想用那种开发环境也请自行解决。
本专题开发环境使用的是微软旗下的VS2017.当然你们亦可以使用CodeBlocks、DEVC++、VScode、cFRee、CLion等。
具体使用哪款就看自己了。反正也只是个工具而已。
在这里我希望大家能够上机操作,这样才能更好的学习,理解。学习没有什么特别好的方法,唯一的方法就是多看多练习,多写。
2- C与C++
我们首先来一段代码:
struct s
{
int num;
char sex;
int s1;
};
int main()
{
struct s QQ;
return 0;
}
上面这部分是C语言的代码。里面有3个成员变量。我们在主函数中又给这个结构体定义了变量QQ。这在C语言中是非常常见的。但是,既然C语言中有结构体,C++中是否存在呢?答案是肯定的的,C++中也有,只不过人家不叫结构体,叫做类。
下面再看一组代码:
class s
{
int num;
char sex;
int s1;
unsigned s1_C(void)
{
return s1;
}
};
int main()
{
class s QQ;
return 0;
}
看看这个可以和C语言中的结构体进行对比,C++中引入了class。当然叫法也不一样,C++叫做类,成员变量叫属性,里面那个函数叫方法。也就是说,Class类有属性和方法两部分。
C++是C语言的继承也可以说是扩展。基本上C语言的优点C++算是全部继承了。所以有许多地方是相同的,当然也有很多引入的东西或者扩展的。这个咱们一点一点的介绍。
3 第一个C++程序
经过上面的讲述,大家应该知道C++是怎么一回事了。
现在咱们正式进入C++。
咱们先看一段代码:
#include<iostream>
using namespace std;
int main(void)
{
cout<<"你好!,老大爷!!"<<endl;
}
运行程序:
CMD显示:
你好!,老大爷!!
如图所示:
下面咱们就对这个程序详细的说一下(注释什么的不说了和C语言一样)
第一:#include这个是头文件,是不是和C文件中的头文件不一样。以前人家也是带的,只不过后来没有了。
第二:using namespace std;这个叫做变量命名空间,是声明一个叫做std命名空间。
什么是命名空间?
这是C++引入的一个东西,目的是为了防止多个模块名字的冲突。就像两个房间,如果房间号一样,你知道哪个房间是你的那一间吗。
命名空间总共有三种形式:
上面是咱们说的第一种情况,那个就相当于全局变量。
下面咱们说说其他两种情况:
1-:用域限定符::来逐个制定,上面的代码还可以这样写:
#include<iostream>
int main()
{
std::cout<<"你好!,老大爷!!"<<std::endl;
return 0;
}
2- 用using和域限定符一起制定用啥名字
#include<iostream>
using std::cout;
using std::endl;
int main()
{
cout<<"你好!,老大爷!!<<endl;
return 0;
}
第三 :cout相当于C语言中的printf但是还是有所不同的,cout不用输出时设置什么类型。
第四:endl,end是结束的意思,完整的是 end line 结束本行。既然这行结束了,那就换行了。
C++ 的“printf”和“scanf”
C++程序中程序的输入输出,不仅完全兼容C的写法,即使用printf和scanf函数来实现以外,C++也有自己的一套输入输出。C++中的输入输出流分别用cin和cout来表示,使用之前需要以来标准库iostream,即也要开头加一句#include,下面给大家说说如何使用cin和cout。
cout输出
语句:
cout<< 操作符
例如:打印出:你大爷
cout<<“你大爷”
,提到cout,最常用到的还有endl操纵符,可以直接将它插入到cout里,起输出换行的效果。
cout <<“输入的x: “<<x<<” 输出y的值:”<<y<< endl;
就这样用的,其他的请自行验证
cin输入
#include<iostream>
using namespace std;
int main(void)
{
int x=0, y = 0;
cout << "Please input num x:" ;
cin >> x;
if (x < 1)
{
y = x;
}
else if ((x >= 1) && (x < 10))
{
y = 2 * x - 1;
}
else if (x >= 10)
{
y = 3 * x - 11;
}
cout <<"输入的x: "<<x<<" 输出y的值:"<<y<< endl;
return 0;
}
就到这吧。