Bootstrap

C++复合类型

数组

数组声明:
1.存储在每个元素中的值的类型;
2.数组名;
3.数组中的元素数
声明数组的通用格式如下:

typeName arrayName[arraySize];

表达式arraySize指定元素数目,他必须是整型常数(如10)或const值,也可以是常量表达式(如8*sizeof(int))

字符串

字符串是存储在内存的连续字节中的一系列字符。C++处理字符串的方式有两种。第一种来自C语言,常被称为C-风格字符串,还有一种基于string类库的方法。
字符串初始化的方式可以如下:

char bird[11]="Mr.Cheeps";

拼接字符串常量

#include <iostream>

using namespace std;

int main()
{
   
    cout << "I'd give my right arm to be" "a great violinist." << endl;
    cout << "I'd give my right arm to be a great violinist." << endl;
    cout << "I'd give my right ar"
            "m to be a great violinist." << endl;
    return 0;
}

运行结果如下:

I'd give my right arm to bea great violinist.
I'd give my right arm to be a great violinist.
I'd give my right arm to be a great violinist.

注意,拼接时不会在被连接的字符串之间添加空格,第二个字符串的第一个字符将紧跟在第一个字符串的最后一个字符(不考虑\0)后面。第一个字符串中的\0字符将被第二个字符串的第一个字符串取代。

每次读取一行字符串输入

这里介绍另一种字符串读取方法,istream中的类(如cin)提供了一些面向行的类成员函数:getline()get()

面向行的输入:getline()

getline()函数读取整行,它使用通过回车键输入的换行符来确定输入结尾。可以使用cin.getline()

#include <iostream>

using namespace std;

char name[20];

int main()
{
   
    cin.getline(name,20);
    cout << "name :" << name <<endl;

    return 0;
}

输出结果:

daihang
name :daihang

getline的第一个参数是用来存储输入行的数组的名称,第二个参数是要读取的字符数。如果这个参数为20,则函数最多读取19个字符,最后一个存储需要自动在结尾处添加的空字符。

面向行的输入:get()

#include <iostream>
using namespace std;

char name1[20];
char name2[20];

int main()
{
   
    cin.get(name1,20);   //输入至name1
    cin.get();           //读取换行符
    cin
;