Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование.doc
Скачиваний:
40
Добавлен:
12.04.2015
Размер:
4.91 Mб
Скачать

Задание

  1. Изучить интерфейс пользователя Microsoft Visual C++ v.6.0 для создания простых консольных приложений.

  2. Создать с помощью мастера следующие проекты и выполнить их анализ:

  • An empty project (Пустой проект);

  • A simple application (Простое приложение);

  • A «Hello World!» application (Приложение «Hello World!»).

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

  2. Прокомментировать структуру программы, созданной мастером проектов «Hello World!». Выделить главную функцию, указать ее заголовок, тело, какие комментарии использованы в программе, указать директивы препроцессора. Откомпилировать, построить exe-файл и выполнить проект. Описать технологию создания exe-файла с момента компиляции и компоновки проекта.

  3. Проанализировать структуру Microsoft Visual C++. На диске С в папке Program Files найти каталоги INCLUDE, BIN, LIB Microsoft Visual C++. Просмотреть содержимое файлов, используемых в шаблонах, созданных мастером проектов.

  4. Оформить отчет по лабораторной работе. Отчет должен содержать:

  • титульный лист;

  • цель работы;

  • постановку задачи;

  • алгоритм решения задачи;

  • исходные коды на языке высокого уровня;

  • результаты решения задачи;

  • выводы по лабораторной работе;

  • список используемой литературы.

2 Конструкции языка С/C++

Язык высокого уровня С/С++ образуется из различных категорий словоориентированных языковых единиц, называемых лексемами (tokens). Каждая лексема имеет свой самостоятельный смысл для компилятора C++ и не может в своем составе содержать другие лексемы. В соответствии с грамматическими правилами языка лексемы могут группироваться в определенные смысловые единицы, образуя выражения, операторы, объекты, предложения, программы. Элементы файла исходного кода можно разделить на пробельные символы и лексемы (рис. 2.1).

П

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

Комментарии

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

Комментарий C представляет собой последовательность символов, помещаемую между скобками (символами) /* и */. Такие комментарии могут быть многострочными. Комментарий С может быть вставлен в любую часть программы, где разрешены пробельные символы. Обычно их размещают либо в конце строки, либо в отдельных строках.

Комментарий C++ представляет собой два символа наклонной черты (//), записанные без пробела. Такой комментарий может начинаться в любой позиции строки и включает в себя все, что расположено до конца строки. Приведем примеры комментариев:

struct X {

/* это комментарий C */

// это комментарий С ++

};

Стандарт ANSI C не разрешает вложенность комментариев. Попытка комментировать следующую строку в виде:

/* int /* объявление */ i /* целого */; */

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

i ; */

что приведет к синтаксической ошибке.

В редких случаях пробелы перед /* и // или после */ хотя и не являются синтаксически обязательными, но позволяют избежать проблем, связанных с мобильностью кода. Например, код C++

int i = j//* деление на k*/k

+m;

при лексическом анализе даст:

int i = j +m; а не int i = j/k +m;

как это можно было бы ожидать по традиционным соглашениям языка C. Более удачная форма:

int i = j/ /* деление на k*/ k

+m;

позволяет избежать этой проблемы.

В описании стиля программирования (будет рассмотрен в разделе 4) даны рекомендации по использованию комментариев при разработке исходного кода программы.