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

osnovyiprogrammirovaniyanac

.pdf
Скачиваний:
24
Добавлен:
12.03.2015
Размер:
1.46 Mб
Скачать

КОМПЬЮТЕРНЫЕ КУРСЫ

Основы

программирования на языке С+ +

Физтех-Колледж при М Ф Т И

Учебное пособие к курсу

Основы программирования на языке С++

Часть I. Издани е третье

Мунтян А.Ю.

Москва 2005

М у н т я н Александр Юрьевич . «Основы программирования на С + + , Част ь I».

Учебное пособие по курсу. © «Физтехшкола» 2005г. Редактор Воробьев А.В. На основе 2-го издания под Изосимовича Ильина.

Вашему вниманию предлагается 3-е издание курса лекций по программированию на языке C/C++, читаемого в Физтех-Колледже. Данный курс включает в себя два семестра. Настоящее пособие рассчитано на один семестр и посвящено изучению i

Хотя преподавание ведется на примере языка C/C++, многие рассматриваемые аспекты важны как для полноценного освоения современной компьютерной техники, так и для программирования вообще независимо от конкретного языка. И изменениями.

 

 

Оглавление

 

 

 

 

Глава 1. Введение

 

 

 

 

 

Глава 2.Алгоритмы 10

 

 

 

 

 

Глава 3.

Графика

 

 

 

 

17

Глава 4.

Типы данных

 

 

 

 

24

Глава 5.

Ввод и вывод

 

данных

 

 

30

Глава 6.

Условные операторы

 

 

 

 

37

Глава 7.

Циклические конструкции

 

 

 

45

Глава

8 . Оператор ы

цикла

while

и

do..while.

53

Глава 9.

Массивы

 

 

 

 

60

Глава 10.Строги и указатели

 

 

 

 

67

Глава 11.Функции

 

 

 

 

75

Глава 12.Файлы

 

 

 

 

81

Литература

 

 

 

88

«

Глава 1

Введение

 

У в а ж а е м ы й

читатель!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

П р и м е н е н и е

 

к о м п ь ю т е р о в

во

всех

областях

н а ш е й

ж и з н и

возрастает

не

только

благодаря

их

у н и к а л ь н ы м в о з м о ж н о с т я м ,

но

также

в

связи

с н е у к л о н н ы м у м е н ь ш е н и е м

р а з м е р о в

Э В М

и

п а д е н и е м

цен на них.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

К о м п ь ю т е р ы ,

 

к о т о р ы е

25

лет

назад

занимали

б о л ь ш и е

п о м е щ е н и я

и

стоили

м и л л и о н ы

долларов,

 

сегодня

могут

быть

з а м е н е н ы

к р е м н и е в о й

м и к р о с х е м о й

размером

м е н ь ш е

ногтя,

с т о я щ е й ,

в о з м о ж н о , всего

н е с к о л ь к о

долларов . И р о н и я

судьбы

заключается

в том,

что

к р е м н и й

является

одним

из

наиболее

р а с п р о с т р а н е н н ы х

на

земле

м а т е р и а л о в :

он

входит

 

в состав обычного песка.

 

Т е х н о л о г и я

к р е м н и е в ы х

 

м и к р о с х е м

сделала

в ы ч и с л е н и я

 

настолько

э к о н о м и ч н ы м и ,

что

во

всем

м и р е

используется

 

около

200

м и л л и о н о в

 

к о м п ь ю т е р о в

 

общего

н а з н а ч е н и я ,

п о м о г а ю щ и х

 

л ю д я м

в

бизнесе,

п р о и з в о д с т в е ,

у п р а в л е н и и

 

и

л и ч н о й

ж и з н и .

За

н е с к о л ь к о

лет

 

это

число

легко

может

удвоиться .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

П о э т о м у

так

высока

 

п о т р е б н о с т ь

в

специалистах,

у м е ю щ и х

писать

компьютерные

Программы

- ц е л е н а п р а в л е н н ы е

н а б о р ы

и н с т р у к ц и й для

к о м п ь ю т е р а .

 

 

 

 

 

 

 

П р о г р а м м и с т ы

используют

разные

я з ы к и п р о г р а м м и р о в а н и я .

Н е к о т о р ы е

и з них

п о н я т н ы компьютеру,

другие

требуют

предварительного

п р е о б р а з о в а н и я

в

м а ш и н н ы й

код.

Сегодня

существуют

сотни я з ы к о в ,

и

все

их условно

м о ж н о разделить

на три группы*;

 

 

 

1. М а ш и н н ы е я з ы к и .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.

Я з ы к и ассемблера.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3 .

Я з ы к и

в ы с о к о г о

уровня .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Л ю б о й к о м п ь ю т е р

может

п о н и м а т ь

л и ш ь

свой

с о б с т в е н н ы й

 

машинный

язык.

М а ш и н н ы й

 

я з ы к

-

 

это

« п р и р о д н ы й

язык»

определенного компьютера .

Он

определяется

при

п р о е к т и р о в а н и и

 

элементов

этого

к о м п ь ю т е р а .

М а ш и н н ы е

 

я з ы к и

в

общем

случае

содержат

строки

 

чисел,

 

к о т о р ы е

я в л я ю т с я

к о м а н д а м и

к о м п ь ю т е р у

на

в ы п о л н е н и е

б о л ь ш и н с т в а

э л е м е н т а р н ы х

 

о п е р а ц и й

(сложение, у м н о ж е н и е , д е л е н и е

и т.д.).

М а ш и н н ы е

я з ы к и машинно-зависимы,

т.е.

каждый

из

таких я з ы к о в

может

быть

и с п о л ь з о в а н

только

н а к о м п ь ю т е р е

о п р е д е л е н н о г о

типа .

М а ш и н н ы е

я з ы к и

т я ж е л ы

для

человеческого

в о с п р и я т и я .

К

примеру,

вот

программа,

которая

складывает

сверхурочную

зарплату с

о с н о в н о й

и

 

з а п о м и н а е т результат

к а к

общую зарплату:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+130004277 4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+1400593419

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+120027402 7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Со

 

в р е м е н е м

 

стало

о ч е в и д н о ,

что

п р о г р а м м и р о в а н и е

 

на

 

м а ш и н н ы х

языкгбс

с л и ш к о м

м е д л е н н о

и

утомительно для

б о л ь ш и н с т в а

п р о г р а м м и с т о в .

 

Вместо

строк чисел

п р о г р а м м и с т ы

начали

использовать

а н г л и й с к и е

аббревиатуры

 

для

представления

э л е м е н т а р н ы х о п е р а ц и й .

Эти

с о к р а щ е н и я

с ф о р м и р о в а л и

основу языков

ассемблера. Для

п р е о б р а з о в а н и я

п р о г р а м м

 

на

я з ы к е ассемблера

в

м а ш и н н ы й

 

код

были

р а з р а б о т а н ы

с п е ц и а л ь н ы е

п р о г р а м м ы

-

ассемблеры.

С л е д у ю щ и й

фрагмент

п р о г р а м м ы

на

я з ы к е

ассемблера

также

 

складывает

сверхурочную

зарплату

(overpay)

с

о с н о в н о й

(basepay)

и

з а п о м и н а е т

результат

как

общую

зарплату

(grosspay),

но

он

более

п о н я т е н

по

с р а в н е н и ю

со своим

м а ш и н н ы м

а н а л о г о м :

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

L O A D

basepay

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A D D

overpay

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S T O R E

grosspay

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Хотя

такой

код

более

п о н я т е н л ю д я м ,

он н е п о н я т е н к о м п ь ю т е р у до тех

пор, п ока не

будет

п р е о б р а з о в а н

в

м а ш и н н ы й код.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

И с п о л ь з о в а н и е

к о м п ь ю т е р о в

резко

возросло

с

 

п о я в л е н и е м

я з ы к о в

ассемблера,

но

п р о г р а м м ы

на

этих

языках

все

еще

требовали

много

 

к о м а н д

для

р е ш е н и я

даже

простых

задач.

Д л я

у с к о р е н и я

 

процесса

п р о г р а м м и р о в а н и я

 

были

 

р а з р а б о т а н ы

языки

 

высокого

уровня,

в

которых

 

иногда

достаточно

н а п и с а т ь

всего

один

оператор

для

р е ш е н и я

реальной

задачи.

П р о г р а м м ы ,

к о т о р ы е

преобразуют

 

и н с т р у к ц и и

на

я з ы к а х высокого

уровня

в

м а ш и н н ы й

код,

 

н а з ы в а ю т с я

компиляторами.

П р о г р а м м а

 

расчета

 

зарплаты,

н а п и с а н н а я

на

я з ы к е

в ы с о к о г о уровня,

может уложиться в одну строчку:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

grosspay = basepay + overtimepay

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Я з ы к и в ы с о к о г о

уровня

гораздо удобнее

для

п р о г р а м м и с т о в ,

чем

я з ы к и

ассемблера

и м а ш и н н ы й

 

код.

Н о ,

 

н е с м о т р я

на

это,

 

л и ш ь

н е м н о г и е

из

них

получили

 

ш и р о к о е

п р и м е н е н и е .

С + +

-

один

из

наиболее

м о щ н ы х

и

наиболее

р а с п р о с т р а н е н н ы х

я з ы к о в

в ы с о к о г о

уровня,

это

я з ы к ,

на

к о т о р о м

н а п и с а н о б о л ь ш и н с т в о

самых п о п у л я р н ы х

пакетов

п р о г р а м м . И

не

остается

с о м н е н и й

в

том,

что

С + +

останется

 

с а м ы м п о п у л я р н ы м

я з ы к о м

п р о г р а м м и р о в а н и я .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

П о ч е м у же С + + ?

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

П р о г р а м м ы на С + + легко

переносить из о д н о й п р о г р а м м н о - а п п а р а т н о й с р е д ы в

другую.

Это

 

значит,

что

 

если

при

н а п и с а н и и

п р о г р а м м ы

не

используются

б и б л и о т е к и ,

з а в и с я щ и е от к о н к р е т н о г о

к о м п и л я т о р а ,

или

о п е р а ц и и ,

э ф ф е к т и в н о с т ь

которых

зависит во

м н о г о м

от

о с о б е н н о с т е й

 

твоего

к о м п ь ю т е р а ,

то

твоя

п р о г р а м м а

будет

везде

работать

о д и н а к о в о п р а в и л ь н о .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Функциональная

 

расширяемость.

П р о г р а м м и с т

и м е е т

в о з м о ж н о с т ь

в н о с и т ь

свои д о б а в л е н и я

 

в

я з ы к ,

что

 

значительно

р а с ш и р я е т

в о з м о ж н о с т и

при р е ш е н и и

самых

р а з н о о б р а з н ы х

задач.

С + +

рассчитан

на

р а с ш и р е н и е

 

по

своему

замыслу,

 

п о с к о л ь к у

содержит

н е б о л ь ш о е

число

операторов . С а м о е важное

 

в

программах

на

С + + заключено в

ф у н к ц и я х ,

а я з ы к

сам

по

себе

не

имеет

других внутренних

 

ф у н к ц и й ,

к р о м е

о с н о в н о й

ф у н к ц и и

( ф у н к ц и и

main)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

П р о г р а м м и с т а м

 

о с о б е н н о

н р а в и т с я

краткость

выражений,

к о т о р ы м и

в

С + +

кодируются

 

алгоритмы .

 

 

Б о л ь ш и н с т в о

 

операторов

 

я з ы к а возвращают

 

 

н е к о т о р ы е

з н а ч е н и я , что

позволяет

представлять

в ы р а ж е н и я в

краткой

ф о р м е .

 

 

 

 

 

 

 

 

 

 

 

С + +

о б е с п е ч и в а е т

ф о р м и р о в а н и е

эффективного

машинного

кода п р о г р а м м ы ,

что

достигается

его

п р и в я з к о й

 

к о с о б е н н о с т я м

архитектуры

Э В М .

 

 

 

 

 

 

 

 

 

 

К р а т к а я и с т о р и я я з ы к а С + +

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Я з ы к

С

был

создан

в начале 70-х

 

годов Д э н н и с о м

Р и т ч и ,

к о т о р ы й

 

работал в

к о м п а н и и Bell

Telephone

 

Laboratories.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

С

был

 

разработан

 

как

я з ы к

для

п р о г р а м м и р о в а н и я

в н о в о й

 

по

тем

в р е м е н а м

о п е р а ц и о н н о й

системе

Unix .

ОС

Unix была н а п и с а н а на я з ы к е

 

ассемблера для

Э В М

PDPr -

7

и

п е р е н е с е н а

затем

 

на

P D P - 1 1 .

На

я з ы к

С

 

оказал

з н а ч и т е л ь н о е

в л и я н и е

его

п р е д ш е с т в е н н и к ,

 

я з ы к

В,

с о з д а н н ы й

К э н о м

Т о м п с о н о м ,

 

к о т о р ы й ,

 

в

свою

очередь,

является

последователем

я з ы к а

 

B C P L .

Я з ы к

B C P L

 

 

был создан

в

1969

г.

 

М а р т и н о м

Р и ч а р д с о м

 

в

 

 

р а м к а х

 

п р о е к т а

 

"Комбинированный

 

 

 

язык

 

программирования"

 

в

К е м б р и д ж с к о м университете в Л о н д о н е .

Вскоре Unix

была п е р е п и с а н а на я з ы к е

С + + ,

и в

1974 -

75 годах

ОС

Unix

 

ф и р м ы

Bell

Laboratories стала

п е р в ы м к о м м е р ч е с к и м

продуктом,

р е а л и з у ю щ и м

идею

о

том,

что

о п е р а ц и о н н а я

система

 

может

быть

у с п е ш н о

н а п и с а н а

на

я з ы к е

в ы с о к о г о уровня,

 

если

этот я з ы к является достаточно

м о щ н ы м и

г и б к и м .

 

 

 

 

 

 

В

1978

 

 

г.

 

Б р а й а н

 

К е р н и г а н

и Д э н н и с

 

Ритчи

н а п и с а л и

книгу

"Язык

программирования

 

 

С".

Эта

 

работа,

которая

в

 

своем

кругу

называлась

"белой

к н и г о й "

и

" K & R "

-

в

остальном

 

м и р е ,

 

стала

стандартом

о п и с а н и я

я з ы к а

С.

На м о м е н т создания

"K&R"

существовали

к о м п и л я т о р ы я з ы к а

С для Э В М

P D P - 1 1 , Interdata 8/32,

Honeywell

6000 и

I B M

370.

 

В

д а л ь н е й ш е м этот

список

был п р о д о л ж е н .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В к о н ц е

 

70-х

начали

п о я в л я т ь с я т р а н с л я т о р ы

С для м и к р о Э В М на

процессорах

8080 и

Z80

с о п е р а ц и о н н о й

 

системой

С Р / М . Скотт Газери

и Д ж и м

 

Гибсон

разработали

и

пустили

в

 

продажу

 

Tiny - C

( " К р о ш е ч н ы й

С")

- и н т е р п р е т а т о р ,

о с н о в а н н ы й

 

на

п о д м н о ж е с т в е

я з ы к а .

Его

и н т е р а к т и в н а я среда

п р о г р а м м и р о в а н и я

очень

похожа

на

ту,

что

имеет

ч р е з в ы ч а й н о

п о п у л я р н ы й

т р а н с л я т о р

Basic

ф и р м ы

Microsoft.

 

В

1980г.

Рон

К э й н

создал

 

 

свой

к о м п и л я т о р

Small-C

("Малый С")

для ОС

СР/М

и

м и к р о п р о ц е с с о р а 8080.

К о м п и л я т о р

Small - C,

о с н о в а н н ы й

 

на

п о д м н о ж е с т в е

я з ы к а

С,

был

н а п и с а н

на

самом

S m a l l - C .

П р о б л е м а

курицы

 

и я й ц а

была решена,

когда

К э й н создал первую версий)

к о м п и л я т о р а

на основе интерпретатора T i n y - C . Затем Small-C методом раскрутки создал

самого

 

себя,

 

когда

К э й н

вместе

с

другими,

используя

р а н н и е

версии

к о м п и л я т о р а ,

сделал

более

с о в е р ш е н н ы й

к о м п и л я т о р .

Small-C

к о м п и л и р у е т и с х о д н ы й

модуль

на

я з ы к е

С + +

в

 

модуль

на

я з ы к е ассемблера

п р о ц е с с о р а

8080.

Следует

отметить,

что

К э й н

предоставил

свой

 

к о м п и л я т о р

и

его и с х о д н ы й

текст

в

о б щ е с т в е н н у ю

собственность .

 

 

 

 

П р и м е р н о

в это

же

время

Лео

З о л м а н представил

 

свой

к о м п и л я т о р

B D S - C

для

С Р / М ,

также

о с н о в а н н ы й

на

п о д м н о ж е с т в е

я з ы к а С .

Д о с т о и н с т в а м и

этого

 

к о м п и л я т о р а

были

в ы с о к а я

скорость

и

в о з м о ж н о с т ь

совместной

к о м п о н о в к и п е р е м е щ а е м ы х

объектных

модулей

в загрузочном модуле.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вскоре

после B D S - C

были

с о з д а н ы

к о м п и л я т о р ы ,

п р е д н а з н а ч е н н ы е

для С Р / М

и

о с н о в а н н ы е

 

на

 

п о л н о м

 

м н о ж е с т в е

 

я з ы к а

С .

 

Это

 

дало

 

импульс

р а з в и т и ю

п р о г р а м м и р о в а н и я

на

С + + для

м и к р о Э В М .

В

1981

г.,

 

в связи

с

созданием

 

I B M

P C ,

в

м и р е

м и к р о Э В М

был

сделан

з н а ч и т е л ь н ы й скачок вперед.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

П о с л е

п о я в л е н и я

I B M

PC

стали

п о я в л я т ь с я

и

к о м п и л я т о р ы

С

для

этой П Э В М .

Н е к о т о р ы е

к о м п и л я т о р ы

были

получены

путем

п р е о б р а з о в а н и я

соответствующих

к о м п и л я т о р о в для

п р о ц е с с о р а

8080, другие

были

р а з р а б о т а н ы

с п е ц и а л ь н о

для

I B M

P C .

В н а с т о я щ е е

 

время на

р ы н к е

п р е д с т а в л е н ы более

двух

десятков

к о м п и л я т о р о в я з ы к а

С

для

I B M

P C .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В

1983

г.

А м е р и к а н с к и й

Институт

Стандартов

(ANSI)

с ф о р м и р о в а л

Т е х н и ч е с к и й

К о м и т е т

X3J11

 

для создания

стандарта

я з ы к а

С.

С т а н д а р т и з а ц и я

будет

р а с п р о с т р а н я т ь с я

не

только на я з ы к ,

но

и

 

на

п р о г р а м м н у ю

среду

к о м п и л я т о р а ,

а

также

на библиотеку

стандартных

ф у н к ц и й .

В

работе

к о м и т е т а

участвуют

представители

 

о с н о в н ы х

фирм

-

п о с т а в щ и к о в

к о м п и л я т о р о в

С,

в

том

числе

и

для

I B M

P C ,

а также м н о г и е

другие светила

из

м и р а

п р о г р а м м и р о в а н и я

на

я з ы к е

С .

У с и л и я

комитета

X3J11

п р и в л е к л и

в н и м а н и е

средств

массовой

и н ф о р м а ц и и .

П р е д л а г а е м ы й

стандарт

был

о п у б л и к о в а н для

того,

чтобы

все

з а и н т е р е с о в а н н ы е

с т о р о н ы

могли

о з н а к о м и т ь с я с

н и м

и

внести

свои

п р е д л о ж е н и я .

П о с к о л ь к у б о л ь ш и н с т в о

п о с т а в щ и к о в

к о м п и л я т о р о в

для

 

IBM

PC

 

участвуют

в

работе

комитета

ХЗ

Л 1 ,

то

р а з р а б а т ы в а е м ы е

и м и н о в ы е

версии

к о м п и л я т о р о в будут

в

рамках

этого

стандарта,

( к о м п и л я т о р

Borland

С

3.1

для

IBM

 

PC

п о д ч и н я е т с я

 

б о л ь ш и н с т в у

т р е б о в а н и й стандарта

на я з ы к

и

библиотеку) .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Я з ы к

С + +

является

 

о б ъ е к т н о - о р и е н т и р о в а н н ы м

 

р а с ш и р е н и е м

я з ы к а

С

 

ж,

п о д ч и н я я с ь

стандарту

A N S I

С,

 

дает

разработчику качественно

н о в ы е

 

в о з м о ж н о с т и

при

р е ш е н и и

самых

р а з н о о б р а з н ы х

задач.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Р а б о т а в

B o r l a n d С + + 3.1

 

 

 

И н т е г р и р о в а н н а я среда

Borland

С + +

3.1 представляет собой текстовой редактор со

в с т р о е н н ы м

к о м п и л я т о р о м . В

верхней

части

экрана располагается м е н ю . В м е н ю File есть

следующие

о п ц и и :

 

 

 

New - создание нового файла;

Load - загрузка ранее сохраненного файла;

Save

-

сохранение

текущего файла;

Save

as

- сохранить

под н о в ы м и м е н е м ;

Quit - выход.

 

Здесь

и далее

п е р е ч и с л я ю т с я

не

все о п ц и и ,

а

только те, к о т о р ы е

бывают о с о б е н н о

п о л е з н ы н а ч и н а ю щ и м

п р о г р а м м и с т а м .

П р и

выборе

пункта

N e w создается

 

новое

о к н о ,

п о к а з а н н о е

на

р и с у н к е .

 

У

окна

есть

н е к о т о р ы е

атрибуты.

А и м е н н о :

 

имя

 

файла,

обрабатываемого в окне (для нового

файла будет н а п и с а н о N O N A M E 0 0 . C P P ) ,

п о р я д к о в ы й

н о м е р

о к н а

(окно м о ж н о

выбрать,

нажав клавишу Alt + этот

н о м е р ) , м е с т о п о л о ж е н и е

курсора (номер строки

и

столбца) . Также

и м е ю т с я

вертикальная

и г о р и з о н т а л ь н а я

полоса

п р о к р у т к и .

В левом верхнем углу -

м а р к е р закрытия окна (окно также

м о ж н о

закрыть,

нажав

Alt

+

F3).

О д н о в р е м е н н о на

экране могут

находиться

н е с к о л ь к о

о к о н , но

только

одно

из

них может

быть

а к т и в н ы м .

Оно

обрамляется д в о й н о й

р а м о ч к о й ,

а

н е а к т и в н ы е

окна - о д и н а р н о й . П е р е к л ю ч е н и е между о к н а м и происходит при

н а ж а т и и

F6.

С п о м о щ ь ю

м а н и п у л я т о р а м ы ш ь

м о ж н о

и з м е н я т ь размеры

окна

(взявшись за

п р а в ы й

н и ж н и й

угол) и

п е р е м е щ а т ь

окно

по

экрану

( в з я в ш и с ь

за двойную

рамочку),

разворачивать

на весь

экран

(правый

верхний

маркер

или

к л а в и ш а

F5)

и

восстанавливать

до

п е р в о н а ч а л ь н о г о

размера

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

в

п о в т о р н ы м

нажатием

на м а р к е р .

 

 

 

 

 

 

 

 

 

 

 

 

 

Маркер

закрытия окна

 

 

 

Имя файла в окне

 

 

Номер окна

 

Изменение

 

 

I

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

размера о к н а

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Для активного

окна

 

 

двойные

линии,

для

 

 

неактивного -

оди¬

 

 

нарные

 

 

 

 

Текущий

номер

 

 

 

строки и

столбца

 

 

 

Маркер

местоположения

 

 

 

фрагмента текста в окне

 

 

1:1:

 

 

Если

файл

модифици¬

Перемещение текста влево

рован,

то

здесь будет

 

 

располагаться

звездочка

 

 

Перемещение текста вверх

Маркер местоположения текста в окне

Поле, соответствующее общему вертикальному размеру текста в окне

Перемещение текста вниз

Поле, соответствующее общему горизонтально¬ му размеру текста в окне

Перемещение текста вправо

Д ля

запуска

к о м п и л я т о р а

(если

удачно

п р о ш л и п р е д ы д у щ и е

д е й с т в и я )

и само

п р о г р а м м ы

достаточно нажать

Ctrl +

F 9 .

П о я в и т с я

о к н о , о т о б р а ж а ю щ е е

процес

к о м п и л я ц и и . Если

о ш и б о к нет,

то сразу же будет запущена

п р о г р а м м а .

Если есть

о ш и б ю

то в н и ж н е й части экрана п о я в и т с я еще одно о к н о с п е р е ч и с л е н и е м всех встретившихся о ш и б о к и указание

Загрузить

н о в ы й

файл

 

м о ж н о ,

нажав

 

клавишу

F 3 .

Для

сохранения

файл,

(рекомендуется

это

делать

п е р и о д и ч е с к и )

 

используется

клавиша

F2 .

П р и

первоА

с о х р а н е н и и Borland

С + +

3.1

п о п р о с и т

вас указать

имя файла и

место, куда

вы хотите ег<

сохранить .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В с т р о е н н ы й

т е к с т о в ы й

редактор

позволяет работать с

блоками

и н ф о р м а ц и и . Ч т о б ь

задать блок, нужно, удерживая клавишу Shift

с п о м о щ ь ю

клавиш

у п р а в л е н и я курсором

выделить

н у ж н ы й

текст. Далее,

с

блоком

м о ж н о делать следующие

вещи

(см. также м е н к

Edit):

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

К о п и р о в а т ь в буфер

обмена

(Ctrl +

Ins);

 

 

 

 

 

 

 

 

 

Вставить из буфера (Shift + Ins);

 

 

 

 

 

 

 

 

 

 

 

 

 

Вставить в ы д е л е н н ы й блок текста(СШ

+ К + С ) ;

 

 

 

 

 

 

 

 

 

Удалить

из

текста п р о г р а м м ы

(Ctrl

+

D e l ) .

 

 

 

 

 

 

 

 

Ч т о б ы получить о п и с а н и е

ф у н к ц и и ,

необходимо подвести

к этой

ф у н к ц и и

курсор

и нажать сочетание клавиш Ctrl +

F 1 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ч т о б ы удалить

целую

строчку,

н е о б х о д и м о

нажать

Ctrl

+

Y.

П р и н е п р а в и л ь н ы х

действиях

(случайно

что - то

было удалено)

м о ж н о отменить

п о с л е д н и е

и з м е н е н и я

с

п о м о щ ь ю

к о м б и н а ц и и Alt

+

Backspace.

Для

п о в т о р е н и я о т м е н е н н ы х

д е й с т в и й : Shift +

Alt

+Backspace.

Первая

программа

 

 

Задача п р о г р а м м ы - вывести

на экран строчку « Hello world !!! ».

Запустите

и н т е г р и р о в а н н у ю

среду

Borland С + + 3.1, создайте н о в ы й файл и наберите

следующий

текст:

 

 

Текст п р о г р а м м ы н а С + +

 

/*

Моя п е р в а я п р о г р а м м к а

*/

#i n c l u d e < s t d i o . h >

v o i d m a i n ( )

/ / н а ч а л о

 

p r i n t f ( " H e l l o

w o r l d !

\ n " ) ;

 

/ / к о н е ц

 

О т к о м п и л и р у й т е

ее и запустите.

На экране п о я в и т с я надпись

"Hello

world!", но к а к

только п р о г р а м м а будет

в ы п о л н е н а до

п о с л е д н е й строчки, на экране

в н о в ь

п о я в и т с я окно

Borland

С + +.

Ч т о б ы

увидеть

результат

в ы п о л н е н и я

п р о г р а м м ы ,

н е о б х о д и м о

нажать

сочетание к л а в и ш AU + F 5 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Р а с с м о т р и м

программу

п о с т р о ч н о .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

П е р в а я

строчка

заключена

 

в с к о б о ч к и

 

вида

 

/*

 

 

 

*/.

 

Это

так

 

н а з ы в а е м ы й

комментарий.

 

 

К о м м е н т а р и и

 

н и к а к

 

не

влияют

 

на

работу

 

п р о г р а м м ы

и

используются

только для

п о я с н е н и я

 

исходного кода.

В

д а н н о м

случае

в

к о м м е н т а р и и

з а п и с а н о

н а з в а н и е

п р о г р а м м ы .

Существует

еще

одна ф о р м а

записи

к о м м е н т а р и е в .

Если

в

тексте

п р о г р а м м ы

встречаются подряд два символа //,

то

все,

что

располагается

до

к о н ц а строчки,

считается

к о м м е н т а р и е м . В

н а ш е й п р о г р а м м е

слова

«начало»

и

«конец» я в л я ю т с я

к о м м е н т а р и я м и , <и

к о м п и л я т о р не п р и н и м а е т их во в н и м а н и е .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

С л е д у ю щ а я

строчка

будет выделена

зеленым

цветом .

 

Слово

include

в

переводе

с

а н г л и й с к о г о

 

я з ы к а

значит

«подключить».

В п р о г р а м м е

будет

и с п о л ь з о в а н а

 

ф у н к ц и я

printf(), о п и с а н и е к о т о р о й

находится

в

файле

stdio.h

- стандартной

б и б л и о т е к е

ф у н к ц и й .

 

П р о г р а м м ы

н а

 

С + +

содержат э л е м е н т ы ,

н а з ы в а е м ы е

ф у н к ц и я м и .

О н и

п р и з в а н ы

в ы п о л н я т ь э л е м е н т а р н ы е

о п е р а ц и и

при

работе

 

п р о г р а м м ы .

Очистить

э к р а н ,

вывести

строку, нарисовать на

экране круг

и

м н о г о е

другое

-

все

это

делают

ф у н к ц и и .

Пользуясь

н а б о р о м операторов

С + + ,

 

Вы

можете

сами

создавать

 

такие

ф у н к ц и и ,

но

большая часть

п р о г р а м м и с т о в

н а

С + +

пользуется

уже

 

заранее

 

с о з д а н н ы м и

ф у н к ц и я м и

и з

библиотек

стандартных

 

ф у н к ц и й .

И

вправду,

 

зачем

тратить

время

на

 

р е ш е н и е

задач,

к о т о р ы е уже

р е ш е н ы

р а н ь ш е ? Для

 

того

чтобы иметь

в о з м о ж н о с т ь

использовать

эти

ф у н к ц и и

в своих

программах,

н е о б х о д и м о

с о о б щ и т ь

к о м п и л я т о р у ,

в

каком

ф а й л е - б и б л и о т е к е

они

о п и с а н ы .

Если

 

нужно

 

 

п о д к л ю ч и т ь

другие

б и б л и о т е к и ,

н а п р и м е р ,

 

математическую,

в

к о т о р о й содержатся

 

 

о с н о в н ы е т р и г о н о м е т р и ч е с к и е

ф у н к ц и и ,

 

о п е р а ц и и

в о з в е д е н и я

в

степень,

и з в л е ч е н и е

 

 

а р и ф м е т и ч е с к о г о

квадратного

к о р н я

 

и

т.д.,

 

то

нам

н е о б х о д и м о

н а п и с а т ь следующее:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

# i n c l u d e

 

< m a t h . h >

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m a t h . h

-

имя

 

файла,

в к о т о р о м

о п и с а н а

стандартная

м а т е м а т и ч е с к а я

библиотека .

С т а н д а р т н ы х

библиотек

в C / C + +

очень

м н о г о .

Мы

будем

з н а к о м и т ь с я

с

н и м и

по мере

изучения

новых

ф у н к ц и й .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Далее

идет

следующая к о н с т р у к ц и я :

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

v o i d m a i n ( )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

{

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Это

ф у н к ц и я

main(),

которая

присутствует в л ю б о й

п р о г р а м м е

на

C / C + + ,

и и м е н н о

с нее н а ч и н а е т с я

в ы п о л н е н и е п р о г р а м м ы .

Тело

ф у н к ц и и

main()

о г р а н и ч е н н о

ф и г у р н ы м и

с к о б к а м и .

 

Внутри

них

з а п и с ы в а ю т с я

операторы

п р о г р а м м ы .

В н а ш е м

случае

 

записана

ф у н к ц и я

вывода

на

 

 

э к р а н

- ф у н к ц и я

 

printf().

 

Отличительной

чертой

всех

 

ф у н к ц и й

является

н а л и ч и е

круглых скобок . Внутри них

 

з а п и с ы в а ю т с я

п е р е д а в а е м ы е

 

ф у н к ц и и

п а р а м е т р ы .

 

Здесь

мы

 

передаем

строку

текста.

Строка

 

должна быть

заключена в

д в о й н ы е

к а в ы ч к и

и

 

может

содержать

внутри

себя

 

л ю б ы е

с и м в о л ы

том

числе

и

буквы

русского

а л ф а в и т а ) .

 

В

строке,

которая

передается

ф у н к ц и и

 

printf(),

есть

символ,

к о т о р ы й

не

выводится

на экран

 

 

-"\п".

 

Это

у п р а в л я ю щ и й

символ .

Его

 

цель

-

перенести

курсор

на

новую строку,

после

 

того

как будет

напечатано

 

«Hello

world!».

 

 

 

 

 

 

 

 

 

 

 

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

ь

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]