企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
>[info]# 字符串变量 是一种新的数据类型,可以用来定义变量。 ## **头文件** string.h //C语言中的头文件 cstring //C++中的头文件,相当于C中的string.h string //C++中的头文件,包含字符串类。 ## **定义与引用** ### **定义** ``` string str1; //定义str1这个变量 string str2="China" //定义str2这个变量的同时,给它赋值 ``` 与普通变量一样,字符串对象也要先定义后使用. ### **赋值** ``` string string1,string2; //定义 string1=”Canada”; //赋值 string2=string1; //赋值 ``` ``` char str1[5],str2[5]; //定义字符数组 str1="Hello!"; /*error,字符串常量结尾有‘\0’,将字符串常量赋给字符串变量时,只存放了字符,并 没有加上'\0' */ str2=str1; //error ``` ``` string word="Then"; //定义并初始化 word[2]='a'; //修改后word的值为Then ``` ### **运算** - 字符串复制:用"=" - 字符串连接:用”+“ - 字符串比较:直接用关系运算符 "==",">=”,"<=","!=",">","<" ## **字符串数组** ``` string str[5]; //定义一个含五个字符串的数组 str[5]={"zhang","li","fun","wang","tan"}; //给数组赋值 ``` ## **例子** ``` /* 字符串运算 */ #include <iostream> #include <string> using namespace std; int main( ) { string string1,string2,string3,temp; cout<<″please input three strings:″; //这是对用户输入的提示 cin>>string1>>string2>>string3; //输入3个字符串 if(string2>string3) { temp=string2; string2=string3; string3=temp; } //使串2≤串3 if(string1<=string2) cout<<string1<<″ ″<<string2 <<″ ″<<string3<<endl; //如果串1≤串2,则串1≤串2≤串3 else if(string1<=string3) cout<<string2<<″ ″<<string1 <<″ ″<<string3<<endl; //如果串1>串2,且串1≤串3,则串2<串1≤串3 else cout<<string2<<″ ″ <<string3<<″ ″<<string1<<endl; //如果串1>串2,且串1>串3,则串2<串3<串1 } ``` ``` #include <iostream> #include <string> using namespace std; string name[50],num[50]; //定义两个字符串数组,分别存放姓名和学号 int n; //n是实际的学生数 int main( ) { void input_data( ); //函数声明 void search(string find_name); //函数声明 string find_name; //定义字符串变量’find_name是要找的学生 cout<<″please input number of this class:″; //输入提示:请输入本班学生的人数 cin>>n; //输入学生数 input_data( );//调用input_data函数,输入学生数据 cout<<″please input name you want find:″; //输入提示: 请输入你要找的学生名 cin>>find_name; //输入要找的学生的姓名 search(find_name); //调用search函数,寻找该学生姓名 return 0; } void input_data( ) //函数首部 { int i; for (i=0;i<n;i++) { cout<<″input name and NO. of student ″ <<i+1<<″:″; //输入提示 cin>>name[i]>>num[i]; } //输入n个学生的姓名和学号 } void search(string find_name) //函数首部 { int i; bool flag=false; for(i=0;i<n;i++) if(name[i]==find_name) //如果要找的姓名与本班某一学生姓名相同 { cout<<name[i] <<″ has been found, his number is ″ <<num[i]<<endl; //输出姓名与学号 flag=true; break; } if(flag==false) cout<<″can′t find this name″; //如找不到,输出“找不到”的信息 } ```