C.Основы.Введение
https://t.me/HotCheatSheetКомментарии
//
текст
— однострочный
/*
текст
*/
— многострочный
Идентификатор
Последовательность букв, цифр и символов подчеркивания "_", которая не должна начинаться с цифры.
Используются для именования программных элементов (переменных, констант, функций, типов). Регистр имеет значение.
Ключевые слова
sizeof
— для указания операции получения размера объекта
typedef
— для описания прототипа объекта
auto
, register
— для объявления переменных:для обозначения класса хранения переменных
extern
— для обозначения того, что объект описывается в другом месте
static
— для обозначения того, что объект статический
char
, short
,int
, long
, signed
, unsigned
,float
, double
, void
— для обозначения типа переменных
struct
, enum
, union
— для обозначения специальных типов данных:
do
, for
, while
— для обозначения операторов и их элементов:для обозначения операторов цикла
if
, else
— для обозначения условного оператора:
switch
, case
, default
— для обозначения оператора выбора
break
, continue
— для обозначения операторов перехода:операторы прерывания исполнения кода
goto
— для обозначения оператора безусловного перехода
return
— для обозначения оператора возврата из функции
inline
(C99) — для обозначения того, что функция является встраиваемой:
_Bool
, _Complex
, _Imaginary
(C99) — для обозначения того, что функция является встраиваемой:
restrict
(C99) — для обозначения того, что объявляемый указатель указывает на блок памяти, на который не указывает никакой другой указатель:
Литерал
Примеры числовых литералов:
10
— число 10 в десятичной форме;
0хА
— число 10 в шестнадцатеричной форме (префикс 0х);
0b1010
— число 10 в двоичной форме (префикс 0b);
012
— число 10 в восьмеричной форме (префикс 0);
10.5
— число с плавающей точкой;
105е-1
— число 10,5 в экспоненциальной форме (105 * 10**-1);
10U
— беззнаковая константа (суффикс U);
10L
— знаковая константа (суффикс L).
Примеры символьных литералов(escape-последовательности):
Символьные литералы заключаются в одинарные кавычки.
'\а'
— звуковой сигнал
'\b'
— клавиша <Backspace>
'\f'
— прогон листа
'\n'
— символ перевода строки
'\r'
— возврат каретки
'\t'
— горизонтальная табуляция
'\v'
— вертикальная табуляция
'\0'
— нулевой символ
'\\'
— обратная косая
'\''
— апостроф
Примеры строковых литералов:
Строковые литералы заключаются в двойные кавычки. В памяти хранятся как последовательности символов, заканчивающиеся нулевым символом '\0'
""
— пустая строка: один символ '\0'
"В"
— два символа: 'В' и '\0'
"A\tB\n"
— пять символов: 'А', табуляция, 'В', перевод строки, '\0'
Операторы
;
— пустой оператор
( )
— круглые скобки
[ ]
— элемент массива
.
(точка) — обращение к элементу структуры
->
— обращение к элементу структуры, определенной указателем
++
, --
(постфиксы) — операторы автоинкремента и автодекремента после того как выражение, в котором задействованы соответствующие операнды, вычислено.
++
, --
(префиксы) — операторы автоинкремента и автодекремента перед тем как выражение, в котором задействованы соответствующие операнды, будет вычислено.
!
— логическое (унарное) отрицание
~
— поразрядное отрицание
&
— адрес
+
, -
(унарные) — изменение знака операнда
*
(унарный) — разыменование указателя
*
(бинарные) — умножение
/
— деление
%
— остаток от деления
+
, -
(бинарные) — сложение и вычитание
<<
— поразрядный сдвиг влево
>>
— поразрядный сдвиг вправо
<
, >
, <=
, >=
— меньше, больше и т.д.
==
, !=
— равно, не равно
&
— лоразрядное "И"
^
— лоразрядное "Исключающее ИЛИ"
|
— лоразрядное "ИЛИ"
&&
— логическое "И"
||
— логическое "ИЛИ"
=
— присваивание, возможны также сочетания оператора присваивания с арифметическими и поразрядными операторами
Директивы препроцессора
#include
<заголовочный_файл> — включить в файл с исходным кодом программы текст внешнего заголовочного файла
#define
имя_константы значение — объявить именованную константу
#undef
имя_константы — отменить объявленную именованную константу
Директивы условной компиляции
#ifdef имя_макроса последовательность_операторов_1 #else последовательность_операторов_2 #endif #ifndef имя_макроса последовательность_операторов_1 #else последовательность_операторов_2 #endif #if выражение1 последовательность_операторов_1 #elif выражение2 последовательность_операторов_2 #else последовательность_операторов_3 #endif
Скелет программы
#include <stdio.h> // подключаем заголовочный файл stdio.h int main() // объявляем главную функцию программы { // открываем вычислительный блок printf("Hello, world!"); /* используем функцию printf из заголовочного файла stdio.h и выводим "Hello, world!" на устройство стандартного вывода, не забываем ';' !!! */ return 0; // объявляем успешное окончание } // закрываем вычислительный блок