数组
知识点题目 字符串
ASCII码字符数组字符串输入输出字符串 *** 作遍历字符串字符串流题目
数组
字符串
所有题目来自ACWing
从零开始学C++系列
从零开始学C++之基本知识
从零开始学C++之数组和字符串
从零开始学C++之函数、结构体、类、指针、引用
数组 知识点
全局变量的定义,默认值为0,存在堆空间,无长度限制,堆里虚拟分配,使用再开内存,没开的时候标记全部指向0,零页
局部变量,默认值是随机的,存在栈空间,在栈空间中的变量会占内存
定义数组
int a[100], b[10]; float c[20]; double d[10]; char e[14]; string g[25]; // 字符串数组 单个元素是一个字符串 //相当于二维数组
cstring头文件中的一些函数
memset()初始化: -> 比循环赋值效率高赋值是按字节赋值,因此只有赋予-1和0时才与预期一致。其最后一个参数的单位是Byte
格式 memset(数组名, 将每个字节初始化成什么值, 初始多长(单位是Byte))
例如:memset(a, 0, sizeof a); 将数组a赋为全0memcpy()复制:格式:memcpy(目标数组名, 源数组名, 源数组Byte长度)
memcpy(b, a, sizeof a);
sizeof 可不加括号,即可这样使用sizeof a,其返回单位是Byte
753. 平方矩阵 I
754. 平方矩阵 II
756. 蛇形矩阵
背下来
48 ~ 57 : 0 ~ 965 ~ 90 : A ~ Z97 ~ 127 : a ~ z 字符数组
字符串是字符数组加上结束符"",字符数组长度至少比字符串多1
//环境 VSCode char a1[] = {'B', '+', '+', ''}; char a2[] = "C++"; char a3[] = {'A', '+', '+'}; char a4[] = {'C', ''}; cout << sizeof a2 << endl; // 4 cout << sizeof a3 << endl; // 3 printf("%sn", a2);//输出是C++ printf("%sn", a3); //输出是A++C++字符串输入输出
输入
C语言
char s[N]; scanf("%s", s); // 不能读取含空格、换行符的字符串 gets(s); // 能读取含空格的字符串,同时自动去掉换行符n fgets(s, N, stdin); // 能读取含空格的字符串,但不会去掉换行符n。【注意】
C++
#includestring str; cin >> str; // 能读取含空格、不能读换行符的字符串 getline(cin, str); // 能读取含空格的字符串,同时自动去掉换行符n
输出
puts(s); printf("%sn", s); cout << s << endl;字符串 *** 作
库
#include遍历字符串// 初始化 string s1; // 默认空字符串 string s2 = s1; // s2是s1的一个副本 string s2 = "hiya"; // s3是该字符串字面值的一个副本 string s4(10, 'c'); // s4的内容是cccccccccc //读入/输出 //不能用scanf读入,但可以用printf输出 cin >> s1; getline(cin, s1); printf("%s", s1.c_str()); // 返回存储s1的字符数组的首地址,用printf输出 puts(s1); s1.empty(); // 判断是否为空字符串 s1.size(); // 长度,与stelen()不同的是,这个复杂度是O(1),不用额外的变量保存 s1.pop_back(); // 删掉最后一个字符 s1.substr(begin, length); //位置指定的子串 // 按字典序比较 ">"、"<" // 加法拼接时,要保证加号两边至少有一个string变量 for (char ch : str) {...} // 遍历(不可修改字符) for (char &ch : str) {...} // 遍历(可修改字符) auto s; // 可以自动判别类型
双指针算法
从前向后遍历整个字符串
for(i=0;i字符串流 库
#includestring s; stringstream ssin(s); while(ssin >> s) {...} // 按空格拆分成 字符串s,例如英语句子拆分单词 // 可用如下代码代替 while(cin >> word) { ... } 题目
763. 循环相克令
772. 只出现一次的字符
770. 单词替换
771. 字符串中最长的连续出现的字符
777. 字符串乘方
779. 最长公共字符串后缀欢迎分享,转载请注明来源:内存溢出
评论列表(0条)