字符串(字符数组) ▣字符串的表示 口字符串输入输出 口字符串操作--相关函数 ▣字符操作函数 http://math.ecnu.edu.cn/~jypan
http://math.ecnu.edu.cn/~jypan 字符串 (字符数组) 字符串的表示 字符串输入输出 字符串操作 --- 相关函数 字符操作函数
字符串的声明与赋值 ▣ 字符串的表示:一维字符数组 char str[5]={'m','a','t','h',\g';/oK,只能用于初始化 char str[5]="math";//OK,只能用于初始化 char str[]="math";/oK,只能用于初始化 字符串以\G”为结束标志 一使用双引号时,会自动在最后添加结束标志 str- m a t h \e 口字符串赋值:逐个赋值,循环实现 char str[5]; str="Math";/ERROR:一维数组,不能直接赋值! 3 http://math.ecnu.edu.cn/~jypan
http://math.ecnu.edu.cn/~jypan 字符串的声明与赋值 3 字符串的表示:一维字符数组 ► 字符串以 “\0” 为结束标志 ► 使用双引号时,会自动在最后添加结束标志 字符串赋值:逐个赋值,循环实现 str m a t h \0 char str[5]={'m','a','t','h','\0'}; // OK,只能用于初始化 char str[5]="math"; // OK,只能用于初始化 char str[]="math"; // OK,只能用于初始化 char str[5]; str = "Math"; // ERROR:一维数组,不能直接赋值!
字符串的输出:cout ▣法一:单个元素单个元素输出→循环(数组方式) char str[20]="C++and Matlab"; for(int i=0;i<20;i++) if (str[i]!='\0') cout<str[i];/∥逐个输出 else break; 口法二:整体输出cout ex05_str_cout.cpp char str[20]="C++and Matlab"; cout<str<endl;/∥整体输出 注:输出字符中不含"0 4 http://math.ecnu.edu.cn/~jypan
http://math.ecnu.edu.cn/~jypan 字符串的输出:cout 4 法一:单个元素单个元素输出 循环(数组方式) char str[20]="C++ and Matlab"; cout << str << endl; // 整体输出 char str[20]="C++ and Matlab"; for(int i=0; i<20; i++) if (str[i]!='\0') cout << str[i]; // 逐个输出 else break; ex05_str_cout.cpp 注:输出字符中不含 "\0" 法二:整体输出 cout
字符串的输入:cin 口整体输入cin:输入单个字符串时,中间不能有空格 口如果需要输入多个字符串,以空格隔开 char str[5]; cin >str; ex05 str cin.cpp char str1[5],str2[5],str3[5]; cin >str1 >str2 >str3; 输入数据:How are you?内存中变量状态如下:str1: H str2: a str3: 10 char str[13]; cin>str;/∥输入数据:How are you?结果会怎样 5 http://math.ecnu.edu.cn/~jypan
http://math.ecnu.edu.cn/~jypan 字符串的输入:cin 5 整体输入 cin:输入单个字符串时,中间不能有空格 如果需要输入多个字符串,以空格隔开 输入数据:How are you? 内存中变量状态如下: H o w \0 a r e \0 y o u ? \0 str1: str2: str3: char str[5]; cin >> str; char str1[5], str2[5], str3[5]; cin >> str1 >> str2 >> str3; ex05_str_cin.cpp char str[13]; cin >> str; // 输入数据:How are you? 结果会怎样
getline和getchar 口整行输入 cin.getline(str,N,结束符); 连续读入多个字符(可以有空格),直到读满N-1个为止, 或遇到指定的结束符(不存储结束符) ·如果省略结束符,则默认为'(换行),即读取整行 ex05_str_getline.cpp char str[13]; cin.getline(str,13); ▣单个字符的输入 getchar(); char ch; ch=getchar(); 6 http://math.ecnu.edu.cn/~jypan
http://math.ecnu.edu.cn/~jypan getline 和 getchar 6 ► 连续读入多个字符(可以有空格),直到读满 N-1 个为止, 或遇到指定的结束符(不存储结束符) ► 如果省略结束符,则默认为 '\n' (换行),即读取整行 整行输入 cin.getline(str,N,结束符); char str[13]; cin.getline(str,13); ex05_str_getline.cpp 单个字符的输入 getchar(); char ch; ch=getchar();