Презентация История и место C. Процесс построения программы онлайн
На нашем сайте вы можете скачать и просмотреть онлайн доклад-презентацию на тему История и место C. Процесс построения программы абсолютно бесплатно. Урок-презентация на эту тему содержит всего 26 слайдов. Все материалы созданы в программе PowerPoint и имеют формат ppt или же pptx. Материалы и темы для презентаций взяты из открытых источников и загружены их авторами, за качество и достоверность информации в них администрация сайта не отвечает, все права принадлежат их создателям. Если вы нашли то, что искали, отблагодарите авторов - поделитесь ссылкой в социальных сетях, а наш сайт добавьте в закладки.
Презентации » Устройства и комплектующие » История и место C. Процесс построения программы
Оцените!
Оцените презентацию от 1 до 5 баллов!
- Тип файла:ppt / pptx (powerpoint)
- Всего слайдов:26 слайдов
- Для класса:1,2,3,4,5,6,7,8,9,10,11
- Размер файла:115.14 kB
- Просмотров:56
- Скачиваний:0
- Автор:неизвестен
Слайды и текст к этой презентации:
№6 слайд
![Препроцессирование](/documents_6/d4a2562293b2da2d733b1b87ef70c50c/img5.jpg)
Содержание слайда: Препроцессирование
Предварительная обработка текстовых файлов исходного кода и подготовка текстов программы для последующей компиляции.
- на входе исходники C++,
на выходе тексты C++, готовые е компиляции.
Инструкции #include приводят к тому, что тексты, передаваемые на компиляцию имеют большой объем, а их обработка требует много времени.
Каждая среда разработки решает эту проблему по своему. Visual Studio создает прекомпилированные заголовочные файлы (stdafx.h). #include “stdafx.h” – должно быть первой строкой в каждом *.cpp.
№9 слайд
![Препроцессор include lt](/documents_6/d4a2562293b2da2d733b1b87ef70c50c/img8.jpg)
Содержание слайда: Препроцессор
#include <iostream>/“iostream”
#define MY_KEY
#undefine MY_KEY
#define max(a,b) ((a)>(b)?(a):(b))
Если нужно переносить строки, то в конце ставится обратная косая черта – ‘\’.
#ifdef MY_KEY
Текст, если раньше было определено MY_KEY
#else
Текст, если не было определено MY_KEY
#endif
№10 слайд
![Контрольные вопросы Из каких](/documents_6/d4a2562293b2da2d733b1b87ef70c50c/img9.jpg)
Содержание слайда: Контрольные вопросы
Из каких шагов состоит построение программы на C++?
Каковы действия ОС для выполнения программы?
Можно ли создать C-программу без единой функции?
Как в С++ вывести переменную типа double на консоль с использованием стандартной библиотеки шаблонов?
Что означает имя endl в стандартной библиотеке C++?
Как выполнить чтение целого числа с консоли в переменную y?
Назовите инструкции препроцессора, рассмотренные в лекции.
Как в тексте программы обнаружить инструкции препроцессора?
Что определяет заголовочный файл iostream?
№12 слайд
![Операции над числами int x ,](/documents_6/d4a2562293b2da2d733b1b87ef70c50c/img11.jpg)
Содержание слайда: Операции над числами
int x = 6, y = 5;
cout << x << " + " << y << "= " << x + y << endl;
cout << x << " - " << y << "= " << x - y << endl;
cout << x << " * " << y << "= " << x * y << endl;
cout << x << " / " << y << "= " << x / y << endl;
cout << x << " % " << y << "= " << x % y << endl;
cout << x << " | " << y << "= " << (x | y) << endl;
cout << x << " & " << y << "= " << (x & y) << endl;
cout << x << " ^ " << y << "= " << (x ^ y) << endl;
cout << x << " >> " << y << "= " << (x >> y) << endl;
cout << x << " << " << y << "= " << (x << y) << endl;
cout << "++x = " << ++x << endl;
cout << "~"<< x <<" = " << ~x << endl;
return 0;
Имеется так же полный набор операций x <операция>= …
№13 слайд
![Операции и выражения](/documents_6/d4a2562293b2da2d733b1b87ef70c50c/img12.jpg)
Содержание слайда: Операции и выражения
Выражение (expression) – конструкция, которая может быть вычислена и примет определенное значение.
Выражение можно использовать как величины в другом выражении.
В C++ (как и в C-подобных) многие операции неожиданно являются выражениями. Например, операция присваивания x = y. Поэтому можно x = y = z = 3;
Из-за такого соглашения можно if(x = 3) … что часто приводит к ошибкам!
Аналогично операции << для cout и >> для cin.
№16 слайд
![Передача параметров void Swap](/documents_6/d4a2562293b2da2d733b1b87ef70c50c/img15.jpg)
Содержание слайда: Передача параметров
void Swap (int a, int b)
{
int c = a;
a = b;
b = c;
}
int x = 2, y = 3;
Swap(x, y); // Не сработает
void Swap (int &a, int &b) // Параметры – ссылки
Ссылки – алиасы переменных
Синтаксически их использование не отличается от обычных переменных
int x = 3, &y = x;
Теперь x и y – синонимы.
№17 слайд
![Пример распределения кода по](/documents_6/d4a2562293b2da2d733b1b87ef70c50c/img16.jpg)
Содержание слайда: Пример распределения кода по файлам
Test.h --------------------------------------------------------------------------
void Swap (int &a, int &b); // Прототип функции
Test.cpp -----------------------------------------------------------------------
void Swap (int &a, int &b)
{
int c = a;
a = b;
b = c;
}
------------------------------------------------------------------------------------
Для применения функции в CPP-файле:
#include “test.h” // В Unix имя файла чувствительно к регистру. В Windows - нет
…
Swap(x, y);
…
№18 слайд
![Контрольные вопросы Назовите](/documents_6/d4a2562293b2da2d733b1b87ef70c50c/img17.jpg)
Содержание слайда: Контрольные вопросы
Назовите 4 основных типа данных, определенных в языке C++.
Дайте определение понятию “выражение” (expression) в языке программирования.
Чему равны переменные x и y после выполнения оператора x = 2 * (y +=3), если до его выполнения x равнялся 0, а y – единице?
Будут ли численно равны выражения: 9/5 и 9.0/5.0?
Чему численно будет равно выражение 2 | N, если перед этим стоит инструкция #define N 5? Чему будет равно N & 2?
Какие из следующих условных выражений эквивалентны:
(x) с. (!x)
(x == 0) d. (x != 0)
Возникнет ли синтаксическая ошибка, если в условном операторе написать (x = 0)?
Можно ли в C++ написать x = y = 3? Почему?
Можно ли вызвать void foo(int & a) следующим образом: foo(x+y); Почему?
Как в C# обошлись без функций?
№20 слайд
![Операции над указателями p](/documents_6/d4a2562293b2da2d733b1b87ef70c50c/img19.jpg)
Содержание слайда: Операции над указателями
*p – разименование
p++ - переход к следующему элементу того типа, на который указывает указатель (p--)
p+i - сложение (вычитание) с целым – получаем указатель на i элементов правее (левее).
p – t - вычитание двух указателей одного типа - целое число, количество элементов между указателями.
p==t, p< t, p<=t, p>t, p>=t, p!=t
0 – указатель имеющий значение 0.
№21 слайд
![Указатели и массивы int m , ,](/documents_6/d4a2562293b2da2d733b1b87ef70c50c/img20.jpg)
Содержание слайда: Указатели и массивы
int m[5] = {1,2,3,4,5};
int *p = m; //int *p = &x; для массива амперсанд не нужен!
Имя массива – указатель на первый элемент!
for (int *p = m; p < m + 5; p++) //p++ для указателя передвигает на след.
*p = *p * 2;
for (int i = 0; i< 5; i++) // p + i сдвигает на i-тый элемент, а не байт
cout << *(m + i) << endl;
for (int i = 0; i< 5; i++)
cout << m[i] << endl; // p[i] тождественно *(p + i).
№22 слайд
![Правила интерпретации и](/documents_6/d4a2562293b2da2d733b1b87ef70c50c/img21.jpg)
Содержание слайда: Правила интерпретации и объявления типов в C++
Объявление типов в C (C++) бывает сложным
int *(*p[])(int, int *)
В этом объявлении найти имя переменной - p, затем движемся вправо до окончания объявления или закрывающей скобки: (*p[]) – “p – это массив”, затем движемся влево до окончания объявлений или открывающей скобки - “p – это массив указателей”. Переходим ко внешнему объявлению и снова движемся вправо: (int, int *) – “p – это массив указателей на функцию с двумя аргументами”, и наконец переходим влево – “, которая возвращает указатель на целое”.
Окончательно имеем:
p – это массив указателей на функции с двумя аргументами, которые возвращают указатель на целое
№26 слайд
![Контрольные вопросы](/documents_6/d4a2562293b2da2d733b1b87ef70c50c/img25.jpg)
Содержание слайда: Контрольные вопросы
Проинтерпретируйте объявление второго параметра main.
int main(int argc, char* argv[])
Сколько операций умножения в операторе *p = *p * 2?
Сколько операций разыменования в операторе *p = *p * 2?
Перепишите оператор *p = *p * 2, используя только 2 звездочки. А одну?
Какие 3 различных смысла в C++ имеет символ &?
Какие 3 различных смысла в C++ имеет символ *?
Можно ли в C сделать так, что бы первый элемент массива имел индекс 2? А 0?
Если массив w проинициализирован значениями 1, 2, 3. Чему равно значение выражения *w?
Чему равна величина p + i, где p – указатель на массив целых, а i – целое число?
Чему равна величина p – d, где p и d – указатели на величины типа double?
Поставьте эксперимент и выясните, чему равны элементы массива w для каждого из определений: int w[5]; и int w[5] = {}.
Скачать все slide презентации История и место C. Процесс построения программы одним архивом:
Похожие презентации
-
Особенности применения задач линейного программирования при моделировании процессов функционирования сложных систем. Раздел 3
-
Інтерпретація. SPL-процесор. Виконання SPL-програми. Алгоритм створення SPL-програми
-
Тестирование программного обеспечения. История и основные понятия
-
Розробка мовних процесорів мов програмування
-
Розроблення програмного модулю керування процесом впровадження CRM-системи для проектного відділу компанії SilSoft
-
Примеры программирования базовых алгоритмов циклических вычислительных процессов (ЦВП)
-
История возникновения языка программирования Паскаль (Pascal)
-
История развития языков программирования. Языки программирования
-
Структура модели процессора. Регистры. Ассемблер. АЛУ. Микропрограммы. Цикл команды
-
Препроцессор. Роль препроцессора при компиляции программы