Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Программирование в среде Visual C++ 6. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
1 Мб
Скачать
☆
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ
ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«САМАРСКИЙ ГОСУДАРСТВЕННЫЙ
АРХИТЕКТУРНО-СТРОИТЕЛЬНЫЙ УНИВЕРСИТЕТ»
.. 

 
   -
   21.12.2013 .
Самара
2014
УДК 681.3.06 К 38
 ..    Visual C++ 6:   / .. . – Самара: СГАСУ, 2014. – 118 с.
ISBN 978-5-9585-0601-9
Учебное пособие предназначено для студентов 5 курса, обучаю­щихся по специальности 270113 «Механизация и автоматизация стро­ительства», и для магистрантов, обучающихся по программе 270814 «Комплексная механизация строительства» при изучении дисциплины «Прикладное программирование в задачах автоматизации строитель­ства». Может быть полезным студентам, преподавателям и научным со­трудникам, желающим освоить программирование в среде Visual C++ 6.
Описаны элементы базового языка программирования СИ и среды автоматического программирования Visual C++ 6-ой версии, способы создания программного кода в этой среде с учётом возможностей ма­стеров MFC AppWizard. Для облегчения программирования в этой среде представлена полная разработка программы одной задачи, где использу­ются множество возможностей среды Visual C++ 6.
Рецензенты:
Профессор, доктор технических наук, профессор кафедры
«Вычислительная техника» СамГТУ В.С. Семёнов.
Доцент, кандидат технических наук, доцент кафедры «Прикладная
математика и вычислительная техника» СГАСУ В.В. Козлов.
Профессор, доктор технических наук, профессор кафедры «Приклад-
ная математика и вычислительная техника» СГАСУ О.В. Прохорова.
УДК 681.3.06
ISBN 978-5-9585-0601-9
© В.К. Кивран, 2014
© СГАСУ, 2014

Для решения задач в области автоматизации имеется мно­жество различных прикладных компьютерных программ. Но часто по разным причинам требуется решения задач, не свя­занных с использованием упомянутых программ: их отсут­ствие на данном компьютере, сложности в их приобретении, несовместимости исходных данных, неудобный вывод ре­зультатов и т.п. Поэтому для решения некоторых задач при­ходится прибегать к помощи более универсальных систем ав­томатического программирования.
Среди множества современных языков автоматического про­граммирования выделяется язык , разработанный в США в 70-х годах прошлого столетия. Язык  с дальнейшим его развитием универсален, с его помощью можно решать любые задачи программирования, настолько, что современные графи­ческие редакторы типа ACAD, операционные системы исполь­зуют именно этот язык. Этот язык совмещает в себе свойства как языков высокого, так и нижнего уровня, хорошо переносит переход на компьютеры с разной архитектурой и разными опе­рационными средами. Программой  поддерживается очень широкий массив арифметических и логических операций, со­храняет блочную структуру построения рабочих программ, ба­зовые типы отражают те же объекты, что и на языке ассемблера: байты, машинные слова, символы, строки, предусмотрено ис­пользование составных объектов. В систему  входит широ­кая библиотека стандартных математических функций.
— 3 —
При дальнейшем развитии языка  в составные объекты
были введены соответствующие арифметические операции, эти объекты получили название «классы». Так появился язык ++ или язык  с классами. Дальнейшее развития языка пошло по направлению разработки различных мастеров (Wiz- ard), формирующих рабочую программу (программный код) как приложение системы Windows. Программируемая среда получила название Visual C++. В состав её входит библиотека классов MCF. А использование диалоговых окон превратило программирование в некую увлекательную игру. Используя диалоговые окна, меню и командные строки, получаем рабо­чую программу с любым «красивым» интерфейсом, включая необходимый способ вывода результатов вычисления.
В данной методической разработке остановимся на систе-
ме Visual C++6 (6 версия), приспособленной к 32-разрядному процессору. Это наиболее простая, но достаточно мощная си­стема для составления программного кода любой сложности.
— 4 —
1.   
1.1. Алфавит
Множество символов языка СИ включает всебя пропис­ные истрочные буквы латинского алфавита иарабские деся­тичные цифры от0 до9. Компилятор одну итуже букву про­писную или строчную рассматривает как разные символы. Втекстовых строках для вывода информации наэкран мони­тора, вкомментариях допускаются буквы русского алфавита.
Символы: , ,  , 
,  ,  ,  , CONTROL-Z— называются пробельными символа-
ми. Последний как индикатор конца файла вставляется ком­пилятором вконец файла автоматически при нажатии клави­ши Enter. Компилятор эти пробельные символы игнорирует, поэтому вставлять в командную строку их можно сколько угодно. Поэтому текст рабочей программы (программного кода) очень удобно структурировать. Комментарий тоже рас­сматривается как пробельный символ. Для организации тек­ста для дополнительных компилятору указаний используют­ся разделители, приведённые втаблице 1.1.
 1.1

   
. Точка ! Восклицательный знак
, Запятая | Вертикальная черта
— 5 —
  1.1
   
; Точка сзапятой / Слеш
: Двоеточие \ Наклонная черта влево
? Вопрос ~ Тильда
‘ Апостроф _ Подчёркивание
( Левая круглая скобка № Знак номера
) Правая круглая скобка % Процент
{ Левая фигурная скобка & Амперсанд
} Правая фигурная скобка ^ Стрелка вверх
[ Левая квадратная скобка - Знак минус
Правая квадратная
]
скобка
> Знак больше * Знак умножения
< Знак меньше / Знак деления
“ Двойные кавычки = Знак равенства
+ Знак плюс
Все эти символы имеются наклавиатуре. В таблице 1.2 приведены специальные символы для спец-
ификации некоторых действий.
.
 1.2
 
 16-  
\n 0A Новая строка
\t 09 Горизонтальная табуляция
\v 0B Вертикальная табуляция
\b 08 Забой
\r 0D Возврат каретки
\f 0C Новая страница
— 6 —
  1.2
 16-  
\a 07 Звуковой сигнал
\’ 2C Апостроф
\” 22 Двойные кавычки
\\ 5С Обратный слеш
\ddd Байтовое представление в8-ном коде
\xdd Байтовое представление в16-ном коде
При работе стекстовым редактором ввод каждой строки завершается нажатием клавиши Enter. Фактически в текст вставляются два символа: новая строка и возврат каретки. Однако компилятор воспринимает как один символ: новая строка 0A.
В языке  предусмотрено свыше 30 арифметических илогических операций. Символы их приведены ниже, вта­блице 1.3.
1.2. Константы
Константы используются для задания постоянных вели­чин. Знак «минус» воспринимается как унитарный знак вы­читания. Различают четыре типа констант: целые, сплаваю­щей точкой, символы исимвольные строки.
 . Целые константы всегда положитель­ны. Они могут быть представлены вобычной десятичной си­стеме счисления, в восьмеричной и шестнадцатеричной си­стемах счисления.
Десятичные целые числа представляются последователь­ностью десятичных цифр от 0 до 9 без пробелов. Формат: <ddd…>. Восьмеричное число представляется первым нулём ипоследовательностью восьмеричных цифр от0 до 7. Фор­мат: <0bbb…>. Шестнадцатеричное число представляется
— 7 —
двумя символами 0x или 0X споследовательностью шестнад­цатеричных цифр: 0,1,2,3,4,5,6,7,8, 9, A, B, C, D, E, F.
 1.3
  
   
! Логическое НЕ ++ Инкремент (+1)
- Минус, вычитание — Декремент (–1)
+ Плюс, сложение = Присваивание
Умножение, косвенная адре-
*
сация
/ Деление -=
% Остаток отделения *=
<< Сдвиг влево /= Тоже сделением
>> Сдвиг вправо %= Тоже состатком
> Больше >>=
< Меньше <<=
<= Меньше или равно &=
>= Больше или равно |=
== Равно ^=
!= Не равно ,
& Поразрядное И, адресация
| Поразрядное ИЛИ || Логическое ИЛИ
^ Поразрядное ИЛИ НЕТ && Логическое И
+=
Присваивание сосложением
Тоже свычита­нием
Тоже сумноже­нием
Тоже сосдвигом вправо
Тоже сосдвигом влево
Тоже споразряд­ным И
Тоже споразряд­ным ИЛИ
Тоже споразр. ИЛИ НЕТ
Последовательное выполнение
Каждая константа компилятором преобразуется в ма­шинный код размером либо в2, либо 4 байта взависимости отвеличины числа. Если число меньше 32768, ей отводится 2 байта памяти (16 двоичных разрядов). Если число больше этой величины, тоей отводится 4 байта памяти (32двоичных разряда). При работе программного кода при встрече данно­го числа оно выбирается изоперативной памяти компьютера поадресу, который задаётся компилятором. Если число более 2147483647, тооно либо игнорируется, либо усекается, либо компилятор выдает ошибку. Двухбайтовое число побазово­му типу данных имеет тип int, ачетырёхбайтовое число име­ет тип long. Программист может путём добавления вконце последовательности цифр суффикс L или l управлять длиной константы.
Восьмеричные и шестнадцатеричные числа тоже могут занимать либо два (типы int или unsigned int), либо четыре байта (тип long или unsigned long). Здесь программист вправе сам определить тип long путём добавления суффиксы l или L.
  . Это положительное де­сятичное число свозможной дробной частью. Формат числа:
[<цифры целой части>] [.<цифры дробной части>] [при­знак порядка] [знак порядка] [<цифры порядка>]. Признак порядка— это символы E или e. Положительный знак по­рядка может быть опущен. Если порядок числа равен нулю, топризнак порядка исам порядок вместе сознаком могут отсутствовать. Если имеется признак порядка, тодробная часть числа вместе сточкой может тоже отсутствовать. Мо­жет отсутствовать ицелая часть, если присутствует только дробная часть числа. Все константы с плавающей точкой имеют тип double, им отводится по8 байт памяти (64 дво­ичных разряда). Можно, конечно, константе присвоить тип
— 9 —
oat (числу отводится 4 байта), добавив вконце числа суф­фикс F или f.
Константы типа oat представляются в машинном коде
до5…6 верных знака после десятичной точки, ачисла типа double сточность свыше 12…15 верных знака после десятич­ной точки.
Примеры записи чисел: 12.576Е-2; 213, 15.75;.75, 25., —.175Е 6. Здесь впоследнем примере знак числа «минус» восприни-
мается как унитарная операция вычитания.
  представляют собой любую бук-
ву, цифру, знак пунктуации или специальный символ, заклю­чённый взнак апострофа. Например, ‘a’, ‘B’, ‘.’, ‘+’, ‘/n’ идр. Перед символом апострофа или обратный слеш ставится дополни­тельный обратный слеш, это ‘/’’ и‘//’. Символьные константы имеют тип int размером вдва байта. Младший байт содержит код символа, астарший байт— его знаковое расширение.
  представляют собой последователь-
ность символов, заключённых вдвойные кавычки. Например, “Файл”, “math.h”, “253,5” идр. Символьные строки имеют тип char, каждый символ занимает один байт, апосле последнего символа компилятор автоматически ставится символ конца строки (‘\0’).
1.3. Идентификаторы
Это имена переменных. Все идентификаторы обязательно вводятся в объявлении переменных. Идентификатор — это последовательность латинских прописных истрочных букв, цифр изнака подчёркивания, причём первым символом обя­зательно должна быть буква или знак подчёркивания. Коли­чество символов может быть до32, ноочень длинные иден­тификаторы неудобны при составлении программ, удобнее
— 10 —
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]