🗊 Презентация Язык программирования СИ

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

Содержание

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

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


Слайд 1


Язык программирования СИ Си (англ. C) — стандартизированный процедурный язык программирования, разработанный в начале 1970-х годов сотрудниками Bell...
Описание слайда:
Язык программирования СИ Си (англ. C) — стандартизированный процедурный язык программирования, разработанный в начале 1970-х годов сотрудниками Bell Labs Кеном Томпсоном и Денисом Ритчи как развитие языка Би. Си был создан для использования в операционной системе UNIX. С тех пор он был портирован на многие другие операционные системы и стал одним из самых используемых языков программирования. Си ценят за его эффективность. Он является самым популярным языком для создания системного программного обеспечения. Его также часто используют для создания прикладных программ. Несмотря на то, что Си не разрабатывался для новичков, он активно используется для обучения программированию. В дальнейшем синтаксис языка Си стал основой для многих других языков. Для языка Си характерны лаконичность, стандартный набор конструкций управления потоком выполнения, структур данных и обширный набор операций.

Слайд 2


Обзор Язык программирования Си отличается минимализмом. Авторы языка хотели, чтобы программы на нём легко компилировались с помощью однопроходного...
Описание слайда:
Обзор Язык программирования Си отличается минимализмом. Авторы языка хотели, чтобы программы на нём легко компилировались с помощью однопроходного компилятора, чтобы каждой элементарной составляющей программы после компиляции соответствовало весьма небольшое число машинных команд, а использование базовых элементов языка не задействовало библиотеку времени выполнения. Однопроходный компилятор компилирует программу, не возвращаясь назад, к уже обработанному тексту. Поэтому использованию функции и переменных должно предшествовать их объявление. Код на Си можно легко писать на низком уровне абстракции, почти как на ассемблере. Иногда Си называют «универсальным ассемблером» или «ассемблером высокого уровня», что отражает различие языков ассемблера для разных платформ и единство стандарта Си, код которого может быть скомпилирован без изменений практически на любой модели компьютера. Си часто называют языком среднего уровня или даже низкого уровня, учитывая то, как близко он работает к реальным устройствам. Однако, в строгой классификации, он является языком высокого уровня.

Слайд 3


Ранние разработки Язык программирования Си был разработан в лабораториях Bell Labs в период с 1969 по 1973 годы. Согласно Ритчи, самый активный...
Описание слайда:
Ранние разработки Язык программирования Си был разработан в лабораториях Bell Labs в период с 1969 по 1973 годы. Согласно Ритчи, самый активный период творчества пришёлся на 1972 год. Язык назвали «Си» (C — третья буква латинского алфавита), потому что многие его особенности берут начало от старого языка «Би» (B — вторая буква латинского алфавита). Самый первый компьютер, для которого была первоначально написана UNIX, предназначался для создания системы автоматического заполнения документов. Первая версия UNIX была написана на ассемблере. Позднее для того, чтобы переписать эту операционную систему, был разработан язык Си. К 1973 году язык Си стал достаточно силён, и большая часть ядра UNIX, первоначально написанная на ассемблере PDP-11/20, была переписана на Си. Это было одно из самых первых ядер операционных систем, написанное на языке, отличном от ассемблера

Слайд 4


K&R C В 1978 году Ритчи и Керниган опубликовали первую редакцию книги «Язык программирования Си». Эта книга, известная среди программистов как «K&R»,...
Описание слайда:
K&R C В 1978 году Ритчи и Керниган опубликовали первую редакцию книги «Язык программирования Си». Эта книга, известная среди программистов как «K&R», служила многие годы неформальной спецификацией языка. Версию языка Си, описанную в ней, часто называют «K&R C». (Вторая редакция этой книги посвящена более позднему стандарту ANSI C, описанному ниже.) K&R C часто считают самой главной частью языка, которую должен поддерживать компилятор Си. Многие годы даже после выхода ANSI C, он считался минимальным уровнем, которого следовало придерживаться программистам, желающим добиться от своих программ максимальной портативности, потому что не все компиляторы тогда поддерживали ANSI C, а хороший код на K&R C был верен и для ANSI C.

Слайд 5


ISO C ANSI C В конце 1970-х годов Си начал вытеснять Бейсик с позиции ведущего языка для программирования микрокомпьютеров. В 1980-х годах он был...
Описание слайда:
ISO C ANSI C В конце 1970-х годов Си начал вытеснять Бейсик с позиции ведущего языка для программирования микрокомпьютеров. В 1980-х годах он был адаптирован для использования в IBM PC, что привело к резкому росту его популярности. В то же время Бьярне Строуструп и другие в лабораториях Bell Labs начали работу по добавлению в Си возможностей объектно-ориентированного программирования. Язык, который они в итоге сделали, C++, в настоящее время является самым распространённым языком программирования. Си остаётся более популярным в UNIX-подобных системах. В 1983 году Американский Национальный Институт Стандартизации (ANSI) сформировал комитет для разработки стандартной спецификации Си. По окончании этого долгого и сложного процесса в 1989 году он был наконец утверждён как «Язык программирования Си» ANSI X3.159-1989. Эту версию языка принято называть ANSI C или C89. В 1990 году стандарт ANSI C был принят с небольшими изменениями Международной Организацией по Стандартизации (ISO) как ISO/IEC 9899:1990. Одной из целей этого стандарта была разработка надмножества K&R C, включающего многие особенности языка, созданные позднее. Однако комитет по стандартизации также включил в него и несколько новых возможностей, таких как прототипы функций (заимствованные из С++) и более сложный препроцессор. ANSI C сейчас поддерживают почти все существующие компиляторы. Почти весь код Си, написанный в последнее время, соответствует ANSI C. Любая программа, написанная только на стандартном Си, гарантированно будет правильно выполняться на любой платформе, имеющей соответствующую реализацию Си. Однако большинство программ написаны так, что они будут компилироваться и исполняться только на определённой платформе, потому, что: они используют нестандартные библиотеки, например, для графических дисплеев; они используют специфические платформо-зависимые средства; они рассчитаны на определённое значение размера некоторых типов данных или на определённый способ хранения этих данных в памяти для конкретной платформы.

Слайд 6


C99 После стандартизации в ANSI спецификация языка Си оставалась относительно неизменной в течение долгого времени, в то время как Си++ продолжал...
Описание слайда:
C99 После стандартизации в ANSI спецификация языка Си оставалась относительно неизменной в течение долгого времени, в то время как Си++ продолжал развиваться (в 1995 году в стандарт Си была внесена Первая нормативная поправка, но её почти никто не признавал). Однако в конце 1990-х годов стандарт подвергся пересмотру, что привело к публикации ISO 9899:1999 в 1999 году. Этот стандарт обычно называют «С99». В марте 2000 года он был принят и адаптирован ANSI. Вот некоторые новые особенности С99: подставляемые функции (inline); отсутствие ограничений на место объявления локальных переменных (как и в С++); новые типы данных, такие как long long int (для облегчения перехода от 32- к 64-битным числам), явный булевый тип данных _Bool и тип complex для представления комплексных чисел; массивы переменной длины; поддержка ограниченных указателей (restrict); именованная инициализация структур: struct { int x, y, z; } point = { .y=10, .z=20, .x=30 }; поддержка однострочных комментариев, начинающихся на //, заимствованных из C++ (многие компиляторы Си поддерживали их и ранее в качестве дополнения); несколько новых библиотечных функций, таких как snprintf; несколько новых заголовочных файлов, таких как stdint.h. Интерес к поддержке новых особенностей С99 в настоящее время смешан. В то время как GCC[2], компилятор Си от Sun Microsystems и некоторые другие компиляторы в настоящее время поддерживают большую часть новых особенностей С99, компиляторы компаний Borland и Microsoft не делают этого, причём похоже, что две эти компании и не думают их добавлять.

Слайд 7


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

Слайд 8


C++ C++ (произносится «си плас плас», допустимо также русскоязычное произношение «си плюс плюс») — компилируемый статически типизированный язык...
Описание слайда:
C++ C++ (произносится «си плас плас», допустимо также русскоязычное произношение «си плюс плюс») — компилируемый статически типизированный язык программирования общего назначения. Поддерживая разные парадигмы программирования, сочетает свойства как высокоуровневых, так и низкоуровневых языков. В сравнении с его предшественником — языком C, — наибольшее внимание уделено поддержке объектно-ориентированного и обобщённого программирования. Название «C++» происходит от названия языка C, в котором унарный оператор ++ обозначает инкремент переменной. Являясь одним из самых популярных языков программирования, C++ широко используется для разработки программного обеспечения. Область его применения включает создание операционных систем, разнообразных прикладных программ, драйверов устройств, приложений для встраиваемых систем, высокопроизводительных серверов, а также развлекательных приложений (например, видеоигры). Существует несколько реализаций языка C++ — как бесплатных, так и коммерческих. Их производят Проект GNU, Microsoft, Intel и Embarcadero (Borland). C++ оказал огромное влияние на другие языки программирования, в первую очередь на Java и C#. При создании C++ Бьёрн Страуструп стремился сохранить совместимость с языком C. Множество программ, которые могут одинаково успешно транслироваться как компиляторами C, так и компиляторами C++, довольно велико — отчасти благодаря тому, что синтаксис C++ был основан на синтаксисе C.

Слайд 9


Ключевые слова В С89 есть 32 ключевых слова:
Описание слайда:
Ключевые слова В С89 есть 32 ключевых слова:

Слайд 10


Приоритет операций
Описание слайда:
Приоритет операций

Слайд 11


Приоритет операций
Описание слайда:
Приоритет операций

Слайд 12


Базовые типы данных языка С
Описание слайда:
Базовые типы данных языка С

Слайд 13


Hello в стиле СИ //*********prog1.cpp********* #include void main(void) { printf("Hello\n"); }
Описание слайда:
Hello в стиле СИ //*********prog1.cpp********* #include void main(void) { printf("Hello\n"); }

Слайд 14


Hello в стиле С++ //*********prog2.cpp********* #include void main(void) { cout
Описание слайда:
Hello в стиле С++ //*********prog2.cpp********* #include void main(void) { cout

Слайд 15


Hello в стиле С++ на современных компиляторах //*********prog2.cpp********* #include using namespace std; int main(void) { cout
Описание слайда:
Hello в стиле С++ на современных компиляторах //*********prog2.cpp********* #include using namespace std; int main(void) { cout

Слайд 16


Использование переменных Любая переменная, используемая в программе, должна быть описана перед первым её использованием. Описать переменную значит...
Описание слайда:
Использование переменных Любая переменная, используемая в программе, должна быть описана перед первым её использованием. Описать переменную значит указать её имя и тип. //*********prog3.cpp********* #include void main(void) { float a,b,c; //Описаны 3 вещественных переменных a=10; b=5; c=a/b; printf("c=%f\n",c); }

Слайд 17


Некоторые функции стандартного ввода-вывода Функции стандартного ввода - вывода описаны в файле stdio.h. printf() - форматный вывод на экран: int...
Описание слайда:
Некоторые функции стандартного ввода-вывода Функции стандартного ввода - вывода описаны в файле stdio.h. printf() - форматный вывод на экран: int printf(char *format, ); Первый параметр является символьной строкой, которая выводится в поток вывода (экран). В ней могут встречаться спецификаторы формата. Остальные параметры - перечисление переменных и выражений, значения которых выводятся. Каждая спецификация формата имеет вид (параметры в квадратных скобках необязательны): %[flags][width][.prec]type Как только в строке встречается спецификатор формата, он замещается значением очередной переменной из списка.

Слайд 18


Язык программирования СИ, слайд №18
Описание слайда:

Слайд 19


scanf() - форматный ввод с клавиатуры: scanf() - форматный ввод с клавиатуры: int scanf(char *format, ); Первый параметр является символьной строкой,...
Описание слайда:
scanf() - форматный ввод с клавиатуры: scanf() - форматный ввод с клавиатуры: int scanf(char *format, ); Первый параметр является символьной строкой, которая задает спецификации формата (см. функцию printf()). Остальные параметры - перечисление адресов переменных, в которые вводятся данные. В этом списке перед именами всех переменных, кроме тех, которые вводятся по спецификации типа %s, должен стоять символ &.

Слайд 20


//*********prog4.cpp********* //*********prog4.cpp********* #include void main(void) { float a,b,c; printf(“input a:”); scanf(“%f”,&a); printf(“input...
Описание слайда:
//*********prog4.cpp********* //*********prog4.cpp********* #include void main(void) { float a,b,c; printf(“input a:”); scanf(“%f”,&a); printf(“input b:”); scanf(“%f”,&b); c=a/b; printf("c=%f\n",c); }

Слайд 21


Вывод значений нескольких переменных //*********prog4.cpp********* #include void main(void) { float a=1.5; int b=7; char c=‘A’; char str[]=“Stroka”;...
Описание слайда:
Вывод значений нескольких переменных //*********prog4.cpp********* #include void main(void) { float a=1.5; int b=7; char c=‘A’; char str[]=“Stroka”; printf(“a=%f b=%d c=%c str=%s\n",a,b,c,str); } На экране увидим a=1.5 b=7 c=A str=Stroka

Слайд 22


Ввод вывод в С++ //*********prog5.cpp********* #include void main(void) { float a,b,c; couta; coutb; c=a/b; cout
Описание слайда:
Ввод вывод в С++ //*********prog5.cpp********* #include void main(void) { float a,b,c; couta; coutb; c=a/b; cout

Слайд 23


Условный оператор if
Описание слайда:
Условный оператор if

Слайд 24


Условный оператор if
Описание слайда:
Условный оператор if

Слайд 25


Логические операции Язык С имеет ровно три логические операции: это && или (AND); || или (OR); ! или (NOT). Как принято еще называть логические...
Описание слайда:
Логические операции Язык С имеет ровно три логические операции: это && или (AND); || или (OR); ! или (NOT). Как принято еще называть логические операции? Операция "&&" или операция "AND" называется еще операцией "и" или логическим умножением. Операция "||" или операция "OR" называется еще операцией "или" или логическим сложением. Операция "! или операция "NOT" называется еще операцией "не" или логическим отрицанием.

Слайд 26


Таблицы истинности логических операций Операция "&&" называется логическим умножением потому, что выполняется таблица истинности этой...
Описание слайда:
Таблицы истинности логических операций Операция "&&" называется логическим умножением потому, что выполняется таблица истинности этой операции, очень напоминающая таблицу обыкновенного умножения из арифметики. Логическое умножение это такая операция, которая истинна тогда и только тогда, когда истинны оба входящих в нее высказывания. 1 && 1 = 1 0 && 1 = 0 1 && 0 = 0 0 && 0 = 0

Слайд 27


Операция "||" (ИЛИ) называется логическим сложением потому, что выполняется таблица истинности этой операции, очень напоминающая таблицу...
Описание слайда:
Операция "||" (ИЛИ) называется логическим сложением потому, что выполняется таблица истинности этой операции, очень напоминающая таблицу обыкновенного сложения из арифметики. Операция "||" (ИЛИ) называется логическим сложением потому, что выполняется таблица истинности этой операции, очень напоминающая таблицу обыкновенного сложения из арифметики. Логическое сложение это такая операция, которая истинна тогда и только тогда, когда истинно хотя бы одно из входящих в нее высказываний. 1 || 1 = 1 0 || 1 = 1 1 || 0 = 1 0 || 0 = 0 Операция "!" ( НЕ) называется логическим отрицанием потому, что выполняется следующая таблица истинности. Логическое отрицание это такая операция, которая истинна тогда и только тогда, когда ложно входящее в нее высказывание и наоборот. !1 = 0 !0 = 1

Слайд 28


Пример с полной формой if /* Объявления переменных x и y и ввод исходных данных */ if( x > 3) y = 27 + pow(x -3, 3); else if( x > 1) y = pow(x, 3);...
Описание слайда:
Пример с полной формой if /* Объявления переменных x и y и ввод исходных данных */ if( x > 3) y = 27 + pow(x -3, 3); else if( x > 1) y = pow(x, 3); else if( x > 0) y = x; else y = pow(sin(x), 2) / 2; /* Вывод значения переменной “y” */

Слайд 29


Пример с краткой формой if /* Объявления переменных “x” и “y” и ввод исходных данных */ if(x > 3) y = 27 + pow(x –3, 3); if(x 1) y = pow(x, 3); if(x...
Описание слайда:
Пример с краткой формой if /* Объявления переменных “x” и “y” и ввод исходных данных */ if(x > 3) y = 27 + pow(x –3, 3); if(x 1) y = pow(x, 3); if(x 0) y = x; if(x >= 0) y = pow(sin(x), 2) / 2 ; /* Вывод значения переменной “y” */

Слайд 30


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

Слайд 31


Операндом может быть именующее выражение, например, имя переменной. Операндом может быть именующее выражение, например, имя переменной. Следующие три...
Описание слайда:
Операндом может быть именующее выражение, например, имя переменной. Операндом может быть именующее выражение, например, имя переменной. Следующие три строки увеличивают переменную x на 1: x = x + 1; ++x; x++;

Слайд 32


Префиксная (++x, --x ) и постфиксная (x++ , x--) форма Операции инкрементации и декрементации имеют префиксную (++x, --x ) и постфиксную (x++ , x--)...
Описание слайда:
Префиксная (++x, --x ) и постфиксная (x++ , x--) форма Операции инкрементации и декрементации имеют префиксную (++x, --x ) и постфиксную (x++ , x--) форму записи. При использовании префиксной формы записи операнд увеличивается или уменьшается сразу же. Пример 1 x = 3; y = ++x; Переменная х сразу же увеличивается до 4 и это значение присваивается переменной y. При использовании постфиксной формы записи операнд увеличивается или уменьшается после того, как он используется. Пример 2 x = 3; y = x++; Переменной y присваивается значение 3, а затем переменная х увеличивается до 4.

Слайд 33


Сложное присваивание Сложное Аналог присваивание y+=5; y=y+5; y-=5; y=y-5; y*=5; y=y*5; y/=5; y=y/5;
Описание слайда:
Сложное присваивание Сложное Аналог присваивание y+=5; y=y+5; y-=5; y=y-5; y*=5; y=y*5; y/=5; y=y/5;

Слайд 34


Операторы циклов for while do …..while
Описание слайда:
Операторы циклов for while do …..while

Слайд 35


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

Слайд 36


Пример int i; for( i=1;i
Описание слайда:
Пример int i; for( i=1;i

Слайд 37


Язык программирования СИ, слайд №37
Описание слайда:

Слайд 38


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

Слайд 39


Пример int i; i=1; while( i
Описание слайда:
Пример int i; i=1; while( i

Слайд 40


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

Слайд 41


Пример int i; i=1; do { cout
Описание слайда:
Пример int i; i=1; do { cout

Слайд 42


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

Слайд 43


Задача табулирования
Описание слайда:
Задача табулирования

Слайд 44


Задача табулирования //********* for ( format output) **************** #include #include void main(viod) { float x,y,xn,xk,dx; int n; coutxn; coutxk;...
Описание слайда:
Задача табулирования //********* for ( format output) **************** #include #include void main(viod) { float x,y,xn,xk,dx; int n; coutxn; coutxk; coutn; dx=(xk-xn)/(n-1); x=xn; cout

Слайд 45


Операторы Операторы break continue
Описание слайда:
Операторы Операторы break continue

Слайд 46


Операторы break и continue Часто при возникновении некоторого события удобно иметь возможность досрочно завершить цикл. Используемый для этой цели...
Описание слайда:
Операторы break и continue Часто при возникновении некоторого события удобно иметь возможность досрочно завершить цикл. Используемый для этой цели оператор break (разрыв) вызывает немедленный выход из циклов, организуемых с помощью операторов for, while, do-while, а также прекращение оператора switch.

Слайд 47


Язык программирования СИ, слайд №47
Описание слайда:

Слайд 48


Оператор continue Оператор continue тоже предназначен для прерывания циклического процесса, организуемого операторами for, while, do-while. Но в...
Описание слайда:
Оператор continue Оператор continue тоже предназначен для прерывания циклического процесса, организуемого операторами for, while, do-while. Но в отличии от оператора break, он не прекращает дальнейшее выполнение цикла, а только немедленно переходит к следующей интерации того цикла, в теле которого он оказался. Он как бы имитирует безусловный переход на конечный оператор цикла, но не за ее пределы самого цикла.

Слайд 49


Язык программирования СИ, слайд №49
Описание слайда:

Слайд 50


Переключатель switch Оператор switch (переключатель) предназначен для принятия одного из многих решений. Он выглядит следующим образом: switch(целое...
Описание слайда:
Переключатель switch Оператор switch (переключатель) предназначен для принятия одного из многих решений. Он выглядит следующим образом: switch(целое выражение) { case константа1: оператор1; case константа2: оператор2; ... ... ... case константаn: операторn; default : оператор; }

Слайд 51


При выполнении этого оператора вычисляется выражение, стоящее в скобках после ключевого слова switch, которое должно быть целым. Оно, в частности,...
Описание слайда:
При выполнении этого оператора вычисляется выражение, стоящее в скобках после ключевого слова switch, которое должно быть целым. Оно, в частности, может быть и символьным значением (в языке Си символьные значения автоматически расширяются до целых значений). Эта целая величина используется в качестве критерия для выбора одного из возможных вариантов. Ее значение сравнивается с константой операторов case. Вместо целой или литерной константы в операторе case может стоять некоторое константное выражение. Значения таких констант (выражений) должны быть различными в разных операторах case. При несовпадении выполняется переход к следующему case и сравнивается его константа. В случае совпадения "константы_i" выполняется "оператор_i", а также все последующие операторы case и default. Если не было ни одного совпадения и имеется оператор default, то выполняется стоящий за ним оператор. Если же оператора default не было, выполнение программы продолжится с оператора, следующего за структурой switch. Таким образом, при каждом выполнении оператора просматриваются все метки case. При выполнении этого оператора вычисляется выражение, стоящее в скобках после ключевого слова switch, которое должно быть целым. Оно, в частности, может быть и символьным значением (в языке Си символьные значения автоматически расширяются до целых значений). Эта целая величина используется в качестве критерия для выбора одного из возможных вариантов. Ее значение сравнивается с константой операторов case. Вместо целой или литерной константы в операторе case может стоять некоторое константное выражение. Значения таких констант (выражений) должны быть различными в разных операторах case. При несовпадении выполняется переход к следующему case и сравнивается его константа. В случае совпадения "константы_i" выполняется "оператор_i", а также все последующие операторы case и default. Если не было ни одного совпадения и имеется оператор default, то выполняется стоящий за ним оператор. Если же оператора default не было, выполнение программы продолжится с оператора, следующего за структурой switch. Таким образом, при каждом выполнении оператора просматриваются все метки case.

Слайд 52


Язык программирования СИ, слайд №52
Описание слайда:

Слайд 53


Калькулятор (правильный) Пример - калькулятор #include main() { int a,b,c; char op; printf( “ Input a op b”): scanf(“%d “&a); scanf(“%c “&op);...
Описание слайда:
Калькулятор (правильный) Пример - калькулятор #include main() { int a,b,c; char op; printf( “ Input a op b”): scanf(“%d “&a); scanf(“%c “&op); scanf(“%d “&b); switch(op) { case ‘+’:c=a+b; break; case ‘-’: c=a-b; break; case ‘*’: c=a*b; break; case ‘/’: c=a/b; break; default: printf(“ERROR!!!\n"); } printf(“%d “,c); }

Слайд 54


Массивы Массив - это упорядоченная совокупность данных одного типа. Можно говорить о массивах целых чисел, массивов символов и.т.д. Мы можем даже...
Описание слайда:
Массивы Массив - это упорядоченная совокупность данных одного типа. Можно говорить о массивах целых чисел, массивов символов и.т.д. Мы можем даже определить массив, элементы которого - массивы( массив массивов), определяя, таким образом, многомерные массивы. Любой массив в программе должен быть описан: после имени массива добавляют квадратные скобки [], внутри которых обычно стоит число, показывающее количество элементов массива. Например, запись int x[10]; определяет x как массив из 10 целых чисел.

Слайд 55


В случае многомерных массивов показывают столько пар скобок , какова размерность массива, а число внутри скобок показывает размер массива по данному...
Описание слайда:
В случае многомерных массивов показывают столько пар скобок , какова размерность массива, а число внутри скобок показывает размер массива по данному измерению. Например, описание двумерного массива выглядит так: int a[2][5];. Такое описание можно трактовать как матрицу из 2 строк и 5 столбцов. Для обращения к некоторому элементу массива указывают его имя и индекс, заключенный в квадратные скобки(для многомерного массива - несколько индексов , заключенные в отдельные квадратные скобки): a[1][3], x[i] a[0][k+2]. Индексы массива в Си всегда начинаются с 0, а не с 1, т.е. описание int x[5]; порождает элементы x[0], x[1], x[2], x[3], x[4]. Индекс может быть не только целой константой или целой переменной, но и любым выражением целого типа. Переменная с индексами в программе используется наравне с простой переменной (например, в операторе присваивания, в функциях ввода- вывода).. В случае многомерных массивов показывают столько пар скобок , какова размерность массива, а число внутри скобок показывает размер массива по данному измерению. Например, описание двумерного массива выглядит так: int a[2][5];. Такое описание можно трактовать как матрицу из 2 строк и 5 столбцов. Для обращения к некоторому элементу массива указывают его имя и индекс, заключенный в квадратные скобки(для многомерного массива - несколько индексов , заключенные в отдельные квадратные скобки): a[1][3], x[i] a[0][k+2]. Индексы массива в Си всегда начинаются с 0, а не с 1, т.е. описание int x[5]; порождает элементы x[0], x[1], x[2], x[3], x[4]. Индекс может быть не только целой константой или целой переменной, но и любым выражением целого типа. Переменная с индексами в программе используется наравне с простой переменной (например, в операторе присваивания, в функциях ввода- вывода)..

Слайд 56


Элементам массива могут быть присвоены начальные значения: Элементам массива могут быть присвоены начальные значения: int a[6]={5,0,4,-17,49,1};...
Описание слайда:
Элементам массива могут быть присвоены начальные значения: Элементам массива могут быть присвоены начальные значения: int a[6]={5,0,4,-17,49,1}; приведенная запись обеспечивает присвоения a[0]=5; a[1]=0; a[2]=4 ... a[5]=1. Для начального присвоения значений некоторому массиву надо в описании поместить справа от знака = список инициирующих значений, заключенные в фигурные скобки и разделенные запятыми

Слайд 57


Язык программирования СИ, слайд №57
Описание слайда:

Слайд 58


Расположение массивов в памяти double arr[]={0.1,1.1,2.1,3.1,4.1,5.1,6.1,7.1,8.1,9.1}; for(i=0;i
Описание слайда:
Расположение массивов в памяти double arr[]={0.1,1.1,2.1,3.1,4.1,5.1,6.1,7.1,8.1,9.1}; for(i=0;i

Слайд 59


Многомерные массивы Многомерные массивы - это массивы с более чем одним индексом. Чаще всего используются двумерные массивы. При описании...
Описание слайда:
Многомерные массивы Многомерные массивы - это массивы с более чем одним индексом. Чаще всего используются двумерные массивы. При описании многомерного массива необходимо указать C++, что массив имеет более чем одно измерение. int t[3][4]; Описывается двумерный массив, из 3 строк и 4 столбцов. Элементы массива: t[0][0] t[0][1] t[0][2] t[0][3] t[1][0] t[1][1] t[1][2] t[1][3] t[2][0] t[2][1] t[2][2] t[2][3] При выполнении этой команды под массив резервируется место. Элементы массива располагаются в памяти один за другим.

Слайд 60


В памяти многомерные массивы представляются как одномерный массив, каждый из элементов которого, в свою очередь, представляет собой массив. В памяти...
Описание слайда:
В памяти многомерные массивы представляются как одномерный массив, каждый из элементов которого, в свою очередь, представляет собой массив. В памяти многомерные массивы представляются как одномерный массив, каждый из элементов которого, в свою очередь, представляет собой массив. Рассмотрим на примере двумерного массива. int a[3][2]={4, l, 5,7,2, 9}; Представляется в памяти: a[0][0] заносится значение 4 a[0][1] заносится значение 1 a[1][0] заносится значение 5 a[1][1] заносится значение 7 a[2][0] заносится значение 2 a[2][1] заносится значение 9 Второй способ инициализации при описании массива int а[3][2]={ {4,1}, {5, 7}, {2, 9} }; Обращение к элементу массива производится через индексы. cout

Слайд 61


Программа инициализирует массив и выводит его элементы на экран. Программа инициализирует массив и выводит его элементы на экран. #include int main...
Описание слайда:
Программа инициализирует массив и выводит его элементы на экран. Программа инициализирует массив и выводит его элементы на экран. #include int main () { int a[3] [2]={ {1,2}, {3,4}, {5,6} }; int i,j; for (i=0; i

Слайд 62


//Ввод массива //Ввод массива int a[3] [2]; int i,j; for (i=0; i
Описание слайда:
//Ввод массива //Ввод массива int a[3] [2]; int i,j; for (i=0; i

Слайд 63


//обработка массива ( сумма элем.) //обработка массива ( сумма элем.) int s=0; for (i=0; i
Описание слайда:
//обработка массива ( сумма элем.) //обработка массива ( сумма элем.) int s=0; for (i=0; i

Слайд 64


//вывод на экран //вывод на экран for (i=0; i
Описание слайда:
//вывод на экран //вывод на экран for (i=0; i

Слайд 65


Указатели Указатели — это переменные, которые хранят адрес объекта (переменной) в памяти. Для объявления указателя нужно добавить звездочку перед...
Описание слайда:
Указатели Указатели — это переменные, которые хранят адрес объекта (переменной) в памяти. Для объявления указателя нужно добавить звездочку перед именем переменной. Так, например, следующий код создает два указателя, которые указывают на целое число. int *pNumberOne; int *pNumberTwo; Обратили внимание на префикс "p" в обоих именах переменных? Это принятый способ обозначить, что переменная является указателем. Так называемая венгерская нотация.

Слайд 66


Теперь сделаем так, чтобы указатели на что-нибудь указывали: Теперь сделаем так, чтобы указатели на что-нибудь указывали: int some_number=5,...
Описание слайда:
Теперь сделаем так, чтобы указатели на что-нибудь указывали: Теперь сделаем так, чтобы указатели на что-нибудь указывали: int some_number=5, some_other_number=10; pNumberOne = &some_number; pNumberTwo = &some_other_number; Знак & (амперсанд) следует читать как "адрес переменной ..." и означает адрес переменной в памяти, который будет возвращен вместо значения самой переменной. Итак, в этом примере pNumberOne установлен и содержит адрес переменной some_number (указывает на some_number). Если мы хотим получить адрес переменной some_number, мы можем использовать pNumberOne. Если мы хотим получить значение переменной some_number через pNumberOne, нужно добавить звездочку (*) перед pNumberOne (*pNumberOne). Звездочка (*) разыменовывает (превращает в саму переменную) указатель. cout

Слайд 67


#include #include void main() { // объявляем переменные: int nNumber; int *pPointer; // инициализируем объявленные переменные: nNumber = 15; pPointer...
Описание слайда:
#include #include void main() { // объявляем переменные: int nNumber; int *pPointer; // инициализируем объявленные переменные: nNumber = 15; pPointer = &nNumber; // выводим значение переменной nNumber: printf("nNumber is equal to : %d\n", nNumber); // теперь изменяем nNumber через pPointer: *pPointer = 25; // убедимся что nNumber изменил свое значение // в результате предыдущего действия, // выведя значение переменной ещё раз printf("nNumber is equal to : %d\n", nNumber); }

Слайд 68


Динамическая память Динамическая память позволяет выделять/освобождать память во время работы программы. Код ниже демонстрирует, как выделить память...
Описание слайда:
Динамическая память Динамическая память позволяет выделять/освобождать память во время работы программы. Код ниже демонстрирует, как выделить память для целого числа: int *pNumber; pNumber = new int; Первая строчка объявляет указатель pNumber. Вторая строчка выделяет память для целого числа (int) и указывает pNumber на эту область памяти. Вот ещё один пример, на этот раз с числом с двойной точностью (double). double *pDouble; pDouble = new double;

Слайд 69


Освобождение памяти С памятью всегда существуют сложности и в данном случае довольно серьезные, но эти сложности можно с легкостью обойти. Проблема...
Описание слайда:
Освобождение памяти С памятью всегда существуют сложности и в данном случае довольно серьезные, но эти сложности можно с легкостью обойти. Проблема заключается в том что не смотря на то, что память которая была динамически выделена остается нетронутой она никогда не освобождается автоматически. Память будет оставаться выделенной до тех пор, пока вы не скажете компьютеру что вам она больше не нужна. Проблема в том, что если вы не скажете системе, что память вам больше не нужна, она будет занимать место, которое возможно необходимо другим приложениям, либо частям вашего приложения. В частности это может привести к сбою системы по причине использования всей доступной памяти, поэтому это очень важно. Освобождение памяти когда она вам больше не нужна делается очень просто: delete pPointer;

Слайд 70


Операции с указателями Унарные операции: инкремент и декремент. При выполнении операций ++ и -- значение указателя увеличивается или уменьшается на...
Описание слайда:
Операции с указателями Унарные операции: инкремент и декремент. При выполнении операций ++ и -- значение указателя увеличивается или уменьшается на длину типа, на который ссылается используемый указатель. Пример: int *ptr, a[10]; ptr=&a[5]; ptr++; /* равно адресу элемента a[6] */ ptr--; /* равно адресу элемента a[5] */

Слайд 71


Операции с указателями В бинарных операциях сложения и вычитания могут участвовать указатель и величина типа int. При этом результатом операции будет...
Описание слайда:
Операции с указателями В бинарных операциях сложения и вычитания могут участвовать указатель и величина типа int. При этом результатом операции будет указатель на исходный тип, а его значение будет на указанное число элементов больше или меньше исходного. Пример: int *ptr1, *ptr2, a[10]; int i=2; ptr1=a+(i+4); /* равно адресу элемента a[6] */ ptr2=ptr1-i; /* равно адресу элемента a[4] */

Слайд 72


Операции с указателями В операции вычитания могут участвовать два указателя на один и тот же тип. Результат такой операции имеет тип int и равен...
Описание слайда:
Операции с указателями В операции вычитания могут участвовать два указателя на один и тот же тип. Результат такой операции имеет тип int и равен числу элементов исходного типа между уменьшаемым и вычитаемым, причем если первый адрес младше, то результат имеет отрицательное значение. Пример: int *ptr1, *ptr2, a[10]; int i; ptr1=a+4; ptr2=a+9; i=ptr1-ptr2; /* равно 5 */ i=ptr2-ptr1; /* равно -5 */

Слайд 73


Операции с указателями Значения двух указателей на одинаковые типы можно сравнивать в операциях ==, !=, = при этом значения указателей...
Описание слайда:
Операции с указателями Значения двух указателей на одинаковые типы можно сравнивать в операциях ==, !=, = при этом значения указателей рассматриваются просто как целые числа, а результат сравнения равен 0 (ложь) или 1 (истина). Пример: int *ptr1, *ptr2, a[10]; ptr1=a+5; ptr2=a+7; if (prt1>ptr2) a[3]=4; В данном примере значение ptr1 меньше значения ptr2 и поэтому оператор a[3]=4 не будет выполнен.

Слайд 74


Методы доступа к элементам массивов Для доступа к элементам массива существует два различных способа. Первый способ связан с использованием обычных...
Описание слайда:
Методы доступа к элементам массивов Для доступа к элементам массива существует два различных способа. Первый способ связан с использованием обычных индексных выражений в квадратных скобках, например, array[16]=3 или array[i+2]=7. При таком способе доступа записываются два выражения, причем второе выражение заключается в квадратные скобки. Одно из этих выражений должно быть указателем, а второе - выражением целого типа.

Слайд 75


Методы доступа к элементам массивов Второй способ доступа к элементам массива связан с использованием адресных выражений и операции разадресации в...
Описание слайда:
Методы доступа к элементам массивов Второй способ доступа к элементам массива связан с использованием адресных выражений и операции разадресации в форме *(array+16)=3 или *(array+i+2)=7. При реализации на компьютере первый способ приводится ко второму, т.е. индексное выражение преобразуется к адресному. Для приведенного примера array[16] преобразуются в *(array+16).

Слайд 76


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

Слайд 77


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

Слайд 78


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

Слайд 79


Определение функции задает тип возвращаемого значения, имя функции, типы и число формальных параметров, а также объявления переменных и операторы,...
Описание слайда:
Определение функции задает тип возвращаемого значения, имя функции, типы и число формальных параметров, а также объявления переменных и операторы, называемые телом функции, и определяющие действие функции. Пример: Определение функции задает тип возвращаемого значения, имя функции, типы и число формальных параметров, а также объявления переменных и операторы, называемые телом функции, и определяющие действие функции. Пример: int max ( int a, int b) { if (a>b) return a; else return b; } В данном примере определена функция с именем max, имеющая 2 параметра. Функция возвращает целое значение ( максимальное из а и b.

Слайд 80


В языке СИ нет требования, чтобы определение функции обязательно предшествовало ее вызову. Определения используемых функций могут следовать за...
Описание слайда:
В языке СИ нет требования, чтобы определение функции обязательно предшествовало ее вызову. Определения используемых функций могут следовать за определением функции main, перед ним, или находится в другом файле. В языке СИ нет требования, чтобы определение функции обязательно предшествовало ее вызову. Определения используемых функций могут следовать за определением функции main, перед ним, или находится в другом файле. Чтобы компилятор мог осуществить проверку соответствия типов передаваемых фактических параметров типам формальных параметров до вызова функции нужно поместить объявление (прототип) функции. Объявление функции имеет такой же вид, что и определение функции, с той лишь разницей, что тело функции отсутствует, и имена формальных параметров тоже могут быть опущены. Для функции, определенной в последнем примере, прототип может иметь вид int max (int a, int b);

Слайд 81


Функции В программах на языке СИ широко используются, так называемые, библиотечные функции, т.е. функции предварительно разработанные и записанные в...
Описание слайда:
Функции В программах на языке СИ широко используются, так называемые, библиотечные функции, т.е. функции предварительно разработанные и записанные в библиотеки. Прототипы библиотечных функций находятся в специальных заголовочных файлах, поставляемых вместе с библиотеками в составе систем программирования, и включаются в программу с помощью директивы #include.

Слайд 82


В соответствии с синтаксисом языка СИ определение функции имеет следующую форму: В соответствии с синтаксисом языка СИ определение функции имеет...
Описание слайда:
В соответствии с синтаксисом языка СИ определение функции имеет следующую форму: В соответствии с синтаксисом языка СИ определение функции имеет следующую форму: [спецификатор-класса-памяти] [спецификатор-типа] имя-функции ([список-формальных-параметров]) { тело-функции } Необязательный спецификатор-класса-памяти задает класс памяти функции, который может быть static или extern.

Слайд 83


Функции ( возвращаемое значение) Функция возвращает значение если ее выполнение заканчивается оператором return, содержащим некоторое выражение....
Описание слайда:
Функции ( возвращаемое значение) Функция возвращает значение если ее выполнение заканчивается оператором return, содержащим некоторое выражение. Указанное выражение вычисляется, преобразуется, если необходимо, к типу возвращаемого значения и возвращается в точку вызова функции в качестве результата. Если оператор return не содержит выражения или выполнение функции завершается после выполнения последнего ее оператора (без выполнения оператора return), то возвращаемое значение не определено. Для функций, не использующих возвращаемое значение, должен быть использован тип void, указывающий на отсутствие возвращаемого значения. Если функция определена как функция, возвращающая некоторое значение, а в операторе return при выходе из нее отсутствует выражение, то поведение вызывающей функции после передачи ей управления может быть непредсказуемым.

Слайд 84


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

Слайд 85


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

Слайд 86


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

Слайд 87


Пример: Пример: /* Неправильное использование параметров */ void change (int x, int y) { int k=x; x=y; y=k; } В данной функции значения переменных x...
Описание слайда:
Пример: Пример: /* Неправильное использование параметров */ void change (int x, int y) { int k=x; x=y; y=k; } В данной функции значения переменных x и y, являющихся формальными параметрами, меняются местами, но поскольку эти переменные существуют только внутри функции change, значения фактических параметров, используемых при вызове функции, останутся неизменными.

Слайд 88


Передача параметров по указателю Однако, если в качестве параметра передать указатель на некоторую переменную, то используя операцию разадресации...
Описание слайда:
Передача параметров по указателю Однако, если в качестве параметра передать указатель на некоторую переменную, то используя операцию разадресации можно изменить значение этой переменной.

Слайд 89


/* Правильное использование параметров */ /* Правильное использование параметров */ void change (int *x, int *y) { int k=*x; *x=*y; *y=k; } При...
Описание слайда:
/* Правильное использование параметров */ /* Правильное использование параметров */ void change (int *x, int *y) { int k=*x; *x=*y; *y=k; } При вызове такой функции в качестве фактических параметров должны быть использованы не значения переменных, а их адреса change (&a,&b);

Слайд 90


Передача параметров по ссылке /* Правильное использование параметров */ void change (int &x, int &y) { int k=x; x=y; y=k; } Вызов такой функции:...
Описание слайда:
Передача параметров по ссылке /* Правильное использование параметров */ void change (int &x, int &y) { int k=x; x=y; y=k; } Вызов такой функции: change (a,b); Фактически передаются адреса!

Слайд 91


Ввод массива #include void vvod(float mas[],int n) { int i; for(i=0; i
Описание слайда:
Ввод массива #include void vvod(float mas[],int n) { int i; for(i=0; i

Слайд 92


Вывод массива void vivod(float mas[], int n) { int i; for(i=0; i
Описание слайда:
Вывод массива void vivod(float mas[], int n) { int i; for(i=0; i

Слайд 93


Обработка массива ( функция возвращает сумму отрицательных элементов) float otr(float mas[],int n) { int i; float s=0; for(i=0; i
Описание слайда:
Обработка массива ( функция возвращает сумму отрицательных элементов) float otr(float mas[],int n) { int i; float s=0; for(i=0; i

Слайд 94


Вызов функций int main() { float s; int n; char c; float a[10]; printf("vvesti razmer\n"); scanf("%d",&n); vvod(a,n); vivod(a,n);...
Описание слайда:
Вызов функций int main() { float s; int n; char c; float a[10]; printf("vvesti razmer\n"); scanf("%d",&n); vvod(a,n); vivod(a,n); printf("sumotr=%7.3f\n",otr(a,n)); scanf("%c\n",&c); return 0; }

Слайд 95


Лаб. Раб. 7 вар 9
Описание слайда:
Лаб. Раб. 7 вар 9

Слайд 96


Функция main int main() { int n; char c; float a[100], b[100], c[100], as[100], bs[100], cs[100], x[100], y[100]; printf("vvesti...
Описание слайда:
Функция main int main() { int n; char c; float a[100], b[100], c[100], as[100], bs[100], cs[100], x[100], y[100]; printf("vvesti razmer\n"); scanf("%d",&n); vvod(a,n); vvod(b,n);vvod(c,n); strih(a,as,n); strih(b,bs,n); strih(c,cs,n); calc(as,bs,x,n); calc(bs,cs,y,n); vivod(x,n); vivod(y,n); scanf("%c\n",&c); return 0; }

Слайд 97


Функция, возвращающая сумму элементов массива float sum(float mas[],int n) { int i; float s=0; for(i=0; i
Описание слайда:
Функция, возвращающая сумму элементов массива float sum(float mas[],int n) { int i; float s=0; for(i=0; i

Слайд 98


Функция strih void strih(float m[],float ms[],int n) { int i; float s; s=sum(m,n); for(i=0; i
Описание слайда:
Функция strih void strih(float m[],float ms[],int n) { int i; float s; s=sum(m,n); for(i=0; i

Слайд 99


Функция calc void calc(float m1[],float m2[],float mrez[],int n) { int i; for(i=0; i
Описание слайда:
Функция calc void calc(float m1[],float m2[],float mrez[],int n) { int i; for(i=0; i

Слайд 100


Прототипы функций void vvod(float mas[],int n); void vivod(float mas[], int n); float sum(float mas[],int n); void strih(float m[],float ms[],int n);...
Описание слайда:
Прототипы функций void vvod(float mas[],int n); void vivod(float mas[], int n); float sum(float mas[],int n); void strih(float m[],float ms[],int n); void calc(float m1[],float m2[],float mrez[],int n); Прототипы функций указываются в том случае, если функция не определена до первого её вызова!

Слайд 101


Язык программирования СИ, слайд №101
Описание слайда:

Слайд 102


Язык программирования СИ, слайд №102
Описание слайда:

Слайд 103


Язык программирования СИ, слайд №103
Описание слайда:

Слайд 104


Язык программирования СИ, слайд №104
Описание слайда:

Слайд 105


Область действия ( видимость ) переменных #include void main(void) { int a=10; { int a=5; cout
Описание слайда:
Область действия ( видимость ) переменных #include void main(void) { int a=10; { int a=5; cout

Слайд 106


Автоматические и статические преременные #include int calc() { int a=0; a++; return(a); } void main(void) { int x; x=calc(); cout
Описание слайда:
Автоматические и статические преременные #include int calc() { int a=0; a++; return(a); } void main(void) { int x; x=calc(); cout

Слайд 107


#include #include int calc() { static int a=0; a++; return(a); } void main(void) { int x; x=calc(); cout
Описание слайда:
#include #include int calc() { static int a=0; a++; return(a); } void main(void) { int x; x=calc(); cout

Слайд 108


Динамические массивы #include void inputarr(int *inarr, int n, char arrname[]) { int i; cout
Описание слайда:
Динамические массивы #include void inputarr(int *inarr, int n, char arrname[]) { int i; cout

Слайд 109


void outputarr(int *outarr, int n, char arrname[]) void outputarr(int *outarr, int n, char arrname[]) { int i; for (i=0; i
Описание слайда:
void outputarr(int *outarr, int n, char arrname[]) void outputarr(int *outarr, int n, char arrname[]) { int i; for (i=0; i

Слайд 110


void createoutarr(int arr1[], int arr2[], int outarr[], int n) void createoutarr(int arr1[], int arr2[], int outarr[], int n) { int i; for (i=0; i
Описание слайда:
void createoutarr(int arr1[], int arr2[], int outarr[], int n) void createoutarr(int arr1[], int arr2[], int outarr[], int n) { int i; for (i=0; i

Слайд 111


void main() void main() { int *x,*y,*z,*xy,*xz,*yz; int Size; coutSize; x =new int[Size]; y =new int[Size]; z =new int[Size]; xy=new int[Size];...
Описание слайда:
void main() void main() { int *x,*y,*z,*xy,*xz,*yz; int Size; coutSize; x =new int[Size]; y =new int[Size]; z =new int[Size]; xy=new int[Size]; xz=new int[Size]; yz=new int[Size];

Слайд 112


inputarr(x, Size, "x"); inputarr(x, Size, "x"); inputarr(y, Size, "y"); inputarr(z, Size, "z");...
Описание слайда:
inputarr(x, Size, "x"); inputarr(x, Size, "x"); inputarr(y, Size, "y"); inputarr(z, Size, "z"); createoutarr(x, y, xy, Size); createoutarr(x, z, xz, Size); createoutarr(y, z, yz, Size); outputarr(xy, Size, "xy"); outputarr(xz, Size, "xz"); outputarr(yz, Size, "yz");

Слайд 113


Освобождение динамической памяти delete [] x; delete [] y; delete [] z; delete [] xy; delete [] xz; delete [] yz; }
Описание слайда:
Освобождение динамической памяти delete [] x; delete [] y; delete [] z; delete [] xy; delete [] xz; delete [] yz; }

Слайд 114


Передача имен функций в качестве параметров
Описание слайда:
Передача имен функций в качестве параметров

Слайд 115


#include #include #include #include int f(int a ){ return a; } int (*pf)(int); int main(void) { pf = &f; printf("%d\n",pf(10)); pf=f;...
Описание слайда:
#include #include #include #include int f(int a ){ return a; } int (*pf)(int); int main(void) { pf = &f; printf("%d\n",pf(10)); pf=f; printf("%d\n",pf(10)); return 0; }

Слайд 116


#include #include #include #include int f(int a ){ return a; } int (*pf)(int); void fun(int (*pf)(int) , int x) { printf("%d\n",pf(x)); }...
Описание слайда:
#include #include #include #include int f(int a ){ return a; } int (*pf)(int); void fun(int (*pf)(int) , int x) { printf("%d\n",pf(x)); } int main(void) { pf = &f; printf("%d\n",pf(10)); pf=f; printf("%d\n",pf(10)); fun(f,20); return 0; }

Слайд 117


Параметры со значениями по умолчанию Чтобы упростить вызов функции, в ее заголовке можно указать значения параметров по умолчанию. Эти параметры...
Описание слайда:
Параметры со значениями по умолчанию Чтобы упростить вызов функции, в ее заголовке можно указать значения параметров по умолчанию. Эти параметры должны быть последними в списке и могут опускаться при вызове функции : int f(int a, int b = 0); void f1(int, int = 100, char* = 0); void err(int errValue = errno);//errno — глобальная переменная f(100); f(a, 1);// варианты вызова функции f f1(a); f1(a, 10); f1(a, 10, "Vasia");// варианты вызова функции f1 f1(a,,"Vasia") // неверно!

Слайд 118


Функция Си/ C++ - qsort //void qsort(void *base, size_t nelem, //size_t width, int (*fcmp)(const void *, const void *)); Описание. Функция qsort...
Описание слайда:
Функция Си/ C++ - qsort //void qsort(void *base, size_t nelem, //size_t width, int (*fcmp)(const void *, const void *)); Описание. Функция qsort выполняет алгоритм быстрой сортировки, чтобы отсортировать массив из nelem элементов, каждый элемент размером width байт. Аргумент base является указателем на базу массива, который нужно отсортировать. Функция qsort перезаписывает этот массив с отсортированными элементами. Аргумент fcmp является указателем на функцию, поставляемую пользователем, которая сравнивает два элемента массива и возвращает значение, определяющее их отношение. Функция qsort может вызывать процедуру fcmp один или несколько раз в процессе сортировки, передавая при каждом вызове указатели на два элемента массива. Процедура должна сравнивать элементы, а затем возвращать одно из следующих значений: Значение Его смысл меньше 0 element 1 меньше element 2 0 element 1 равен element 2 больше 0 element 1 больше element 2

Слайд 119


#include #include #include #include int sort_function( const void *a, const void *b); char list[5][4] = { "cat", "car",...
Описание слайда:
#include #include #include #include int sort_function( const void *a, const void *b); char list[5][4] = { "cat", "car", "cab", "cap", "can" }; int main(void) { int x; qsort((void *)list, 5, sizeof(list[0]), sort_function); for (x = 0; x < 5; x++) printf("%s\n", list[x]); return 0; } int sort_function( const void *a, const void *b) { return( strcmp((char *)a,(char *)b) ); }

Слайд 120


Массив указателей на функции Массив указателей на функции определяется точно также, как и обычный массив – с помощью квадратных скобок после имени:...
Описание слайда:
Массив указателей на функции Массив указателей на функции определяется точно также, как и обычный массив – с помощью квадратных скобок после имени: float (*menu[4])(float, float);

Слайд 121


Язык программирования СИ, слайд №121
Описание слайда:

Слайд 122


Язык программирования СИ, слайд №122
Описание слайда:

Слайд 123


Язык программирования СИ, слайд №123
Описание слайда:

Слайд 124


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

Слайд 125


Язык программирования СИ, слайд №125
Описание слайда:



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