1.字符串变量的定义和引用

    • C++提供了一种新的数据类型—字符串类型(string类型)。
    • 头文件#include
    • 定义:string str1; string str2=”china”//定义字符串变量时不需指定长度,长度随其中的字符串长度改变。
    • 赋值:str=”Canada”; str2=str;//不必考虑等号两边的字符长短和越界问题
    • 对字符串变量中某一字符进行操作,如:

      1. string word = "then";
      2. word[2]='a';
    • 字符串输入: cin>>str;

    • 字符串输出:cout<<str;
    • string不是C++语言本身具有的基本类型,它是在C++标准库中声明的一个字符串类。
    • 每个字符串变量都是string类的一个对象。
    • 字符串复制: str2=str1;
    • 字符串连接: str3=str1+str2;
      • string string1=”C++”; //定义string1并赋初值
      • string string2=”Language”; //定义string2并赋初值
      • string1=string1+string2; //连接string1和string2
      • 连接后string1为”C++ Language”
    • 字符串比较: =、>、<、!=、>=、<=

    2.字符串数组

    • 例:

      1. string name [5]={"Zhang","Li","Fun","Wang","Tan"};
      1. ![批注 2020-08-11 235210.png](https://cdn.nlark.com/yuque/0/2020/png/2314091/1597161140127-9b27a48e-38e6-4c75-9488-f2051567201d.png#align=left&display=inline&height=200&margin=%5Bobject%20Object%5D&name=%E6%89%B9%E6%B3%A8%202020-08-11%20235210.png&originHeight=267&originWidth=347&size=17466&status=done&style=none&width=260)
      • 每个字符串元素的值只包含字符串本身而不包括’\0’.
      • 在定义字符串数组时怎样给数组分配存储空间?
        • 编译系统为每一个字符串变量分配4个字节,在这个存储单元中,并不是直接存放字符串本身,而是存放字符串的地址。
        • 字符串变量中存放的是字符串的指针(字符串的地址)。

    3.字符串运算实例

    • 输入3个字符串,要求将字母按由小到大输出
      #include<iostream>
      #include <string> 
      using namespace std;
      int main( )
      {string string1,string2,string3,temp;
      cout<<″please input three strings:″; 
      cin>>string1>>string2>>string3;
      if(string2>string3)
      {temp=string2;
      string2=string3;
      string3=temp;
      }
      if(string1<=string2)
         cout<<string1<<″ ″<<string2<<″ ″<<string3<<endl;
      else if(string1<=string3)
         cout<<string2<<″ ″<<string1<<″ ″<<string3<<endl; 
      else cout<<string2<<″ ″<<string3<<″ ″<<string1<<endl;
      }