- •Часть 1
- •40 01 02 – 02 Информационные системы и технологии (в экономике)
- •Общие сведения Сведения об эумк
- •Методические рекомендации по изучению дисциплины
- •Рабочая учебная программа
- •Протокол согласования учебной программы по изучаемой учебной дисциплине с другими дисциплинами специальности
- •Содержание дисциплины
- •1. Название тем лекционных занятий, их содержание, объем в часах
- •3. Перечень тем лабораторных занятий, их содержание и объем в часах
- •Теоретический раздел
- •Тема № 1. Введение в программирование
- •Происхождение языка с.
- •Основные характеристики алгоритмического языка с
- •Область применения
- •Системы программирования
- •Исходные и объектные модули, процессы компиляции и связывания
- •Алфавит языка
- •Лексемы (cTokens)
- •Тема № 2. Выражения и операции языка Унарные операции
- •Бинарные операции
- •Условная трехместная операция
- •Операция явного преобразования типа
- •Приоритет операций. Порядок вычисления выражений.
- •Организация ввода-вывода информации
- •Тема № 3. Управляющие структуры. Ветвления и циклы
- •Операторы преобразования данных – это операторы присваивания и произвольные выражения, завершенные символом «;».
- •Операторы управления работой программы называют управляющими конструкциями программы.
- •Тема № 4. Организация данных. Массивы и указатели Массивы
- •Инициализация массивов
- •Указатели
- •Функции для выделения и освобождения памяти
- •Тема № 5. Функции. Символьные строки и функции над ними Определение функций
- •Описание функций
- •Вызов функции
- •Передача параметров
- •Указатели на функции
- •Массивы указателей на функции
- •Главная функция. Передача аргументов главной функции
- •Рекурсивные программы
- •Стандартные функции ввода-вывода строк
- •Стандартные функции обработки строк
- •Тема № 6. Классы памяти и препроцессор языка Си Локальные и глобальные переменные
- •Автоматические (локальные) переменные
- •Внешние (глобальные) переменные
- •Статические переменные
- •Регистровые переменные
- •Область видимости и функции
- •Препроцессор и его директивы
- •Тема № 7. Структуры Декларация структур
- •Инициализация структур
- •Доступ к элементам структур
- •Элементы-массивы
- •Массивы структур
- •Указатели на структуры
- •Доступ к элементам структуры, определенной через указатель
- •Структуры и функции
- •Объединения
- •Битовые поля
- •Практический раздел Виртуальные лабораторные работы
- •Лабораторная работа №1
- •Лабораторная работа №2
- •Контрольные работы
- •Содержание пояснительной записки.
- •Задание для контрольной работы №1
- •Задание для контрольной работы №2
- •Варианты индивидуальных заданий
- •Теоретические вопросы
- •Пример оформления титульного листа для виртуальных лабораторных работ
- •Пример оформления титульного листа для контрольных
Тема № 2. Выражения и операции языка Унарные операции
& операция получения адреса операнда
&c_Symb – адрес размещения в памяти значения переменной c_Symb.
* операция обращения по адресу (называют еще операцией разыменования (доступ по адресу к значению того объекта, на который указывает операнд).
– унарный минус (изменяет знак арифметического операнда).
+ унарный плюс (введен для симметрии с унарным минусом).
~ побитовое отрицание 0001 1100 1110 0011
! логическое отрицание 0 1, не 0 0.
++ увеличение на единицу (инкремент или автоувеличение), существует две формы:
префиксная – увеличение до использования
постфиксная – увеличение после использования
–– уменьшение на единицу (декремент или автоуменьшение), также префиксная и постфиксная формы.
sizeof операция вычисления размера операнда (в байтах)
Бинарные операции
Делятся на следующие группы:
аддитивные и мультипликативные
сдвигов
поразрядные
операции отношений
логические
выбора компонента сложного объекта
операция «запятая»
скобки в качестве операций.
Аддитивные и мультипликативные
|
+ |
бинарный плюс - сложение арифметических операндов или сложение указателя с целым |
|
– |
бинарный минус - вычитание арифметических операндов или вычитание указателей |
|
* |
умножение операндов арифметического типа |
|
/ |
деление операндов арифметического типа. При целочисленных операндах абсолютное значение результата округляется до целого. |
|
% |
получение остатка от деления целочисленных операндов (деление по модулю). Знак остатка равен знаку делимого. |
Операции сдвига
Эти операции определены только для целочисленных операндов.
<< сдвиг влево битового представления левого операнда на число позиций равное значению правого операнда.
>> сдвиг вправо битового представления левого операнда на число позиций равное значению правого операнда.
Поразрядные операции
Выполняются над битовыми представлениями значений целочисленных операндов
|
& |
поразрядная конъюнкция (И) |
0&0 = 0 |
1&0 = 0 |
0&1 = 0 |
1&1 = 1 |
|
| |
поразрядная дизъюнкция (ИЛИ) |
0|0 = 0 |
1|0 = 1 |
0|1 = 1 |
1|1 = 1 |
|
^ |
поразрядное исключающее ИЛИ |
0^0 = 0 |
1^0 = 1 |
0^1 = 1 |
1^1 = 0 |
Операции отношений (сравнения)
Выполняются над арифметическими операндами или указателями
|
< |
меньше, чем |
|
> |
больше, чем |
|
<= |
меньше или равно, чем |
|
>= |
больше или равно, чем |
|
== |
равно |
|
!= |
не равно |
Результат операции целочисленный: 0 (ложь) или 1 (истина).
Логические операции
Выполняются над арифметическими операндами или отношениями
|
&& |
конъюнкция (И) |
|
|| |
дизъюнкция (ИЛИ) |
Результат 0 (ложь) или 1 (истина).
Операции присваивания
Один из основных операторов – оператор присваивания. В качестве его левого операнда может использоваться только модифицируемое именующее выражение, т.е. ссылка на некоторую именованную область памяти, значение которой доступно изменениям.
Существует одна простая операция присваивания и ряд составных.
Простое присваивание –
А = B*2; – присвоить переменной А результат вычисления выражения B*2.
Все составные операции присваивания представляют собой сокращенную запись простого присваивания для случая, который может быть описан как
X = XY; – то же в записи составного присваивания: X =Y;
В качестве символа могут быть использованы знаки операций:
+ – * / % << >> & | ^
Операции выбора компонентов структурированного объекта
Существует две операции (. и ->)
Запятая в качестве операции
Несколько выражений, разделенных запятыми, вычисляются последовательно слева направо. В качестве результата сохраняются тип и значение самого правого выражения.
int x,y; y = (x=3, 3*x); (после операции х=3, y=9).
Скобки в качестве операций
Круглые и квадратные скобки играют роль бинарных операций при вызове функций и индексировании элементов массивов.
Круглые скобки обязательны в обращении к функции:
<имя функции> (<список аргументов>)
где операндами служат <имя функции> и <список аргументов>.
Квадратные скобки используются в выражении
<имя массива> [<индекс>]
здесь операнды – <имя массива> и <индекс>.
