Инструкции C++ Условная инструкция Формат: if (условие) оператор; else оператор; Пример: if (i!=0) { if (j) j++; if(k) k++; else if(p) k--; } else i--;

Презентация:



Advertisements
Похожие презентации
Инструкции C++ Условная инструкция Формат: if (условие) оператор; else оператор; Пример: if (i!=0) { if (j) j++; if(k) k++; else if(p) k--; } else i--;
Advertisements

Лекция 2Лекция 2Структура программы Директивы препроцессора main () { Описания переменных Операторы }
Лекция 6 Функции. Объявления и определения Объявление функции – указание имени функции, а также входных и выходных параметров Определение функции – указание.
ООП Классы Данные отдельно, методы отдельно struct Node { Node* next; void* data; }; struct List { Node* first; int size; }; void* allocate() { … } void.
Лекция 6 Функции. Объявления и определения Объявление функции – указание имени функции, а также входных и выходных параметров Определение функции – указание.
Синтаксис языка Java. Символы и синтаксис Перевод строчки эквивалентен пробелу Регистр в именах различается.
Основы информатики Лекция. Функции Заикин Олег Сергеевич
Преобразования типов В языке C/C++ имеется несколько операций преобразования типов. Они используются в случае, если переменная одного типа должна рассматриваться.
Лекция 3 ПЕРВЫЕ ПРОГРАММЫ, ВВОД/ВЫВОД В ЯЗЫКЕ С++
Обработка исключительных ситуаций Исключительная ситуация (исключение) – это ошибка, возникающая во время выполнения программы. Например, ошибка работы.
©ρŧą Базовые конструкции языка.
Лекция 10 ОбъектыЛекция 10 ОбъектыООП Инкапсуляция Возможность совместного хранения данных и кода для их обработки Наследование Возможность расширять существующие.
Лекция 4. Введение в С++ Наследование, множественное наследование. Конструкторы, деструкторы. Виртуальные функции.
Лекция 9 Функции. Массивы-параметры функции Передача массива в функцию Пример: void array_enter(int a[], int size) { int i; for (i = 0; i < size; i++)
Функции Функция – именованная последовательность описаний и операторов, выполняющая некоторое действие. Может иметь параметры и возвращать значение. Функция.
Часть 1: «Основы программирования». Содержание Основные понятия. Структура программы. Ввод-вывод Программирование циклов. Операторы цикла while, for и.
Потоки Язык C++ не обеспечивает средств для ввода/вывода Ему это и не нужно; такие средства легко и элегантно можно создать с помощью самого языка Традиционно.
Прикладное программирование кафедра прикладной и компьютерной оптики Полиморфизм.
Операторы языка Си Лекция 5.
1 Переопределение операций Макаревич Л. Г.. 2 Зачем нужна перегрузка операций? class Complex { double re; double im; public: Complex(double r=0, double.
Транксрипт:

Инструкции C++

Условная инструкция Формат: if (условие) оператор; else оператор; Пример: if (i!=0) { if (j) j++; if(k) k++; else if(p) k--; } else i--; Формат: switch (выражение) { case константа: набор операторов; break; … default: набор операторов; } Инструкция выбора

Циклы С предусловием: while (условие) оператор; С постусловием: do оператор; while (условие); Пересчетного типа: for(инициализация;условие;приращение)оператор;

Инструкции перехода break; Пример: for(int I=0; I0) continue; goto loop_exit; } loop_exit: … Инструкция безусловного перехода Формат: goto метка; Используется только в случаях крайней необходимости! break; }

Функции Функция до её использования должна быть описана или объявлена в виде (имена параметров игнорируются): Прототип_функции; Функция должна быть описана только один раз в виде: Прототип_функции { тело_функции } Формат прототипа: Тип_возвращаемого_значения имя(список_параметров) Формат списка параметров: тип имя_аргумента,…,тип имя_аргумента Функцию можно определить со спецификатором inline inline int fac(int n) {return (n

Возвращаемое значение Любая функция, если она не объявлена как void, должна возвращать значение. Это значение задается в инструкции return выражение; - инициализации неименованной переменной возвращаемого типа. Функция может иметь несколько инструкций return. Если функция не возвращает значения, то выражение в инструкции return может быть пустым или вызовом функции типа void.

Пример. int fac(int n) { if(n>1) return n*fac(n-1); return 1; } Ошибка. int* fp(void) {int& fr(void) { int local=1; return &local; return local; }} Возвращается адрес локальной переменной, которая будет уничтожена. Значение, на которое будет указывать этот адрес, будет меняться непредсказуемо!

Передача аргументов По значению void val(int i) { i++; } void main() { int k=0; val(k); cout

Функции с неопределенным числом аргументов #include #include int average( int first,... ); void main() { cout

Аргументы функции main #include void main(int n,char* s[]) {cout

Полиморфизм – один интерфейс, множество методов void print(long);// печать целого void print(char*);// печать символьной строки void print(float);// печать вещественного Проблема: print(10); 1.Не требуется преобразования типа (int и const int). 2.Существует стандартное преобразование типа с расширением точности (int в long). 3.Тоже с возможной потерей точности (double в int). 4.Преобразование типа определено пользователем. 5.С переменным числом аргументов.

Указатель на функцию #include double I(double a,double b,int n,const double (&F)(double)) {double h=(b-a)/n--,s=(F(a)+F(b))/2; while(n--) s+=F(a+=h); return s*h; } double f(double x) { return x; } void main() {cout

Макросы Расширение исходного кода #include #include имя_файла Вставить определение Определить константу #define имя_макроса список_лексем #define va_list void* #define sqr(x) (x)*(x) #define имя константа #define array_size 128 NB!#define sqr(x) x*x A=sqr(a+b); // A=a+b*a+b; Условной компиляции #if#ifdef#ifndef … #else#elif … #endif

Библиотечные функции #include #define eof (-1) int getchar(void); int putchar(int); int printf(char*,…); int scanf(char*,…); #include double sin(double); double cosh(double); double exp(double); double sqrt(double); double pow(double,double); #include #define NULL 0 char* strcpy(char*, const char*); int strcmp(const char*,const char*); int strlen(const char*); char* strstr(const char*,const char*); #include int getch(void); int getche(void); int putch(int); void gotoxy(int,int);

От проектирования процедур к организации данных #include struct complex { double re,im; }; void main(void) {complex a; a.re=1.; a.im=2.; cout

Инкапсуляция #include struct complex { double re,im; void assign(double r,double i) { re=r; im=i; } void print(void); }; void complex::print(void) { cout

Сокрытие данных #include struct complex { private: double re,im; public: void assign(doble r,double i) { re=r; im=i; } void print(void); }; void complex::print(void) { cout

Конструкторы class complex { double re,im; public: complex(double r=0.,double i=0.) { re=r; im=i; } void print(void) const; }; void complex::print(void) const { cout

Преобразование типов class complex { double re,im; public: complex(double r=0.,double i=0.) { re=r; im=i; } operator double() { return sqrt(re*re+im*im); } void print(void) const; }; void complex::print(void) const { cout

Перегрузка операторов class complex { double re,im; public: complex(double r=0.,double i=0.) { re=r; im=i; } operator double() { return sqrt(re*re+im*im); } complex operator +(double b){ return complex(re+b,im); } complex operator+(complex a) { return complex(a.re+re,a.im+im); } void print() const { cout

Дружественные функции class complex { double re,im; public: complex(double r=0.,double i=0.) { re=r; im=i; } operator double() { return sqrt(re*re+im*im); } friend complex operator+(double,complex); complex operator +(double b){ return complex(re+b,im); } complex operator+(complex a) { return complex(a.re+re,a.im+im); } void print() const { cout

Перегрузка оператора

Пример