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

На нашем сайте вы можете скачать и просмотреть онлайн доклад-презентацию на тему Обзор операций и базовых инструкций языка Си. (Тема 3) абсолютно бесплатно. Урок-презентация на эту тему содержит всего 123 слайда. Все материалы созданы в программе PowerPoint и имеют формат ppt или же pptx. Материалы и темы для презентаций взяты из открытых источников и загружены их авторами, за качество и достоверность информации в них администрация сайта не отвечает, все права принадлежат их создателям. Если вы нашли то, что искали, отблагодарите авторов - поделитесь ссылкой в социальных сетях, а наш сайт добавьте в закладки.
Презентации » Устройства и комплектующие » Обзор операций и базовых инструкций языка Си. (Тема 3)



Оцените!
Оцените презентацию от 1 до 5 баллов!
  • Тип файла:
    ppt / pptx (powerpoint)
  • Всего слайдов:
    123 слайда
  • Для класса:
    1,2,3,4,5,6,7,8,9,10,11
  • Размер файла:
    1.28 MB
  • Просмотров:
    68
  • Скачиваний:
    0
  • Автор:
    неизвестен



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

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

№2 слайд
Содержание слайда:

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

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

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

№6 слайд
. Функция main
Содержание слайда: 3.2 Функция main

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

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

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

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

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

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

№13 слайд
. Стандартные математические
Содержание слайда: 3.3 Стандартные математические функции

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

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

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

№17 слайд
. Арифметические операторы
Содержание слайда: 3.5 Арифметические операторы (операции)

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

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

№20 слайд
Фундаментальное различие
Содержание слайда: Фундаментальное различие между литералами и переменными заключается в том, что переменная именует область памяти, в которой хранится 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;

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

№23 слайд
В языке Си выражение вида v v
Содержание слайда: В языке Си выражение вида 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--; Если эти операции используются в чистом виде, то различий между префиксной и постфиксной формами нет.

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

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

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

№28 слайд
. Приведение типов в
Содержание слайда: 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

№30 слайд
. Приведение типа при
Содержание слайда: 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
Содержание слайда: float x; int i; float x; int i; x=i; // тип результата float i=x; // тип результата int Тип float преобразуется к int с отбрасыванием дробной части. Тип double преобразуется к float с округлением.

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

№33 слайд
. Логические операции
Содержание слайда: 3.12 Логические операции

№34 слайд
! ! ! ! ! ! Выражение x в СИ
Содержание слайда: !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 не вычисляется.

№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.

№37 слайд
Рассмотрим пример Рассмотрим
Содержание слайда: Рассмотрим пример: Рассмотрим пример: 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); Управляющая строка содержит объекты трех типов: поясняющий текст; список модификаторов форматов; управляющие символы. Количество и порядок следования форматов должен совпадать с количеством и порядком следования печатаемых объектов.

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

№40 слайд
printf quot INT d DOUBLE lf
Содержание слайда: 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() могут быть переменные, константы, выражения, вызовы функции. Главное, чтобы их значения соответствовали заданной спецификации.

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

№43 слайд
Содержание слайда:

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

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

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

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

№48 слайд
Для ввода фраз, состоящих из
Содержание слайда: Для ввода фраз, состоящих из слов Для ввода фраз, состоящих из слов используется функция: 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 указывает на строку, содержащую сообщение об ошибке.

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

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

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

№53 слайд
Содержание слайда:

№54 слайд
include lt stdio.h gt include
Содержание слайда: #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 . define Pi . void
Содержание слайда: #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 слайд
Содержание слайда:

№57 слайд
Содержание слайда:

№58 слайд
Содержание слайда:

№59 слайд
Содержание слайда:

№60 слайд
include lt stdio.h gt include
Содержание слайда: #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 слайд
a pow sin Pi- a , a pow cos
Содержание слайда: 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++. Поскольку новые заголовки не являются именами файлов, для них не нужно указывать расширение, а только имя заголовка в угловых скобках.

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

№64 слайд
Ввод-вывод потоками include
Содержание слайда: Ввод-вывод потоками #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 Спецификаторы классов памяти

№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 Оператор безусловного перехода

№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;

№69 слайд
. Синтаксис полного оператора
Содержание слайда: 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;

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

№72 слайд
Максимум из а и 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(); }

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

№76 слайд
t
Содержание слайда: t2=

№77 слайд
Содержание слайда:

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

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

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

№81 слайд
. Спецификаторы классов
Содержание слайда: 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 } } }

№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 } }

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

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

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

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

№88 слайд
. . Оператор с предусловием
Содержание слайда: 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--;}

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

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

№94 слайд
int x - , y вар int x - , y
Содержание слайда: 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"), // то выходим из цикла ... }

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

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

№99 слайд
Особенности оператора do -
Содержание слайда: Особенности оператора 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 могут отсутствовать (пустые выражения), но символы «;» опускать нельзя.

№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);

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

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

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

№106 слайд
Особенности оператора for
Содержание слайда: Особенности оператора 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 В цикле с использованием оператора 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

№109 слайд
Особенности оператора 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 должны совпадать в целой части и в первых двух-четырех позициях после десятичной точки.

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

№112 слайд
Содержание слайда:

№113 слайд
include lt stdio.h gt include
Содержание слайда: #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 quot n quot printf
Содержание слайда: 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;] }

№117 слайд
Значение выражения должно
Содержание слайда: Значение выражения должно быть целого типа (символьного); Значение выражения должно быть целого типа (символьного); После вычисления оно сравнивается со значениями констант и при совпадении с одной из них выполняется передача управления соответствующему оператору; В случае несовпадения значения выражения ни с одной из констант происходит переход на метку 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; } }

№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. "); } }

№120 слайд
. Оператор безусловного
Содержание слайда: 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);

№122 слайд
switch s switch s case c a b
Содержание слайда: 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 слайд
Результаты
Содержание слайда: Результаты

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