网站开发市场价,地推项目对接平台,申请app一般需要多少费用,建设地方性宠物网站文章目录 【 字符串相关 】C 输入输出流strcpy_s() 字符串复制输出乱码 【 STL 】各个 STL 支持的常见方法 ? : 运算符switch case 运算符
switch(expression)
{case constant-expression :statement(s);break; // 可选的case constant-expression :statement(s);break; //… 文章目录 【 字符串相关 】C 输入输出流strcpy_s() 字符串复制输出乱码 【 STL 】各个 STL 支持的常见方法 ? : 运算符switch case 运算符
switch(expression)
{case constant-expression :statement(s);break; // 可选的case constant-expression :statement(s);break; // 可选的default : // 可选的statement(s);
}
C可以不必在程序运行前定义好所有变量。5/22例如cout 5/2; 输出为 2。在 C 语言中数组的大小必须在使用前已知并且这个大小在整个程序的运行过程中不能改变除非使用动态数组。因此数组的大小通常由常量来定义而不是变量。这是因为 编译时分配内存数组在内存中的存储是连续的编译器需要在编译时知道数组的大小以便为数组分配足够的连续内存空间。如果数组的大小在编译时未知编译器就无法进行内存分配。
【 字符串相关 】
C 输入输出流
输入字符串
char s[100]; cin.getline(s, 100);输入 string类
string s; getline(cin, s);strcpy_s() 字符串复制
#include iostream
#include cstring
using namespace std;int main()
{char s1[] 123456; //普通字符串int n sizeof(s1) / sizeof(char);char* s2 new char[n]; //动态字符串strcpy_s(s2, n, s1); //字符串复制cout n endl;cout s2endl;return 0;
}输出乱码
cout value; cout会自动根据value的类型进行输出 当 value 类型为 char* 时cout会从 value 这个 char * 地址开始遍历地址对应的元素直至遇到 ‘\0’ 字符。实例 s1 是字符数组直接将地址 s1 输出会因为没有遇到 ‘\0’ 字符输出乱码。 s2 是申请了类型为char大小为n的首地址对其赋值后也会由于没有遇到 ‘\0’ 字符输出乱码。 而在 s2 的末位元素赋值为 ‘\0’ 后将不再出现乱码。
// 将 s1 的前 n 个元素赋值给 s2。
#include iostream
using namespace std;int main()
{int n;cin n;char s1[] {1,2,3,4,5};char* s2 new char[n];for (int i 0; i n; i)s2[i] s1[i];cout s2 endl;s2[n] \0;cout s2 endl;return 0;
}【 STL 】
各个 STL 支持的常见方法
STL名称支持的常见方法vector大小size() 尾添加push_back()头尾指针 begin()、end()deque大小size() 头尾添加push_front()、push_back()头尾删除pop_front()、pop_back()头尾指针 begin()、end()set大小size() 插入insert()、emplace()删除erase()查找 find()最小的大于 val 的元素upper_bound() 头尾指针 begin()、end()map大小size() 插入insert()、emplace()删除erase()查找 find()头尾指针 begin()、end() 最小的大于 val 的元素upper_bound() 头尾指针 begin()、end()stack大小size() 压栈push()栈顶元素删除pop()栈顶指针 top() queue大小size() 尾添加push()头删除pop()头尾指针 front()、back()