🗊Презентация Обзор операций и базовых инструкций языка Си. (Тема 3)

Нажмите для полного просмотра!
Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №1Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №2Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №3Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №4Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №5Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №6Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №7Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №8Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №9Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №10Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №11Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №12Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №13Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №14Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №15Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №16Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №17Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №18Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №19Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №20Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №21Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №22Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №23Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №24Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №25Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №26Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №27Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №28Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №29Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №30Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №31Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №32Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №33Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №34Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №35Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №36Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №37Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №38Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №39Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №40Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №41Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №42Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №43Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №44Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №45Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №46Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №47Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №48Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №49Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №50Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №51Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №52Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №53Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №54Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №55Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №56Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №57Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №58Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №59Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №60Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №61Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №62Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №63Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №64Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №65Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №66Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №67Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №68Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №69Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №70Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №71Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №72Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №73Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №74Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №75Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №76Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №77Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №78Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №79Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №80Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №81Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №82Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №83Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №84Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №85Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №86Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №87Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №88Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №89Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №90Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №91Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №92Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №93Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №94Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №95Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №96Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №97Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №98Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №99Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №100Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №101Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №102Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №103Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №104Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №105Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №106Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №107Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №108Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №109Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №110Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №111Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №112Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №113Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №114Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №115Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №116Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №117Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №118Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №119Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №120Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №121Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №122Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №123

Содержание

Вы можете ознакомиться и скачать презентацию на тему Обзор операций и базовых инструкций языка Си. (Тема 3). Доклад-сообщение содержит 123 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Тема 3. Обзор операций и базовых инструкций языка Си
Описание слайда:
Тема 3. Обзор операций и базовых инструкций языка Си

Слайд 2


Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №2
Описание слайда:

Слайд 3





▀     Программа, написанная на языке Си, состоит из одной или нескольких функций, причем одна функция обязательна имеет идентификатор (имя) main()

▀      Назначение функции main() – управление работой всей программы.

▀      Функции main(), как правило, не имеет параметров и не возвращает результат (наличие круглых скобок  обязательно).
Описание слайда:
▀ Программа, написанная на языке Си, состоит из одной или нескольких функций, причем одна функция обязательна имеет идентификатор (имя) main() ▀ Назначение функции main() – управление работой всей программы. ▀ Функции main(), как правило, не имеет параметров и не возвращает результат (наличие круглых скобок обязательно).

Слайд 4





3.1 Общая структура программы на языке Си имеет вид:
Описание слайда:
3.1 Общая структура программы на языке Си имеет вид:

Слайд 5





Функции имеют следующую структуру: 
<класс памяти> <тип> < ID функции>     
(<объявление параметров>)
   { //начало функции
               
             <код функции>
   
      } //конец функции
Описание слайда:
Функции имеют следующую структуру: <класс памяти> <тип> < ID функции> (<объявление параметров>) { //начало функции <код функции> } //конец функции

Слайд 6





3.2 Функция main
Описание слайда:
3.2 Функция main

Слайд 7





В языке С нет стандартных инструкций (операторов) для вывода сообщений на консоль (окно пользователя).
В языке С нет стандартных инструкций (операторов) для вывода сообщений на консоль (окно пользователя).

 В языке С предусматриваются специальные библиотечные файлы, в которых имеются функции для этих целей. 
Заголовочный файл с именем stdio.h (стандартный ввод–вывод), который должен быть включен в начало программы. 
Для вывода сообщения на консоль используется функция printf().
Для работы с консолью включен заголовочный файл conio.h., который поддерживает функцию _getch(), извлекающую символ из потока ввода, т. е. она предназначенная для приема сообщения о нажатии какой-либо (почти любой) клавиши на клавиатуре. 
С другими компиляторами, возможно, потребуется getch(), т.е. без префиксного нижнего подчеркивания.
Описание слайда:
В языке С нет стандартных инструкций (операторов) для вывода сообщений на консоль (окно пользователя). В языке С нет стандартных инструкций (операторов) для вывода сообщений на консоль (окно пользователя). В языке С предусматриваются специальные библиотечные файлы, в которых имеются функции для этих целей. Заголовочный файл с именем stdio.h (стандартный ввод–вывод), который должен быть включен в начало программы. Для вывода сообщения на консоль используется функция printf(). Для работы с консолью включен заголовочный файл conio.h., который поддерживает функцию _getch(), извлекающую символ из потока ввода, т. е. она предназначенная для приема сообщения о нажатии какой-либо (почти любой) клавиши на клавиатуре. С другими компиляторами, возможно, потребуется getch(), т.е. без префиксного нижнего подчеркивания.

Слайд 8





Структура простой программы

#include <stdio.h> //содержит стандартные //функции файлового ввода-вывода
void main()
{  //Начало функции main
  рrintf ("Это работает функция main! ");
  }  //Окончание функции main
Описание слайда:
Структура простой программы #include <stdio.h> //содержит стандартные //функции файлового ввода-вывода void main() { //Начало функции main рrintf ("Это работает функция main! "); } //Окончание функции main

Слайд 9






return 0;
указывает на то, что выполнение функции main() закончено и что в систему возвращается значение 0 (целое число). 
Нуль используется в соответствии с соглашением об индикации успешного завершения программы
Описание слайда:
return 0; указывает на то, что выполнение функции main() закончено и что в систему возвращается значение 0 (целое число). Нуль используется в соответствии с соглашением об индикации успешного завершения программы

Слайд 10





Препроцессором называется программа, которая вызывается компилятором и обрабатывает исходную программу перед ее компиляцией.
Препроцессором называется программа, которая вызывается компилятором и обрабатывает исходную программу перед ее компиляцией.
Препроцессор различает специальные команды – директивы.
Препроцессор обеспечивает подключение текстов исходных модулей, формирование макроопределений, планирование условной компиляции.
Описание слайда:
Препроцессором называется программа, которая вызывается компилятором и обрабатывает исходную программу перед ее компиляцией. Препроцессором называется программа, которая вызывается компилятором и обрабатывает исходную программу перед ее компиляцией. Препроцессор различает специальные команды – директивы. Препроцессор обеспечивает подключение текстов исходных модулей, формирование макроопределений, планирование условной компиляции.

Слайд 11





   Препроцессорные директивы начинаются с символа #, за которым следует наименование директивы, указывающее текущую операцию препроцессора.
   Препроцессорные директивы начинаются с символа #, за которым следует наименование директивы, указывающее текущую операцию препроцессора.
#include < ID_файла.h>
где h – расширение заголовочных файлов.
stdio.h – содержит стандартные функции   файлового 
ввода-вывода;
conio.h – функции для работы с консолью (клавиатура, 
экран монитора);
math.h – математические функции.
#include <stdio.h>
Вставляет в программу  текст из файла stdio.h, 
который находится в стандартных каталогах 
(указанных компилятору, т.е. заданных в среде 
разработки).
Описание слайда:
Препроцессорные директивы начинаются с символа #, за которым следует наименование директивы, указывающее текущую операцию препроцессора. Препроцессорные директивы начинаются с символа #, за которым следует наименование директивы, указывающее текущую операцию препроцессора. #include < ID_файла.h> где h – расширение заголовочных файлов. stdio.h – содержит стандартные функции файлового ввода-вывода; conio.h – функции для работы с консолью (клавиатура, экран монитора); math.h – математические функции. #include <stdio.h> Вставляет в программу текст из файла stdio.h, который находится в стандартных каталогах (указанных компилятору, т.е. заданных в среде разработки).

Слайд 12







#include "ID_файла.h"

где ID_файла символьная строка, определяющая путь 
к файлу.

#include "My_file.h"
Вставляет в программу  текст из файла My_file.h, 
который находится в текущем каталоге проекта.

#include "С:\ My_file.h"
Подключает в программу текст из файла My_file.h, 
который находится в заданном каталоге.
Описание слайда:
#include "ID_файла.h" где ID_файла символьная строка, определяющая путь к файлу. #include "My_file.h" Вставляет в программу текст из файла My_file.h, который находится в текущем каталоге проекта. #include "С:\ My_file.h" Подключает в программу текст из файла My_file.h, который находится в заданном каталоге.

Слайд 13





3.3 Стандартные математические функции
Описание слайда:
3.3 Стандартные математические функции

Слайд 14





   Второе основное назначение препроцессора – обработка макроопределений. 
   Второе основное назначение препроцессора – обработка макроопределений. 
Макроподстановка  имеет общий вид:

#define < ID >  <строка>
Например: #define PI   3.1415927

   В ходе препроцессорной обработки программы появление в тексте идентификатора PI везде заменяется значением 3.1415927.
Описание слайда:
Второе основное назначение препроцессора – обработка макроопределений. Второе основное назначение препроцессора – обработка макроопределений. Макроподстановка имеет общий вид: #define < ID > <строка> Например: #define PI 3.1415927 В ходе препроцессорной обработки программы появление в тексте идентификатора PI везде заменяется значением 3.1415927.

Слайд 15





3.4 Операторы и выражения 
	Выражение – это объект, состоящий из констант, идентификаторов переменных, обращений к функциям и операций, указывающих, что надо делать над объектами в этом выражении.

		По количеству участвующих в них операндов различают операции:

унарные (с одним операндом);
бинарные (с двумя операндами);
тернарные (три операнда – условная операция).
Описание слайда:
3.4 Операторы и выражения Выражение – это объект, состоящий из констант, идентификаторов переменных, обращений к функциям и операций, указывающих, что надо делать над объектами в этом выражении. По количеству участвующих в них операндов различают операции: унарные (с одним операндом); бинарные (с двумя операндами); тернарные (три операнда – условная операция).

Слайд 16





Существуют следующие виды операторов (операций): 
	

арифметические операции;
логические операции;
операции отношений;
операции присваивания;
побитовые операции;
операции адресации/разадресации.
Описание слайда:
Существуют следующие виды операторов (операций): арифметические операции; логические операции; операции отношений; операции присваивания; побитовые операции; операции адресации/разадресации.

Слайд 17





3.5 Арифметические операторы (операции)
Описание слайда:
3.5 Арифметические операторы (операции)

Слайд 18





3.6 Операции присваивания

v=e; 

v – только L-value,
т.е. слева переменная, под которую компилятор обязательно выделил область памяти (именованная либо косвенно адресуемая указателем переменная).
Описание слайда:
3.6 Операции присваивания v=e; v – только L-value, т.е. слева переменная, под которую компилятор обязательно выделил область памяти (именованная либо косвенно адресуемая указателем переменная).

Слайд 19





3.7 Понятие R-value  и L-value
Данные в Си могут представляться литералами 
и переменными (и те и другие хранят значения данных 
в областях памяти). Это хранимое значение называется 
R-value (read value), т.е. значение, которое можно 
прочитать. 

Значение адреса области памяти для хранения 
значения переменной называется L-value (location 
value), т.е. значение, которое определяет 
местоположение.
Описание слайда:
3.7 Понятие R-value и L-value Данные в Си могут представляться литералами и переменными (и те и другие хранят значения данных в областях памяти). Это хранимое значение называется R-value (read value), т.е. значение, которое можно прочитать. Значение адреса области памяти для хранения значения переменной называется L-value (location value), т.е. значение, которое определяет местоположение.

Слайд 20







Фундаментальное различие между литералами и 
переменными заключается в том, что переменная 
именует область памяти, в которой хранится R-value, а 
литерал – нет.

Переменная определяет как R-value так и L-value, а 
литерал только R-value.
Описание слайда:
Фундаментальное различие между литералами и переменными заключается в том, что переменная именует область памяти, в которой хранится R-value, а литерал – нет. Переменная определяет как R-value так и L-value, а литерал только R-value.

Слайд 21





Присваивание может включать несколько операций присваивания
        int i, j, k;
        float x, y, z;

         y=10;     //y=10
         i=j=k=0; //k=0, j=k, i=j
         --------
         x=i+(y=3)-(z=0); //z=0, y=3, x=i+y-z;
Описание слайда:
Присваивание может включать несколько операций присваивания int i, j, k; float x, y, z; y=10; //y=10 i=j=k=0; //k=0, j=k, i=j -------- x=i+(y=3)-(z=0); //z=0, y=3, x=i+y-z;

Слайд 22





Примеры недопустимых выражений:
а) присваивание константе: 2 = x+y;
б) присваивание функции: getch() = i;		 
в) присваивание результату операции:    	(i+1) = 2+y;
Описание слайда:
Примеры недопустимых выражений: а) присваивание константе: 2 = x+y; б) присваивание функции: getch() = i; в) присваивание результату операции: (i+1) = 2+y;

Слайд 23





		В языке Си выражение вида v=v#e; 
		В языке Си выражение вида v=v#e; 
	      можно записать в другой форме: 
	     v#=e; где # – арифметическая операция 
		
       Например: 
    i=i+2;  j=j-2;   k=k*2; 
 i+=2;  j-=2;    k*=2;
Описание слайда:
В языке Си выражение вида v=v#e; В языке Си выражение вида v=v#e; можно записать в другой форме: v#=e; где # – арифметическая операция Например: i=i+2; j=j-2; k=k*2; i+=2; j-=2; k*=2;

Слайд 24





3.8 Операторы инкремента и декремента 
   
Унарные операции инкремента (++) и 
 декремента (--) предназначены соответственно для
увеличения и уменьшения значения операнда на 
единицу. 
      
         x=x#1; эквивалентно записи ##x;   
                                                            (префиксная) 
                                                             x##; 
                                                            (постфиксная),
    x=x+1;  ++x;  x++; 
    x=x-1;  --x;  x--; 

 Если эти операции используются в чистом виде, то
различий между префиксной и постфиксной формами 
нет.
Описание слайда:
3.8 Операторы инкремента и декремента Унарные операции инкремента (++) и декремента (--) предназначены соответственно для увеличения и уменьшения значения операнда на единицу. x=x#1; эквивалентно записи ##x; (префиксная) x##; (постфиксная), x=x+1; ++x; x++; x=x-1; --x; x--; Если эти операции используются в чистом виде, то различий между префиксной и постфиксной формами нет.

Слайд 25





Если унарные операции инкремента  и декремента используются в выражении, то в префиксной форме (##x) сначала  значение х изменится на единицу, а затем будет использовано в выражении. 
Если унарные операции инкремента  и декремента используются в выражении, то в префиксной форме (##x) сначала  значение х изменится на единицу, а затем будет использовано в выражении. 

В постфиксной  (x##) – сначала значение используется в выражении, а затем изменяется на  единицу.
Описание слайда:
Если унарные операции инкремента и декремента используются в выражении, то в префиксной форме (##x) сначала значение х изменится на единицу, а затем будет использовано в выражении. Если унарные операции инкремента и декремента используются в выражении, то в префиксной форме (##x) сначала значение х изменится на единицу, а затем будет использовано в выражении. В постфиксной (x##) – сначала значение используется в выражении, а затем изменяется на единицу.

Слайд 26





Примеры использования сокращений
Описание слайда:
Примеры использования сокращений

Слайд 27





Примеры использования сокращений
Описание слайда:
Примеры использования сокращений

Слайд 28





3.9 Приведение типов в выражениях
	Правила преобразования арифметических операндов:
    В выражении у операндов могут быть разные типы, тогда компилятор приводит все операнды в один тип в сторону увеличения байтов:

операнды char и short преобразуются к int;
операнды float преобразуются к double;
если один из операндов double, то второй операнд преобразуется к double, и результат будет double;
если один из операндов long, то второй операнд преобразуется к long, и результат будет long;
если один из операндов имеет тип unsigned то и другие преобразуются к unsigned;
Описание слайда:
3.9 Приведение типов в выражениях Правила преобразования арифметических операндов: В выражении у операндов могут быть разные типы, тогда компилятор приводит все операнды в один тип в сторону увеличения байтов: операнды char и short преобразуются к int; операнды float преобразуются к double; если один из операндов double, то второй операнд преобразуется к double, и результат будет double; если один из операндов long, то второй операнд преобразуется к long, и результат будет long; если один из операндов имеет тип unsigned то и другие преобразуются к unsigned;

Слайд 29





Результат деления целочисленных операндов:
Результат деления целочисленных операндов:
       1/3 =0

Чтобы избежать ошибок необходимо явно изменять тип хотя бы одного операнда, т.е. записывать 1./3 ~ 0.333

Явное преобразование типов осуществляется, если перед выражением поставить в скобках идентификатор соответствующего типа. Вид записи операции:     (тип) выражение;
                                            (float)1/3 ~ 0.333
Описание слайда:
Результат деления целочисленных операндов: Результат деления целочисленных операндов: 1/3 =0 Чтобы избежать ошибок необходимо явно изменять тип хотя бы одного операнда, т.е. записывать 1./3 ~ 0.333 Явное преобразование типов осуществляется, если перед выражением поставить в скобках идентификатор соответствующего типа. Вид записи операции: (тип) выражение; (float)1/3 ~ 0.333

Слайд 30





3.10 Приведение типа при выполнении присваивания
    При присваивании значение правой части преобразуется к типу левой,  который и является типом результата. 
   
    Рассмотрим преобразование int в char: 
    
char s; int j=327;   s=j; //s=‘G’ или 71
32710 = 0x14716 = 0001 0100 01112
0100 01112 = 0x47=7110
Описание слайда:
3.10 Приведение типа при выполнении присваивания При присваивании значение правой части преобразуется к типу левой, который и является типом результата. Рассмотрим преобразование int в char: char s; int j=327; s=j; //s=‘G’ или 71 32710 = 0x14716 = 0001 0100 01112 0100 01112 = 0x47=7110

Слайд 31





float x; int i; 
float x; int i; 
                         x=i; // тип результата float 
                      i=x; // тип результата int 

Тип float преобразуется к int с отбрасыванием 
дробной части.

Тип double преобразуется к float с округлением.
Описание слайда:
float x; int i; float x; int i; x=i; // тип результата float i=x; // тип результата int Тип float преобразуется к int с отбрасыванием дробной части. Тип double преобразуется к float с округлением.

Слайд 32





3.11 Операции отношения
<выражение1><знак операции><выражение2>
Описание слайда:
3.11 Операции отношения <выражение1><знак операции><выражение2>

Слайд 33





3.12 Логические операции
Описание слайда:
3.12 Логические операции

Слайд 34





!0↔1  !1 ↔0  !5 ↔0
!0↔1  !1 ↔0  !5 ↔0

Выражение 1≤x≤2   в СИ имеет вид:   
                 ((x>=1)&&(x<=2))

Выражение  принимает значение истина, если 
1-е и 2-е выражения истинны.
Описание слайда:
!0↔1 !1 ↔0 !5 ↔0 !0↔1 !1 ↔0 !5 ↔0 Выражение 1≤x≤2 в СИ имеет вид: ((x>=1)&&(x<=2)) Выражение принимает значение истина, если 1-е и 2-е выражения истинны.

Слайд 35





Особенность операций конъюнкции и дизъюнкции – экономное последовательное вычисление выражений-операндов:
<выражение1> <операция><выражение2>
если выражение1 операции конъюнкция ложно, то результат операции – ноль и выражение2 не вычисляется;

 если выражение1 операции дизъюнкция истинно,  то результат операции – единица и выражение2 не вычисляется.
Описание слайда:
Особенность операций конъюнкции и дизъюнкции – экономное последовательное вычисление выражений-операндов: <выражение1> <операция><выражение2> если выражение1 операции конъюнкция ложно, то результат операции – ноль и выражение2 не вычисляется; если выражение1 операции дизъюнкция истинно, то результат операции – единица и выражение2 не вычисляется.

Слайд 36





3.13 Операция , (запятая)

Данная операция используется при организации 
строго гарантированной последовательности 
вычисления выражений. 
   Форма записи:
		выражение1,  …, выражениеN;

выражения1,…,N вычисляются гарантированно 
последовательно и результатом операции становится 
значение выражения N.
	
Пример:
		m=(i=1, j=i++, k=6, n=i+j+k);
получим последовательность вычислений: i=1,   j=i=1,  
i=2,   k=6,   n=2+1+6,  в результате   m=n=9.
Описание слайда:
3.13 Операция , (запятая) Данная операция используется при организации строго гарантированной последовательности вычисления выражений. Форма записи: выражение1, …, выражениеN; выражения1,…,N вычисляются гарантированно последовательно и результатом операции становится значение выражения N. Пример: m=(i=1, j=i++, k=6, n=i+j+k); получим последовательность вычислений: i=1, j=i=1, i=2, k=6, n=2+1+6, в результате m=n=9.

Слайд 37





Рассмотрим пример: 
Рассмотрим пример: 
	int x=1, y=2, z;
	z=(x++, x-y); //z=0
	z=x++, x-y;   /* z=1 т.к. оператор ″,″ имеет наименьший приоритет из всех операторов */
Описание слайда:
Рассмотрим пример: Рассмотрим пример: int x=1, y=2, z; z=(x++, x-y); //z=0 z=x++, x-y; /* z=1 т.к. оператор ″,″ имеет наименьший приоритет из всех операторов */

Слайд 38





	Функция форматного вывода на экран printf описывается:
	Функция форматного вывода на экран printf описывается:
	printf ("управляющая строка", а1, а2, …, an);
	
	Управляющая строка содержит объекты трех типов: 
поясняющий текст; 
список модификаторов форматов;
управляющие символы.

Количество и порядок следования форматов должен 
совпадать с количеством и порядком следования 
печатаемых объектов.
Описание слайда:
Функция форматного вывода на экран printf описывается: Функция форматного вывода на экран printf описывается: printf ("управляющая строка", а1, а2, …, an); Управляющая строка содержит объекты трех типов: поясняющий текст; список модификаторов форматов; управляющие символы. Количество и порядок следования форматов должен совпадать с количеством и порядком следования печатаемых объектов.

Слайд 39






Основные модификаторы формата:

%d – десятичное целое число;
%c – один символ;
%s – строка символов;
%f – число с плавающей точкой,    
         десятичная запись;
%lf – число с плавающей точкой, 
          удвоенной точности;
%e – число с плавающей точкой в 
         экспоненциальной форме;
%p – указатель (адрес);
%о – восьмеричное целое число;
%x – шестнадцатеричное целое число.
Описание слайда:
Основные модификаторы формата: %d – десятичное целое число; %c – один символ; %s – строка символов; %f – число с плавающей точкой, десятичная запись; %lf – число с плавающей точкой, удвоенной точности; %e – число с плавающей точкой в экспоненциальной форме; %p – указатель (адрес); %о – восьмеричное целое число; %x – шестнадцатеричное целое число.

Слайд 40







printf("INT – %d; DOUBLE – %lf; CHAR – %c", 5, 4.35, 'а' );

Результат:

INT – 5; DOUBLE – 4.350000; CHAR – а
Описание слайда:
printf("INT – %d; DOUBLE – %lf; CHAR – %c", 5, 4.35, 'а' ); Результат: INT – 5; DOUBLE – 4.350000; CHAR – а

Слайд 41





В модификаторах формата функции printf() после символа % 
В модификаторах формата функции printf() после символа % 
можно указывать строку цифр, задающую минимальную ширину 
поля вывода, например: %5d (для целых), %4.2f (две цифры после 
запятой для поля, шириной 4 символа). 
	
double u=56.45674;

printf("\n%lf", u);
printf("\n%4.2lf", u);
printf("\n%4.3lf", u);
printf("\n%5.1lf", u);
printf("\n%6lf", u);




Аргументами функции printf() могут быть переменные, константы, 
выражения, вызовы функции. Главное, чтобы их значения 
соответствовали заданной спецификации.
Описание слайда:
В модификаторах формата функции printf() после символа % В модификаторах формата функции printf() после символа % можно указывать строку цифр, задающую минимальную ширину поля вывода, например: %5d (для целых), %4.2f (две цифры после запятой для поля, шириной 4 символа). double u=56.45674; printf("\n%lf", u); printf("\n%4.2lf", u); printf("\n%4.3lf", u); printf("\n%5.1lf", u); printf("\n%6lf", u); Аргументами функции printf() могут быть переменные, константы, выражения, вызовы функции. Главное, чтобы их значения соответствовали заданной спецификации.

Слайд 42





Управляют выводом специальные последовательности. 
Управляют выводом специальные последовательности. 

Например,
\n –  новая строка
\t – горизонтальная табуляция

Если нужно напечатать сам символ %, то его нужно 
указать 2 раза.
printf("Только %d%% предприятий не работало. \n",5);
Получим: Только 5% предприятий не работало.

Можно использовать функцию printf() для 
нахождения кода ASCII некоторого символа.
printf("%c – %d\n", 'a', 'a');
Получим изображение и десятичный ASCII код символа 
'a': a – 97
Описание слайда:
Управляют выводом специальные последовательности. Управляют выводом специальные последовательности. Например, \n – новая строка \t – горизонтальная табуляция Если нужно напечатать сам символ %, то его нужно указать 2 раза. printf("Только %d%% предприятий не работало. \n",5); Получим: Только 5% предприятий не работало. Можно использовать функцию printf() для нахождения кода ASCII некоторого символа. printf("%c – %d\n", 'a', 'a'); Получим изображение и десятичный ASCII код символа 'a': a – 97

Слайд 43


Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №43
Описание слайда:

Слайд 44





	
	
Для вывода данных могут использоваться также 
функцию puts, которая выводит на экран дисплея 
строку символов, автоматически добавляя к ней 
символ перехода на начало новой строки. 
puts("Печатаемая строка.");
     
Функция putchar – выводит на экран дисплея один 
символ без добавления символа '\n '.
 putchar('A');
 putchar(65);
Описание слайда:
Для вывода данных могут использоваться также функцию puts, которая выводит на экран дисплея строку символов, автоматически добавляя к ней символ перехода на начало новой строки. puts("Печатаемая строка."); Функция putchar – выводит на экран дисплея один символ без добавления символа '\n '. putchar('A'); putchar(65);

Слайд 45





3.14.2 Функции ввода
	Функция форматированного ввода scanf описывается:

scanf ("управляющая строка", а1, а2, …, an);

   Управляющая строка содержит только модификаторы форматов.
   Аргументы (а1, а2, …, an) – адреса переменных, разделенные запятыми (перед именем переменной записывается символ &). 

    Исключение – строки символов.
Описание слайда:
3.14.2 Функции ввода Функция форматированного ввода scanf описывается: scanf ("управляющая строка", а1, а2, …, an); Управляющая строка содержит только модификаторы форматов. Аргументы (а1, а2, …, an) – адреса переменных, разделенные запятыми (перед именем переменной записывается символ &). Исключение – строки символов.

Слайд 46





 int course;
 int course;
 float grant;
 char name[20]; //строка символов
printf("Укажите курс, стипендию, имя \n");
scanf("%d%f%s", &course, &grant,  name);
Описание слайда:
int course; int course; float grant; char name[20]; //строка символов printf("Укажите курс, стипендию, имя \n"); scanf("%d%f%s", &course, &grant, name);

Слайд 47





   Функция scanf() ввод строки по формату %s производит только до первого пробела.
   Функция scanf() ввод строки по формату %s производит только до первого пробела.
   char name[20]; 
   …………………….
   scanf("%s",  name);
   puts(name);
Описание слайда:
Функция scanf() ввод строки по формату %s производит только до первого пробела. Функция scanf() ввод строки по формату %s производит только до первого пробела. char name[20]; ……………………. scanf("%s", name); puts(name);

Слайд 48





Для ввода фраз, состоящих из слов 
Для ввода фраз, состоящих из слов 
используется функция: 
     gets(<ID строковой переменной>);
char name[20]; 
……………………
gets(name); puts(name);
Описание слайда:
Для ввода фраз, состоящих из слов Для ввода фраз, состоящих из слов используется функция: gets(<ID строковой переменной>); char name[20]; …………………… gets(name); puts(name);

Слайд 49





Стандартные потоки
Каждой программе предоставляются три 
стандартных потока, которые по умолчанию 
соединены с консолью.
stdout – предназначен для вывода данных на консоль (с этим потоком используются функции printf, puts, putchar);
 stdin – предназначен для ввода данных с консоли (scanf, gets, getchar);
 stderr – предназначен для вывода сообщений об ошибках на консоль. Для работы с потоком используется функция  void perror(const char* str), параметр str указывает на строку, содержащую сообщение об ошибке.
Описание слайда:
Стандартные потоки Каждой программе предоставляются три стандартных потока, которые по умолчанию соединены с консолью. stdout – предназначен для вывода данных на консоль (с этим потоком используются функции printf, puts, putchar); stdin – предназначен для ввода данных с консоли (scanf, gets, getchar); stderr – предназначен для вывода сообщений об ошибках на консоль. Для работы с потоком используется функция void perror(const char* str), параметр str указывает на строку, содержащую сообщение об ошибке.

Слайд 50





   
   
Функция scanf("%d", &n); при вводе числа обращается к буферу ввода stdin, создаваемому ОС. 
Если при выполнении функции scanf("%d", &n); ввести не цифру, а букву (строку), то scanf не извлечет ее из буфера.  Программа не выдаст сообщений, но в дальнейшем  это может привести к трудно диагностируемым ошибкам в работе.

 Явная очистка буфера ОС:  fflush(stdin);
Описание слайда:
Функция scanf("%d", &n); при вводе числа обращается к буферу ввода stdin, создаваемому ОС. Если при выполнении функции scanf("%d", &n); ввести не цифру, а букву (строку), то scanf не извлечет ее из буфера. Программа не выдаст сообщений, но в дальнейшем это может привести к трудно диагностируемым ошибкам в работе. Явная очистка буфера ОС: fflush(stdin);

Слайд 51





Составить программу для расчета значений z1 и z2 (результаты должны совпадать). 
Составить программу для расчета значений z1 и z2 (результаты должны совпадать).
Описание слайда:
Составить программу для расчета значений z1 и z2 (результаты должны совпадать). Составить программу для расчета значений z1 и z2 (результаты должны совпадать).

Слайд 52





Схема
программы
Описание слайда:
Схема программы

Слайд 53


Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №53
Описание слайда:

Слайд 54





#include <stdio.h>
#include <stdio.h>
#include <conio.h> 
#include <math.h>
#include <process.h>    //для очистки экрана
#include <locale.h>       // подключение setlocale 

/*
char *setlocale(int category, const char *locale);
Используется для установления или определения 
текущей локали программы. Аргумент category 
определяет, какая часть текущей локали программы 
подлежит изменению. 
LC_CTYPE – преобразование символов 
*/
Описание слайда:
#include <stdio.h> #include <stdio.h> #include <conio.h> #include <math.h> #include <process.h> //для очистки экрана #include <locale.h> // подключение setlocale /* char *setlocale(int category, const char *locale); Используется для установления или определения текущей локали программы. Аргумент category определяет, какая часть текущей локали программы подлежит изменению. LC_CTYPE – преобразование символов */

Слайд 55





#define Pi 3.1415926
#define Pi 3.1415926

void main ()   {
//Установка поддержки русского языка
setlocale(LC_CTYPE, "Russian");
double a, a1, a2, z1, z2;
system("cls");
puts("Введите значение угла a:");
fflush(stdin); 
scanf_s("%lf", &a);
a1=2*pow(sin(3*Pi-2*a),2);
a2=pow(cos(5*Pi+2*a),2);
z1=a1*a2;
z2=(double)1/4-1./4*sin(5./2*Pi-8*a);
printf("\n Результаты работы: z1=%.4lf z2=%.4lf\n", z1,z2);
_getch(); }
Описание слайда:
#define Pi 3.1415926 #define Pi 3.1415926 void main () { //Установка поддержки русского языка setlocale(LC_CTYPE, "Russian"); double a, a1, a2, z1, z2; system("cls"); puts("Введите значение угла a:"); fflush(stdin); scanf_s("%lf", &a); a1=2*pow(sin(3*Pi-2*a),2); a2=pow(cos(5*Pi+2*a),2); z1=a1*a2; z2=(double)1/4-1./4*sin(5./2*Pi-8*a); printf("\n Результаты работы: z1=%.4lf z2=%.4lf\n", z1,z2); _getch(); }

Слайд 56


Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №56
Описание слайда:

Слайд 57


Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №57
Описание слайда:

Слайд 58


Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №58
Описание слайда:

Слайд 59


Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №59
Описание слайда:

Слайд 60





#include <stdio.h>
#include <stdio.h>
#include <conio.h> 
#include <math.h>
#include <process.h>    
#include <windows.h>  // для поддержки русского
#define Pi 3.1415926

char* Rus(const char* text);
char bufRus[255];

void main ()   {
double a, a1, a2, z1, z2;
system("cls");
puts(Rus("Введите значение угла a:"));
fflush(stdin); 
scanf("%lf", &a);
Описание слайда:
#include <stdio.h> #include <stdio.h> #include <conio.h> #include <math.h> #include <process.h> #include <windows.h> // для поддержки русского #define Pi 3.1415926 char* Rus(const char* text); char bufRus[255]; void main () { double a, a1, a2, z1, z2; system("cls"); puts(Rus("Введите значение угла a:")); fflush(stdin); scanf("%lf", &a);

Слайд 61






a1=2*pow(sin(3*Pi-2*a),2);
a2=pow(cos(5*Pi+2*a),2);
z1=a1*a2;
z2=(double)1/4-1./4*sin(5./2*Pi-8*a);
printf(Rus("\n Результаты работы: z1=%.4lf z2=%.4lf\n"), z1, z2);
getch();    // Извлекает знак из буфера клавиатуры
}

char* Rus(const char* text)   {
	CharToOem(text, bufRus);
	return bufRus;
                                                 }
Описание слайда:
a1=2*pow(sin(3*Pi-2*a),2); a2=pow(cos(5*Pi+2*a),2); z1=a1*a2; z2=(double)1/4-1./4*sin(5./2*Pi-8*a); printf(Rus("\n Результаты работы: z1=%.4lf z2=%.4lf\n"), z1, z2); getch(); // Извлекает знак из буфера клавиатуры } char* Rus(const char* text) { CharToOem(text, bufRus); return bufRus; }

Слайд 62





Новые заголовки в программах на C++
При работе с библиотекой C++ в соответствии с
новым стилем вместо имен заголовочных 
файлов указываются стандартные 
идентификаторы, по которым компилятор 
находит требуемые файлы. 

Новые заголовки C++ являются абстракциями, 
гарантирующими объявление соответствующих 
прототипов и определений библиотеки языка 
C++.
Поскольку новые заголовки не являются 
именами файлов, для них не нужно указывать 
расширение, а только имя заголовка в угловых 
скобках.
Описание слайда:
Новые заголовки в программах на C++ При работе с библиотекой C++ в соответствии с новым стилем вместо имен заголовочных файлов указываются стандартные идентификаторы, по которым компилятор находит требуемые файлы. Новые заголовки C++ являются абстракциями, гарантирующими объявление соответствующих прототипов и определений библиотеки языка C++. Поскольку новые заголовки не являются именами файлов, для них не нужно указывать расширение, а только имя заголовка в угловых скобках.

Слайд 63





Содержание заголовков нового стиля помещается в пространстве имен std. Традиционно имена библиотечных функций располагались в глобальном пространстве имен. 
Содержание заголовков нового стиля помещается в пространстве имен std. Традиционно имена библиотечных функций располагались в глобальном пространстве имен. 

Пространство имен (namespace) — это некая 
объявляемая область, необходимая для того, чтобы 
избежать конфликтов имен идентификаторов.
 
Чтобы пространство имен std стало видимым, используйте следующую инструкцию:
     using namespace std;

Эта инструкция помещает std в глобальное пространство имен. После того как компилятор обработает эту инструкцию, вы сможете работать с заголовками как старого, так и нового стиля.
Описание слайда:
Содержание заголовков нового стиля помещается в пространстве имен std. Традиционно имена библиотечных функций располагались в глобальном пространстве имен. Содержание заголовков нового стиля помещается в пространстве имен std. Традиционно имена библиотечных функций располагались в глобальном пространстве имен. Пространство имен (namespace) — это некая объявляемая область, необходимая для того, чтобы избежать конфликтов имен идентификаторов. Чтобы пространство имен std стало видимым, используйте следующую инструкцию: using namespace std; Эта инструкция помещает std в глобальное пространство имен. После того как компилятор обработает эту инструкцию, вы сможете работать с заголовками как старого, так и нового стиля.

Слайд 64





Ввод-вывод потоками

	#include<iostream>
	#include<conio.h>
		
using namespace std;

void  main() {
 cout << " Hello! " << endl; //endl - переход на новую строку
 cout << "Input  i, j ";
	  
int  i, j, k;
	   cin  >> i >> j ;
	   k = i + j ;
cout << " Sum  i , j = " << k << endl;
	   _getch();
		}
Описание слайда:
Ввод-вывод потоками #include<iostream> #include<conio.h> using namespace std; void main() { cout << " Hello! " << endl; //endl - переход на новую строку cout << "Input i, j "; int i, j, k; cin >> i >> j ; k = i + j ; cout << " Sum i , j = " << k << endl; _getch(); }

Слайд 65





Тема 4. Операторы передачи управления. Операторы цикла  

4.1 Простой условный оператор
4.2 Синтаксис полного оператора условного выполнения
4.3 Условная операция
4.4 Примеры, реализующие ветвящиеся алгоритмы
4.5 Область видимости идентификатора
4.6 Спецификаторы классов памяти
Описание слайда:
Тема 4. Операторы передачи управления. Операторы цикла 4.1 Простой условный оператор 4.2 Синтаксис полного оператора условного выполнения 4.3 Условная операция 4.4 Примеры, реализующие ветвящиеся алгоритмы 4.5 Область видимости идентификатора 4.6 Спецификаторы классов памяти

Слайд 66





           4.7 Составление циклических алгоритмов
           4.7 Составление циклических алгоритмов
4.7.1 Оператор с предусловием     while 
4.7.2 Оператор с постусловием do - while  
4.7.3 Оператор с предусловием и коррекцией  for
4.7.4 Пример программирования циклических  
         алгоритмов
4.8 Оператор выбора альтернатив (переключатель)
      4.9 Оператор безусловного перехода
Описание слайда:
4.7 Составление циклических алгоритмов 4.7 Составление циклических алгоритмов 4.7.1 Оператор с предусловием while  4.7.2 Оператор с постусловием do - while   4.7.3 Оператор с предусловием и коррекцией for 4.7.4 Пример программирования циклических алгоритмов 4.8 Оператор выбора альтернатив (переключатель) 4.9 Оператор безусловного перехода

Слайд 67





Управляющие операторы
К управляющим операторам относятся:

операторы условного и безусловного перехода;
 оператор выбора альтернатив (переключатель);
 операторы организации циклов и передачи управления.

Допустима вложенность операторов. В 
случае необходимости можно использовать 
составной оператор – блок  {  }
Описание слайда:
Управляющие операторы К управляющим операторам относятся: операторы условного и безусловного перехода; оператор выбора альтернатив (переключатель); операторы организации циклов и передачи управления. Допустима вложенность операторов. В случае необходимости можно использовать составной оператор – блок { }

Слайд 68





4.1 Простой условный оператор


if (<выражение>) <оператор1>;
Примеры записи:
    if (x>0)  x=0;

    if (i!=1)   j++,  s=1; 

	if (i!=1) {  j++;  s=1;  }  

	if (getch()!=27) //Если нажата не Esc
       k=0;
Описание слайда:
4.1 Простой условный оператор if (<выражение>) <оператор1>; Примеры записи: if (x>0) x=0; if (i!=1) j++, s=1; if (i!=1) { j++; s=1; } if (getch()!=27) //Если нажата не Esc k=0;

Слайд 69





4.2 Синтаксис полного оператора условного выполнения 
if (<выражение>) <оператор1>;
                       else <оператор2>;

Примеры записи:

       		if (x>0)   j=k+10;
                      else    m=i+10;
Описание слайда:
4.2 Синтаксис полного оператора условного выполнения if (<выражение>) <оператор1>; else <оператор2>; Примеры записи: if (x>0) j=k+10; else m=i+10;

Слайд 70







Если есть вложенная последовательность операторов 
if-else, то else связывается с ближайшим предыдущим 
if,  не содержащим else. 
     		if (n>0)
         		    if (a>b)  z=a;
         			else   z=b;
Если необходимо связать фразу  else с внешним if, то 
используем операторные скобки:     
if (n>0) 
          {  
                                  if (a>b)  z=a;
           }
     		       else   z=b;
Описание слайда:
Если есть вложенная последовательность операторов if-else, то else связывается с ближайшим предыдущим if, не содержащим else. if (n>0) if (a>b) z=a; else z=b; Если необходимо связать фразу else с внешним if, то используем операторные скобки: if (n>0) { if (a>b) z=a; } else z=b;

Слайд 71





4.3 Условная операция ?
	Тернарная операция ? имеет следующее представление: 

<выражение1> ? <выражение2> : <выражение3>; 
			
если <выражение1> отлично от нуля (истинно), то 
результатом операции является <выражение2>, в 
противном случае – результатом операции является 
<выражения3>.

 Каждый раз вычисляется  только  одно  из выражений.
Описание слайда:
4.3 Условная операция ? Тернарная операция ? имеет следующее представление: <выражение1> ? <выражение2> : <выражение3>; если <выражение1> отлично от нуля (истинно), то результатом операции является <выражение2>, в противном случае – результатом операции является <выражения3>. Каждый раз вычисляется только одно из выражений.

Слайд 72





 Максимум из а и b можно найти, используя:		if (a > b)  z=a;
 Максимум из а и b можно найти, используя:		if (a > b)  z=a;
                    else  z=b;

Используя условную операцию, этот пример можно записать:
     		z = (a>b) ? a : b;
Описание слайда:
Максимум из а и b можно найти, используя: if (a > b) z=a; Максимум из а и b можно найти, используя: if (a > b) z=a; else z=b; Используя условную операцию, этот пример можно записать: z = (a>b) ? a : b;

Слайд 73





Поиск максимального из трех чисел
Описание слайда:
Поиск максимального из трех чисел

Слайд 74





Найти максимальное из трех чисел
#include<stdio.h>
#include<conio.h>
#include <locale.h>
void main ()   {   setlocale(LC_CTYPE, "Russian");
double a, b, c, max;
puts("\n Введите a, b, c:");
scanf_s("%lf%lf%lf", &a, &b, &c); 
max=a;
if(b>max) max=b;    if(c>max) max=c;
printf("\n Для a=%4.2lf, b=%4.2lf, c=%4.2lf 
максимальным является max=%4.2f", a, b, c, 
max);
_getch(); }
Описание слайда:
Найти максимальное из трех чисел #include<stdio.h> #include<conio.h> #include <locale.h> void main () { setlocale(LC_CTYPE, "Russian"); double a, b, c, max; puts("\n Введите a, b, c:"); scanf_s("%lf%lf%lf", &a, &b, &c); max=a; if(b>max) max=b; if(c>max) max=c; printf("\n Для a=%4.2lf, b=%4.2lf, c=%4.2lf максимальным является max=%4.2f", a, b, c, max); _getch(); }

Слайд 75







    Составить программу для вычисления составной функции.  Самостоятельно выбрать необходимое количество исходных данных для того, чтобы в программе выполнялись все возможные ветви алгоритма.  Перед выводом полученного результата программа должна сообщать о ветви, при  прохождении которой он получен (или сообщить о том, что решения не существует).
Описание слайда:
Составить программу для вычисления составной функции. Самостоятельно выбрать необходимое количество исходных данных для того, чтобы в программе выполнялись все возможные ветви алгоритма. Перед выводом полученного результата программа должна сообщать о ветви, при прохождении которой он получен (или сообщить о том, что решения не существует).

Слайд 76






t2=
Описание слайда:
t2=

Слайд 77


Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №77
Описание слайда:

Слайд 78





4.5 Область видимости идентификатора 
 Если переменная объявлена вне какого-либо 
блока, то такая переменная называется 
глобальной, в противном случае – локальной. 
Областью видимости идентификатора 
называется часть программы, в которой 
можно сослаться на этот идентификатор.
Существуют четыре типа областей видимости: 
блок; 
функция; 
прототип функции; 
исходный файл.
Описание слайда:
4.5 Область видимости идентификатора Если переменная объявлена вне какого-либо блока, то такая переменная называется глобальной, в противном случае – локальной. Областью видимости идентификатора называется часть программы, в которой можно сослаться на этот идентификатор. Существуют четыре типа областей видимости: блок; функция; прототип функции; исходный файл.

Слайд 79





Глобальные переменные видимы внутри исходного файла, в котором они определены;
Глобальные переменные видимы внутри исходного файла, в котором они определены;

Локальные переменные видимы только внутри блока или функции, в которой они определены;

Параметры функции видны только внутри функции или объявления этой функции;
Описание слайда:
Глобальные переменные видимы внутри исходного файла, в котором они определены; Глобальные переменные видимы внутри исходного файла, в котором они определены; Локальные переменные видимы только внутри блока или функции, в которой они определены; Параметры функции видны только внутри функции или объявления этой функции;

Слайд 80





Функции всегда определяются вне какого-либо блока; 
Функции всегда определяются вне какого-либо блока; 

Областью определения функции является исходный файл, в котором эта функция определена;
Описание слайда:
Функции всегда определяются вне какого-либо блока; Функции всегда определяются вне какого-либо блока; Областью определения функции является исходный файл, в котором эта функция определена;

Слайд 81





4.6 Спецификаторы классов памяти
Класс памяти программного объекта определяет время 
его существования (время жизни) и область видимости 
(действия). Может принимать одно из значений:
auto - автоматический
extern - внешний
register - регистровый
static - статический .
Класс памяти и область  видимости объектов 
 по умолчанию зависят от места их размещения в коде 
программы.
Описание слайда:
4.6 Спецификаторы классов памяти Класс памяти программного объекта определяет время его существования (время жизни) и область видимости (действия). Может принимать одно из значений: auto - автоматический extern - внешний register - регистровый static - статический . Класс памяти и область видимости объектов по умолчанию зависят от места их размещения в коде программы.

Слайд 82





Локальная переменная скрывает любую переменную с тем же именем, объявленную вне этого блока.
#include <stdio.h>
// Сокрытие имен переменных
int n=1;    //Глобальная
void main() {
	printf("n=%d\n",n);   //n=1
	{ int n=2; //Локальная
		printf("n=%d\n",n); //n=2
		{n=3; 
		printf("n=%d\n",n); //n=3
         }
      }            }
Описание слайда:
Локальная переменная скрывает любую переменную с тем же именем, объявленную вне этого блока. #include <stdio.h> // Сокрытие имен переменных int n=1; //Глобальная void main() { printf("n=%d\n",n); //n=1 { int n=2; //Локальная printf("n=%d\n",n); //n=2 {n=3; printf("n=%d\n",n); //n=3 } } }

Слайд 83





К скрытому глобальному имени можно обратиться с помощью оператора разрешения области видимости ::
	
#include <stdio.h>
int n=1;    //Глобальная
void main() {
	printf("n=%d\n",n);   //n=1
	{ int n=2; //Локальная
printf("\n LOCAL n=%d GLOBAL n=%d \n", n, ::n); 
//LOCAL n=2  GLOBAL n=1
      }            }
Описание слайда:
К скрытому глобальному имени можно обратиться с помощью оператора разрешения области видимости :: #include <stdio.h> int n=1; //Глобальная void main() { printf("n=%d\n",n); //n=1 { int n=2; //Локальная printf("\n LOCAL n=%d GLOBAL n=%d \n", n, ::n); //LOCAL n=2 GLOBAL n=1 } }

Слайд 84





Время существования переменной или функции определяется как время, в течение которого эта переменная или функция хранится в памяти компьютера;
Время существования переменной или функции определяется как время, в течение которого эта переменная или функция хранится в памяти компьютера;
 
Глобальные переменные существуют в течение всего времени выполнения программы и хранятся в фиксированной области памяти программы, которая задается во время ее компиляции; 

Если глобальная переменная не проинициализирована, то компилятор устанавливает ее значение в ноль;
Описание слайда:
Время существования переменной или функции определяется как время, в течение которого эта переменная или функция хранится в памяти компьютера; Время существования переменной или функции определяется как время, в течение которого эта переменная или функция хранится в памяти компьютера; Глобальные переменные существуют в течение всего времени выполнения программы и хранятся в фиксированной области памяти программы, которая задается во время ее компиляции; Если глобальная переменная не проинициализирована, то компилятор устанавливает ее значение в ноль;

Слайд 85





Память для локальных переменных выделяется динамически во время исполнения программы. При вызове функции или входе в блок, в котором объявлены локальные переменные, память под эти переменные распределяется, а при возврате из функции или выходе из блока эта память освобождается;
Память для локальных переменных выделяется динамически во время исполнения программы. При вызове функции или входе в блок, в котором объявлены локальные переменные, память под эти переменные распределяется, а при возврате из функции или выходе из блока эта память освобождается;

Если локальная переменная не проинициализирована при ее объявлении, то ее начальное значение не определено.
Описание слайда:
Память для локальных переменных выделяется динамически во время исполнения программы. При вызове функции или входе в блок, в котором объявлены локальные переменные, память под эти переменные распределяется, а при возврате из функции или выходе из блока эта память освобождается; Память для локальных переменных выделяется динамически во время исполнения программы. При вызове функции или входе в блок, в котором объявлены локальные переменные, память под эти переменные распределяется, а при возврате из функции или выходе из блока эта память освобождается; Если локальная переменная не проинициализирована при ее объявлении, то ее начальное значение не определено.

Слайд 86





4.7 Составление циклических алгоритмов
Под циклом понимается организованное 
повторение некоторой последовательности 
операторов. 
Перечень разновидностей операторов 
цикла:
оператор цикла с предусловием;
оператор цикла с постусловием;
оператор цикла с предусловием и коррекцией.
Описание слайда:
4.7 Составление циклических алгоритмов Под циклом понимается организованное повторение некоторой последовательности операторов. Перечень разновидностей операторов цикла: оператор цикла с предусловием; оператор цикла с постусловием; оператор цикла с предусловием и коррекцией.

Слайд 87





Один проход цикла называется итерацией;
Один проход цикла называется итерацией;

Проверка условия выполняется на каждой итерации либо до кода цикла (с предусловием), либо после кода цикла (с постусловием).
Описание слайда:
Один проход цикла называется итерацией; Один проход цикла называется итерацией; Проверка условия выполняется на каждой итерации либо до кода цикла (с предусловием), либо после кода цикла (с постусловием).

Слайд 88





4.7.1 Оператор с предусловием     while  
while (<выражение>) 
      <код_цикла>;
Повторное выполнение кода цикла, пока 
<выражение> не примет значение ложь (0).
Описание слайда:
4.7.1 Оператор с предусловием while  while (<выражение>) <код_цикла>; Повторное выполнение кода цикла, пока <выражение> не примет значение ложь (0).

Слайд 89





Структура оператора
 while 
Описание слайда:
Структура оператора while 

Слайд 90





Особенности оператора
 while  
Если изначально выражение ложно, то операторы цикла (код цикла) ни разу не выполняется.
Описание слайда:
Особенности оператора while  Если изначально выражение ложно, то операторы цикла (код цикла) ни разу не выполняется.

Слайд 91





В коде цикла необходимо предусмотреть изменение величины выражения (для предотвращения зацикливания).
В коде цикла необходимо предусмотреть изменение величины выражения (для предотвращения зацикливания).

int i=5, j=0;               int i=5, j=0; 
while (i>0)                    while  (i>0)
 { j++;}                          { j++; i--;}
Описание слайда:
В коде цикла необходимо предусмотреть изменение величины выражения (для предотвращения зацикливания). В коде цикла необходимо предусмотреть изменение величины выражения (для предотвращения зацикливания). int i=5, j=0; int i=5, j=0; while (i>0) while (i>0) { j++;} { j++; i--;}

Слайд 92





Используя оператор break можно досрочно завершить цикл.
Используя оператор break можно досрочно завершить цикл.

Присутствующий в теле цикла оператор break 
прекращает выполнение цикла и передает 
управление на следующий оператор, стоящий 
после данного цикла.
int i=5, j=0;                  
while  (i>0) { 
    j++; 
    if (j==2) break;
    i--;            }
Описание слайда:
Используя оператор break можно досрочно завершить цикл. Используя оператор break можно досрочно завершить цикл. Присутствующий в теле цикла оператор break прекращает выполнение цикла и передает управление на следующий оператор, стоящий после данного цикла. int i=5, j=0; while (i>0) { j++; if (j==2) break; i--; }

Слайд 93





Используя дополнительное условие  и оператор continue можно досрочно прервать текущий шаг и передать управление на начало цикла.
Используя дополнительное условие  и оператор continue можно досрочно прервать текущий шаг и передать управление на начало цикла.
 
При использовании оператора continue  в 
while часть цикла, расположенная после 
continue,  не выполняется, а управление сразу 
передается на проверку условия.
Описание слайда:
Используя дополнительное условие и оператор continue можно досрочно прервать текущий шаг и передать управление на начало цикла. Используя дополнительное условие и оператор continue можно досрочно прервать текущий шаг и передать управление на начало цикла. При использовании оператора continue в while часть цикла, расположенная после continue, не выполняется, а управление сразу передается на проверку условия.

Слайд 94





    int x=-10, y=0;  //вар 2: int x=-2, y=1;      
    int x=-10, y=0;  //вар 2: int x=-2, y=1;      
    while  (x) { 
    ++x; 
    if (!(x+y)) continue;   // вар 2: x=-1 y=1    !(-1+1)
    --y;            } 


x=-10 y=0 x=-9  -9+0=-9       y=-1     
x=-9 y=-1  x=-8  -8+(-1)=-9  y=-2
x=-8 y=-2  x=-7  -7+(-2)=-9  y=-3
x=-7 y=-3  x=-6  -6+(-3)=-9  y=-4
……………………………………………………….
         x=0 y=-10 после выхода из цикла
Описание слайда:
int x=-10, y=0; //вар 2: int x=-2, y=1; int x=-10, y=0; //вар 2: int x=-2, y=1; while (x) { ++x; if (!(x+y)) continue; // вар 2: x=-1 y=1 !(-1+1) --y; } x=-10 y=0 x=-9 -9+0=-9 y=-1 x=-9 y=-1 x=-8 -8+(-1)=-9 y=-2 x=-8 y=-2 x=-7 -7+(-2)=-9 y=-3 x=-7 y=-3 x=-6 -6+(-3)=-9 y=-4 ………………………………………………………. x=0 y=-10 после выхода из цикла

Слайд 95





Особенности оператора
 while  
Запрещается передача управления из вне  во внутрь цикла.
Описание слайда:
Особенности оператора while  Запрещается передача управления из вне во внутрь цикла.

Слайд 96





 Организация бесконечного цикла 
	while (1) { 				     			 ... 
  if (getch()==27)      break; 	
// Если нажата клавиша и код ее равен 27 
//(код клавиши "Esc"),
// то выходим из цикла
      			 ... 
     		}
Описание слайда:
Организация бесконечного цикла while (1) { ... if (getch()==27) break; // Если нажата клавиша и код ее равен 27 //(код клавиши "Esc"), // то выходим из цикла ... }

Слайд 97





4.7.2 Оператор с  постусловием
 do - while  
do  <код_цикла>  while (<выражение>);
Описание слайда:
4.7.2 Оператор с постусловием do - while do <код_цикла> while (<выражение>);

Слайд 98





Структура оператора
 do - while
Описание слайда:
Структура оператора do - while

Слайд 99





Особенности оператора
 do - while 
Код цикла будет выполняется до тех пор , пока 
выражение истинно. Всегда выполняется хотя бы 
один раз.
int a=-2;
do 
 ++a;
while (a);
Итерация1:  a=-1
Итерация2:  a=0 Выход из цикла
Описание слайда:
Особенности оператора do - while Код цикла будет выполняется до тех пор , пока выражение истинно. Всегда выполняется хотя бы один раз. int a=-2; do ++a; while (a); Итерация1: a=-1 Итерация2: a=0 Выход из цикла

Слайд 100





4.7.3 Оператор с предусловием и коррекцией  for 
for (<выражение1>; <выражение2>; <выражение3>) 
<код_цикла>; 
выражение1 – инициализация счетчика (начальное значение);
 выражение2 – условие продолжения счета;
 выражение3 – увеличение счетчика;
выражения 1,2 и 3 могут отсутствовать (пустые выражения),  но символы «;» опускать нельзя.
Описание слайда:
4.7.3 Оператор с предусловием и коррекцией for for (<выражение1>; <выражение2>; <выражение3>) <код_цикла>; выражение1 – инициализация счетчика (начальное значение); выражение2 – условие продолжения счета; выражение3 – увеличение счетчика; выражения 1,2 и 3 могут отсутствовать (пустые выражения), но символы «;» опускать нельзя.

Слайд 101





Структура оператора
for
Описание слайда:
Структура оператора for

Слайд 102





Для суммирования первых натуральных
Для суммирования первых натуральных
чисел можно записать:     
…
int sum = 0;
          for ( int i=1; i<=N; i++) 
sum+=i;
…
Отсутствует выражение1

 int i=1;
          for ( ; i<=5; i++) 
          printf ("\n%d", i);
Описание слайда:
Для суммирования первых натуральных Для суммирования первых натуральных чисел можно записать: … int sum = 0; for ( int i=1; i<=N; i++) sum+=i; … Отсутствует выражение1 int i=1; for ( ; i<=5; i++) printf ("\n%d", i);

Слайд 103





Отсутствует выражение3
for (printf("Введите числа по порядку! \n"); num!=6;)
scanf("%d", &num);
printf("Последнее число-6\n");

Первое сообщение выводиться только раз, 
а затем осуществляется прием вводимых 
чисел, пока не поступит 6.
Описание слайда:
Отсутствует выражение3 for (printf("Введите числа по порядку! \n"); num!=6;) scanf("%d", &num); printf("Последнее число-6\n"); Первое сообщение выводиться только раз, а затем осуществляется прием вводимых чисел, пока не поступит 6.

Слайд 104





Вечный цикл

  for ( ; ; ) 
         printf ("Бесконечно      
         повторяющаяся строка");
Описание слайда:
Вечный цикл for ( ; ; ) printf ("Бесконечно повторяющаяся строка");

Слайд 105





Особенности оператора
 for
Оператор for решение о выполнении цикла принимает до начала его прохождения. Поэтому он может не выполниться ни разу.

Можно использовать символы.
for (let= 'z'; let>='a'; let--) 
printf("Код ASCII=%d, символ %c\n", let, let);
На экран выводятся код и изображение 
символа.
Описание слайда:
Особенности оператора for Оператор for решение о выполнении цикла принимает до начала его прохождения. Поэтому он может не выполниться ни разу. Можно использовать символы. for (let= 'z'; let>='a'; let--) printf("Код ASCII=%d, символ %c\n", let, let); На экран выводятся код и изображение символа.

Слайд 106





Особенности оператора
 for
Операция "," позволяет включить в оператор for несколько инициализирующих или корректирующих выражений.

     Операторы, записанные через "," , 
     рассматриваются как один составной оператор.
for (i= 1, j=5; i<j; i++, j--)       printf("\nHello");

i=1, j=5; 1<5; Hello; i++(2), j--(4)
i=2, j=4; 2<4; Hello; i++(3), j--(3)
i=3, j=3; 3<3; выход из цикла
Описание слайда:
Особенности оператора for Операция "," позволяет включить в оператор for несколько инициализирующих или корректирующих выражений. Операторы, записанные через "," , рассматриваются как один составной оператор. for (i= 1, j=5; i<j; i++, j--) printf("\nHello"); i=1, j=5; 1<5; Hello; i++(2), j--(4) i=2, j=4; 2<4; Hello; i++(3), j--(3) i=3, j=3; 3<3; выход из цикла

Слайд 107





Особенности оператора
 for
В цикле с использованием оператора for после выполнения continue,  управление передается на вычисление третьего оператора в скобках, затем на проверку условия.
Описание слайда:
Особенности оператора for В цикле с использованием оператора for после выполнения continue, управление передается на вычисление третьего оператора в скобках, затем на проверку условия.

Слайд 108





Вывести на экран числа кратные 10, но меньше 100.
for (int a=0; a<100; a++) 
      {
         if (a%10)  continue;  //остаток !0
         printf("\n%d",a); 
      }
Результат: 0 10 20 30 40 50 60 70 80 90
Описание слайда:
Вывести на экран числа кратные 10, но меньше 100. for (int a=0; a<100; a++) { if (a%10) continue; //остаток !0 printf("\n%d",a); } Результат: 0 10 20 30 40 50 60 70 80 90

Слайд 109





Особенности оператора
 for
Выражение1 может содержать объявление переменных. В этом случае объявленная переменная видима только в цикле for. 
      Инициализация переменной цикла выполняется  в программе только один раз.
Описание слайда:
Особенности оператора for Выражение1 может содержать объявление переменных. В этом случае объявленная переменная видима только в цикле for. Инициализация переменной цикла выполняется в программе только один раз.

Слайд 110





4.7.4 Пример программирования циклических алгоритмов.

   Значение аргумента x изменяется от a до b с шагом h. Для каждого x найти значения функции Y(x), суммы S(x) и |Y(x)-S(x)| и вывести в виде таблицы. Значения a, b, h и n вводятся с клавиатуры. Так как значение S(x) является рядом разложения функции Y(x), то значения S и Y для данного аргумента x должны совпадать в целой части и в первых двух-четырех позициях после десятичной точки.
Описание слайда:
4.7.4 Пример программирования циклических алгоритмов. Значение аргумента x изменяется от a до b с шагом h. Для каждого x найти значения функции Y(x), суммы S(x) и |Y(x)-S(x)| и вывести в виде таблицы. Значения a, b, h и n вводятся с клавиатуры. Так как значение S(x) является рядом разложения функции Y(x), то значения S и Y для данного аргумента x должны совпадать в целой части и в первых двух-четырех позициях после десятичной точки.

Слайд 111





   Работу программы проверить для a=0.1; b=1.0; h=0.1; n выбрать самостоятельно.
   Работу программы проверить для a=0.1; b=1.0; h=0.1; n выбрать самостоятельно.
Описание слайда:
Работу программы проверить для a=0.1; b=1.0; h=0.1; n выбрать самостоятельно. Работу программы проверить для a=0.1; b=1.0; h=0.1; n выбрать самостоятельно.

Слайд 112


Обзор операций и базовых инструкций языка Си. (Тема 3), слайд №112
Описание слайда:

Слайд 113





#include <stdio.h>
#include <stdio.h>
#include <conio.h> 
#include <math.h>
#include <process.h>
#include <locale.h>
void main ()   {   setlocale(LC_CTYPE, "Russian");
double a, b, h, x, rez, y, s, delta;
int n, i, k;
system("cls");  fflush(stdin);
printf("Введите a:");
scanf_s("%lf", &a);
printf("Введите b:");
scanf_s("%lf", &b);
printf("Введите h:");
scanf_s("%lf", &h);
printf("Введите n:");
scanf_s("%d", &n);
Описание слайда:
#include <stdio.h> #include <stdio.h> #include <conio.h> #include <math.h> #include <process.h> #include <locale.h> void main () { setlocale(LC_CTYPE, "Russian"); double a, b, h, x, rez, y, s, delta; int n, i, k; system("cls"); fflush(stdin); printf("Введите a:"); scanf_s("%lf", &a); printf("Введите b:"); scanf_s("%lf", &b); printf("Введите h:"); scanf_s("%lf", &h); printf("Введите n:"); scanf_s("%d", &n);

Слайд 114





printf("\n");
printf("\n");
puts("   x  |   Y(x)  |  S(x)  |    Y(x)-S(x)  |");
puts("----------------------------------------- ");
x=a;
while (x<=b){
s=0;
for (k=0;k<=n; k++) {
rez=1;
for (i=1;i<=2*k+1;i++)
	rez*=i;
s+=pow(-1.,k)*pow(x,(2*k+1))/rez;
}
y=sin(x); 
delta=fabs(y-s);
printf("\n %.2lf | %.5lf | %.5lf|    %.5lf    | \n", x, y, s, delta);
x+=h; 
}   _getch();  }
Описание слайда:
printf("\n"); printf("\n"); puts(" x | Y(x) | S(x) | Y(x)-S(x) |"); puts("----------------------------------------- "); x=a; while (x<=b){ s=0; for (k=0;k<=n; k++) { rez=1; for (i=1;i<=2*k+1;i++) rez*=i; s+=pow(-1.,k)*pow(x,(2*k+1))/rez; } y=sin(x); delta=fabs(y-s); printf("\n %.2lf | %.5lf | %.5lf| %.5lf | \n", x, y, s, delta); x+=h; } _getch(); }

Слайд 115





Результаты
Описание слайда:
Результаты

Слайд 116





4.8 Оператор выбора альтернатив (переключатель) 
switch (выражение) { 
    case константа1: оператор1; [break;]     
    case константа2: оператор2;  [break;]
				...      
    case константаN: операторN;  [break;]
    [default:  оператор(N+1);  break;]   	      		                           }
Описание слайда:
4.8 Оператор выбора альтернатив (переключатель) switch (выражение) { case константа1: оператор1; [break;] case константа2: оператор2; [break;] ... case константаN: операторN; [break;] [default: оператор(N+1); break;] }

Слайд 117





Значение  выражения должно быть целого типа (символьного);
Значение  выражения должно быть целого типа (символьного);

После вычисления оно сравнивается со значениями констант и при совпадении с одной из них выполняется передача управления соответствующему оператору;

 В случае несовпадения  значения выражения ни с одной из констант происходит переход на метку default, либо, при ее отсутствии,  к оператору, следующему за оператором switch;

 Управляющий оператор break  позволяет организовать выход из оператора switch на первый выполняемый оператор, следующий после данной конструкции.
Описание слайда:
Значение выражения должно быть целого типа (символьного); Значение выражения должно быть целого типа (символьного); После вычисления оно сравнивается со значениями констант и при совпадении с одной из них выполняется передача управления соответствующему оператору; В случае несовпадения значения выражения ни с одной из констант происходит переход на метку default, либо, при ее отсутствии, к оператору, следующему за оператором switch; Управляющий оператор break позволяет организовать выход из оператора switch на первый выполняемый оператор, следующий после данной конструкции.

Слайд 118





Пример : результатом будет – Случай 2.  
	void main()
     	{   int i = 2;
     	switch(i)       {
       	case 1: puts ( "Случай 1. "); break;
       	case 2: puts ( "Случай 2. "); break;
       	case 3: puts ( "Случай 3. "); break;
       	default: puts ( "Случай default. "); break;
                              }
     }
Описание слайда:
Пример : результатом будет – Случай 2. void main() { int i = 2; switch(i) { case 1: puts ( "Случай 1. "); break; case 2: puts ( "Случай 2. "); break; case 3: puts ( "Случай 3. "); break; default: puts ( "Случай default. "); break; } }

Слайд 119





 Пример : результатом будет – 
Случай 2.
Случай 3.
          Случай default.  
	void main()
     	{   int i = 2;
     	switch(i)       {
       	case 1: puts ( "Случай 1. ");
       	case 2: puts ( "Случай 2. "); 	
         case 3: puts ( "Случай 3. "); 	
        default: puts ( "Случай default. "); 
                               }
         }
Описание слайда:
Пример : результатом будет – Случай 2. Случай 3. Случай default. void main() { int i = 2; switch(i) { case 1: puts ( "Случай 1. "); case 2: puts ( "Случай 2. "); case 3: puts ( "Случай 3. "); default: puts ( "Случай default. "); } }

Слайд 120





4.9 Оператор безусловного перехода

Оператор безусловного перехода     goto < метка >; 	
предназначен для передачи управления на 
оператор, помеченный меткой.

 Метка представляет собой идентификатор с 
символом «двоеточие» после него.
m1:    ;  
 
Наиболее характерный случай использования 
оператора goto  – выполнение выхода во вложенной 
структуре при возникновении неисправимых ошибок 
во входных данных.
Описание слайда:
4.9 Оператор безусловного перехода Оператор безусловного перехода goto < метка >; предназначен для передачи управления на оператор, помеченный меткой. Метка представляет собой идентификатор с символом «двоеточие» после него. m1: ; Наиболее характерный случай использования оператора goto – выполнение выхода во вложенной структуре при возникновении неисправимых ошибок во входных данных.

Слайд 121





Пример: программа – простейший калькулятор 
#include <stdio.h>
#include <conio.h> 
#include <math.h>
#include <process.h>
#include <locale.h>
void main ()   {   setlocale(LC_CTYPE, "Russian");
double a, b, c;
char s;
m1:fflush(stdin);
puts("\nВведите операнд1, символ операции, операнд2:");
scanf_s("%lf%c%lf", &a, &s,1, &b);
Описание слайда:
Пример: программа – простейший калькулятор #include <stdio.h> #include <conio.h> #include <math.h> #include <process.h> #include <locale.h> void main () { setlocale(LC_CTYPE, "Russian"); double a, b, c; char s; m1:fflush(stdin); puts("\nВведите операнд1, символ операции, операнд2:"); scanf_s("%lf%c%lf", &a, &s,1, &b);

Слайд 122





switch(s) {
switch(s) {
case'+': c=a+b; break;
	case'-': c=a-b; break;
		case'*': c=a*b; break;
			case'/': c=a/b; break;
default: printf("\n Ошибка, повторите ввод!\n");
				         goto m1;        }
printf("\n a %c b = %lf", s, c); 
printf("\n Продолжим? (Y/y)\n");
s=_getch();
 if((s=='Y')||(s=='y')) goto m1;
 printf("\n The end\n"); 
_getch();
}
Описание слайда:
switch(s) { switch(s) { case'+': c=a+b; break; case'-': c=a-b; break; case'*': c=a*b; break; case'/': c=a/b; break; default: printf("\n Ошибка, повторите ввод!\n"); goto m1; } printf("\n a %c b = %lf", s, c); printf("\n Продолжим? (Y/y)\n"); s=_getch(); if((s=='Y')||(s=='y')) goto m1; printf("\n The end\n"); _getch(); }

Слайд 123





Результаты
Описание слайда:
Результаты



Похожие презентации
Mypresentation.ru
Загрузить презентацию