C++绪论
c++是c语言的扩充,C++包含了C的所有属性,换一句话说,C语言在C++中都合法。
C语言编程思想:面向过程
c++编程思想:面向对象
可以说在C++中一切皆对象。
c++的三大属性:封装,继承,多态。
C++对C的兼容
1> C语言文件
编写一个C语言文件:XXX.c 编译:gcc XXX.c
2> C++语言文件
编写一个C++文件:XXX.cpp 编译:g++ XXX.cpp
3> 头文件
C: 以.h结尾的文件 eg:#include
C++: 不以.h结尾 eg:#include
C++的第一条语句
cout
cout是输出类的类对象,具有输出功能,可以自动识别数据类型,无需加格式符。
<< 插入符 (输出符)
endl :换行
cin
cin 是输入类的类对象,具有输入功能,可以自动识别数据类型,无需加格式符
>> 提取符(输入符)
不需要给变量加地址符
C++中的数据类型
C++的数据类型:基本数据类型、构造数据类型
基本数据类型:char、short、int、long、float、double、bool、string
构造数据类型:数组、指针、结构体、共用体、枚举、类
C++中字符串类型string
字符串类型的初始化和赋值
string str1; // == int a 无参构造函数
string str2 = "hello world"; //定义变量的同时赋值,初始化
cout << str2 << endl;string str3 = str2; //将str2的值赋值给str3
cout << str3 << endl;string str4(str3); //str4 = str3 有参构造函数
cout << str4 << endl;str1 = "hello kitty"; //赋值操作
string str5(str1,3); //将str1从下标为3的地方开始赋值给str5
cout << str5 << endl;
char *p = (char *)"abcdfdjgk"; //string 类型和char *不是一种类型
字符串中常用的函数
size(): 元素个数
empty(): //判断字符串是否为空,如果为空放回true,否则false
capacity(): //计算容量大小
C++中的字符串和C语言中字符串的风格互换
1> C语言风格的字符串可以直接转换成C++风格的字符串
2> C++风格的字符串不可以直接转换成C语言风格的字符串
字符串元素的访问
1> 下标 -------->不判断是否越界
2> at() ----------->判断是否越界
字符串的比较
由于C++中有字符串类型的变量,所以字符串之间的比较,就可以使用关系运算符直接比较即可。
字符串的输入
string userName;
//cin >> userName; //cin输入字符串 以空格作为结束
//cout << userName << endl;
getline(cin,userName); //包含空格
cout << userName << endl;
C++数组array
需要包含头文件 #include <array>
array< array<int,2>, 3> a; // === int a[3][2]
array< array<int,2>, 3>::iterator iter1; //迭代器 遍历每一个一维数组
array<int, 2>::iterator iter2; //遍历一维数组的每一个元素
for(iter1 = a.begin(); iter1 != a.end(); iter1++)
{
for(iter2 = (*iter1).begin(); iter2 != (*iter1).end(); iter2++)
{
cin >> *iter2;
}
}
for(iter1 = a.begin(); iter1 != a.end(); iter1++)
{
for(iter2 = (*iter1).begin(); iter2 != (*iter1).end(); iter2++)
{
cout << *iter2 << " ";
}
cout << endl;
}
作业