定义

指元素是字符的数组,用来存放字符序列或字符串。字符串可以包含字母、数字、符号等多种字符,用于表示文本信息

字符数组 char[]

C++中,字符串被存储在char类型的数组中。

  • 字符串的末尾位置字符是 \0,空字符 null character
  • 非打印字符,其 ASCII 码值为 0。
  • 数组容量必须至少比待存储字符串中的字符多 1。
  • 字符串定义:char name[5];
  • 字符串和字符
    • 'A' 占一个字节
    • "A" 占两个字节,包括 '\0'
#include <bits/stdc++.h>
using namespace std;
int main() {
    char a='\0';//空字符,不存在这个字符
    char b=' ';//空格字符,编码是32 
    int x=a;
    int y=b;
    cout<<x<<endl<<y<<endl;
    return 0;
}

char[] 初始化

  • char ch[15]={'n','i','c','e',' ','t','u','l','i','n','g','.','\0'};
  • char ch1[15] = "nice tuling."; \\C++编译器会自动在字符串末尾添加空字符 '\0'
#include <iostream>
using namespace std;
int main() {
    // 必须有 '\0' 作为终止,否则可能会出现乱码
    char str[110];
    str[0] = 'a';
    //str[1] = '\0';
    cout << str << endl;

    char str2[110];
    str2[0] = 'b';
    str2[1] = '\0';
    cout << str2 << endl;

    char str3[110];
    str3[0] = 'c';
    cout << str3 << endl;

    return 0;
}

获取带空格字符串

  • cin.getline(数组名, 数组长度)
  • cin 与 cin.getline() 连用时,cin 后面加上 cin.ignore(),清除缓冲区。
#include <bits/stdc++.h>
using namespace std;
const int N = 110;
char str[N];
int main() {
    cin>>str;
    //cin.ignore();
    //cin.get();
    cin.getline(str,N);
    cout<<str<<endl;
    return 0;
}

char[] 字符串常用处理函数

字符串 string

string 是 C++ 的 STL(Standard Template Library 即标准模板库)提供的字符串类,用于处理字符串相关的问题。

string 初始化

  • string 类型声明:string s;
  • string 类型初始化:string s = "abc";`

输入

  • string 类型输入:cin >> s;
  • 输入带空格的字符串:getline(cin, s);

基本操作

  • 求字符串s的长度:s.size() s.length()
  • 获取字符串的某个下标对应的字符: s[下标]
  • 循环操作

    方法1

     string s;
     getline(cin,s);
     for(int i=0;i<s.size();i++){
              cout<<s[i];
     }
    

    方法2

     string s;
     getline(cin,s);
     for(int i=0;s[i]!='\0';i++){
              cout<<s[i];
     }
    
  • string 类型输出:cout << s;

[info] 使用string的优点

(1)长度可以理解为不限定。

(2)string 可以做加法,可以比较大小!

(3)string 有很多系统定义函数,方便我们编程。

string 常用处理函数

string和char[]有什么区别

(1)字符数组本质上还是数组,因此长度固定; string 可以理解为长度不限的字符串;

(2)字符数组的系统定义的函数过少,导致操作不方便; string 集成大量的系统函数, 方便操作;

(3)字符数组由于本质是数组,因此不能进行比较运算以及+运算; string 可以直接 做比较和+运算;

必做题单

作业

Copyright ©图灵之星 2024,转载需注明出处该文件修订时间: 2024-12-26 18:44:13

results matching ""

    No results matching ""