* fix: imgur to s3 for russian guide without conflict (cherry picked from commit ac90750e36b0dd1fe508c69a2277b75be48e4b95) * fix: remove extra links Co-Authored-By: Randell Dawson <5313213+RandellDawson@users.noreply.github.com> * fix: revert unrelated changes * fix: revert changes
		
			
				
	
	
		
			210 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			210 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ---
 | ||
| title: Tokens Part 1
 | ||
| localeTitle: Токены Часть 1
 | ||
| ---
 | ||
| ### Что такое токены?
 | ||
| 
 | ||
| Токены - это наименьшие единицы программы, которые важны для компилятора. Существуют различные виды токенов:
 | ||
| 
 | ||
| *   Ключевые слова
 | ||
|     
 | ||
| *   операторы
 | ||
|     
 | ||
| *   знаки пунктуации
 | ||
|     
 | ||
| *   литералы
 | ||
|     
 | ||
| *   Идентификаторы
 | ||
|     
 | ||
| *   **Сочетание токенов формирует выражение**
 | ||
|     
 | ||
| 
 | ||
| ### Что такое переменные?
 | ||
| 
 | ||
| *   Определение учебника: переменные называются ячейками памяти, данные которых могут быть изменены.
 | ||
| 
 | ||
| *   Но я хотел бы, чтобы вы подумали, что переменная будет чем-то вроде коробки, что-то вроде этого: 
 | ||
|     
 | ||
| 
 | ||
| Так, например: Я перехожу на новое место, и мне нужно укладывать вещи в коробки. Таким образом, мне приходят две вещи. **Какие вещи будут храниться в ящике, так что размер с поля известен (тип данных)** и **как я могу определить поле? (Именование переменной)**  
 | ||
| Следовательно, мы знаем, что переменная в C ++ нуждается в _имени_ и _типе данных_ и что значение, хранящееся в них, может быть изменено.
 | ||
| 
 | ||
| ### Типы данных в C ++:
 | ||
| 
 | ||
| При объявлении переменных в c ++ у них должно быть имя, на которое вы позже будете ссылаться, значение (константа или нет) и тип. Тип подскажет компилятору значения, которые может использовать переменная, возможные операции и сохранит определенное пространство в memmory. В c ++ существуют два типа данных:
 | ||
| 
 | ||
| *   Простой тип
 | ||
| *   Тип структуры
 | ||
| 
 | ||
| ### Простые типы данных
 | ||
| 
 | ||
| *   Boolean - bool Работает как переключатель, может быть включен или выключен.
 | ||
| *   Символ - символ Сохраняет один символ.
 | ||
| *   Integer - int Сохраняет [целое число](https://en.wikipedia.org/wiki/Integer) .
 | ||
| *   Плавающая точка - поплавок Они могут использовать десятичные знаки.
 | ||
| *   Двойная плавающая точка - двойная Двойная точность поплавкового типа.
 | ||
| 
 | ||
| Здесь вы можете увидеть несколько примеров:
 | ||
| 
 | ||
| ```cpp
 | ||
| bool GameRunning = true; 
 | ||
|  char a; 
 | ||
|  int x = 2; 
 | ||
| ```
 | ||
| 
 | ||
| #### Эти типы также могут быть изменены с помощью таких модификаторов, как:
 | ||
| 
 | ||
| подписанный неподписанный короткая длинный
 | ||
| 
 | ||
| ### Тип данных структуры
 | ||
| 
 | ||
| #### Идентификаторы.
 | ||
| 
 | ||
| *   Идентификаторы - это имена, присвоенные переменной или классу или функции или любой функции, определенной пользователем.
 | ||
| 
 | ||
| ## Правила для именования переменной:
 | ||
| 
 | ||
| *   Начните именовать буквой из AZ или az.
 | ||
| *   Числа могут следовать за первой буквой, но мы не можем начинать именовать цифры.
 | ||
| *   НЕТ использования пробелов или специальных символов, вместо этого используйте UNDERSCORE \_.
 | ||
| 
 | ||
| #### Объявление переменной:
 | ||
| 
 | ||
| Синтаксис выглядит следующим образом < _тип данных_ > < _имя переменной_ >; или < _тип данных_ > < _имя переменной_ > = < _значение_ >; если мы также хотим инициализировать переменную.
 | ||
| 
 | ||
| Например : `cpp int a ; //declaring a variable named 'a' of type integer. a=4; //initializing a variable int b = 5 ; //declaring and initializing a variable 'b' of type integer.`
 | ||
| 
 | ||
| **Примеры объявления переменной:**
 | ||
| 
 | ||
| ```cpp
 | ||
| int a9; 
 | ||
|  char A; 
 | ||
|  double area_circle; 
 | ||
|  long l; 
 | ||
| ```
 | ||
| 
 | ||
| **Неправильные способы объявления переменных** -
 | ||
| 
 | ||
| ```cpp
 | ||
| int 9a; 
 | ||
|  char -a; 
 | ||
|  double area of circle; 
 | ||
|  long l!!; 
 | ||
| ```
 | ||
| 
 | ||
| *   Имена переменных не могут начинаться с числа
 | ||
| *   Спецсимволы не допустимы
 | ||
| *   Пробелы не допускаются
 | ||
| 
 | ||
| Вы можете представить себе различные коробки разных размеров и хранить разные вещи как разные переменные.
 | ||
| 
 | ||
| **ЗАМЕТКИ :**
 | ||
| 
 | ||
| 1.  **Компилятор C ++ игнорирует пробелы, и они обычно используются для улучшения кода, так что любой программист может отлаживать или понимать код.**
 | ||
| 2.  **Если переменная не инициализирована, она содержит значение мусора. Позвольте мне привести пример:**
 | ||
| 
 | ||
| ### Объем переменных
 | ||
| 
 | ||
| Все переменные имеют свою область функционирования, и из этой границы они не имеют своей ценности, эта граница называется областью действия переменной. В большинстве случаев его между фигурными фигурными скобками, в которых объявляется переменная, существует переменная, а не вне ее. Мы изучим классы хранения позже, но на данный момент мы можем разделить переменные на два основных типа,
 | ||
| 
 | ||
| \* Глобальные переменные.
 | ||
| 
 | ||
| \* Локальные переменные.
 | ||
| 
 | ||
| #### Глобальные переменные
 | ||
| 
 | ||
| Глобальные переменные - это те, которые объявлены и могут использоваться на протяжении всего жизненного цикла программы любым классом или любой функцией. Они должны быть объявлены вне функции main (). Если объявлено только, они могут быть назначены разные значения в разное время в жизни программы. Но даже если они объявлены и инициализированы одновременно за пределами функции main (), тогда также им может быть присвоено любое значение в любой точке программы.
 | ||
| 
 | ||
| Пример: Только объявлено, а не инициализировано.
 | ||
| 
 | ||
| ```cpp
 | ||
| #include <iostream> 
 | ||
|  using namespace std; 
 | ||
|  int x;                // Global variable declared 
 | ||
|  int main() 
 | ||
|  { 
 | ||
|  x=10;                 // Initialized once 
 | ||
|  cout <<"first value of x = "<< x; 
 | ||
|  x=20;                 // Initialized again 
 | ||
|  cout <<"Initialized again with value = "<< x; 
 | ||
|  } 
 | ||
| ```
 | ||
| 
 | ||
| #### Локальные переменные
 | ||
| 
 | ||
| Локальные переменные - это переменные, которые существуют только между фигурными фигурными скобками, в которых объявлено. Снаружи они недоступны и приводят к ошибке времени компиляции.
 | ||
| 
 | ||
| Пример :
 | ||
| 
 | ||
| ```cpp
 | ||
| #include <iostream> 
 | ||
|  using namespace std; 
 | ||
|  int main() 
 | ||
|  { 
 | ||
|  int i=10; 
 | ||
|  if(i<20)        // if condition scope starts 
 | ||
|   { 
 | ||
|     int n=100;   // Local variable declared and initialized 
 | ||
|   }              // if condition scope ends 
 | ||
|  cout << n;      // Compile time error, n not available here 
 | ||
|  } 
 | ||
| ```
 | ||
| 
 | ||
| ### Константные переменные
 | ||
| 
 | ||
| Константная переменная - это переменные, которые нельзя изменить. Например, если вам нужен «pi» в вашем коде, вы не захотите изменить его после инициализации.
 | ||
| 
 | ||
| Пример :
 | ||
| 
 | ||
| ```cpp
 | ||
| #include <iostream> 
 | ||
|  using namespace std; 
 | ||
|  const double PI = 3.14159253; 
 | ||
|  int main() 
 | ||
|  { 
 | ||
|  //Calculating the area of a circle, using user provided radius 
 | ||
|  double radius; 
 | ||
|  //input and output explained in other guide 
 | ||
|  cin>>radius; 
 | ||
|  //pi*r^2 
 | ||
|  double area = PI*radius*radius; 
 | ||
|  cout<<area<<endl; 
 | ||
|  } 
 | ||
| ```
 | ||
| 
 | ||
| ### Значения мусора в переменной
 | ||
| 
 | ||
| Если переменная не инициализирована, она содержит значение мусора. Например:
 | ||
| 
 | ||
| Итак, с точки зрения ящиков, вы можете представить это как -
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| \`\` \`Каст #включают использование пространства имен std; int main () { int a; cout << "Значение мусора в a:" << a << endl; // объявляем переменную с именем 'a' типа integer а = 5; // инициализация переменной. cout << "Новое значение в" << a << endl;
 | ||
| 
 | ||
| } \`\` \`
 | ||
| 
 | ||
| ### Выход:
 | ||
| ```
 | ||
| Garbage value in a : 0 
 | ||
|  New value in a :  5 
 | ||
| ```
 | ||
| 
 | ||
| Как вы можете видеть, уже есть значение, хранящееся в 'a', прежде чем мы дадим ему значение (здесь оно равно 0). Это должно оставаться в памяти каждого программиста, чтобы при использовании переменных они не создавали логическую ошибку и не печатали значения мусора.
 | ||
| 
 | ||
| [Попробуйте код самостоятельно! :)](https://repl.it/Mg7j)
 | ||
| 
 | ||
| #### Ключевые слова:
 | ||
| 
 | ||
| _Ключевые слова - это зарезервированные слова, которые передают особый смысл компилятору. Они **НЕ МОГУТ** использоваться для именования в c ++._ Примеры ключевых слов: inline, operator, private int, double, void, char, template, using, virtual, break, case, switch, friend и т. д.
 | ||
| 
 | ||
| **Каждое из этих ключевых слов используется для специальной функции в C ++.**
 | ||
| 
 | ||
| _Токены часть 1 закончена. Увидимся в палатках во [второй](https://guide.freecodecamp.org/cplusplus/tokens-part-II) части токенов :)_
 | ||
| 
 | ||
| **Удачи всем вам**
 | ||
| 
 | ||
| **Счастливое кодирование! :)**
 | ||
| 
 | ||
| **Не стесняйтесь задавать любые вопросы на странице GitHub [FreeCodeCamp](https://forum.freecodecamp.org/) или [форуме FreeCodeCamp.](https://forum.freecodecamp.org/)**
 |