
- •Программу сохранить под своей фамилией сбросить на флешку преподавателю.
- •Void main() { // объявление функции
- •Объявление постоянных
- •Объявление переменных
- •Приоритеты операций
- •Преобразование типов
- •Операции присваивания
- •Операторы ветвления и передачи управления Краткая форма условного оператора
- •If(выражение) оператоР_1;
- •Полная форма условного оператора
- •If(выражение) опреатоР_1; else оператоР_2;
- •Условная операция
- •Оператор выбора
- •Математические функции – файл math.H
- •Порядок выполнения работы
- •Варианты заданий к лабораторной работе №1
Операции присваивания
В общем случае операция присваивания имеет вид3:
имя_типа идентификатор знак_операции (имя_типа) выражение;
Выполнение операции:
вычисляется значение выражения,
полученная константа приводится к указанному типу,
над содержимым области памяти, поименованной идентификатором, и константой выполняется операция, знак которой находится до “=”,
результат помещается в область памяти, поименованной идентификатором.
Примеры.
int a = 7; // объявляется переменная a и a ← 74
a += (int) 8/3; // a ← 7 + 2
int b = a = 9; // объявляется переменная b и a ← 9, b ← 9
Обратите внимание на последнюю строку в примерах. Возможность двойного присваивания обусловлена тем, что = есть операция, а в выражении знаков операций может быть несколько.
Так как операция присваивания выполняется справа налево, то в ней может объявляться только одна переменная.
Особо следует отметить две операции присваивания: инкремент ++ и декремент --, каждая из которых бывает двух видов: префиксной и постфиксной, например,
++ c; // префиксный инкремент,
b -- ; // постфиксный декремент,
Префиксная форма ++ (--) увеличивает (уменьшает) операнд на единицу ДО его использования. Постфиксная форма ++ (--) увеличивает (уменьшает) операнд на единицу ПОСЛЕ его использования.
Пример.
int a, b = 5;
a = ++b; // b ← b + 1, a ← b; итог: a ← 6, b ← 6
a += b--; // a ← a + b, b ← b – 1; итог: a ← 12, b ← 5
Операторы ветвления и передачи управления Краткая форма условного оператора
If(выражение) оператоР_1;
Полная форма условного оператора
If(выражение) опреатоР_1; else оператоР_2;
Примечания.
Выражение должно быть скалярным и может иметь арифметический тип или тип указатель.
Если выражение не равно нулю (не пустой указатель), то оно считается истинным и выполняется оператоР_1.
В качестве операторов нельзя использовать описания и объявления.
Допускается использование блоков (составных операторов), то есть последовательности операторов и операций, заключенных в { }.
Примеры.
if(x < 0) x = -x; else ++x; // полная форма оператора ветвления
if(j > 0) {int k = 3; j = k;} // блок с объявлением локальной переменной5 k,
Условная операция
Результатом условной операции
выражение_1 ? выражение_2 : выражение_3
является значение выражения_2, если значение выражения_1 не равно нулю, в противном случае результатом условной операции является значение выражения_3.
Например, переменной x можно присвоить абсолютное значение переменной y следующим образом: x = y > 0 ? y : -y;
Оператор выбора
switch (переключающее_выражение)
{ case выражение_1: операторы_1;
case выражение_2: операторы_2;
…
case выражение_k: операторы_k;
default: операторы; }
Оператор switch передаёт управление тому из помеченных служебным словом case оператору, для которого значение выражения совпадает со значением переключающего выражения.
Если значение переключающего выражения не совпадает ни с одним из выражений, то управление передаётся на метку default, если она есть.
Примечания.
Каждый оператор может быть помечен несколькими метками case.
Оператор break осуществляет выход из оператора switch.
Пример.
cout << “Введите цифру”; cin >> digit;
switch(digit)
{
case 0: case 1: cout << “ 0 или 1”; break;
case 2: cout << “2”; break;
default: cout << “очень большая цифра”
}
Операторы передачи управления
Оператор безусловного перехода: goto метка;
метка есть идентификатор, после которого следует ":";
метка не объявляется.
Оператор возврата значения из тела функции: return выражение;
Оператор выхода из блока: break;
Оператор перехода к следующему повторению тела цикла: continue;
Операторы цикла
Оператор цикла с параметром
for( инициализация; выражение; модификация) оператоР;
Пример.
for(int i = 0; i < 10; i++) cout << i;
for(float x= -0.5; x < 0.6; x += 0.1) s += x;
Оператор цикла с предусловием
while (выражение) оператоР;
Оператор цикла с постусловием
do оператоР while(выражение);
Потоки ввода-вывода
Для ввода/вывода данных в языке C++ имеется много возможностей.
Наиболее просто ввод данных осуществляется с помощью, так называемого, потока ввода:
cin >> переменная >> переменная… ;
а вывод данных – потока вывода:
cout << выражение << выражение … ;
Прототипы потоков cin6 и cout7 объявлены в заголовочном файле iostream.h.
Для управления форматом ввода/вывода можно использовать манипуляторы:
setprecision(int n), который задаёт максимальное количество n цифр после запятой в записи рационального числа;
setw(int n), который задаёт минимальное количество позиций для вывода данных.
Прототипы манипуляторов объявлены в заголовочном файле iomanip.h.