Программирование на языке Си для чайников шпаргалка
Программирование на языке Си для чайников шпаргалка
Большинство кодирования начинается со структуры языка Си. Этот скелет включает в себя базовые кости, на которых написано большинство программ. Используйте этот простой скелет для начала работы:
Традиционно программа начинается с директив препроцессора плюс прототипы. Операторы #include вносят заголовочные файлы, такие как stdio.h, стандартный заголовочный файл ввода/вывода.
Основной функцией во всем коде на языке Си является main(), которая является первой функцией, выполняемой при запуске программы. Функция main() – это функция int, поэтому она должна возвращать целое значение. Все утверждения функции заключены в фигурные скобки, или брекеты.
Ключевые слова языка Си
Ключевые слова языка Си представляют собой ядро языка. В новой версии языка C11 было добавлено несколько новых ключевых слов. В следующей таблице они показаны со знаком подчеркивания:
_Alignas | break | float | подписанный |
_Alignof | случай | для | sizeof |
_Atomic | char | перейти на | static |
_Bool | const | if | struct |
_Complex | продолжать | inline | switch |
_Generic | по умолчанию | int | typedef |
_Изобразительный | do | long | объединение |
_Noreturn | двойной | регистр | беззнаковый |
_Статическая_ассертация | иначе | ограничить | void |
_Thread_local | enum | возврат | переменная |
auto | extern | короткий | while |
Приступая к программированию на языке C, помните о следующих моментах:
Не называйте функцию или переменную так же, как ключевое слово.
В своем коде вы используете лишь некоторые из ключевых слов языка Си. Некоторые из них вы, скорее всего, никогда не будете использовать.
Большую часть работы в коде выполняют функции, а не ключевые слова.
Типы данных языка Си
Вместо того чтобы делать все ваши переменные значениями с плавающей точкой, эффективнее изучить тип хранимых данных, а затем выбрать подходящий тип данных языка Си.
Тип Диапазон значений
Void | Нет | Нет |
_Bool | от 0 до 1 | %d |
Char | о т-128 до 127 | %c |
беззнаковый символ | от 0 до 255 | %u |
короткий int | о т-32,768 до 32,767 | %d |
беззнаковый короткий int | от 0 до 65 535 | %u |
int | -от 2,147,483,648 до 2,147,483,647 | %d |
беззнаковый int | от 0 до 4,294,967,295 | %u |
длинный int | -от 2,147,483,648 до 2,147,483,647 | %ld |
беззнаковый long int | от 0 до 4,294,967,295 | %lu |
длинный long | -9,223,372,036,854,775,808 до 9,223,372,036,854,775,807 | %lld |
беззнаковая длина long | от 0 до 18 446 744 073 709 551 615 | %llu |
float | 1,2×1 0-38 до 3,4×10 38 | %e, %f, %g |
двойной | 2,3×1 0-308 до 1,7×10 308 | %e, %f, %g |
длинный двойной | 3,4×1 0-4932 до 1,1×10 4932 | %e, %f, %g |
Помните об этих значениях типов данных языка Си:
- Убедитесь, что вы выбрали правильный тип данных для значений, которые вам нужно хранить.
- Тип _Bool хранит только два значения, 0 и 1, которые могут представлять TRUE или FALSE, On или Off или любое двоичное состояние.
- Тип данных char хранит символьные значения, хотя его также можно использовать для хранения маленьких целых чисел.
- Целые числа, или целые числа, хранятся в типах данных int.
- Любые типы значений, от очень больших до очень маленьких, и любые дробные значения хранятся в типах данных float и double.
- Не забывайте использовать значения int для функций, которые генерируют целые числа, например, getchar() . Легко предположить, что функция возвращает значение char из-за названия функции.
- В языке C отсутствует строковый тип данных. Вместо него используется массив переменных char.
- Другие типы данных включают структуры, массивы и указатели.
Распространенные последовательности экранирования в языке Си
Когда вы не можете ввести символы в строку, используйте управляющие последовательности для вставки непечатаемых символов в текстовые строки, переменные char и массивы. Ниже приведены распространенные управляющие последовательности языка Си:
Символы | Что он представляет или отображает |
a | Звонок (“бип!”) |
b | Backspace, без стирания |
f | Передача формы или очистка экрана |
n | Новая строка |
r | Возврат каретки |
t | Табуляция |
v | Вертикальная табуляция |
\ | Символ обратной косой черты |
? | Вопросительный знак |
’ | Одинарная кавычка |
” | Двойная кавычка |
x nn | Шестнадцатеричный код символа nn |
o nn | Восьмеричный символьный код nn |
nn | Восьмеричный символьный код nn |
Общие символы преобразования в языке Си
Функции printf(), scanf() и другие используют символы преобразования в качестве обозначений для различных значений. Символы преобразования используются для обозначения значения, когда функция выполняется в конечной программе.
Символ преобразования | Что он отображает |
%% | Процентный символ (%) |
%c | Одиночный символ (char) |
%d | Целочисленное значение (short, int) |
%e | Значение с плавающей точкой в научной нотации с использованием маленькой буквы E (float, double) |
%E | Значение с плавающей точкой в научной нотации с использованием большой буквы E (float, double) |
%f | Значение с плавающей точкой в десятичной системе счисления (float, double) |
%g | Замена %f или %e, в зависимости от того, что короче (float, double) |
%G | Подстановка %f или %E , в зависимости от того, что короче (float, double) |
%i | Целочисленное значение (short, int) |
%ld | Длинное целочисленное значение (long int) |
%o | Беззнаковое восьмеричное значение; без ведущего нуля |
%p | Место в памяти в шестнадцатеричном формате (*pointer) |
%s | Строка (char *) |
%u | Беззнаковое целое значение (unsigned short, unsigned int, unsigned long) |
%x | Беззнаковое шестнадцатеричное значение, строчное (short, int, long) |
%X | Беззнаковое шестнадцатеричное значение, заглавные буквы (short, int long) |
Форматирование символов преобразования
В языке Си доступны широкие возможности для символов преобразования. На странице руководства printf() перечислены многие из них, причем некоторые из них требуют экспериментов, чтобы получить правильные значения. В общем, вот формат типичного символа преобразования:
Требуются только первый и последний символы: % – знак процента, который является префиксом всех символов преобразования, и n – символ(ы) преобразования.
– Знак минус; работает с опцией w для выравнивания вывода вправо.
p Символ подстановки, который при использовании опции w является либо нулем, либо пробелом. Обычно символом прокладки является пробел, и в этом случае p не нужно указывать. Однако когда p равен 0, значение заполняется слева нулями, чтобы соответствовать ширине, заданной параметром w.
w Опция width; задает минимальное количество позиций, в которых выводится информация. Выводимая информация выравнивается по правому краю, если не используется префикс -. Пробелы заполняются слева, если в значении p не указан символ 0 (ноль).
.d Точка, за которой следует значение d, описывающее, сколько цифр отображать после десятичной дроби в значении с плавающей точкой. Если d не указано, отображается только целая часть значения.
n Символ преобразования, как показано в таблице в этом приложении. Или это может быть знак процента (%), в этом случае на выходе появляется символ %.
Порядок старшинства в C
Порядок старшинства определяет, какие операторы действуют на значение первыми. Когда cr