算法入门 语法复习补充(C++)
参考C/C++基础
1、基本输入输出语法
//end1 换行
//(numeric_limits<bool>::max)() 求类型的最大小取值
cout << "type: \t\t" << "************size**************" << endl;
cout << "bool: \t\t" << "所占字节数:" << sizeof(bool);
cout << "\t最大值:" << (numeric_limits<bool>::max)();
cout << "\t\t最小值:" << (numeric_limits<bool>::min)() << endl;
2、类型转换
- 两者运算时,长度短的像长的转
- 字节数相同,两个一个有符号一个无符号,则转为无符号的先。
- char和short参与运算,先转为int
- 赋值时,右边的类型转为左边的,这样右边长的时候,会丢失数据
3、运算符
&&与||具有短路特性,
&& ++才为+
|| --才为-
&用法:只有2个都为1,那么结果是1,否则为0:1&1=1,1&0=0,0&0=0,0&1=0;
|用法:只要有一个是1,那么结果为1,否则为0:1&1=1,1&0=1,0&0=0,0&1=1;
4、语法补充:
//switch
switch(expression){
case constant-expression :
statement(s);
break; // 可选的
case constant-expression :
statement(s);
break; // 可选的
// 您可以有任意数量的 case 语句
default : // 可选的
statement(s);
}
5、Lambda函数:
// 定义简单的lambda表达式
auto basicLambda = [] { cout << "Hello, world!" << endl; };
// 调用
basicLambda();
// 输出:Hello, world!
[ ] 是 lambda 引出符。编译器根据该引出符判断接下来的代码是否是 lambda 函数。
{ }:函数体。内容与普通函数一样,不过除了可以使用参数之外,还可以使用所有捕获的变量
6、数组,字符串
数组:
静态 int array[100]; 定义了数组 array,并未对数组进行初始化
静态 int array[100] = {1,2}; 定义并初始化了数组 array
动态 int* array = new int[100]; delete []array; 分配了长度为 100 的数组 array
动态 int* array = new int[100]{1,2}; delete []array; 为长度为100的数组array并且初始化前两个元素
字符串:
定义字符串:char str[11] = “Hello”;
string类提供了一系列针对字符串的操作,比如:
- append() – 在字符串的末尾添加字符
- find() – 在字符串中查找字符串
- insert() – 插入字符
- length() – 返回字符串的长度
- replace() – 替换字符串
- substr() – 返回某个子字符串
7、C++输入输出
标准输出流cout:
标准输入流cin:
char name[50];
cout << "请输入您的名称: ";
cin >> name;
cout << "您的名称是: " << name << endl;
本人第一篇博客,其实也是参考文章复习了下简单语法,记录下。之后要正式学习算法,从算法笔记入手。
加油干,保持热情,保持期望!