- •Простые типы данных и операции над данными. Приведение типов.
- •Void - пустой тип, используется для создания указателей и указания того, что функция не возвращает значений;
- •Выражения сравнения и логические операции.
- •Операторы инкремента и декремента.
- •Составные типы данных: массивы и строки.
- •Составные типы данных: структуры, указатели на структуры.
- •Указатель на тип void и методы работы с ним.
- •Составные типы данных: структуры и объединения.
- •Условные операторы.
- •If (выражение) инструкция1;
- •If (выражение)
- •If (выражение) инструкция1;
- •Циклы, виды циклов. Вложенные циклы. Алгоритмизация циклических процессов.
- •Пользовательские функции, прототипы.
- •14. Указатели и ссылки. Ссылочные переменные.
- •Перегрузка функций.
- •Передача параметров в функцию и вызов функции.
- •1. Вызов функции.
- •2. О аргументах и параметрах
- •Передача указателей и массивов в качестве аргументов функций.
- •Использование указателя для обеспечения вызова по ссылке. Ссылочные параметры.
- •Стек и динамическая память.
- •Простые типы данных и операции над данными. Приведение типов. Константы, квалификатор const.
- •Указатели и динамическое распределение памяти.
Void - пустой тип, используется для создания указателей и указания того, что функция не возвращает значений;
int - целочисленный тип. Спецификторы размера short и long уточняют размер: два байта и четыре соответственно. Спецификаторы знака signed и unsigned определяют использовать ли последний бит для знака. Этот тип является типом по умолчанию;
float - тип для вещественных чисел;
double - тип для вещественных чисел двойной точности;
bool - логический тип. Значение 0 означает ложь, ненулевое значение истину;
char - символьный тип. Также этот тип может использоваться как целочисленный тип, к нему применимы спецификаторы знака;
wchar_t - аналогично предыдущему, но для юникод символов;
_int64, long long - тип для 64-битных целых чисел.
Выражения сравнения и логические операции.
В языке отсутствует особый базовый тип данных для представления логических значений "ИСТИНА" и "ЛОЖЬ". Для этой цели используются значения целой переменной. Значение 0 всегда является "ложью". Значение 1 -"истиной". Такие значения дают операции сравнения и логические операции. Вообще, в широком смысле любое ненулевое значение является истинным.
ЛОГИЧЕСКИЕ ОПЕРАЦИИ И (&&) , ИЛИ (||) и НЕ (!) едины для всех языков программирования и соответствуют логическим функциям И, ИЛИ и НЕ для логических (булевых) переменных. Операция И имеет результатом значение "истина" тогда и только тогда, когда оба ее операнда истинны, то есть по отношению к операндам -утверждениям звучит как "одновременно оба". Операция ИЛИ имеет результатом значение "истина", когда хотя бы один из операндов истинен, то есть характеризуется фразой "хотя бы один":
if (a < b && b < c) // если ОДНОВРЕМЕННО ОБА a < b и b < c, то...
if (a==0 || b > 0) // если ХОТЯ БЫ ОДИН a==0 или b > 0, то...
Логические операции И и ИЛИ имеют еще одно свойство. Если в операции И первый операнд имеет значение "ложь", а в операции ИЛИ -"истина", то вычисление выражения прекращается, потому что значение его уже становится известным ("ложь" -для И, "истина" -для ИЛИ). Поэтому возможны выражения, где в первом операнде операции И проверяется корректность некоторой переменной, а во втором -она же используется с учетом этой корректности:
if (a >=0 && sin(sqrt(a)) >0) ...
В данном примере второй операнд, включающий в себя функцию вычисления квадратного корня, не вычисляется, если первый операнд -"ложь".
Особо следует отметить операцию логической инверсии (отрицания) -"!". Значение "истина" она превращает в "ложь" и наоборот. Если считать значением "истина" любое ненулевое значение целой переменной, то эту операцию для целых следует понимать как проверку на 0:
while(!k) {...} // эквивалентно while(k==0) {...}
Так же логические операции: x==y, x<y,x<=y,x>=y.
В языке Си принято следующее правило: истина - это любое ненулевое значение; ложь - это нулевое значение. Выражения, использующие логические операции и операции отношения, возвращают 0 для ложного значения и 1 для истинного.