在昨天的考试中深刻意识到了语法的重要性,所以决定去落实一下原来没学清楚的字符及字符串读取;
参考资料:
1.小黄;
2.小紫;
学习感悟:
1.以后学的每一样东西都要落实,不能马虎过关;
2.有一些模板化公式化的东西真的是要记住;
复习所得:
1.特意用来读字符的方式,如:getchar(void),gets(),getline等,速度都很快;
2.scanf读s%不打地址符!
3.scanf读到空格(cin读字符串也是),gets(),cin.getline(,长度)读到回车(getline(cin,)读字符串也是),puts输出一个换行;
4.string类处理起来要比字符数组慢很多(虽然很方便);
5.cstring函数库处理字符数组,其中主要函数有:
1).strncat(a,b,n)b连接前n字符到a后(字符一般一字节);
2).strncpy(a,b,n)b前n个字符复制到1;
3).strncmp(a,b,n)比较各自的前n个;
4).strlen(a)返回a长度(若多次调用会超时,卡掉了我两组数据);
P.S.:前四个去掉n则是全部(名字和变量都去n);
5).strlwr大转小;strupr小转大;
6.string和cctype函数库
1)string a(b)用b初始化a;
2)a.empty()空true不空false;
3)字符串可以加,减,等;
4)a.insert(n,b),a的下标为n(不是第n个!)之前插入b;
5)a.substr(n,len)返回string,从n下标起len个;
6)a.erase(n,len),删————(同上);
7)a.replace(n,len,b)n起删len个再插入b;
8)a.find(b,pos)从pos位置起找b第一次出现的位置,否则返回特殊值string::npos(肯定大于所有有效下标)
9)a.c_str()返回字符串临时指针;
(使用样例:sscanf(a.c_str(),"%d",&b);从a读入到b,顺便讲了:sprintf()输出到字符串
举个栗子:
int n=10000; chars[10];
sprintf(s,”%d”,n);// s中的内容为“10000”);
7.ASCII表划重点:65—90大写字母,97—122小写字母(不连续!因为这个错过!)
48——57数字;
刷题巩固:
一.(是的,万年不变)统计单词数!