Files
obsidian/Programming/C/Основы языка С.md
2026-07-30 11:35:10 +05:00

69 lines
11 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Переменные
**Переменные** имеют тип, имя и значение.
Перед использованием необходимо объявить.
```C
int var;
```
Нельзя использовать данные имена, так как они являются зарезервированныыми. **`break, case, char, const, continue, default, do, double, else, enum, extern, float, for, goto, if, int, long, register, return, short, signed, sizeof, static, struct, switch, typedef, union, unsigned, void, volatile, while`.**
Что бы присвоить значение, нужно написать:
```C
var = 1;
```
Как пример кода
```C
#include <stdio.h>
int main(void)
{
int number;
number = 2;
printf("%d", number);
return 0
}
```
Но и при определении тоже можно указать значение:
```C
int var = 1;
```
Или сразу можно инициировать сразу несколько:
```C
int var1 =1, var2 = 2, var3 = 3;
```
# Типы данных
| Тип данных | Описанеие | Суффикс |
| ------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------- |
| **char** | Один символ, 1 байт | |
| **unsigned char** | Один символ, 1 байтб любое значение от 0 до 255 | |
| **signed char** | Один символ, 1 байт, от -128 до 127 | |
| **short (short int, signed short и signed short int)** | 2 байта в памяти, число в диапазоне –32768 до 32767. | |
| **unsigned short** | 2 байта в памяти, целое число в диапазоне от 0 до 65535 | |
| **Int** | представляет целое число. В зависимости от архитектуры процессора может занимать 2 байта (16 бит) или 4 байта (32 бита). Если брать основные платформы - 64-разрядные Windows, Linux (вместе с Android) и MacOS, то размер int составляет 4 байта. Диапазон предельных значений соответственно также может варьироваться от –32768 до 32767 (при 2 байтах) или от −2 147 483 648 до 2 147 483 647 (при 4 байтах) и выше. | |
| **unsigned int** | представляет положительное целое число. В зависимости от архитектуры процессора может занимать 2 байта (16 бит) или 4 байта (32 бита), и из-за этого диапазон предельных значений может меняться: от 0 до 65535 (для 2 байт), либо от 0 до 4 294 967 295 (для 4 байт). | u U |
| **long** | представляет целое число и занимает в памяти 4 байта (32 бита) или 8 байт (64 бита). В зависимости от размера может находиться в в диапазоне от -2 147 483 648 до 2 147 483 647 (4 байта), либо в диапазоне от -9223372036854775807 до +9 223 372 036 854 775 807 (8 байт).<br><br>Если брать распростренные платформы, то на 64-разрядном Windows long занимает 4 байта, а на 64-разрядных Linux/MacOS - 8 байт. | |
| **unsigned long** | представляет целое число и занимает в памяти 4 байта (32 бита) или 8 байт (64 бита). В зависимости от размера может находиться в в диапазоне от 0 до 4 294 967 295 (4 байта) или в диапазоне от 0 до 18 446 744 073 709 551 615 (8 байт). | ul UL |
| **long long** | представляет целое число в диапазоне от -9223372036854775807 до +9 223 372 036 854 775 807. Занимает в памяти, как правило, 8 байт (64 бита). | ll LL |
| **unsigned long long** | представляет целое число в диапазоне от 0 до 18 446 744 073 709 551 615. Занимает в памяти, как правило, 8 байт (64 бита). | ull ULL |
| **float** | представляет вещественное число одинарной точности с плавающей точкой в диапазоне +/- 3.4E-38 до 3.4E+38. В памяти занимает 4 байта (32 бита) | |
| **double** | представляет вещественное число двойной точности с плавающей точкой в диапазоне +/- 1.7E-308 до 1.7E+308. В памяти занимает 8 байт (64 бита) | |
| **long double** | представляет вещественное число двойной точности с плавающей точкой в диапазоне +/- 3.4E-4932 до 1.1E+4932. В памяти занимает 10 байт (80 бит). На некоторых системах может занимать 96 и 128 бит. | |
| **void** | без обозначения | |
# Вывод в консоль
| Тип данных | Спецификация |
| ------------------------------------- | ------------ |
| char | %c |
| string | %s |
| int (cо знаком) | %d |
| int (со знаком) | %i |
| целые положительные числа<br>unsigned | %u |
| | |