- •Этапы создания программного продукта.
- •Структурирование программы.
- •Этапы получения программного кода
- •Функциональная декомпозиция
- •Алгоритм программы
- •Линейные алгоритмы
- •Развилка
- •Комментарии
- •Базовые понятия языка Си.
- •Специфика присвоения имён.
- •Функция main
- •Блоки кода
- •Ключевые слова Си
- •Понятие lvalue и rvalue.
- •Типы данных.
- •Функции
- •Блоки кода программы.
- •Операторы языка c.
- •Логические операторы
- •Тернарный оператор
- •Базовые типы данных. Типы данных
- •1)Базовые
- •2)Производные
- •Файловый ввод - вывод.
- •Булевые переменные (тип bool).
- •Понятие, объявление и определение.
- •Ключевое слово typedef.
- •Виды компоновки программ:
- •Скрытие имени переменной.
Ключевые слова Си
Ключевые слова- это предопределенные идентификаторы, которые имеют специальное значение для компилятора Си. Их можно использовать только так как они определены. Имена объектов программы не могут совпадать с названиями ключевых слов.
Список ключевых слов:
auto, double, int, struct, break, else, long, switch, case, enum, register, typedef, char, extern, return union, const, float, short, unsigned, continue, for, signed, void, default, goto, sizeof, while, do, if, static, volatile.
Ключевые слова не могут быть переопределены. Тем не менее, они могут быть названы другим текстом, но тогда перед компиляцией они должны быть заменены посредством препроцессора на соответствующие ключевые слова.
Понятие lvalue и rvalue.
Для того, чтобы отличать выражения, обозначающие объекты, от выражений, обозначающих только значения были введены понятия lvalue и rvalue. Определение lvalue использовается для обозначения выражений, которые могли стоять слева от знака присваивания (left-value); им противопоставлялись выражения, которые могли находиться только справа от знака присваивания (right-value).
Характерные случаи использования lvalue и rvalue:
rvalue:
-
Выражения, обозначающие временные объекты. В частности, результат вызова функций, возвращающих объекты не по ссылке; результат встроенных операций +, -. *, / и т.п.; явное создание временной переменной int() или C(); преобразования не к ссылочным типам и т.д.
-
Результат встроенной операции взятия адреса (&) — rvalue типа указатель.
-
Результат встроенных постфиксных операций ++, --.
-
Литералы за исключением строковых.
-
Константы перечислений.
lvalue:
-
Выражения, непосредственно обозначающие объект, non-modifiable в случае const-квалификации. Например, имя переменной, параметра функции и т.п.
-
Выражения ссылочных типов. non-modifiable в случае const-квалификации. В частности, результат вызова функций, возвращающих объекты по ссылке; выражения, состоящие из имен ссылочных переменных; операции преобразования к ссылочному типу и т.д.
-
Результат встроенной операции разыменования (*) — lvalue указуемого типа; non-modifiable в случае const-квалификации.
-
Результат встроенных префиксных операций ++, --.
-
Имя функции — non-modifiable lvalue; может быть преобразовано к rvalue «указатель на функцию».
-
Имя массива — non-modifiable lvalue; может быть преобразовано к rvalue «указатель на первый элемент массива».
-
Строковые литералы — non-modifiable lvalue; может быть преобразовано к rvalue «указатель на char/wchar_t».
Типы данных.
Типы данных. В языке Си имеются два существенно различных типа данных: int- целый и float - вещественный(с плавающей точкой). Из них можно создавать еще два типа: char - символьный , double - вещественный с двойной точности.
Следует различать тип данных и модификатор типа.
Имеются следующие базовые типы:
-
• char (символьный) – занимает 1 байт (8 бит) памяти
-
• int (целый) – 2 байта
-
• float (вещественный) – 4 байта
-
• double (вещественный с двойной точностью) – 8 байт
-
• void (пустой тип)
К модификаторам относятся:
-
• unsigned (беззнаковый)
-
• signed (знаковый)
-
• short (короткий)
-
• long (длинный)
Тип данных и модификатор типа определяют:
-
- формат хранения данных в оперативной памяти (внутреннее представление данных)
-
- диапазон значений в пределах которого может изменяться переменная
-
- операции которые могут выполняться над данными соответствующего типа
Итак, к данным целого типа относятся следующие типы:
char, int, long int (2 байта), short int (4 байта). Модификаторы signed и unsigned могут предшествовать любому целому типу, но они не обязательны. Они указывают, как интерпретируется старший бит переменной. По умолчанию все переменные целого типа считаются signed, т.е. левый бит интерпретируется как знак.
К вещественным типам данных (с плавающей точкой) относятся:
float, double, long double (10 байт).
