- •Основы программирования
- •Содержание
- •Лабораторная работа №1 Линейные и разветвляющиеся вычислительные процессы
- •Краткие теоретические сведения
- •Классификация данных
- •Декларирование объектов
- •Структура программы
- •Константы
- •Операции Операции выражения
- •Арифметические операции
- •Операция присваивания
- •Сокращенная запись операции присваивания
- •X##; - постфиксную.
- •Преобразование типов операндов арифметических операций
- •Операция приведения типа
- •Операции сравнения
- •Логические операции
- •Побитовые логические операции, операции над битами
- •Операция «,» (запятая)
- •Функции вывода информации
- •Функции ввода информации
- •Ввод - вывод потоками
- •Стандартные математические функции
- •Синтаксис операторов языка Си
- •Операция присваивания
- •Условные операторы
- •If (условие ) оператор1;
- •If (условие1) оператор1;
- •Условная операция "? :"
- •Оператор выбора switch
- •Варианты индивидуальных заданий
- •Контрольные вопросы
- •Циклические операторы while и do–while
- •Вложенные циклы
- •Варианты индивидуальных заданий
- •Контрольные вопросы
- •Строки, как одномерные массивы символов
- •Указатели и операции над адресами
- •Операции над указателями (адресная арифметика)
- •Связь указателей и массивов
- •Пример 1: Упорядочить по алфавиту массив строк (не более 20) длиной не более 10 символов в каждой:
- •Варианты индивидуальных заданий
- •Контрольные вопросы
- •Лабораторная работа №4 Многомерные массивы, динамическое распределение памяти
- •Краткие теоретические сведения
- •Массивы указателей
- •Указатели на указатели
- •Динамическое размещение данных
- •Проверить, является ли введенная строка полиндромом (справа-налево читается также как и слева-направо).
- •Варианты индивидуальных заданий
- •Контрольные вопросы
- •Вызов функции.
- •Изменение значений параметров.
- •Область действия переменных
- •Классы памяти.
- •Рекурсивные функции.
- •Операция typedef
- •Указатели на функции
- •Примеры работы с функциями
- •Варианты индивидуальных заданий
- •Контрольные вопросы
- •Декларация структурного типа данных
- •Создание структурных переменных
- •Обращение к полям структур
- •Вложенные структуры
- •Использование typedef
- •Массивы структур
- •Размещение структурных переменных в памяти
- •Пример на использование структур
- •Варианты индивидуальных заданий
- •Контрольные вопросы
- •Лабораторная работа № 7 Файлы в языке с
- •Краткие теоретические сведения
- •Варианты индивидуальных заданий
- •Контрольные вопросы
- •Лабораторная работа № 8 Графический режим работы
- •Kраткие теоретические сведения
- •Варианты индивидуальных заданий
- •Контрольные вопросы
- •Команды вставки и удаления (под блоком понимается выделенное подсветкой подмножество символов)
- •Команды работы с блоками
- •Набор текста программы
- •Компиляция, редактирование связей, запуск программы на выполнение
- •Многофайловая компиляция
- •Отладка программы
- •Использование глобальных переменных, объявленных вне файла
- •Литература
Синтаксис операторов языка Си
Операторы языка Си можно разделить на три группы:
операторы-декларации (рассмотрены ранее);
операторы преобразования объектов;
операторы управления процессом выполнения алгоритма.
Преобразование объектов производитсяпосредством записи выражений.Простейший вид операторов - выражение, заканчивающееся символом " ;" (точка с запятой).Простые операторы преобразования:
оператор присваивания (выполнение операций присваивания);
оператор вызова функции (выполнение операции вызова функции);
пустой оператор «;».
К управляющим операторам относятся:
операторы условного if и безусловного переходов goto;
оператор выбора альтернатив (переключатель) switch;
операторы организации циклов for, while, do и передачи управления (перехода) break, exit, return, continue.
Операция присваивания
Операция присваивания имеет две формы записи:
Полнаяформа:
имя_переменной =выражение;
Сначала вычисляется выражение, а затем результат присваивается имени_переменной. Например: y=(x+2)/(3*x)-5;
С помощью одного оператора можнo присвоить одно значение нескольким переменным, например: x=y=z=0; /* x, y, z=0 */
или z=(x=y)*5; - сначала переменной xприсваивается значение переменнойy, далее вычисляется выражениеx*5, и результат присваивается переменнойz.
Сокращеннаяформа:
имя_переменной операция=выражениe;
где операция– одна из арифметических операций (+,-,*, /, %);
Например:
x*=5; /*x=x*5; */
s+=7; /*s=s+7; */
y/=x+3; /* y=y/(x+3); */
Сокращенная форма операции присваивания применяется тогда, когда переменная используется в обеих частях полной формы данного оператора.
В языке С существует операции уменьшения(--) иувеличения(++) значения переменной на 1. Операции могут бытьпрефиксные(++i и --i) ипостфиксные(i++ и i--). При использовании данной операции в выражении, в случае префиксной операции сначала выполняется сама операция (изменяется значение i), и только потом вычисляется выражение. В случае постфиксной операции – операция применяется после вычисления выражения.
Например:
b=7;
n=1;
1. c=b*++n; /* n=n+1; c=b*n; т.е. c=14 */
2. c=b*n++; /* c=b*n; n=n+1; т.е. c=7 */
Условные операторы
Оператор условного перехода ifприменяется для выбора одной из ветвей вычислений.
Общая форма записи:
If (условие ) оператор1;
else оператор2;
Например:if(x>y) max=x;
else max=y;
Если оператор1илиоператор2содержит два и более операторов, то они заключаются в фигурные скобки{ }, т.е. применяется составной оператор. Оператор if проверяет истинность или ложность условия. Если условие истинно (не равно 0), то выполняетсяоператор1, иначе, при ложности условия (=0), выполняетсяоператор2.
Вторая часть оператора (else оператор2;) может отсутствовать. Такую его форму называют “сокращенной”. Тогда в случае ложности условия управление передается на следующий за if оператор.
Если оператор1иоператор2в свою очередь являютя операторами if , то такой оператор называювложенным. При этом ключевое слово else принадлежит ближайшему предшествующему if.
Общий вид вложенного оператора if: