Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование на языке с++ ч.1.doc
Скачиваний:
10
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆

Лабораторная работа №1

Интегрированная среда разработки Microsoft Visual С++. Структура программы на C++

Цель работы: изучить интерфейс интегрированной среды разработки программ Microsoft Visual С++, научиться создавать программный код на C++ в соответствии со структурой программы.

Теоретические сведения

Microsoft Visual С++ (VC++) упрощает процесс программирования и делает его более эффективным. При работе в VС++ весь комплекс инструментальных средств, необходимых для написания, редактирования, компиляции, компоновки и отладки программ, оказывается под рукой у пользователя.

Кроме того, среда разработки программ VС++ предоставляет следующие дополнительные возможности, которые еще больше упрощают процесс написания программ:

  • возможность отображения на экране монитора значительного числа окон, которые можно перемещать по экрану и размеры которых можно изменять;

  • наличие поддержки «мыши»;

  • наличие блоков диалога;

  • наличие команд удаления и вставки (при этом допускается копирование из окна help и между окнами редактора);

  • возможность быстрого вызова других программ и обратного возврата;

  • наличие в редакторе макроязыка.

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

Строка меню и меню

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

Окна VC++

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

В VC++ может существовать произвольное число окон, но в каждый момент активно только одно окно. Активным является то окно, в котором в настоящий момент происходит работа.

Любые вводимые команды или вводимый текст, как правило, относятся только к активному окну.

Существует несколько типов окон, но большая их часть имеет следующие общие элементы:

  • строку заголовка;

  • маркеры свертывания, развертывания и закрытия окна;

  • полосы прокрутки;

  • угол изменения размера окна;

  • номер окна.

Строка состояния

Строка состояния, расположенная у нижнего края экрана, информирует, на какой строке и на каком символе находиться курсор в данный момент.

Блоки диалога

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

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

Работа с экранным меню VС++

Меню File (Alt+F)

Это меню позволяет открывать и создавать исходные файлы программ, сохранять внесенные изменения, выполнять другие действия над файлами и завершать работу с VC++.

New (Ctrl+N)

Команда File / New позволяет открывать новое окно редактора со стандартным именем UNTITLED.xx (где вместо букв хх задается число в диапазоне от 1 до 99). Файлы с именем UNTITLED используются в качестве временного буфера для редактирования; когда файл с подобным именем сохраняется на диске, VC++ запрашивает действительное имя файла.

Open (Ctrl+O)

Команда File / Open отображает блок диалога, в котором выбирается исходный файл программы, который будет открыт в окне редактора. Этот блок диалога содержит блок ввода, список файлов, и кнопки OK, Cancel и Help.

Здесь можно выполнить одно из действий.

1) Дважды щелкнуть на имя файла в списке, чтобы открыть файл; если ввести имя полностью и нажать Enter, VC++ откроет указанный файл. (Если ввести имя файла, который система VC++ не может обнаружить, она автоматически создаст и откроет новый файл с таким именем.)

2) Выбрать тип файла из списка типов файлов, чтобы отобразить список всех файлов с предопределенным типом в текущем диске и каталоге;

3) Просмотреть содержимое других каталогов (дисков), выбрав имя каталога (диска) из списка каталогов (дисков).

4) Задать шаблон файла, используя знак '*' или '?' в блоке File / Name и нажать Enter, то в списке отображаются файлы, соответствующие данному шаблону.

Close

Команда File / Close закрывает активное окно редактора, но сам редактор остаться открытым.

Save (Ctrl+S)

Команда File / Save записывает на диск файл, находящийся в активном окне редактора (если активно окно редактора в настоящий момент, если нет, то данным элементом меню нельзя воспользоваться).

Save As…

Команда File / Save As позволяет сохранить файл в активном окне редактора под другим именем, в другом каталоге или на другом диске.

Save All

Команда File / Save All позволяет сохранить все файлы, которые открыты в редакторы.

Print…

Команда File / Print печатает содержимое активного окна редактора VC++. Данная команда будет запрещена, если содержимое активного окна не может быть выведено на печать. Для вывода на печать только выделенного текста следует выбрать Selection в диалоговом окне print.

Page Setup…

Команда File / Page Setup выводит диалоговое окно параметров страницы, в котором можно установить поля, заголовки и нижние колонтитулы на каждой странице выводимой на печать.

Exit

Команда File / Exit осуществляет выход из системы VC++, закрывая окно редактора. Если внесены изменения, которые еще не были сохранены, то перед выходом VC++ выдаст запрос на их сохранение.

Меню Edit(Alt+E)

Позволяет выполнять удаления, копирование и вставку текста в окнах редактора, а также находить и заменять фрагменты программы.

Undo (Ctrl+Z) / Redo (Ctrl+A)

Эта команда отменяет / повторяет действия редактирования.

Cut (Ctrl+X)

Удаляет выделенный фрагмент кода программы и заносит его в буфер. Затем можно вставить данный фрагмент в другое место или в другой код программы путем выбора Paste.

Copy (Ctrl+C)

Эта команда не изменяет выделенный код программы, но заносит в буфер его точную копию. Затем можно вставить данный фрагмент в другое место или в другую программу командой Paste.

Paste (Ctrl+V)

Эта команда вставляет фрагмент кода программы из буфера в текущее окно с позиции курсора.

Delete (Del)

Эта команда удаляет выбранный фрагмент кода программы, но не заносит его в буфер. Это означает, что восстановить удаленный фрагмент нельзя.

Find… (Alt+F3)

Эта команда отображает блок диалога Find, который позволяет ввести образец поиска и задать параметры, влияющие на процесс поиска.

Replace…

Команда Replace отображает блок диалога для ввода искомого фрагмента программы и текст, на который его следует заменить.

Find Matching Brace (Ctrl+] )

Эта команда находит соответствующие фигурные скобки, следующим образом: поместите курсор перед фигурной скобкой; выберите команду Find Matching Brace. Курсор продвигается вперед или назад к соответствующей фигурной скобке. Если соответствующая фигурная скобка не может быть найдена, то редактор подает гудок.

Read Only

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

Меню View (Alt+V)

Позволяет задавать внешние параметры окна редактора VC++, определить места ошибок, а также работать с закладками.

Меню Project (Alt+P)

Позволяет создать набор файлов проекта MFC, создать новый проект определенного типа, открыть, редактировать и закрыть проект, а также включает команды компиляции, компоновки и отладки.

Compile File (Ctrl+F8)

Команда компилирует активный файл в окне редактора. Когда выполняется компиляция, выводится окно состояния, в котором отражается ход компиляции и ее результаты. После завершения компиляции/компоновки для удаления этого окна нужно его закрыть. Эта команда используется для быстрой проверки корректности файла, особенно после внесения в него большого числа изменений. При компиляции создаются файлы с расширением *.OBJ, *.SBR, а также файл msvc.PDB.

Build (Shift+F8)

Команда осуществляет построение (компоновку) проекта, используя правила зависимости. Она перестраивает все компоненты, независимо от даты их создания и создает файлы с расширением *.BSC и *.EXE.

Rebuild All (Alt+F8)

Команда создает все файлы проекта или перекомпилирует и перекомпоновывает их заново.

Stop Build

Команда останавливает процесс создания проекта.

Execute (Ctrl+F5)

Команда запускает программу на исполнение без вызова отладчика.

Меню Browse (Alt+B)

Команды меню Browse позволяет осуществлять просмотр кода программы, выполнять различные переходы с строкам программы.

Меню Debug (Alt+D)

Команды меню Debug управляют всеми возможностями интегрированного отладчика. Меню Debug используется при запуске проекта на исполнения в режиме отладки и содержит команды, используемые при отладке проекта.

Go (F5)

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

Restart (Shift+F5)

Команда, которая перезапускает исполняемую программу.

Stop Debugging (Alt+F5)

Завершает процесс отладки проекта.

Step Into (F8)

Команда позволяет выполнить один оператор программы и остановиться.

Step Over (F10)

Команда позволяет выполнить один оператор программы и остановиться независимо от того, является ли данный оператор функцией или нет.

Step Out (Shift+F7)

Команда позволяет выйти из текущей функции и остановиться на первом операторе программы, расположенном за вызовом данной функции.

Step to Cursor (F7)

Команда позволяет продолжить выполнение программы и остановиться на операторе, на котором в настоящий момент расположен курсор.

Breakpoints (Ctrl+B)

Эта команда вызывает диалоговое окно Breakpoints, чтобы определить контрольные точки. Контрольная точка определяет, когда временно остановить программу на выполнение. В этой точке можно исследовать значения переменных, регистров и так далее.

Меню Tools (Alt+T)

Меню Tools содержит команды настройки C++ и доступа к автономным утилитам.

Меню Options (Alt+O)

Меню Options содержит команды, которые позволяют просматривать и модифицировать стандартные параметры, определяющие функционирование C++.

Меню Windows (Alt+W)

Меню Window содержит команды управления окнами. Внизу меню Window находится список открытых окон. Если их больше одного, то переключиться на другое окно и сделать его активным можно, выбрав его.

Меню Help (Alt+H)

Меню Help дает доступ к оперативной справочной информации в окне справочной информации. С его помощью вы можете получить справочную информацию практически по всем аспектам ИСР и C++.

Структура файлов, создаваемая в VC++

  1. Файл с расширением *.cpp (например, task.cpp) – файл, в котором содержится исходный код программы написанный на языке С. Данные файлы могут иметь расширение *.cpp, *.cxx, *.C (заглавная буква) или *.с в зависимости от используемой среды программирования.

  2. Файл с расширением *.obj (объектный файл) (например, task.obj) – файл с объектным кодом библиотек языка, создается в результате безошибочной компиляции (т.е. после перевода исходного кода в машинный код).

  3. Файл с расширением *.sbr (например, task.sbr) – файл поддержки (браузер объектов с расширенной информацией).

  4. Файл msvc.pdb – файл данных, содержащий отладочную информацию о приложении: локальные переменные, функции, разметка исходного кода и т.д.

  5. Файл с расширением *.bsc (например, task.bsc) – файл списка ссылок.

  6. Файл с расширением *.exe (загрузочный модуль) (например, task.exe) – исполняемый файл, который создается в результате компоновки программы.

Структура программы

Обобщенная структура одномодульной программы на языке С состоит из четырех основных блоков:

  1. Директивы препроцессора (начинаются с символа '#'):

  • включения заголовочных файлов (интерфейсных файлов, которые обеспечивают интерфейс между отдельно компилируемыми частями программы; хэдер-файлов; прототипов функций);

  • макроопределений (макросов);

  • условий компиляции.

  1. Определение (объявление) внешних и глобальных объектов (переменных) разнообразных типов и прототипов функций.

  2. Определение главной функции main в виде:

Тип main(НеобязательныйСписокТипизированныхПараметров)

{

  • определения (объявления) локальных объектов (переменных);

  • описание extern прототипов функций, используемых в теле функции;

  • операторы главной функции.

}

  1. Описание пользовательских функций, вызываемых в функции main. Формат их описания:

Тип ИмяФункции(НеобязательныйСписокТипизированныхПараметров)

{

  • описание прототипов функций (ссылка вперед), нужных здесь;

  • определение локальных объектов;

  • операторы пользовательской функции.

}

Описание пользовательской функции возможно не только после функции main, но и до ее оформления. В этом случае отпадает надобность в указании ее прототипов.

Пример Task1.cpp

//Программа выводит на экран заданную фразу

#include <stdio.h> //препроцессорная директива

void main() //заголовок функции

{ //начало главной функции

printf ("Hello! Привет!"); //вывод фразы на экран

} //конец главной функции

Задания

  1. Создайте личную папку по следующему адресу:

D:\Work\Math-Fac\1_kurs\Group_V\

  1. Наберите в окне редактора VC++ код программы из приведенного выше примера. Сохраните данную программу в личной папке под именем Task1.cpp.

  2. Используя команды редактора, выполните компиляцию и запуск программы. Охарактеризуйте все файлы созданные в вашей личной папке (письменно).

Домашние задания

  1. Установите на домашнем компьютере VC++.

  2. Создайте на домашнем компьютере папку Programming.

  3. Наберите и сохраните код программы из ниже приведенного примера именем Task2.cpp. Допишите вместо многоточия название Вашей специальности без кавычек.

Пример Task2.cpp

//Программа выводит на экран заданную фразу

#include <stdio.h> //препроцессорная директива

void main() //функция

{ //начало

printf ("Я студент(ка) первого курса специальности …");

//печать

} //конец

  1. Сохраните файл Tast2.cpp под именем Task3.cpp. Внесите изменения в программный код по образцу, используя операции копирования строк. Сравните результаты выполнения программ Task2.cpp и Task3.cpp. Сделайте вывод.

Пример Task3.cpp

//Программа выводит на экран заданную фразу

#include <stdio.h> //препроцессорная директива

void main() //функция

{ //начало

printf ("Я студент(ка) первого курса "); //печать

printf ("первого курса "); //печать

printf ("специальности …"); //печать

} //конец

  1. Выполните сравнительный анализ файлов Task2 и Task3, заполните таблицу:

Имя файла

Тип файла

Размер

в Кбайтах

Время

создания

Назначение

Task2

cpp

Task2

obj

Task2

sbr

Task2

bsc

Task2

exe

msvc

pdb