字符:由引号括起来的英文、数字、标点符号组成的单个内容 字符串:多个字符连接到一起称为字符串,用双引号括起来 字符串和字符数组的区别:字符串末尾必须有'\0'空字符 ## 以字符串对字符数组进行初始化 char a[5]={"abcd"}; //存:'a' 'b' 'c' 'd' '\0' char a[5]={"abcde"};//报错 没有给空字符留位置 char a[5]="abcd"; //可以省略大括号 ##字符串 string 类型 字符串创建后,在内存中,存放的位置,与基本数据类型不同 string 字符串名; 输出字符串占用的空间大小,输出的不唯一,结果是几个字节 cout<<sizeof("字符串");//使用电脑进行输出,考试以电脑输出为准 学习字符串:是一个单独的结构,不是数组 字符串拥有与字符数组相同的功能,可以使用下标 string s; cin>>s; cout<<s; //无法输入空格 //使用下标输出字符串中每个元素 for(int i=0;i<s.size();i++){ cout<<s[i];//s[i]代表的是字符串中,当前位置的字符 } getline(cin,字符串名);//字符串的有空格的输入 # 字符串的函数(解决问题的方法) ## size s.size();//获取字符串的实际个数 不会带空字符 ## length s.length();//与s.size()没有区别获取字符串长度 ## resize s.resize();//重置长度 > string s="abc"; 原字符串长度为 3位字符 > s.resize(2); 重置长度为2 > cout<<s; 结果只保留前两位 ab ## compare 字符串的比较:看哪个字符串大、小、相等 s1.compare(s2); //比较s1比s2如何,返回一个数字, 正数1 表示s1大, 负数-1 表示s2大, 0 表示一样大 string支持使用关系运算符 > < >= <= == != string s ="9"; string s2="123"; if(s>s2) cout<<s; else cout<<s2; 此时,s大,字符串比较大小,是根据ascii值比较 对两个字符串自左向右逐个(字符)相比按ASCII码比较, 直到出现不同的字符或遇到'\0',如果全部字符相同,则 认为相等,若出现不相同的字符,则以【第一个不相同的 字符的比较结果】为准。 如何让数字形态的字符 变成它对应的字符? '字符'-'0' 如果想比较字符串中代表的数字大小,怎么操作: 例如 “123” -- “789” 让数字一百二十三 和七百八十九 比较 类型转换 将字符串“123”变数字一百二十三... int a=0; int b=0; for(int i=0;i<s.size();i++){ a=a*10+s[i]-'0'; } for(int i=0;i<s2.size();i++){ b=b*10+s2[i]-'0'; } if(a>b) cout<<s; else cout<<s2; (责任编辑:lizq) |