Программирование_L1_(1).pptx
- Количество слайдов: 8
Язык программирования С++ Лекция № 1 (Подбельский гл 1. , 2. ; Страуструп гл. 2. ) От PASCAL к C++ {first. pas} {Простейшая программа на PASCAL} VAR a, b, c: INTEGER; BEGIN a: =3; b: =a-1; c: =a div b; Writeln(a, ’/’, b, ’=’, c); END. //first. cpp // То же самое на С++ #include <iostream. h> void main() { int a, b, c; a=3; b=a-1; c=a/b; cout<<a<<”/”<<b<<”=”<<c<<endl; } Будет напечатано: 3/2=1 // После этих символов до конца строки все является однострочным комментарием /* это тоже комментарий, он может продолжаться несколько строк */
#include <iostream. h> // включить в текст программы все содержимое файла iostream. h Это необходимо, чтобы программа могла печатать на экран и вводить информацию с клавиатуры. void main() // заголовок главной функции в программе ( main - главный) В каждая программа на С++ должна быть одна и только одна функция main. Ключевое слово void (пустой) задает тип значения, которое возвращает главная функция. В этой программе она ничего не возвращает. В круглых скобках должен быть список параметров функции main. В данном примере у функции main нет параметров. { // Начало тела функции или составного оператора (соответствует BEGIN в PASCAL) int a, b, c; // Раздел описания локальных переменных В разделе описания локальных переменных в данном примере определены три переменные целого типа. Эти переменные здесь не инициализированы, т. е. их значение не определено. a=3; // инструкция присваивания переменной а значения 3 = это оператор присваивания (соответствует используется оператор == : = в PASCAL). Для проверки равенства в С++ . b=a-1; /* инструкция присваивания переменной b результата выполнения оператора вычитания 1 из переменной а */
с=a/b; // результат операции деления a на b присваивается переменной с Важное замечание. Тип результата оператора деления зависит от типа операндов: если оба операнда целые, то результат также целый (производится отсечение дробной части). Иначе выполняется деление с плавающей точкой. Для вычисления остатка используется оператор % cout<<a<<"/"<<b<<"="<<c<<endl; // печать результата на экран Объект сout обеспечивает печать информации в стандартный поток вывода (на экран). Этот объект описан в файле iostream. h << этот оператор в данном случае значит "поместить в поток" cout<<a поместить переменную а в стандартный поток вывода (напечатать на экране значение переменной ) "/" строка (строковая константа), состоящая из одного символа "=" то же самое endl вставить в поток вывода символ новой строки и освободить буфер потока. } //конец тела функции или составного оператора (соответствует END в PASCAL) Если } обозначает конец тела функции или составного оператора, то после } точка с запятой не ставится. !!! Прописные и строчные буквы в С++ различаются !!! int b. Flag, Bflag, bflag, BFLAG; // это все разные переменные
а точнее, в единицах размера типа char Похожие элементы языков PASCAL и C++ Фундаментальные типы PASCAL C++ Размер типа в байтах CHAR char Символьный тип sizeof(char)==1 INTEGER int Целый тип sizeof(int)==2 // 4 для Win 32 REAL double Тип с плавающей точкой sizeof(double)==8 sizeof (Type_name) унарный оператор. Вычисляет размер типа Type_name единцах размера char sizeof name унарный оператор вычисляет размер объекта name в единцах размера char Замечание по терминологии. operator - оператор - выполняет некоторую операцию - например: + / >= sizeof statement - инструкция - выполняет некоторое действие(ия)- например: for return if Простейшие операторы (далеко не все) Унарные операторы (не все) PASCAL - C++ - Смысл Унарный минус (изменение знака) Приоритет 2 Чем меньше номер, тем выше приоритет Пример a = -b; в
PASCAL C++ NOT Приоритет Логическое отрицание (НЕ) ! INC(a) Смысл ++ Увеличение на единицу. Имеет две формы: префиксную и постфиксную. 2 2 Пример a = !b; int a=3, b=10; cout<<a++<<endl; cout<<++b<<endl; Будет напечатано: 3 11 -- Уменьшение на единицу. Имеет две формы: префиксную и постфиксную. sizeof 2 Вычисление размера в байтах. 2 Бинарные операторы (не все) : = + = Арифметические + Оператор присваивания. Оператор сложения. 15 5 a = b; a = b + с;
PASCAL C++ += - - Смысл Приоритет Оператор сложить и присвоить. Оператор вычитания. 15 5 -= div, / 15 * Бинарный оператор умножения. 4 *= * Оператор вычесть и присвоить. Оператор умножить и присвоить. Оператор деления. /= mod a += b; // эквивалент a=a+b; a = b - с; 15 / Оператор разделить и присвоить. % %= Оператор вычисления остатка от деления целочисленных операндов. Оператор вычислить остаток и присвоить. a -= b+с; // эквивалент a=a-(b+с); a = b * с; 4 15 4 Пример int a, b, c; a = b % с; 15 Операторы отношения (сравнения) = == Равно 8 if (a==b) <> != Не равно 8 if (a!=0) < < меньше, чем 7 > > больше, чем 7
PASCAL C++ Смысл Приоритет <= <= меньше либо равно 7 >= >= больше либо равно Пример 7 Логические бинарные операторы. AND && Логическое И 12 if (a==b && c<d) OR || Логическое ИЛИ 13 if (a!=0 || c>=d) Разделители BEGIN { } END; ( ) Обозначают начало и конец составной инструкции (блока) или тела функции. Используются и в других случаях. if (c!=b) { a=b; b=c; c=a; } Изменяют последовательность выполнения операторов. d= (a+b)/c; // сначала сложить // затем разделить Обязательный элемент циклических инструкций Служат для явного преобразования типа double sqr(double x) { return x*x; } while (n<m) { sum+=a[i]; n++; } double x; int j; j=(int)(x+0. 5);
Выделяют условные выражения в инструкции "если" (обязательно) if (n!=0) sum/=n; void init() { z=0; } // определение Необходимы при определении, // функции описании и вызове любой функции для задания списка параметров, даже если init(); // вызов этой функции их нет. // из тела другой функции
Программирование_L1_(1).pptx