类型

image.png

  1. #include <iostream> // 预处理
  2. int main(int argc, char const *argv[])
  3. {
  4. using namespace std; // 引入命名空间
  5. auto a = 3; // int
  6. auto b = 3.3; // double
  7. auto c = 3.4f; // float
  8. auto d = 3.5l; // long double
  9. cout << sizeof(a) << endl; // 4
  10. cout << sizeof(b) << endl; // 8
  11. cout << sizeof(c) << endl; // 4
  12. cout << sizeof(d) << endl; // 8
  13. cout << 2E+2 << endl; // 2 * (10 ^ 2) = 200
  14. cout << 2E-2 << endl; // 2 / (-10 ^ 2) = 0.02
  15. char ch = 'a'; // 字符
  16. char str[] = "abcdefg"; // 字符 , 7字节,要加上\0
  17. cout << ch << endl;
  18. cout << str << endl;
  19. cout << sizeof(ch) << endl; // 1字节
  20. cout << sizeof(str) << endl; // 8字节 要加上 \0
  21. cout << int(ch) << endl; // 强制转换 97
  22. getchar();
  23. /* code */
  24. return 0;
  25. }

常量

  1. /*
  2. 1.#define 宏常量:常量名 常量值
  3. 2. const 数据类型 常量名 = 常量值
  4. */
  5. #define a 11
  6. const int b 12;

例子

  1. #include <iostream> // 预处理
  2. #define a 11
  3. int main(int argc, char const *argv[])
  4. {
  5. using namespace std; // 引入命名空间
  6. cout << "hello world! lijunyang" << endl;
  7. int i = getchar();
  8. system("ls -al");
  9. const int b = 12;
  10. cout << a << "-" << b << endl;
  11. cout << b << endl;
  12. /* code */
  13. return 0;
  14. }

标识符命名规则

标识符不可以是关键字
标识符只能由字母,数字,下划线
第一个字符必须是字母或下划线
标识符区分大小写

sizeof

  1. // sizeof(数据类型 或 变量)
  2. #include <iostream> // 预处理
  3. int main(int argc, char const *argv[])
  4. {
  5. using namespace std; // 引入命名空间
  6. cout << sizeof(int) << endl; // 返回 4 表示 4字节
  7. int a[20];
  8. cout << sizeof(a) << endl; // 返回 80 表示 80字节
  9. getchar();
  10. /* code */
  11. return 0;
  12. }

转译字符

转译字符 含义 ascii码值(十进制)
\a 警报 007
\b 退格(BS),将当前位置移到前一列 008
\f 换页(FF),将当前位置移到下一页开头 012
\n 换行符 010
\r 回车符 013
\t 水平制表符 009
\v 垂直制表符 011
\\ \ 092
\‘ 039
\“ 034
\? ? 063
\0 0 000
\ddd 八进制转译符号,d范围0-7 3位八进制
\xhh 16进制转译符号,h范围0~9,a~f,A~F 3位十六进制

字符串表示

  1. #include <iostream> // 预处理
  2. #include <string> // 引入这个才能使用string类型
  3. int main(int argc, char const *argv[])
  4. {
  5. using namespace std; // 引入命名空间
  6. char str1[] = "hello world";
  7. string str2 = "hello world";
  8. /* code */
  9. return 0;
  10. }

布尔类型

  1. int main() {
  2. bool flag = true;
  3. cout << flag << endl; // 1;
  4. flag = false;
  5. cout << flag << endl; // 0
  6. cout << sizeof(flag) << endl; // 1
  7. getchar();
  8. return 0;
  9. }

cin

  1. #include <iostream> // 预处理
  2. #include <string> // 引入这个才能使用string类型
  3. int main()
  4. {
  5. using namespace std; // 引入命名空间
  6. string str = "hello";
  7. cout << str << endl; // "hello"
  8. cin >> str; // 输入 "hello world"
  9. cout << str << endl; // "world" 还是和长度息息相关
  10. bool __bool;
  11. // 输入number的非0值,都返回1
  12. // 输入0返回0,输入字符,字符串都返回0
  13. cin >> __bool;
  14. cout << __bool << endl;
  15. getchar();
  16. return 0;
  17. }

++a,a++,—a,a—

  1. #include <iostream> // 预处理
  2. #include <string> // 引入这个才能使用string类型
  3. int main()
  4. {
  5. using namespace std; // 引入命名空间
  6. int a = 0;
  7. int b = ++a; // 先执行 a += 1 然后在赋值
  8. int c = a++; // 先赋值给c,在进行a += 1
  9. // --a,a--都一样
  10. cout << a << endl; // 2
  11. cout << b << endl; // 1
  12. cout << c << endl; // 1
  13. return 0;
  14. }

取余,比较运算符

取余:只允许整型的取余;
比较运算符:返回 bool 类型,值是 0 | 1;

  1. int a = 10 > 2;
  2. bool b = 10 < 2;
  3. cout << a << endl; // 1
  4. cout << b << endl; // 0

循环

while (条件) {}; // 条件为真则,执行
do {} while (条件); // 条件为真则,执行
for (int i = 0; i < 10; i++) {}

  1. #include <iostream> // 预处理
  2. #include <string> // 引入这个才能使用string类型
  3. int main()
  4. {
  5. using namespace std; // 引入命名空间
  6. int a = 10;
  7. while(a > 0) {
  8. cout << a << endl; // 输出 10,9,8,...
  9. a--;
  10. }
  11. a = 10;
  12. do {
  13. cout << a << endl; // 输出 10,9,8,...
  14. a--;
  15. }
  16. while(a > 0);
  17. for (int i = 0; i < 10; i++)
  18. {
  19. cout << i << endl; // 输出 0,1,2,...
  20. }
  21. return 0;
  22. }

goto语句

  1. #include <iostream> // 预处理
  2. int main()
  3. {
  4. using namespace std; // 引入命名空间
  5. goto Flag;
  6. cout << "b" << endl; // 这里会被跳过
  7. Flag:
  8. cout << "a" << endl;
  9. return 0;
  10. }

数组

  1. #include <iostream> // 预处理
  2. #include <string> // 引入这个才能使用string类型
  3. int main()
  4. {
  5. using namespace std; // 引入命名空间
  6. int arr[5] = {1,2,3,4,5};
  7. // * 运算符 它会取得指针指向的内容
  8. // & 运算符 他会取得变量的指针
  9. int len = sizeof(arr) / sizeof(int);
  10. cout << len << endl;
  11. int *p = &arr[len - 1];
  12. for (int i = 0; i < 5; i++) {
  13. cout << *(p-i) << endl;
  14. }
  15. return 0;
  16. }