C - Literals: A Beginner's Guide
Здравствуйте, будущие программисты! Сегодня мы отправимся в увлекательное путешествие в мир программирования на языке C, конкретно focusing на literals. Не волнуйтесь, если вы никогда раньше не писали код – я буду вашим дружелюбным проводником, и мы будем двигаться шаг за шагом. К концу этого руководства вы будете удивлены, сколько вы узнали!
Что такое Literals?
Прежде чем мы углубимся, давайте поймем, что такое literals. В программировании literals являются фиксированными значениями, которые появляются непосредственно в коде. Они похожи на константы мира программирования – непременные и надежные. Представьте их как строительные блоки вашей программы.
Теперь давайте рассмотрим разные типы literals в C!
Целочисленные Literals в C
Целочисленные literals – это целые числа без десятичных знаков. В C мы можем представлять целые числа по-разному. Давайте посмотрим на несколько примеров:
int a = 42; // Десятичный (база 10)
int b = 052; // Восьмеричный (база 8)
int c = 0x2A; // Шестнадцатеричный (база 16)
int d = 0b101010; // Двоичный (база 2, C99 и далее)
В этом коде:
-
42
– это десятичный literал (то, что мы используем в повседневной жизни) -
052
– это восьмеричный literal (обратите внимание на ведущий 0) -
0x2A
– это шестнадцатеричный literal (обратите внимание на ведущий 0x) -
0b101010
– это двоичный literal (обратите внимание на ведущий 0b)
Все эти literals представляют одно и то же значение: 42 в десятичной системе. Не fascinates ли, как числа могут надевать разные "костюмы"?
Сuffixes для целочисленных Literals
Мы также можем добавлять suffixes к целочисленным literals, чтобы указать их тип:
int e = 42L; // Long int
int f = 42U; // Unsigned int
int g = 42UL; // Unsigned long int
int h = 42LL; // Long long int (C99 и далее)
Эти suffixes помогают компилятору понять, с каким типом целого числа мы имеем дело.
Плавающие literals в C
Теперь давайте перейдем к миру десятичных чисел! Плавающие literals – это числа с десятичными знаками. Вот несколько примеров:
float pi = 3.14159;
double avogadro = 6.022e23; // Научная запись
long double planck = 6.62607015e-34L; // С suffix L для long double
В этом коде:
-
3.14159
– это простой плавающий literal -
6.022e23
использует научную запись (e23 означает × 10^23) -
6.62607015e-34L
– это literal long double (обратите внимание на suffix L)
Помните, что плавающие literals имеют по умолчанию двойную точность. Если вы хотите float, вы можете использовать suffix F:
float f = 3.14F;
Символьные literals в C
Символьные literals в C заключены в одинарные кавычки. Они представляют один символ. Давайте рассмотрим несколько примеров:
char grade = 'A';
char newline = '\n';
char smiley = '\u263A'; // Unicode символ (C99 и далее)
В этом коде:
-
'A'
– это простой символьный literal -
'\n'
– это специальный символ (новая строка) -
'\u263A'
– это Unicode символ (улыбающееся лицо ☺)
Escape sequences в C
Иногда нам нужно представлять символы, которые нельзя ввести напрямую. Вот где на помощь приходят escape sequences. Они всегда начинаются с обратной косой черты (). Вот таблица.common escape sequences:
Escape Sequence | Meaning |
---|---|
\n | Newline |
\t | Tab |
\ | Backslash |
\' | Single quote |
\" | Double quote |
\0 | Null character |
Давайте посмотрим на них в действии:
char newline = '\n';
char tab = '\t';
char backslash = '\\';
char single_quote = '\'';
char double_quote = '\"';
char null_char = '\0';
printf("Hello\tWorld!\nThis is a backslash: \\\nAnd a quote: \'");
Этот код выведет:
Hello World!
This is a backslash: \
And a quote: '
Строковые literals в C
Последнее, но не менее важное, давайте поговорим о строковых literals. В C строковые literals – этоsequence из символов, заключенных в двойные кавычки. Вот несколько примеров:
char* greeting = "Hello, World!";
char* multiline = "This is a\n"
"multi-line\n"
"string literal.";
char* unicode = u8"This is a Unicode string: \u263A"; // C11 и далее
В этом коде:
-
"Hello, World!"
– это простой строковый literal - Многострочный строковый literal показывает, как мы можем разбивать длинные строки на несколько строк
- Строковый literal с Unicode демонстрирует, как включать Unicode символы в строки
Помните, что в C строковые literals на самом деле являются массивами символов, оканчивающимися нулевым символом ('\0').
Заключение
Поздравляю! Вы только что сделали свои первые шаги в мир программирования на языке C, узнав о literals. Этиfundamental building blocks будут иметь решающее значение по мере вашего продолжения программирования.
Помните, что практика делает perfect. Попробуйте написать код, используя эти разные типы literals. Экспериментируйте, делайте ошибки и учитесь на них. Это лучший способ стать опытным программистом.
Счастливого кодирования, и до下一次 встречи, продолжайте исследовать fascinates мир C!
Credits: Image by storyset