Скачать презентацию ТЕМА ВЫРАЖЕНИЯ КЛАССИФИКАЦИЯ ОПЕРАТОРОВ КЛАССИФИКАЦИЯ ОПЕРАЦИЙ Операции Скачать презентацию ТЕМА ВЫРАЖЕНИЯ КЛАССИФИКАЦИЯ ОПЕРАТОРОВ КЛАССИФИКАЦИЯ ОПЕРАЦИЙ Операции

Презентация_выражения.ppt

  • Количество слайдов: 25

ТЕМА: ВЫРАЖЕНИЯ. КЛАССИФИКАЦИЯ ОПЕРАТОРОВ. ТЕМА: ВЫРАЖЕНИЯ. КЛАССИФИКАЦИЯ ОПЕРАТОРОВ.

КЛАССИФИКАЦИЯ ОПЕРАЦИЙ: Операции – это специальные комбинации символов, специфицирующие действия по преобразованию различных величин. КЛАССИФИКАЦИЯ ОПЕРАЦИЙ: Операции – это специальные комбинации символов, специфицирующие действия по преобразованию различных величин. Арифметические операции: + ++ -* / % Операция сложения Унарная операция сложения (инкремент). Прибавляет единицу к значению переменной. Различают префиксный и постфиксный инкремент в зависимости от того, находится инкремент перед или после операнда. Если операция является префиксом, то операнд инкрементируется перед его использованием в выражении, а если постфиксным – после его использования. Унарная операция вычитания (декремент). Вычитает единицу из значения переменной. Префиксный и постфиксный. Операция вычитания Унарный минус. Изменяет знак величины. Операция умножения Операция деления Получение остатка от деления. Допустима только для целых чисел.

КЛАССИФИКАЦИЯ ОПЕРАЦИЙ: Операции отношения: < <= == >= > != Меньше (а<b), 1 если КЛАССИФИКАЦИЯ ОПЕРАЦИЙ: Операции отношения: < <= == >= > != Меньше (а

КЛАССИФИКАЦИЯ ОПЕРАЦИЙ: Операции присваивания: = znak{*, /, %, +, <<, >>, &, |, ^} КЛАССИФИКАЦИЯ ОПЕРАЦИЙ: Операции присваивания: = znak{*, /, %, +, <<, >>, &, |, ^} Простое присваивание. Присваивает значение одного операнда другому. Составная операция присваивания. a znak=b понимается как a=a znak b. a+=b если a=3, b=4, то а=7. Условная операция: ? : операнд 1? операнд 2: операнд 3. Результат равен значению выражения операнд 2, если операнд 1 истина и значению выражения операнд 3, в противном случае. a=(b<0)? -b: b – а присваевается абсолютное значение b.

ПРАВИЛА ПОСТРОЕНИЯ ВЫРАЖЕНИЙ: Выражение – это комбинация операндов и операций, значением которой является отдельная ПРАВИЛА ПОСТРОЕНИЯ ВЫРАЖЕНИЙ: Выражение – это комбинация операндов и операций, значением которой является отдельная величина. Операнд – это константная или переменная величина. Каждый операнд выражения – это также выражение, представляющее отдельную величину. Операции определяют действия над операндами. Вычисления выражений выполняется по определенным правилам преобразования, группировки и приоритета, которые зависят от используемых в выражениях операций, наличию круглых скобок и типов данных операндов. Выражения с более приоритетными операциями вычисляются первыми.

ПРИОРИТЕТ ВЫПОЛНЕНИЯ ОПЕРАЦИЙ: Приоритет Знак операции Назначение Схема 1 : : Доступ к глобальному ПРИОРИТЕТ ВЫПОЛНЕНИЯ ОПЕРАЦИЙ: Приоритет Знак операции Назначение Схема 1 : : Доступ к глобальному имени или имени из другой области : : идентификатор (глобальный) имя области : : имя_члена_структуры 1 -> Обращение к члену структуры по указателю на структуру указатель -> имя_члена_структуры 1 . Обращение к члену структуры по имени структуры имя_структуры. имя_члена_структуры 1 [ ] Обращение к элементу массива указатель [ индекс ] 1 ( ) Преобразование типа данного имя_типа (выражение ) или (тип) выражение 1 ( ) Вызов функции функция(аргументы) 2(справа налево) ++ Автоувеличение ++ операнд или операнд++ 2 -- Автоуменьшение -- операнд или операнд-- 2 2 2 2 ~ ! + & * new delete Битовое инвертирование Логическое отрицание Одноместный минус Одноместный плюс Получение адреса Разыменование указателя Выделение динамической памяти Освобождение памяти ~ целое_выражение ! выражение - выражение + выражение & переменная * указатель new тип данного delete указатель 2 delete [] Освобождение памяти для массива delete [] указатель 2 2 3 3 3 sizeof * / % Размер данного Размер типа данного Умножение Деление Остаток от деления нацело sizeof выражение sizeof (имя типа ) выражение * выражение / выражение % выражение 4 ->* Обращение к члену структуры по указателю указатель_на_структуру ->* имя_члена_структуры-указателя 4 . * Обращение к члену структуры по имени структуры имя_структуры. * имя_члена_структуры-указателя 5 5 6 6 7 7 8 8 9 10 11 12 13 + << >> < <= > >= == != & ^ | && | | Сложение Вычитание Сдвиг влево Сдвиг вправо Меньше или равно Больше или равно Равно Не равно Поразрядная конъюнкция Отрицание равнозначности Поразрядная дизъюнкция Логическое "И" Логическое "ИЛИ" выражение + выражение - выражение целое_выражение << целое_выражение >> целое_выражение <= выражение >= выражение == выражение != выражение & выражение ^ выражение | выражение && выражение | | выражение 14 справа налево ? : Условное выражение ? выражение 1 : выражение 2 15 = Простое присваивание выражение = выражение 15 znak= Составное присваивание znak - один из знаков операций * / % + - << >> & ^ | выражение @= выражение 16 , Операция следования выражение , выражение

АВТОМАТИЧЕСКОЕ И ЯВНОЕ ПРЕОБРАЗОВАНИЕ ТИПОВ: В языке С предусмотрены специальные операции, позволяющие указывать необходимость АВТОМАТИЧЕСКОЕ И ЯВНОЕ ПРЕОБРАЗОВАНИЕ ТИПОВ: В языке С предусмотрены специальные операции, позволяющие указывать необходимость явного преобразования типа. Если нужно временно изменить формат некоторой переменной, достаточно перед ее именем в скобках указать тип, к которому необходимо преобразовать переменную. rez=(double)a/b Также в языке реализованы правила автоматического преобразования типов, чтобы привести выражения к общему типу. Правила автоматического преобразования применяются к выражениям, содержащим значения двух или более типов данных, которые называются выражениями смешанного типа.

ПРАВИЛА: Значения типов char и short преобразуются к типу int. Значения типа float преобразуются ПРАВИЛА: Значения типов char и short преобразуются к типу int. Значения типа float преобразуются к типу double. Если один из типов имеет тип double, то и другие преобразуются к типу double. Если один из операндов имеет тип long, то и другие преобразуются к типу long. Если один из операторов имеет тип unsigned, то и другие преобразуются к типу unsigned. Каждое значение в выражении смешанного типа автоматически возводится к наивысшему типу выражения (фактически в выражении создается и используется временная версия каждого значения, а первоначальные значения остаются неизменными).

Типы данных long double Наивысший тип в выражении double float unsigned long int unsigned Типы данных long double Наивысший тип в выражении double float unsigned long int unsigned int short char Наинизший тип в выражении

СТАНДАРТНЫЕ ФУНКЦИИ УПРАВЛЕНИЯ ВВОДОМ-ВЫВОДОМ: Весь ввод и вывод выполняется посредством потоков – последовательностей символов СТАНДАРТНЫЕ ФУНКЦИИ УПРАВЛЕНИЯ ВВОДОМ-ВЫВОДОМ: Весь ввод и вывод выполняется посредством потоков – последовательностей символов с построчной организацией. При запуске программы к ней автоматически подсоединяются 3 потока. стандартный поток ввода обычно подсоединяется к клавиатуре, стандартный поток вывода – к экрану. стандартный поток ошибок – так же подсоединяется к экрану. В него выводятся сообщения об ошибках.

ФУНКЦИИ ВВОДА-ВЫВОДА: 1) gets() Синтаксис: char gets(char*buffer). Возвращает: указатель на считанную строку. Функция считывает ФУНКЦИИ ВВОДА-ВЫВОДА: 1) gets() Синтаксис: char gets(char*buffer). Возвращает: указатель на считанную строку. Функция считывает символьную строку стандартного входного потока и помещает ее по адресу, заданному указателем buffer. Причем строка заканчивается, если функция обнаруживает символ ‘n’. Данный символ удаляется и заменяется нульсимволом ‘’. Функция считывает символьную строку стандартного входного потока. Пример: char s[80]; gets(s);

ФУНКЦИИ ВВОДА-ВЫВОДА: 2) puts() Синтаксис: int puts(const char*string). Возвращает: код передаваемого символа. Функция записывает ФУНКЦИИ ВВОДА-ВЫВОДА: 2) puts() Синтаксис: int puts(const char*string). Возвращает: код передаваемого символа. Функция записывает символьную строку в стандартный поток данных. Нуль-символ строки заменяется символом новой строки ‘n’. Пример: puts(“Введите данные”);

ФУНКЦИИ ВВОДА-ВЫВОДА: 3) getchar() Синтаксис: int getchar(void). Возвращает: считанный символ. Функция считывает символ из ФУНКЦИИ ВВОДА-ВЫВОДА: 3) getchar() Синтаксис: int getchar(void). Возвращает: считанный символ. Функция считывает символ из стандартного входного потока. 4) putchar() Синтаксис: int putchar(int character). Возвращает: записанный в поток символ. Функция записывает символ в стандартный поток вывода.

ФУНКЦИИ ВВОДА-ВЫВОДА: 5) printf() Синтаксис: int printf(const char*format, …) Возвращают: число выведенных символов. Функция ФУНКЦИИ ВВОДА-ВЫВОДА: 5) printf() Синтаксис: int printf(const char*format, …) Возвращают: число выведенных символов. Функция printf() выводит форматированные данные в стандартный поток (экран). Пример: printf (“Введите x, y”); printf (“%d”, 455);

 Каждый элемент формата состоит из нескольких полей: %[флаг][ширина][точность][модификатор_типа] тип_формата Тип формата c s Каждый элемент формата состоит из нескольких полей: %[флаг][ширина][точность][модификатор_типа] тип_формата Тип формата c s d, i u o x X f e E g G p n % Представление данных при выводе Отдельный символ Символьная строка Десятичное целое число (различие i и d проявляется в функции scanf()) Целое беззнаковое десятичное число Целое беззнаковое восьмиричное число Целое беззнаковое шестнадцатеричное число (для вывода используется символы 0 -f) Целое беззнаковое шестнадцатеричное число (для вывода используется символы 0 -F) Число с плавающей запятой в записи с фиксированной десятичной точкой Значение со знаком в экспоненциальном формате ‘е’ Значение со знаком в экспоненциальном формате ‘E’ Значение со знаком в формате ‘e’ или ‘f’ в зависимости от значения и указанной точности Значение со знаком в формате ‘E’ или ‘F’ в зависимости от значения и указанной точности Адрес (значение указателя) Число записанных в данный момент символов Сам знак преобразования

ФЛАГИ: %[ФЛАГ][ШИРИНА][ТОЧНОСТЬ][МОДИФИКАТОР_ТИПА] ТИП_ФОРМАТА Знак + Пробел 0 # Действие Выравнивание влево выводимого числа в ФЛАГИ: %[ФЛАГ][ШИРИНА][ТОЧНОСТЬ][МОДИФИКАТОР_ТИПА] ТИП_ФОРМАТА Знак + Пробел 0 # Действие Выравнивание влево выводимого числа в пределах выделенного поля. Если этот знак не указан, то по умолчанию производится выравнивание вправо. Выводится знак числа. Знак минус при отрицательных значениях числа выводится всегда и не зависит от наличия данного флага. Выводится знак пробела перед положительным числом Заполняет поле нулями Действие зависит от установленного для аргумента типа формата. Для целых чисел выводится идентификатор системы счисления: 0 -перед восьмеричным числом, 0 x или 0 X – перед шестнадцатеричным числом. При указании формата e, E или f происходит вывод десятичной точки. Действие данного символа при использовании формата g и G идентично действия e и E.

%[ФЛАГ][ШИРИНА][ТОЧНОСТЬ][МОДИФИКАТОР_ТИПА] ТИП_ФОРМАТА Ширина – в данном поле устанавливается минимальная ширина поля в символах. Если %[ФЛАГ][ШИРИНА][ТОЧНОСТЬ][МОДИФИКАТОР_ТИПА] ТИП_ФОРМАТА Ширина – в данном поле устанавливается минимальная ширина поля в символах. Если число подлежащих выводу символов меньше, чем указано в этом поле, то слева и справа добавляются пробелы для достижения указанного значения. Если перед числом стоит нуль, то вместо пробелов добавляются нули. Точность – задает число подлежащих выводу десятичных знаков и должно начинаться точкой. Действие поля зависит от типа данных. Пример: printf(“%dn”, 455);

ФУНКЦИИ ВВОДА-ВЫВОДА: 6) scanf() Синтаксис: int scanf(const char*format, …) int scanf(const char*buffer, const char*format, ФУНКЦИИ ВВОДА-ВЫВОДА: 6) scanf() Синтаксис: int scanf(const char*format, …) int scanf(const char*buffer, const char*format, …) Возвращает: число считанных или преобразованных полей. Функция scanf() выполняет форматированный ввод данных из входного потока. Она использует аргумент format для преобразования считанных символов в заданный формат. Аргументы являются указателями на переменные, которым присваиваются вводимые значения. В символьной строке формата для каждого следующего аргумента функции должен указываться свой спецификатор формата.

ФУНКЦИИ ВВОДА-ВЫВОДА: Его синтаксис: %[*][ширина][точность] тип_формата % - символ начала спецификатора формата. Если после ФУНКЦИИ ВВОДА-ВЫВОДА: Его синтаксис: %[*][ширина][точность] тип_формата % - символ начала спецификатора формата. Если после % стоит *, то вводимое поле не присваивается ни одной из переменных, указанных в списке параметров. Ширина – положительное десятичное число, которое определяет минимальную ширину поля в символах. Точность – это поле задает точность для преобразуемых величин. Пример: scanf(“%d%f”, &x, &y);

ФУНКЦИИ ВВОДА-ВЫВОДА: Язык С++ предусматривает альтернативную функциям printf() и scanf(), возможность обработки ввода-вывода стандартных ФУНКЦИИ ВВОДА-ВЫВОДА: Язык С++ предусматривает альтернативную функциям printf() и scanf(), возможность обработки ввода-вывода стандартных типов данных и строк – cout и cin. ANSI C: printf(“Введите число”); scanf(“%d”, &n); C++: cout<<”Введите число”; cin>>n;

С-ПРОГРАММА: #include <stdio. h> #include <conio. h> main() { int a=5, b=2, c; c=a+b; С-ПРОГРАММА: #include #include main() { int a=5, b=2, c; c=a+b; printf("c=%d", c); getch(); }

МАТЕМАТИЧЕСКИЕ ФУНКЦИИ МАТЕМАТИЧЕСКИЕ ФУНКЦИИ

ПРИМЕРЫ: Pow(x, 5) Sin(pow(x, 3)) Pow(Sin(x)) Pow(Sin(pow(x, 3)), 2) Exp(x+5) ПРИМЕРЫ: Pow(x, 5) Sin(pow(x, 3)) Pow(Sin(x)) Pow(Sin(pow(x, 3)), 2) Exp(x+5)

ВЫЧИСЛИТЬ ЗНАЧЕНИЕ ФУНКЦИИ , ГДЕ. ЗНАЧЕНИЯ P, Q ВВЕСТИ С КЛАВИАТУРЫ, РЕЗУЛЬТАТ ВЫВЕСТИ НА ВЫЧИСЛИТЬ ЗНАЧЕНИЕ ФУНКЦИИ , ГДЕ. ЗНАЧЕНИЯ P, Q ВВЕСТИ С КЛАВИАТУРЫ, РЕЗУЛЬТАТ ВЫВЕСТИ НА ЭКРАН. #include #include #include main() { float x, y, z, p, q; printf("p, q: "); scanf("%f %f", &p, &q); x=sqrt(pow(p, 2)+pow(q, 2)); y=abs(p+q); z=pow(p, x)-exp(q*y); printf("z= %fn", z); getch(); } И

ЗАДАЧИ: ЗАДАЧИ: