您现在的位置是:首页 >学无止境 >从C到C++网站首页学无止境
从C到C++
目录
1、输入输出库与名字空间
#include <iostream>
using namespace std;
每次写代码先把这两个东西加上
<iostream>是一个库,叫输入输出库
我们后面使用的cin、cout都是iostream库中,std名字空间下的一个对象
使用名字空间是为了区分同名符号,避免同名歧义
非常的形象
2、输入输出流对象cin和cout
“<<”是流插入运算符
用法:std::cout<<要输出的内容;
“>>”是流提取运算符
用法:std::cin>>要输入的内容;
当我们在程序开头加上了using namespace std;
就可以省略掉std::直接这样写 cin>>要输入的内容; cout<<要输出的内容;
先看一个例子
#include <iostream>
using namespace std;
int main()
{
int a, b;
cin >> a >> b;
cout << a << "+" << b << "=" << a + b;
return 0;
}
可以看到没有任何问题
但是我们如果去掉using namespace std; 直接报错
加上std::又可以了,很显然我们直接在开头加using namespace std; 更方便简化后面写代码
运行结果:
OK,通过上面一个简单求两个数相加的例子 ,我们已经知道了cin、cout的用法
3、string字符串类
string类是C++的字符串类,提供(封装)了很多工具(成员方法)供使用
同样我们先看一个例子
#include <iostream>
using namespace std;
int main()
{
string s = "ABCDE"; //定义一个字符串类变量s,值初始化为ABCDE
s[2] = 'c'; //访问2这个位置的元素,将它变成小写的c,注意是从0开始,所以2对应第三个元素
cout << s << endl; //输出修改后的s
cout << s.length() << endl; //输出字符串s的长度
s.append("123"); //给字符串s追加内容“123”
cout << s << endl; //输出追加后的s
s.clear(); //将字符串s内容清空,变为空字符串
cout << s; //输出清空后的s
}
点(“.”)表示调用对象的成员方法
用法:对象.函数()
比如 s.length()
变量(对象)s的一个工具(成员方法),length()是返回它的长度
endl就是换行,相当于' '
运行结果:
4、bool类型
取值只能为true或false
储存本质是单字节无符号整数1或0
(注意只要是非0即为true,输出也为1)
看例子
#include <iostream>
using namespace std;
int main()
{
bool a = true;
if (a) {
cout << a;
}
return 0;
}
运行结果:
输出为1
常考的是逻辑运算
#include <iostream>
using namespace std;
int main()
{
bool a = true, b = !a;
if (a && b) {
cout << "yes";
}
else {
cout << "no";
}
}
运行结果:
输出no
5、自增++自减--运算符(必考)
分两种
前自增自减(++a,--a):先自增自减,后执行表达式
后自增自减(a++,a--):先执行表达式,后自增自减
我们来看个例子就明白了
#include <iostream>
using namespace std;
int main()
{
int a=1, b;
b = a++;
cout << a << endl << b;
}
这里是后自增,则会先执行表达式,将a的值赋给b,a再自增
运行结果:
输出a是2,b是1
#include <iostream>
using namespace std;
int main()
{
int a=1, b;
b = ++a;
cout << a << endl << b;
}
这里则是前自增,a先自增为2,再赋值给b
运行结果:
可以看到输出a和b都为2
6、其他
C++兼容C语言,且是向下兼容,反过来就不对了
C++编译器能编译C语言和C++源代码