Vserosbuybuy

C++ base guide

Feb 9th, 2021 (edited)
211
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.96 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <vector>
  4.  
  5. using namespace std;
  6.  
  7. // константа, не меняется в ходе программы
  8. const int md = 1e9 + 7;
  9. // глобальный массив, сразу инициализирован 0
  10. int a[1000];
  11.  
  12. int main() {
  13.     // Основные типы данных
  14.     int a = 0;              // целые числа
  15.     long long b = 213;      // большие целые
  16.     float c = 1.4;          // дробыне
  17.     double d = 22.22;       // дробные побольше
  18.     bool e = true;          // да/нет
  19.     char f = 's';           // символы
  20.     string g = "asdsa";     // строки
  21.  
  22.     // ввод
  23.     cin >> a >> b >> c;
  24.     // вывод
  25.     cout << a << " " << b << " " << c << endl;
  26.  
  27.     // условный оператор
  28.     if (a > b) {
  29.         // что-то
  30.     }
  31.     else if (c > d) {
  32.         // что-то
  33.     }
  34.     else {
  35.         // что-то
  36.     }
  37.     // && - и, || - или, ^ - не, приоритет можно задать скобками
  38.  
  39.     // циклы
  40.     for (int i = 0; i < a; ++i) { // (инициализация в начале цикла; условие выполнения; действия после итерации)
  41.         // что-то
  42.     }
  43.     for (auto x : g) {
  44.         // x - очередной символ строки g
  45.     }
  46.     while (a > b) {
  47.         // что-то
  48.     }
  49.  
  50.     // массив
  51.     int h[1000]; // массив, ячейки которого имеют тип int
  52.  
  53.     // строка
  54.     g.length();         // длина строки
  55.     g.substr(1, 3);     // подстрока длины 3 строки g, начиная с 1 символа
  56.     g += "asdasd";      // умеем прибавлять в конец
  57.  
  58.     // особенности ввода
  59.     cin >> a >> b;      // считывание нескольких переменных, разделенных пробельными символами
  60.     cin >> g;           // считывание строки до пробела
  61.     getline(cin, g);    // считывание всей строки вместе с пробелами до перевода строки,
  62.                         // необходимо подключить библиотеку string
  63.  
  64.     // специальные слова в циклах
  65.     int n;
  66.     for (int i = 0; i < n; ++i) {
  67.         if (i == 2) {
  68.             break;      // прервать цикл (работает только на один цикл!)
  69.         }
  70.         continue;       // прервать текущую итерацию и перейти к следующей
  71.         cout << "Это сообщение никогда не будет выведено";
  72.     }
  73.  
  74.     // преобразования типов
  75.     double double_var = 3.5;
  76.     cout << double_var << "\n";                     // 3.5
  77.     // Преобразуем в целочисленный тип, дробная часть отсекается (С style)
  78.     cout << (int)double_var << "\n";                // 3
  79.     // Преобразуем в целочисленный тип, дробная часть отсекается (С++ style)
  80.     cout << static_cast<int>(double_var) << "\n";   // 3
  81.    
  82.     char char_ch = 'a';
  83.     cout << char_ch << "\n";                    // a
  84.     cout << (int)char_ch << "\n";               // 97
  85.     cout << static_cast<int>(char_ch) << "\n";  // 97
  86.     // это позволяет нам, например, вывести весь алфавит
  87.     for (char c = 'a'; c <= 'z'; ++c) {
  88.         cout << c << " ";
  89.     }
  90.  
  91.     // Оффтоп про точность
  92.     cout.precision(6);              // эти две строчки позволяют добиться вывода 6 знаков после запятой
  93.     cout << fixed;
  94.     cout << double_var << "\n";     // 3.500000
  95.  
  96.     // std::vector<тип значения>. Необходимо подключить библиотеку vector
  97.     vector<int> v;          // простая инициализация, вектор пустой
  98.     vector<int> v(n);       // размера n
  99.     vector<int> v(n, 0);    // размера n, заполненный 0
  100.  
  101.     v.push_back(a);         // добавить элемент в конец
  102.     v.pop_back();           // убрать элемент с конца
  103.     v.size();               // размер вектора
  104.    
  105.     // способы перебрать элементы вектора
  106.     for (int i = 0; i < v.size(); ++i) {
  107.         cout << v[i] << " ";
  108.     }
  109.     for (auto x : v) {
  110.         cout << x << " ";
  111.     }
  112.  
  113.     // многомерный массив
  114.     int mas[10][10];
  115.     // способ обойти такой массив - вложенные циклы
  116.     for (int i = 0; i < 10; ++i) {
  117.         for (int j = 0; j < 10; ++j) {
  118.             cout << mas[i][j] << " ";
  119.         }
  120.         cout << "\n";
  121.     }
  122.     return 0;
  123. }
Add Comment
Please, Sign In to add comment