Программирование на языке высокого уровня.ppt
- Количество слайдов: 29
Программирование на языке высокого уровня o o Старший преподаватель Муфаззалов Дмитрий Фиданович Математический и естественно-научный цикл, вариативная часть, дисциплина по выбору 5 ЗЕ, лекции 32 ч. , лабораторные 32 ч. , практика 20 ч. , самостоятельная работа 87 ч. Зачет с оценкой 1
Входной контроль o o o Ф. И. О. Какими языками программирования владеете, в какой мере? Какой язык программирования хотите освоить? Сдавали ли вы ЕГЭ по информатике? В каких операционных системах Вы работаете? 2
Что установить o o Visual c++ http: //netbeans. org/ 3
Что изучить o o o http: //www. intuit. ru А. Я. Архангельский - С++ Builder 6 Книга 1 Язык C++ Ya. ru 4
Введение o o o Возник в начале 1980 -х гг из С Borland Microsoft Netbeans Intel Symantec 5
Для чего нужен o o o Си++ широко используется в системном программировании; операционные системы, драйверы Обработка сложных структур данных – текста, бизнес-информации, Internet-страниц и т. п. – одна из наиболее распространенных возможностей применения языка. язык Си++ в настоящее время является одним из наиболее распространенных языков программирования в мире 6
Простейшая программа на языке Си++ int main() { return 1; } #include
Идентификаторы o o Идентификаторы в языке Си++ – это последовательность знаков, начинающаяся с латинской буквы или знака подчеркивания для символического обозначения величин, имен функций и т. п. . чувствительность к регистру правильные: A 43, Count. Of. Rec, byte_word неправильные: 41 у, x-e 8
Ключевые (зарегистрированные) слова o o o не могут использоваться в качестве идентификаторов and, const, double, real, int, enum, for, float, try, switch, case, while, void, main, xor, if, else, return… http: //www. intuit. ru/department/pl/cpp/2/ 9
Переменные o o o Переменная – это символическое обозначение величины в программе, символическое обозначение ячейки оперативной памяти программы, в которой хранятся данные. Прежде чем использовать переменную, ее необходимо объявить. В объявлении первым стоит название типа переменной, а затем идентификатор – имя переменной Область видимости – в пределах фигурных скобок void main() { int x, X; int Z; double y, Y; } 10
Константы o o o константа не меняет своего значения в программе численная константа – явная запись значения в программе: x=x+4; символические константы: const int COUNT=34; Десятичный разделитель «. » X=-3; y=y+2. 1; z=2. 1 e-2; r=314. 159265 E-02 ; 11
Константы. Суффиксы и преффиксы o o o o o 0 x 5, 0 X 5 - шестнадцатеричное целое число (префикс 0 x или 0 X ); 05 - восьмеричное целое число (префикс - незначащий нуль в начале); 5 H, 5 h - короткое целое число (суффикс - h или H от s. Hort ) 5 U, 5 u - целое число без знака (суффикс - u или U, от Unsigned ); 5 HU, 5 hu, 5 Hu, 5 h. U - короткое целое число без знака; 5 L, 5 l - длинное целое число (суффикс - l или L, от Long ); 5 LU, 5 lu, 5 Lu, 5 l. U - длинное целое число без знака; 5 f, 5 F - короткое вещественное число (суффикс - f или F, от Float ); 5 LF, 5 FL, 5 fl, 5 lf, 5 Lf, 5 l. F, 5 Fl, 5 f. L - длинное вещественное число. 12
Выражения o o Операция – действие над идентификаторами Выражения – это идентификаторы (переменные, функции и константы), называемые операндами, объединенные знаками операций Операции могут быть унарными – с одним операндом, например, минус; бинарные – с двумя операндами, например сложение; тернарная операция Результат выражения как и переменная имеет тип (см. далее) 13
Операция присваивания o o o Бинарная, значение правого операнда присваивается левому операнду. Результат операции сравнения – значение левого операнда =, +=, -=, *=, /=, %=, |=, &=, ^=, <<=, >>= 14
Увеличение/уменьшение с присваиванием o o Префиксные: ++x, --I , Постфиксные: x++, A-Передергивание X++-Если переменная в обеих частях присваивания: o o o x=x+5 Y=Y*3 R=R-(x+c) o o o x+=+5 Y*=3 R-=x+c 15
Арифметические операции o o o o + сложение - вычитание * умножение / деление целых и вещественных % остаток + плюс - минус Результат операции – число, по типу соответствующее большему по разрядности операнду 16
Операции сравнения o o o o = = равно != не равно < меньше > больше <= меньше или равно >= больше или равно можно операнды любого типа (одного), либо между ними должна быть определена соответствующая операция сравнения. Результат – логическое значение true или false. 17
Логические операции o o && логическое И || логическое ИЛИ ! логическое НЕ результат – тоже логическое значение true или false 18
Битовые операции o o & битовое И | битовое ИЛИ ^ битовое ИСКЛЮЧАЮЩЕЕ ИЛИ ~ битовое НЕ 19
Побитовые операции над целыми числами o o o << сдвиг влево >> сдвиг вправо Побитовый сдвиг левого операнда на количество разрядов, соответствующее значению правого операнда. Результатом является целое число 20
Условная операция o o операнд 1? операнд 2: операнд 3 если значение первого операнда – истина, то результат – второй операнд; если ложь – результат – третий операнд. Первый операнд должен быть логическим значением, второй и третий операнды могут быть любого, но одного и того же типа, а результат будет того же типа, что и третий операнд 21
Последовательность o o , последовательность Выполнить выражение до запятой, затем выражение после запятой. Два произвольных выражения можно поставить рядом, разделив их запятой. Они будут выполняться последовательно, и результатом всего выражения будет результат последнего выражения 22
sizeof o позволяет определить, сколько памяти занимает то или иное значение 23
Приоритет операций, порядок вычисления выражения o o o : : (разрешение области видимости имен). (обращение к элементу класса), -> (обращение к элементу класса по указателю), [] (индексирование), вызов функции, ++(постфиксное увеличение на единицу), - (постфиксное уменьшение на единицу), typeid (нахождение типа), dynamic_cast static_cast reinterpret_cast const_cast (преобразования типа) sizeof (определение размера), ++ (префиксное увеличение на единицу), -- (префиксное уменьшение на единицу), ~ (битовое НЕ), ! (логическое НЕ), – (изменение знака), + (плюс), & (взятие адреса), * (обращение по адресу), new (создание объекта), delete (удаление объекта), (type) (преобразование типа) 24
Приоритет операций o o o o o . *, ->* (обращение по указателю на элемент класса) * ( умножение ), / ( деление ), % ( остаток ) + ( сложение ), – ( вычитание ) << , >> ( сдвиг ) <, <= , >= ( сравнения на больше или меньше) == , != (равно, неравно) & (поразрядное И) ^ (поразрядное исключающее ИЛИ) | (поразрядное ИЛИ) 25
Приоритет операций o o o o && (логическое И) || (логическое ИЛИ) = ( присваивание ), *=, /=, %=, +=, -=, <<=, >>=, &=, |=, ^= (выполнить операцию и присвоить) ? : (условная операция) , ( последовательность ) Операции с одинаковым приоритетом выполняются слева направо (за исключением нескольких операций присваивания ) чтобы изменить последовательность вычисления выражений, можно воспользоваться круглыми скобками 26
Встроенные типы языка Си++ Байт char от -128 до +127 без знака unsigned char от 0 до 255 Короткое целое число short от -32768 до +32767 Короткое целое число без знака unsigned short от 0 до 65535 Целое число int от – 2147483648 до + 2147483647 Целое число без знака unsigned int ( unsigned ) от 0 до 4294967295 Длинное целое число long от – 2147483648 до + 2147483647 Длинное целое число без знака unsigned long от 0 до 4294967295 Вещественное число одинарной точности float от ± 3. 4 e-38 до ± 3. 4 e+38 (7 значащих цифр) Вещественное число двойной точности double от ± 1. 7 e-308 до ± 1. 7 e+308 (15 значащих цифр) Вещественное число увеличенной точности long double от ± 1. 2 e-4932 до ± 1. 2 e+4932 Логическое значение bool значения true (истина) или false (ложь) 27
преобразование типов o o o допустимо смешивать в выражении различные целые типы более короткий тип при вычислениях преобразуется в более длинный (безопасно) Только при выполнении присваивания длинный тип может преобразовываться в более короткий (не всегда безопасно!!!) 28
Целые числа o o o фрагмент программы const int x = 240; const int y = 0360; const int z = 0 x 0 F 0; определяет три целые константы x, y и z с одинаковыми значениями. Отрицательные числа предваряются знаком минус " -". Приведем еще несколько примеров: const unsigned long ll = 0678; // ошибка в записи восьмеричного числа const short a = 0 xa 4; // правильная запись const int x = 23 F 3; // ошибка в записи десятичного числа 29


