您现在的位置是:首页 >技术交流 >从C到C++网站首页技术交流

从C到C++

kali-Myon 2023-05-06 22:30:02
简介从C到C++

目录

1、输入输出库与名字空间

2、输入输出流对象cin和cout

3、string字符串类

4、bool类型

5、自增++自减--运算符(必考)

6、其他


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++源代码

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。