C++ — это мощный и широко используемый язык программирования, часто применяемый для разработки различных типов программного обеспечения, от системных приложений до игр и мобильных приложений. Он является одним из наиболее распространенных языков программирования в мире и имеет богатую историю.
Если вы новичок в программировании на C++ или нуждаетесь в помощи в написании программы на этом языке, не волнуйтесь! В этой статье мы рассмотрим основы программирования на C++ и поможем вам начать.
Установка компилятора C++
Прежде чем приступить к написанию программы на C++, вам необходимо установить компилятор языка C++ на вашем компьютере. Рекомендуется использовать компилятор GCC, так как он является одним из наиболее популярных и хорошо поддерживаемых.
Для установки GCC в операционной системе Windows вы можете использовать инструмент под названием MinGW, который включает в себя необходимые компоненты для разработки на C++. В операционной системе macOS вы можете установить компилятор GCC с помощью инструментов командной строки, таких как Homebrew или MacPorts. В большинстве дистрибутивов Linux компилятор GCC по умолчанию уже установлен.
#Урок 1 Ввод, вывод в c++ Структура программы
Начало работы с программой на C++
После установки компилятора вам потребуется текстовый редактор, где вы будете писать свою программу на C++. Существует множество редакторов кода, включая Visual Studio Code, Sublime Text, Atom и другие. Вы можете выбрать тот, который наиболее удобен для вас.
Когда вы выбрали текстовый редактор, откройте его и создайте новый файл с расширением .cpp . Это будет ваш главный файл программы, в котором будет содержаться весь исходный код на C++.
Пример простой программы на C++
Давайте рассмотрим пример простой программы на C++, которая выводит фразу «Привет, мир!» на экран:
#include int main()
В этом коде мы используем библиотеку iostream , которая содержит функции для ввода и вывода данных. Функция main является точкой входа в программу. Внутри этой функции мы используем std::cout для вывода фразы «Привет, мир!» на экран, а затем std::endl для перевода строки. В конце функции main мы возвращаем 0 , что означает успешное завершение программы.
Компиляция и запуск программы на C++
Теперь, когда у вас есть исходный код программы на C++, вы можете его скомпилировать и запустить. Для этого откройте командную строку или терминал и перейдите в каталог, где находится ваш файл .cpp .
Для компиляции программы на C++ с помощью компилятора GCC введите следующую команду:
g++ имя_файла.cpp -o имя_выходного_файла
Например, если ваш файл называется hello.cpp , вы можете ввести команду:
g++ hello.cpp -o hello
После успешной компиляции вы можете запустить программу, введя следующую команду:
./имя_выходного_файла
В нашем примере это будет:
./hello
После выполнения этих команд вы должны увидеть фразу «Привет, мир!» выведенную на экран.
Вывод
Надеюсь, что эта статья помогла вам понять основы программирования на C++ и дала вам представление о том, как написать и скомпилировать программу на этом языке. Если у вас есть вопросы или вам требуется дополнительная помощь, не стесняйтесь обращаться за помощью к сообществу разработчиков C++. Удачи в вашем программировании!
C++, структура программы и простая программа
Источник: serialyvam.ru
Лекция 6. Структура языка С/С++. Среда программирования на языке C/C++: Visual C++, Borland C++ Builder 6. Структура программы. Препроцессорные директивы. — презентация
Презентация на тему: » Лекция 6. Структура языка С/С++. Среда программирования на языке C/C++: Visual C++, Borland C++ Builder 6. Структура программы. Препроцессорные директивы.» — Транскрипт:
1 Лекция 6. Структура языка С/С++. Среда программирования на языке C/C++: Visual C++, Borland C++ Builder 6. Структура программы. Препроцессорные директивы. Ввод-вывод на консоль. Чтение и запись символов. Форматированный ввод-вывод на консоль. Модификаторы формата. Функция printf() и scanf(). Спецификаторы формата. Ввод чисел.
Ввод адреса..
2 План лекции: Структура программы. Препроцессорные директивы. Ввод-вывод на консоль. Функция printf() и scanf(). Чтение и запись символов.
Форматированный ввод-вывод на консоль.
3 Структура программы Файлы, содержащие текст программы на С++, должны иметь расширение cpp. Следующий пример простой, но вполне законченной программы поможет понять многие из принципов построения программ на языке Си. Наша первая программа вводит два числа, вычисляет их сумму и печатает результат с поясняющим текстом «Cумма». #include int main()
4 Структура программы #include int main() < Int a,b,c; a=5; b=7; c=a+b; printf(«Cумма = %d n»,c) >Дадим некоторые пояснения. В языке Си любая программа, состоит из нескольких программных единиц и каждая из них — функция. Функцией называется ряд последовательных инструкций, говорящих компьютеру, как выполнить определенную задачу. Многие функции, которые могут вам понадобиться, уже написаны, откомпилированы и помещены в библиотеки, так что вам достаточно просто указать компилятору использовать одну из стандартных функций. Необходимость написания собственной функции возникает только в том случае, если подходящей нет в библиотеках.
5 Структура программы #include int main() < int a,b,c; a=5; b=7; c=a+b; printf(«Cумма = %d n»,c) >Имена функций выбираются произвольно (только латинскими буквами), но одно из них main, именно с нее начинается выполнение программы. Такая главная функция обычно обращается к другим функциям, которые находятся в одном файле с головной программой или извлекают из библиотеки предварительно подготовленных функций.
Все программы на Си (и Си++) должны начинаться с функции, называемой main(). Она выглядит так: main() Круглые скобки являются частью имени функции и ставить их надо обязательно, так как именно они указывают компилятору, что имеется в виду функция, а не просто английское слово main. В противном случае компиляция не будет завершена. Фактически каждая функция включает в свое имя круглые скобки, но в большинстве случаев в них содержится некая информация. В дальнейшем, ссылаясь на функцию, мы всегда будем ставить после ее имени круглые скобки.
6 Структура программы Простейшая структура программы такова: main() Функция, означающая начало программы точку входа < Здесь начинается функция. ;. ;Здесь помещаются инструкции, которые должен выполнить компьютер. ; >Здесь функция заканчивается Последовательность инструкций, составляющих функцию, часто называют телом функции. Точка с запятой в языке Си является разделителем и отмечает конец инструкции. Разделитель показывает компилятору, что данная инструкция завершена и дальше начинается следующая инструкция или заканчивается программа. Точку с запятой необходимо ставить после каждой отдельной инструкции.
7 Структура программы Ниже приведена завершенная программа на Си/Си++, которая выводит на экран монитора слово «OK»: main()
8 Препроцессорные директивы Препроцессор входит в любой компилятор программ на Си++ и любую среду разработки, рассчитанную на этот язык. Препроцессор обрабатывает исходный код программ до их компиляции. Препроцессорные команды, или директивы, управляют работой препроцессора. Таких команд немного, они все начинаются со знака решётки (#) и должны быть в начале строки исходного кода: #define эта директива предусматривает определение макросов или препроцессорных идентификаторов, простейшее применение это замены в тексте программы #include позволяет включать текст других файлов в текст вашей программы. #undef отменяет действие директивы #define #if организация условной обработки директив #ifdef организация условной обработки директив #else организация условной обработки директив #endif организация условной обработки директив #elif организация условной обработки директив #line управление нумерацией строк в тексте программы #error задает текст диагностического сообщения, выводящиеся при наличии ошибок #pragma зависит от среды разработки # нулевая, или пустая, директива, бездейственно пропускается
10 В языке Си++ нет встроенных средств ввода и вывода – он осуществляется с помощью функций, типов и объектов, которые находятся в стандартных библиотеках. iostream.h, При использовании библиотеки классов Си++, используется библиотечный файл iostream.h, в котором определены стандартные потоки ввода данных от клавиатуры cin и вывода данных на экран дисплея cout, а также соответствующие операции > — операция чтения данных из потока. Например: #include ; cout > n;
11 #include void main(void) < cout
12 Использование специальных символов вывода Если необходимо переместить курсор в начало следующей строки, можно поместить символ новой строки (n) в выходной поток. В C++ вам предоставляется два разных способа генерации новой строки. Во-первых, вы можете поместить символы n внутри символьной строки. Например, следующая программа TWOLINES.CPP отображает свой вывод в виде двух строк, используя символ новой строки: #include Void main(void) < cout TWOLINES Это строка один Это строка два
13 endl В дополнение к использованию символа новой строки для продвижения курсора в начало следующей строки ваши программы могут использовать символ endl (конец строки). Следующая программа ENDL.CPP иллюстрирует использование endl для продвижения курсора в начало новой строки: #include void main(void) < cout
14 14 Сложение двух чисел Задача. Ввести два целых числа и вывести на экран их сумму. Простейшее решение: #include main() < int a, b, c; printf(«Введите два целых числаn»); scanf («%d%d», b); c = a + b; printf(«%d», c); getch(); >#include main() < int a, b, c; printf(«Введите два целых числаn»); scanf («%d%d», b); c = a + b; printf(«%d», c); getch(); >подсказка для ввода ввод двух чисел с клавиатуры вывод результата
15 15 Ввод чисел с клавиатуры scanf («%d%d», b); формат ввода scanf – форматный ввод адреса ячеек, куда записать введенные числа Формат – символьная строка, которая показывает, какие числа вводятся (выводятся). %d – целое число %f – вещественное число %c – 1 символ %s – символьная строка a – значение переменной a scanf («%d», a); scanf («%d», b); scanf («%d%d», scanf («%d %d», b); scanf («%f%f», b); int a, b; scanf («%d», a); scanf («%d», b); scanf («%d%d», scanf («%d %d», b); scanf («%f%f», b); a, %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 18 Вывод целых чисел int x = 1234; printf («%d», x); int x = 1234; printf («%d», x); 1234 printf («%9d», x); минимальное число позиций 1234 всего 9 позиций или » %i» или » %9i»
19 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 цифры в дробной части мантиссы
21 21 Блок-схема линейного алгоритма начало конец c = a + b; ввод a, b вывод c блок «начало» блок «ввод» блок «процесс» блок «вывод» блок «конец»
22 22 Задания «4»: Ввести три числа, найти их сумму и произведение. Пример: Введите три числа: =16 4*5*7=140 «5»: Ввести три числа, найти их сумму, произведение и среднее арифметическое. Пример: Введите три числа: =16 4*5*7=140 (4+5+7)/3=5.33
23 Среда Borland Builder 6, панель компонентов, общая характеристика К списку лекций > К списку лекций >
24 План 1.Интерфейс среды, группы команд меню, общая характеристика. 2.Палитра визуальных компонентов VCL, характеристика. К списку лекций > К списку лекций >
26 Главное окно интерфейса Проектом называется вся группа программных файлов, которые необходимы для создания конечной исполняемой программы. К списку лекций > К списку лекций >
27 Окно дизайнера форм Это окно будущей программы.
28 Окно редактора кода
29 Окно инспектора объектовОкно просмотра объектов
30 Группа команд меню File (Файл) группа команд меню называется Edit (Редактор) К списку лекций > К списку лекций >
31 Группа команд Search (Поиск) — Команды данного меню позволяют осуществить поиск текста в файле, продолжить поиск после первого вхождения, произвести автоматическую замену, а также быстро перейти к строке кода, задав ее номер. Группа команд View — Из этого пункта меню вызываются основные диалоговые окна управления проектом и компонентами, такие как менеджер проектов (ProjectManager), список компонентов (ComponentList) и список окон (WindowList). Также из этого пункта меню открываются все окна отладки программ (DebugWindows), работу с которыми мы рассмотрим позже. Группа команд Project — В этой группе меню собраны команды управления проектом. С их помощью можно добавлять и удалять модули (файлы с текстами программ), добавлять библиотеку компонентов VCL, откомпилировать проект и т. д. Группа команд Run — С помощью команд этого меню выполняется запуск и останов программ, запуск программ в непрерывном и пошаговом режимах, добавление переменных для просмотра, установка точек останова и другие действия по отладке программы. Группа команд Component(Компонент) — Из этого меню вызываются команды добавления в систему новых компонентов и конфигурации их палитры
32 Быстрые кнопки С их помощью осуществляется быстрый доступ к основным и часто используемым командам главного меню. Все эти кнопки имеют всплывающее меню, появляющееся при наведении на них курсора мыши, и горячие клавиши, показываемые в скобках. Все быстрые кнопки так же, как и главное меню, разделены на группы.
33 Кнопки Standard (Стандартные) Для создания нового объекта необходимо нажать кнопку New. При этом откроется диалоговое окно NewItems Другие кнопки этой группы позволяют сохранять (Save) и открывать (Open) как отдельные файлы, так и целые проекты. Замыкают группу две кнопки управления проектами, с помощью которых можно добавлять файлы к проекту (AddFileToProject) и удалять их из него (RemoveFileFromProject). Диалоговое окно NewItems
34 Палитра VCL-компонентов Палитра компонентов состоит из вкладок. Вкладки позволяют разделить большое число компонентов на группы, близкие по назначению.
35 Компоненты Standard Frame (Кадр) предназначен для создания контейнера (окна) для размещения других компонентов. MainMenu (Главное меню) предназначен для создания главного меню программы PopupMenu (Всплывающее меню) предназначен для создания всплывающего меню некоторых компонентов. Label (Этикетка) создает на форме текстовую метку или надпись.
Edit (Редактирование) создает на форме поле для редактирования тек- стовой строки. Memo (Поле) отображает на форме поле для редактирования текстовых строк. Button (Кнопка) Служит для создания в приложении различных прямоугольных кнопок с текстовой надписью. CheckBox (Ячейка состояния) позволяет создавать на форме приложения ячейку с двумя состояниями (без галочки и с галочкой) и строкой названия. RadioButton (Радиокнопка) создает круглое поле с двумя состояниями (с точкой и без точки) и текстовой строкой, поясняющей ее назначение в программе. К списку лекций > К списку лекций >
36 ListBox (Окно списка) создает прямоугольное поле для отображения текстовых строк ComboBox (Комбинированный список) позволяет создавать на форме элемент, являющийся комбинацией строки ввода и выпадающего списка для выбора. ScrollBar (Линейка прокрутки) создает элемент, похожий на линейку с бегунком и кнопками для прокрутки окна, к которому относится этот элемент.
GroupBox (Окно группы) служит для создания области, визуально объединяющей на форме несколько интерфейсных элементов. RadioGroup (Группа радиокнопок) позволяет создавать на форме контейнер в виде прямоугольной рамки для объединения группы взаимоисключающих радиокнопок. Panel (Панель) создает пустую область, на которой можно разместить другие компоненты. Action List (Список действий) осуществляет управление взаимодействием между интерфейсными элементами и логикой программы. К списку лекций > К списку лекций >
37 Окно формы с компонентами
38 Компоненты Addition BitBtn (Графическая кнопка) служит для создания на форме приложения кнопки с изображением и надписью. SpeedButton (Быстрая кнопка) позволяет создать на форме кнопку с изображением без надписи. MaskEdit (Форматированный ввод) предназначен для создания прямоугольного поля ввода данных в специально заданном формате.
StringGrid (Строковая таблица) служит для создания таблицы (сетки), состоящей из текстовых строк. DrawGrid (Графическая таблица) создает на форме двумерную таблицу для отображения графических данных. Image (Образ) предназначен для создания на форме невидимого контейнера, в который можно поместить один графический файл с битовым образом, пиктограммой или метафайл.
39 Shape (Фигура) позволяет рисовать на форме простые геометрические фигуры, такие как окружность, квадрат, эллипс или прямоугольник при изменении свойства Shape. Bevel (Скос) создает объемные рамки для различных групп объектов. ScrollBox (Контейнер прокрутки) позволяет создавать контейнер для объектов.
Splitter (Разделитель) разделяет рабочую область программы на две части и позволяет менять их размеры во время работы программы. StaticText (Статический текст) создает на форме текстовую строку, с некоторыми возможностями ее оформления. Chart (Диаграмма) предназначен для создания и вывода на печать многоцветных графиков и диаграмм.
40 Компоненты Win32 TabControl (Управление табуляцией) служит для создания перекрывающих друг друга вкладок и для создания интерфейсов в стиле палитры компонентов. PageControl (Управление страницами) создает на форме контейнер для размещения дочерних страниц программы. Image List (Список образов) создает на форме невидимый контейнер для набора графических изображений одинакового размера.
RichEdit (Обогащенный редактор) позволяет создавать редактор с готовым набором функций, свойственных большинству редакторов. ТгаскВаг (Дорожка с полосками) создает на форме шкалу с метками и регулятором текущего положения. Progress Bar (Прогресс-индикатор) создает на форме прямоугольный индикатор для отображения процесса выполнения длинных процедур в программе (копирования, поиска и т. п.).
41 UpDown (Вверх-вниз) служит для создания интерфейсных элементов с возможностью увеличения или уменьшения какого- либо значения с помощью кнопок Вверх и Вниз данного компонента. HotKey (Горячая клавиша) обеспечивает возможность создания пользователем горячих клавиш, определяющих быстрый доступ к разделам меню.
Animate (Аниматор) создает на форме невидимый контейнер для воспроизведения видеозаписей в формате AVI. DataTimePicker (Сборщик даты и времени) создает в программе интерфейс для ввода даты и времени. MonthCalendar (Месячный календарь) размещает на форме календарь с отображением всех дней месяца и возможностью перелистывания месяцев и корректировки даты текущего дня. TreeView (Вид дерева) позволяет создавать в программе иерархическое древовидное отображение данных. ListView (Вид списка) создает список элементов с отображением в различных стилях (крупные значки, мелкие значки, таблица и пр.).
42 HeaderControl (Управление заголовком) служит для управления панелями, расположенными под данным компонентом. StatusBar (Панель состояния) создает контейнер в нижней части формы для отображения статусной информации. Например, состояние кнопок Caps Lock, Num Lock и Scroll Lock. ToolBar (Панель инструментов) позволяет создать на форме контейнер для размещения быстрых кнопок.
CoolBar (Холодная панель) позволяет делать перестраиваемые панели, состоящие из полос. PageScroller (Страница прокрутки) создает на форме контейнер для прокрутки элементов, не вмещающихся на экран целиком. ComboBoxEx (Расширенный выпадающий список) позволяет создать на форме выпадающий список элементов.
43 Контрольные вопросы: 1.Визуальное программирование интерфейса, объясните. 2.Функции управляющих кнопок Button и BitBtn 3.Назначение и функции Группы радиокнопок 4.Индикатор CheckBox, для чего используется? 5.Свойства компонента StringGrid, объясните. К списку лекций > К списку лекций >
44 Контрольные вопросы. 1.Назначение графического адаптера 2.Для чего нужны драйверы? Объясните 3.Как установить графический режим на экране? 4.Установите цвет фона, напишите соответствующие функции. К списку лекций > К списку лекций >
Источник: www.myshared.ru
Выполнение программы простой структуры.
— main — для консольных приложений (работающая с WIN32) или WinMain — для приложений Windows. Именно эта главная функция выполняется после начала работы программы. Функцию WinMain содержит головной файл проекта. Как и в Delphi, головной модуль проекта создается автоматически, и изменять его приходится только в исключительных случаях. Чтобы увидеть текст головного файла, надо выполнить команду Project/View Source.
Программы на С++ строятся по модульному принципу и состоят из множества модулей. Все объекты компонентов размещаются на формах. Для каждой формы C++ Builder создает отдельный модуль. Согласно принципам скрытия информации, обычно текст модуля разделяют на заголовочный файл интерфейса, который содержит объявления классов, функций, переменных и т. д., и файл реализации, в котором содержится описание фун кци й.
Заголовочный файл имеет вид:
#ifndef UnitlH #define UnitlH
// сюда могут помещаться дополнительные директивы // препроцессора (в частности include),
// не включаемые в файл автоматически
// объявление класса формы TForm1 class TForml: public TForm
_ published: // IDE-managed Components
// размещенные на форме компоненты TLabel *Label1;
void_ fastcall Button1Click(TObject *Sender);
// сюда можно поместить объявления типов и переменных,
// доступ к которым из других модулей возможен только при // соблюдении некоторых дополнительных условий;
// тут же должны быть реализации всех функций, объявленных // в заголовочном файле, а также могут быть реализации любых // дополнительных функций, не объявленных ранее
void_ fastcall TForm1::Button1Click(TObject *Sender)
После автоматически включенных в этот файл директив препроцессора следует объявление указателя на объект формы, а затем вызов конструктора формы.
В файле реализации описываются тела всех функций, которые были объявлены в заголовочном файле, и тех, которые не были объявлены ранее. В нашем примере приводится обработчик кнопки Button1Click. При нажатии этой кнопки будут происходить закрытие формы и выход из программы.
5.1 Элементы языка C/C++
1) Алфавит языка который включает
· прописные и строчные латинские буквы и знак подчеркивания;
· арабские цифры от 0 до 9;
· пробельные символы (пробел, символ табуляции, символы перехода на новую строку).
2) Из символов формируются лексемы языка:
· Идентификаторы – имена объектов C/C++-программ. В идентификаторе могут быть использованы латинские буквы, цифры и знак подчеркивания. Прописные и строчные буквы различаются, например, PROG1, prog1 и Prog1 – три различных идентификатора. Первым символом должна быть буква или знак подчеркивания (но не цифра). Пробелы в идентификаторах не допускаются.
· Ключевые (зарезервированные) слова – это слова, которые имеют специальное значение для компилятора. Их нельзя использовать в качестве идентификаторов.
· Знаки операций – это один или несколько символов, определяющих действие над операндами. Операции делятся на унарные, бинарные и тернарную по количеству участвующих в этой операции операндов.
· Константы – это неизменяемые величины. Существуют целые, вещественные, символьные и строковые константы. Компилятор выделяет константу в качестве лексемы (элементарной конструкции) и относит ее к одному из типов по ее внешнему виду.
· Разделители – скобки, точка, запятая пробельные символы.
5.2 Основные типы С++
В программе на языке C++ все переменные должны быть объявлены, т.е. для каждой переменной должен быть указан ее тип. Все типы языка C++ можно разделить на две большие группы: основные типы и производные. К основным относятся char, int, float и double, а также их варианты с модификаторами short (короткий), long (длинный), signed (со знаком, подразумевается по умолчанию и обычно не пишется) и unsigned (без знака).
char –символьный тип переменных;
int – целочисленный тип;
float, double – вещественный тип
int a,b,c short t;
Объявлять переменные можно в любом месте программы перед их использованием.
Производные типы включают в себя указатели и ссылки на какие-то типы, массивы каких-то типов, типы функций, классы, структуры.
Пользователь может сам вводить в программу свои собственные типы. Синтаксис объявления типа:
typedef определение_типа имя_типа;
typedef double Ar[10];
объявляет тип пользователя с именем Ar как массив из 10 действительных чисел. В дальнейшем этим типом можно пользоваться при объявлении переменных. Например:
Определение переменной может сопровождаться ее инициализацией, т.е. заданием значения данной переменной, как в приведенном выше примере.
5.3 Операции языка С
5.3.1 Арифметические операции
Операции сложения, вычитания, умножения и деления действуют так же, как и в других языках программирования. Операции выполняются слева направо, т.е. сначала вычисляется значение левого операнда, затем значение правого операнда. Если операнды имеют один тип, то результат будет иметь тот же тип. Поэтому, если операция деления / применяется к целым переменным, то результат будет тоже целым.
Язык С имеет еще две операции, которых нет в других языках. Это унарные операции ++ (инкремент) и — (декремент). Унарной называется операция,
которая имеет только один операнд. Операция ++ добавляет единицу к операнду, операция — вычитает единицу из операнда. Обе операции могут следовать перед операндом (префиксная форма записи) и после операнда (постфиксная форма записи). При префиксной форме переменная сначала увеличивается или уменьшается на единицу, а затем это ее новое значение используется в том выражении, в котором она встретилась. При постфиксной форме в выражении используется текущее значение переменной и лишь затем переменная увеличивается или уменьшается на единицу. Три написанные ниже оператора дают один и тот же результат, но имеют различие при использовании в выражениях: i = i+1; ++i; i++;
Например, в результате выполнения операторов int i = 1, j; j = i++ * i++;
значение переменной i будет равно 3, а значение переменной j равно 1.
Если изменить эти операторы следующим образом: int i = 1, j;
то результат будет другим: значение i будет равно 3, а значение j равно 9.
Источник: poisk-ru.ru