freeCodeCamp/guide/russian/c/variables/index.md

109 lines
9.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

---
title: Variables in C
localeTitle: Переменные в C
---
# Использование переменных в C
Теперь вы знаете, какие у вас варианты с типами данных. Давайте применим это с простым примером здесь:
```C
#include <stdio.h>
int main(void) {
int my_first_variable = 12;
double my_second_variable = 983.9;
printf("My int is %i\n", my_first_variable);
printf("My double is %f\n", my_second_variable);
return 0;
}
```
Здесь есть много нового, что можно посмотреть здесь! Вы уже видели `#include` и `int main(void)` , так что не стоит останавливаться на них. Что нового: `int my_first_variable = 12;` ,
С самого начала вы должны помнить, что `int` позволяет хранить целочисленные значения. После слова `int` приходит `my_first_variable` . Это переменная - она ​​может хранить значения, и вы можете изменить, какие значения хранятся в ней. Начнем с объявления, где мы говорим компьютеру, что начальное значение этой переменной равно 12. Важно сообщить компьютеру, что мы хотим, чтобы переменная существовала до того, как мы попытаемся ее использовать. В противном случае переменная не будет существовать, и компилятор не будет знать, что делать, когда вы пытаетесь сказать ей использовать переменную, которая не существует.
Следующая строка - `double my_second_variable = 983.9` . В подобной структуре из ранее должно быть ясно, что вы говорите компьютеру о создании переменной, называемой «моя _вторая_ переменная», которая может содержать `double` значения и что вы хотите установить ее на 983.9.
Фактическое имя переменной не важно. Это может быть то, что вы хотите, если это не слова, которые C зарезервировал для реального языка, и он может включать только числа и буквы, никогда не пробелы. Имя переменной не может начинаться с числа. По соглашению, C использует чистые имена переменных, которые заменяют символы подчеркивания для пробелов. Переменной может быть также camelCase, например:
```C
double myFirstVariable = 983.9
```
Фактически, это было бы так на других языках. Однако в C это обычно не делается.
После того, как переменные создаются, мы фактически начнем их использовать:
```C
printf("My int is %i\n", my_first_variable);
printf("My double is %f\n", my_second_variable);
```
Это тот же самый printf (), который вы использовали ранее, но теперь он имеет несколько разных функций. Во-первых, обратите внимание, что в круглой скобке есть две вещи: текст для печати на экране и переменная. Также обратите внимание на `%i` и `%f` . Это называется _спецификатором формата_ и используется для указания формата, в котором что-то должно быть напечатано. Всякий раз, когда printf () встречается с одним из них, он попытается вставить указанную переменную в эту точку.
Поскольку типы данных наших переменных представлены на компьютере несколькими различными способами, для отображения их можно указать несколько разных способов:
Тип данных | Спецификатор формата ---------------- | ------------------ char | % c, или% hhi для печати в виде числа при подписании,% hhu для печати в виде числа, когда unsigned короткие | % hi, или% hu, когда unsigned int | % i,% d также можно использовать долго | % li, или% lu, когда unsigned длинный длинный | % lli, или% llu, когда unsigned поплавок | % е двойной | % е длинный двойной | % Lf unsigned int | % лу
Чтобы напечатать переменную, у вас должен быть спецификатор формата, а затем переменная для форматирования. Несколько спецификаторов формата могут быть вместе в одном и том же printf ():
```C
printf("%i and %f", my_first_variable, my_second_variable);
```
Чтобы сканировать переменную, у вас должен быть спецификатор формата, а затем адрес переменной (обозначается добавлением «&» перед именем переменной) для ввода. Несколько спецификаторов формата могут быть вместе в одном и том же scanf ():
```C
scanf("%i and %f", &my_first_variable, &my_second_variable);
```
Теперь давайте начнем изменять значения внутри наших переменных. Вот те же примеры из предыдущих, но с несколькими строками:
```C
#include <stdio.h>
int main(void) {
int my_first_variable = 12;
double my_second_variable = 983.9;
printf("My int is %i\n", my_first_variable);
printf("My double is %f\n", my_second_variable);
my_second_variable = -18.2 + my_first_variable;
printf("Now my double is %f\n", my_second_variable);
return 0;
}
```
Теперь есть строка, которая читает `my_second_variable = -18.2 + my_first_variable;` , Это уравнение присваивает новое значение переменной слева. Всякий раз, когда назначается новое значение, переменная, которую он назначает, всегда должна быть слева и всегда должна быть там одна. Ваша программа найдет результат правой стороны и назначит ее переменной слева. В этом случае мы добавили мою _первую_ переменную в -18.2. моя _первая_ переменная равна 12, а -18.2 + 12 - -6.2, поэтому моя _вторая_ переменная становится -6.2 после этого шага. Мы немного поработаем в математике!
## Немного больше о поплавках и парных
При печати поплавков и удвоений много раз нам нужна точность после десятичной точки. Если у нас есть
```C
float var1 = 15.3;
printf("%f");
```
Мы получаем `15.300000` . Итак, скажем, мы просто хотим, чтобы два места после десятичной даты дали нам `15.30` . Мы использовали бы% .2f. Обратите внимание: мы используем десятичную точку перед количеством десятичных знаков, за которым следует f, и мы хотим напечатать float или double.
# Имена переменных
* Единственными символами, которые вы можете использовать в именах, являются алфавитные символы, числовые цифры и символ подчеркивания (\_).
* Первый символ в имени не может быть числовой цифрой.
* Верхние символы считаются отличными от символов нижнего регистра.
* Вы не можете использовать ключевое слово C для имени.
# Прежде чем продолжить ...
## Обзор
* Переменные должны быть созданы до их использования.
* Переменные создаются в следующем формате: `datatype variable_name = number` .
* Спецификаторы формата позволяют печатать переменные.
* Знак равенства `=` позволяет присваивать значения переменным.