Лекция 6. Структура языка С/С++. Среда программирования на языке C/C++: Visual C++, Borland C++ Builder 6. Структура программы. Препроцессорные директивы.

Презентация:



Advertisements
Похожие презентации
Тема 5. Основы современной технологии программирования Программирование в средах современных информационных систем. Интегрированные системы разработки.
Advertisements

Текстовый редактор Microsoft Word Содержание Содержание Далее Далее.
Выполнение запросов, создание и редактирование отчета MS Access.
Учитель информатики Трашков О.Л.. Окно обычно содержит следующие элементы: Строка заголовка Строка меню Панель инструментов Адресная строка Рабочая область.
Слезко Полина Сергеевна Учитель информатики Белоярской СОШ Томской области.
Объектно-ориентированное программирование Основы языка программирования Lazarus.
«Первые шаги в MS Excel ». НАЗНАЧЕНИЕ И ОБЛАСТИ ПРИМЕНЕНИЯ ТАБЛИЧНЫХ ПРОЦЕССОРОВ ПРАКТИЧЕСКИ В ЛЮБОЙ ОБЛАСТИ ДЕЯТЕЛЬНОСТИ ЧЕЛОВЕКА, ОСОБЕННО ПРИ РЕШЕНИИ.
1 Программирование на языке Паскаль Тема 1. Введение.
Интерфейс текстового процессора Microsoft Word. С помощью ленты можно быстро находить необходимые команды (элементы управления: кнопки, раскрывающиеся.
Тема: Общая характеристика текстового процессора Microsoft Word 2007.
К. Поляков, Программирование на алгоритмическом языке Тема 1. Введение.
Возможности Microsoft Excel. Автор: Боброва Татьяна Анатольевна, учитель информатики МОУ «Берёзовская средняя общеобразовательная.
Интерфейс электронных таблиц. Данные в ячейках таблицы. Основные режимы работы.
1 Создание и редактирование таблиц (продолжение) Занятие 8.
Тема «Клавиатура. Группы клавиш» Клавиатура компьютерное устройство, которое располагается перед экраном дисплея и служит для набора текстов и управления.
Тема «Клавиатура. Группы клавиш» Клавиатура компьютерное устройство, которое располагается перед экраном дисплея и служит для набора текстов и управления.
Тема «Клавиатура. Группы клавиш» Клавиатура компьютерное устройство, которое располагается перед экраном дисплея и служит для набора текстов и управления.
Основные понятия языка VBA Excel. Объекты Объект - основной элемент VBA Excel. В VBA объектами являются рабочая книга, рабочий лист и его составляющие.
Презентация к уроку по информатике и икт (9 класс) на тему: Презентация на тему "Основы Visual Basic"
Транксрипт:

Лекция 6. Структура языка С/С++. Среда программирования на языке C/C++: Visual C++, Borland C++ Builder 6. Структура программы. Препроцессорные директивы. Ввод-вывод на консоль. Чтение и запись символов. Форматированный ввод-вывод на консоль. Модификаторы формата. Функция printf() и scanf(). Спецификаторы формата. Ввод чисел. Ввод адреса..

План лекции: Структура программы. Препроцессорные директивы. Ввод-вывод на консоль. Функция printf() и scanf(). Чтение и запись символов. Форматированный ввод-вывод на консоль.

Структура программы Файлы, содержащие текст программы на С++, должны иметь расширение cpp. Следующий пример простой, но вполне законченной программы поможет понять многие из принципов построения программ на языке Си. Наша первая программа вводит два числа, вычисляет их сумму и печатает результат с поясняющим текстом "Cумма". #include int main() { int a,b,c; a=5; b=7; c=a+b; printf("Cумма = %d \n",c) }

Структура программы #include int main() { Int a,b,c; a=5; b=7; c=a+b; printf("Cумма = %d \n",c) } Дадим некоторые пояснения. В языке Си любая программа, состоит из нескольких программных единиц и каждая из них - функция. Функцией называется ряд последовательных инструкций, говорящих компьютеру, как выполнить определенную задачу. Многие функции, которые могут вам понадобиться, уже написаны, откомпилированы и помещены в библиотеки, так что вам достаточно просто указать компилятору использовать одну из стандартных функций. Необходимость написания собственной функции возникает только в том случае, если подходящей нет в библиотеках.

Структура программы #include int main() { int a,b,c; a=5; b=7; c=a+b; printf("Cумма = %d \n",c) } Имена функций выбираются произвольно (только латинскими буквами), но одно из них main, именно с нее начинается выполнение программы. Такая главная функция обычно обращается к другим функциям, которые находятся в одном файле с головной программой или извлекают из библиотеки предварительно подготовленных функций. Все программы на Си (и Си++) должны начинаться с функции, называемой main(). Она выглядит так: main() Круглые скобки являются частью имени функции и ставить их надо обязательно, так как именно они указывают компилятору, что имеется в виду функция, а не просто английское слово main. В противном случае компиляция не будет завершена. Фактически каждая функция включает в свое имя круглые скобки, но в большинстве случаев в них содержится некая информация. В дальнейшем, ссылаясь на функцию, мы всегда будем ставить после ее имени круглые скобки.

Структура программы Простейшая структура программы такова: main() Функция, означающая начало программы точку входа { Здесь начинается функция.....;.....;Здесь помещаются инструкции, которые должен выполнить компьютер.....; } Здесь функция заканчивается Последовательность инструкций, составляющих функцию, часто называют телом функции. Точка с запятой в языке Си является разделителем и отмечает конец инструкции. Разделитель показывает компилятору, что данная инструкция завершена и дальше начинается следующая инструкция или заканчивается программа. Точку с запятой необходимо ставить после каждой отдельной инструкции.

Структура программы Ниже приведена завершенная программа на Си/Си++, которая выводит на экран монитора слово «OK»: main() { puts("OK"); }

Препроцессорные директивы Препроцессор входит в любой компилятор программ на Си++ и любую среду разработки, рассчитанную на этот язык. Препроцессор обрабатывает исходный код программ до их компиляции. Препроцессорные команды, или директивы, управляют работой препроцессора. Таких команд немного, они все начинаются со знака решётки (#) и должны быть в начале строки исходного кода: #define эта директива предусматривает определение макросов или препроцессорных идентификаторов, простейшее применение это замены в тексте программы #include позволяет включать текст других файлов в текст вашей программы. #undef отменяет действие директивы #define #if организация условной обработки директив #ifdef организация условной обработки директив #else организация условной обработки директив #endif организация условной обработки директив #elif организация условной обработки директив #line управление нумерацией строк в тексте программы #error задает текст диагностического сообщения, выводящиеся при наличии ошибок #pragma зависит от среды разработки # нулевая, или пустая, директива, бездейственно пропускается

Ввод и вывод

В языке Си++ нет встроенных средств ввода и вывода – он осуществляется с помощью функций, типов и объектов, которые находятся в стандартных библиотеках. iostream.h, При использовании библиотеки классов Си++, используется библиотечный файл iostream.h, в котором определены стандартные потоки ввода данных от клавиатуры cin и вывода данных на экран дисплея cout, а также соответствующие операции > - операция чтения данных из потока. Например: #include ; cout > n;

#include void main(void) { cout

Использование специальных символов вывода Если необходимо переместить курсор в начало следующей строки, можно поместить символ новой строки (\n) в выходной поток. В C++ вам предоставляется два разных способа генерации новой строки. Во-первых, вы можете поместить символы \n внутри символьной строки. Например, следующая программа TWOLINES.CPP отображает свой вывод в виде двух строк, используя символ новой строки: #include Void main(void) { cout TWOLINES Это строка один Это строка два

endl В дополнение к использованию символа новой строки для продвижения курсора в начало следующей строки ваши программы могут использовать символ endl (конец строки). Следующая программа ENDL.CPP иллюстрирует использование endl для продвижения курсора в начало новой строки: #include void main(void) { cout

14 Сложение двух чисел Задача. Ввести два целых числа и вывести на экран их сумму. Простейшее решение: #include main() { int a, b, c; printf("Введите два целых числа\n"); scanf ("%d%d", &a, &b); c = a + b; printf("%d", c); getch(); } #include main() { int a, b, c; printf("Введите два целых числа\n"); scanf ("%d%d", &a, &b); c = a + b; printf("%d", c); getch(); } подсказка для ввода ввод двух чисел с клавиатуры вывод результата

15 Ввод чисел с клавиатуры scanf ("%d%d", &a, &b); формат ввода scanf – форматный ввод адреса ячеек, куда записать введенные числа Формат – символьная строка, которая показывает, какие числа вводятся (выводятся). %d – целое число %f – вещественное число %c – 1 символ %s – символьная строка a – значение переменной a &a – адрес переменной a ждать ввода с клавиатуры двух целых чисел (через пробел или Enter), первое из них записать в переменную a, второе – в b

16 Что неправильно? int a, b; scanf ("%d", a); scanf ("%d", &a, &b); scanf ("%d%d", &a); scanf ("%d %d", &a, &b); scanf ("%f%f", &a, &b); int a, b; scanf ("%d", a); scanf ("%d", &a, &b); scanf ("%d%d", &a); scanf ("%d %d", &a, &b); scanf ("%f%f", &a, &b); &a %d%d &a, &b убрать пробел %d%d

17 Вывод чисел на экран printf ("%d", c); здесь вывести целое число это число взять из ячейки c printf ("Результат: %d", c); printf ("%d+%d=%d", a, b, c ); формат вывода список значений a, b, c printf ("%d+%d=%d", a, b, a+b ); арифметическое выражение

18 Вывод целых чисел int x = 1234; printf ("%d", x); int x = 1234; printf ("%d", x); 1234 printf ("%9d", x); минимальное число позиций 1234 всего 9 позиций или " %i" или " %9i"

19 Вывод вещественных чисел float x = ; printf ("%f", x); float x = ; printf ("%f", x); printf ("%9.3f", x); минимальное число позиций, 6 цифр в дробной части всего 9 позиций, 3 цифры в дробной части printf ("%e", x); e+02 стандартный вид: 1,23456·10 2 printf ("%10.2e", x); 1.23e+02 всего 10 позиций, 2 цифры в дробной части мантиссы

20 Полное решение #include main() { int a, b, c; printf("Введите два целых числа\n"); scanf("%d%d", &a, &b); c = a + b; printf("%d+%d=%d", a, b, c); getch(); } #include main() { int a, b, c; printf("Введите два целых числа\n"); scanf("%d%d", &a, &b); c = a + b; printf("%d+%d=%d", a, b, c); getch(); } Протокол: Введите два целых числа =55 это выводит компьютер это вводит пользователь

21 Блок-схема линейного алгоритма начало конец c = a + b; ввод a, b вывод c блок «начало» блок «ввод» блок «процесс» блок «вывод» блок «конец»

22 Задания «4»: Ввести три числа, найти их сумму и произведение. Пример: Введите три числа: =16 4*5*7=140 «5»: Ввести три числа, найти их сумму, произведение и среднее арифметическое. Пример: Введите три числа: =16 4*5*7=140 (4+5+7)/3=5.33

Среда Borland Builder 6, панель компонентов, общая характеристика К списку лекций > К списку лекций >

План 1.Интерфейс среды, группы команд меню, общая характеристика. 2.Палитра визуальных компонентов VCL, характеристика. К списку лекций > К списку лекций >

Интерфейс среды

Главное окно интерфейса Проектом называется вся группа программных файлов, которые необходимы для создания конечной исполняемой программы. К списку лекций > К списку лекций >

Окно дизайнера форм Это окно будущей программы.

Окно редактора кода

Окно инспектора объектовОкно просмотра объектов

Группа команд меню File (Файл) группа команд меню называется Edit (Редактор) К списку лекций > К списку лекций >

Группа команд Search (Поиск) - Команды данного меню позволяют осуществить поиск текста в файле, продолжить поиск после первого вхождения, произвести автоматическую замену, а также быстро перейти к строке кода, задав ее номер. Группа команд View - Из этого пункта меню вызываются основные диалоговые окна управления проектом и компонентами, такие как менеджер проектов (ProjectManager), список компонентов (ComponentList) и список окон (WindowList). Также из этого пункта меню открываются все окна отладки программ (DebugWindows), работу с которыми мы рассмотрим позже. Группа команд Project - В этой группе меню собраны команды управления проектом. С их помощью можно добавлять и удалять модули (файлы с текстами программ), добавлять библиотеку компонентов VCL, откомпилировать проект и т. д. Группа команд Run - С помощью команд этого меню выполняется запуск и останов программ, запуск программ в непрерывном и пошаговом режимах, добавление переменных для просмотра, установка точек останова и другие действия по отладке программы. Группа команд Component(Компонент) - Из этого меню вызываются команды добавления в систему новых компонентов и конфигурации их палитры

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

Кнопки Standard (Стандартные) Для создания нового объекта необходимо нажать кнопку New. При этом откроется диалоговое окно NewItems Другие кнопки этой группы позволяют сохранять (Save) и открывать (Open) как отдельные файлы, так и целые проекты. Замыкают группу две кнопки управления проектами, с помощью которых можно добавлять файлы к проекту (AddFileToProject) и удалять их из него (RemoveFileFromProject). Диалоговое окно NewItems

Палитра VCL-компонентов Палитра компонентов состоит из вкладок. Вкладки позволяют разделить большое число компонентов на группы, близкие по назначению.

Компоненты Standard Frame (Кадр) предназначен для создания контейнера (окна) для размещения других компонентов. MainMenu (Главное меню) предназначен для создания главного меню программы PopupMenu (Всплывающее меню) предназначен для создания всплывающего меню некоторых компонентов. Label (Этикетка) создает на форме текстовую метку или надпись. Edit (Редактирование) создает на форме поле для редактирования тек- стовой строки. Memo (Поле) отображает на форме поле для редактирования текстовых строк. Button (Кнопка) Служит для создания в приложении различных прямоугольных кнопок с текстовой надписью. CheckBox (Ячейка состояния) позволяет создавать на форме приложения ячейку с двумя состояниями (без галочки и с галочкой) и строкой названия. RadioButton (Радиокнопка) создает круглое поле с двумя состояниями (с точкой и без точки) и текстовой строкой, поясняющей ее назначение в программе. К списку лекций > К списку лекций >

ListBox (Окно списка) создает прямоугольное поле для отображения текстовых строк ComboBox (Комбинированный список) позволяет создавать на форме элемент, являющийся комбинацией строки ввода и выпадающего списка для выбора. ScrollBar (Линейка прокрутки) создает элемент, похожий на линейку с бегунком и кнопками для прокрутки окна, к которому относится этот элемент. GroupBox (Окно группы) служит для создания области, визуально объединяющей на форме несколько интерфейсных элементов. RadioGroup (Группа радиокнопок) позволяет создавать на форме контейнер в виде прямоугольной рамки для объединения группы взаимоисключающих радиокнопок. Panel (Панель) создает пустую область, на которой можно разместить другие компоненты. Action List (Список действий) осуществляет управление взаимодействием между интерфейсными элементами и логикой программы. К списку лекций > К списку лекций >

Окно формы с компонентами

Компоненты Addition BitBtn (Графическая кнопка) служит для создания на форме приложения кнопки с изображением и надписью. SpeedButton (Быстрая кнопка) позволяет создать на форме кнопку с изображением без надписи. MaskEdit (Форматированный ввод) предназначен для создания прямоугольного поля ввода данных в специально заданном формате. StringGrid (Строковая таблица) служит для создания таблицы (сетки), состоящей из текстовых строк. DrawGrid (Графическая таблица) создает на форме двумерную таблицу для отображения графических данных. Image (Образ) предназначен для создания на форме невидимого контейнера, в который можно поместить один графический файл с битовым образом, пиктограммой или метафайл.

Shape (Фигура) позволяет рисовать на форме простые геометрические фигуры, такие как окружность, квадрат, эллипс или прямоугольник при изменении свойства Shape. Bevel (Скос) создает объемные рамки для различных групп объектов. ScrollBox (Контейнер прокрутки) позволяет создавать контейнер для объектов. Splitter (Разделитель) разделяет рабочую область программы на две части и позволяет менять их размеры во время работы программы. StaticText (Статический текст) создает на форме текстовую строку, с некоторыми возможностями ее оформления. Chart (Диаграмма) предназначен для создания и вывода на печать многоцветных графиков и диаграмм.

Компоненты Win32 TabControl (Управление табуляцией) служит для создания перекрывающих друг друга вкладок и для создания интерфейсов в стиле палитры компонентов. PageControl (Управление страницами) создает на форме контейнер для размещения дочерних страниц программы. Image List (Список образов) создает на форме невидимый контейнер для набора графических изображений одинакового размера. RichEdit (Обогащенный редактор) позволяет создавать редактор с готовым набором функций, свойственных большинству редакторов. ТгаскВаг (Дорожка с полосками) создает на форме шкалу с метками и регулятором текущего положения. Progress Bar (Прогресс-индикатор) создает на форме прямоугольный индикатор для отображения процесса выполнения длинных процедур в программе (копирования, поиска и т. п.).

UpDown (Вверх-вниз) служит для создания интерфейсных элементов с возможностью увеличения или уменьшения какого- либо значения с помощью кнопок Вверх и Вниз данного компонента. HotKey (Горячая клавиша) обеспечивает возможность создания пользователем горячих клавиш, определяющих быстрый доступ к разделам меню. Animate (Аниматор) создает на форме невидимый контейнер для воспроизведения видеозаписей в формате AVI. DataTimePicker (Сборщик даты и времени) создает в программе интерфейс для ввода даты и времени. MonthCalendar (Месячный календарь) размещает на форме календарь с отображением всех дней месяца и возможностью перелистывания месяцев и корректировки даты текущего дня. TreeView (Вид дерева) позволяет создавать в программе иерархическое древовидное отображение данных. ListView (Вид списка) создает список элементов с отображением в различных стилях (крупные значки, мелкие значки, таблица и пр.).

HeaderControl (Управление заголовком) служит для управления панелями, расположенными под данным компонентом. StatusBar (Панель состояния) создает контейнер в нижней части формы для отображения статусной информации. Например, состояние кнопок Caps Lock, Num Lock и Scroll Lock. ToolBar (Панель инструментов) позволяет создать на форме контейнер для размещения быстрых кнопок. CoolBar (Холодная панель) позволяет делать перестраиваемые панели, состоящие из полос. PageScroller (Страница прокрутки) создает на форме контейнер для прокрутки элементов, не вмещающихся на экран целиком. ComboBoxEx (Расширенный выпадающий список) позволяет создать на форме выпадающий список элементов.

Контрольные вопросы: 1.Визуальное программирование интерфейса, объясните. 2.Функции управляющих кнопок Button и BitBtn 3.Назначение и функции Группы радиокнопок 4.Индикатор CheckBox, для чего используется? 5.Свойства компонента StringGrid, объясните. К списку лекций > К списку лекций >

Контрольные вопросы. 1.Назначение графического адаптера 2.Для чего нужны драйверы? Объясните 3.Как установить графический режим на экране? 4.Установите цвет фона, напишите соответствующие функции. К списку лекций > К списку лекций >