Навигация
Главная
Поиск
Форум
FAQ's
Ссылки
Карта сайта
Чат программистов

Статьи
-Delphi
-C/C++
-Turbo Pascal
-Assembler
-Java/JS
-PHP
-Perl
-DHTML
-Prolog
-GPSS
-Сайтостроительство
-CMS: PHP Fusion
-Инвестирование

Файлы
-Для программистов
-Компонеты для Delphi
-Исходники на Delphi
-Исходники на C/C++
-Книги по Delphi
-Книги по С/С++
-Книги по JAVA/JS
-Книги по Basic/VB/.NET
-Книги по PHP/MySQL
-Книги по Assembler
-PHP Fusion MOD'ы
-by Kest
Professional Download System
Реклама
Услуги

Автоматическое добавление статей на сайты на Wordpress, Joomla, DLE
Заказать продвижение сайта
Программа для рисования блок-схем
Инженерный калькулятор онлайн
Таблица сложения онлайн
Популярные статьи
OpenGL и Delphi... 65535
Форум на вашем ... 65535
HACK F.A.Q 65535
Бип из системно... 65535
Гостевая книга ... 65535
Содержание сайт... 65535
Вызов хранимых ... 65535
Программируемая... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Invision Power ... 65260
Организация зап... 63913
Модуль Forms 60833
Создание отчето... 60692
ТЕХНОЛОГИИ ДОСТ... 57011
Создание потоко... 56343
Пример работы с... 54252
Имитационное мо... 52465
Реклама
Сейчас на сайте
Гостей: 5
На сайте нет зарегистрированных пользователей

Пользователей: 13,065
новичок: railval
Новости
Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ
Delphi, Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog, 3D MAX, Компас 3D
Заказать программу для Windows Mobile, Symbian

База данных склада на Delphi + Схема БД
Расчет мер близости на отношениях на Delphi + Пояснительная записка
Диплом - база данных поставщиков на Delphi (MS Sql Server)+ Пояснительна...

Реклама



Подписывайся на YouTube канал о программировании, что бы не пропустить новые видео!

ПОДПИСЫВАЙСЯ на канал о программировании
Программа на языке C++
В С++ действие называется выражением, а выражение, заканчивающееся точкой с
запятой, – инструкцией. Инструкция – это атомарная часть С++ программы, которой в
программе на С++ соответствует предложение естественного языка. Вот примеры
инструкций С++:
cout << "значение переменной book_count: " << book_count;



Первая из приведенных инструкций является инструкцией объявления. book_count
можно назвать идентификатором, символической переменной (или просто переменной)
или объектом. Переменной соответствует область в памяти компьютера, соотнесенная с
определенным именем (в данном случае book_count), в которой хранится значение типа
(в нашем случае целого). 0 – это константа. Переменная book_count инициализирована
значением 0.
Вторая инструкция – присваивание. Она помещает в область памяти, отведенную
переменной book_count, результат сложения двух других переменных –
books_on_shelf и books_on_order. Предполагается, что эти две целочисленные
переменные определены где-то ранее в программе и им присвоены некоторые значения.
int book_count = 0;
book_count = books_on_shelf + books_on_order;



Третья инструкция является инструкцией вывода. cout – это выходной поток,
направленный на терминал, << – оператор вывода. Эта инструкция выводит в cout – то
есть на терминал – сначала символьную константу, заключенную в двойные кавычки
("значение переменной book_count: "), затем значение, содержащееся в области памяти,
отведенном под переменную book_count. В результате выполнения данной инструкции
мы получим на терминале сообщение:
значение переменной book_count: 11273
если значение book_count равно 11273 в данной точке выполнения программы.
Инструкции часто объединяются в именованные группы, называемые функциями. Так,
группа инструкций, необходимых для чтения исходного файла, объединена в функцию
readIn(). Аналогичным образом инструкции для выполнения оставшихся подзадач
сгруппированы в функции sort(), compact() и print().
В каждой С++ программе должна быть ровно одна функция с именем main(). Вот как
может выглядеть эта функция для нашего алгоритма:

int main()
{
readIn();
sort();
compact();
print();
return 0;
}



Исполнение программы начинается с выполнения первой инструкции функции main(), в
нашем случае – вызовом функции readIn(). Затем одна за другой исполняются все
дальнейшие инструкции, и, выполнив последнюю инструкцию функции main(),
программа заканчивает работу.
Функция состоит их четырех частей: типа возвращаемого значения, имени, списка
параметров и тела функции. Первые три части составляют прототип функции.
Список параметров заключается в круглые скобки и может содержать ноль или более
параметров, разделенных запятыми. Тело функции содержит последовательность
исполняемых инструкций и ограничено фигурными скобками.
В нашем примере тело функции main() содержит вызовы функций readIn(), sort(),
compact() и print(). Последней выполняется инструкция
return 0;



Инструкция return обеспечивает механизм завершения работы функции. Если оператор
return сопровождается некоторым значением (в данном примере 0), это значение
становится возвращаемым значением функции. В нашем примере возвращаемое значение
0 говорит об успешном выполнении функции main(). (Стандарт С++ предусматривает,
что функция main() возвращает 0 по умолчанию, если оператор return не использован
явно.)
Давайте закончим нашу программу, чтобы ее можно было откомпилировать и выполнить.
Во-первых, мы должны определить функции readIn(), sort(), compact() и print().
void readIn() { cout << "readIn()\n"; }
void sort() { cout << "sort()\n"; }



Для начала вполне подойдут заглушки:
void compact() { cout << "compact()\n"; }
void print() { cout << "print ()\n"; }



Тип void используется, чтобы обозначить функцию, которая не возвращает никакого
значения. Наши заглушки не производят никаких полезных действий, они только
выводят на терминал сообщения о том, что были вызваны. Впоследствии мы заменим их
на реальные функции, выполняющие нужную нам работу.
Пошаговый метод написания программ позволяет справляться с неизбежными ошибками.
Попытаться заставить работать сразу всю программу – слишком сложное занятие.
Имя файла с текстом программы, или исходного файла, как правило, состоит из двух
частей: собственно имени (например, bookstore) и расширения, записываемого после
точки. Расширение, в соответствии с принятыми соглашениями, служит для определения
назначения файла. Файл bookstore.h является заголовочным файлом для С или С++
программы. (Необходимо отметить, что стандартные заголовочные файлы С++ являются
исключением из правила: у них нет расширения.)
Файл bookstore.c является исходным файлом для нашей С программы. В операционной
системе UNIX, где строчные и прописные буквы в именах файлов различаются,
расширение .C обозначает исходный текст С++ программы, и в файле bookstore.C
располагается исходный текст С++.
В других операционных системах, в частности в DOS, где строчные и прописные буквы
не различаются, разные реализации могут использовать разные соглашения для
обозначения исходных файлов С++. Чаще всего употребляются расширения .cpp и
.cxx: bookstore.cpp, bookstore.cxx.
Заголовочные файлы С++ программ также могут иметь разные расширения в разных
реализациях (и это одна из причин того, что стандартные заголовочные файлы С++ не
имеют расширения). Расширения, используемые в конкретной реализации компилятора
С++, указаны в поставляемой вместе с ним документации.
Итак, создадим текст законченной С++ программы (используя любой текстовый
редактор):
}
#include
using namespace std;
void readIn() { cout << "readIn()\n"; }
void sort() { cout << "sort()\n"; }
void compact() { cout << "compact()\n"; }
void print() { cout << "print ()\n"; }
int main()
{
readIn();
sort();
compact();
print();
return 0;



Здесь iostream – стандартный заголовочный файл библиотеки ввода/вывода (обратите
внимание: у него нет расширения). Эта библиотека содержит информацию о потоке cout,
используемом в нашей программе. #include является директивой препроцессора,
заставляющей включить в нашу программу текст из заголовочного файла iostream.
Непосредственно за директивой препроцессора
#include



следует инструкция
using namespace std;



Эта инструкция называется директивой using. Имена, используемые в стандартной
библиотеке С++ (такие, как cout), объявлены в пространстве имен std и невидимы в
нашей программе до тех пор, пока мы явно не сделаем их видимыми, для чего и
применяется данная директива.
После того как исходный текст программы помещен в файл, скажем prog1.C, мы должны
откомпилировать его. В UNIX для этого выполняется следующая команда:
$ CC prog1.C
Здесь $ представляет собой приглашение командной строки. CC– команда вызова
компилятора С++, принятая в большинстве UNIX-систем. Команды вызова компилятора
могут быть разными в разных системах.
Одной из задач, выполняемых компилятором в процессе обработки исходного файла,
является проверка правильности программы. Компилятор не может обнаружить
смысловые ошибки, однако он может найти формальные ошибки в тексте программы.
Существует два типа формальных ошибок:
синтаксические ошибки. Программист может допустить “грамматические”, с точки
зрения языка С++, ошибки. Например:
int main( { // ошибка – пропущена ')'
readIn(): // ошибка – недопустимый символ ':'
sort();
compact();
print();
return 0 // ошибка – пропущен символ ';'}



ошибки типизации. С каждой переменной и константой в С++ сопоставлен некоторый
тип. Например, число 10 – целого типа. Строка "hello", заключенная в двойные
кавычки, имеет символьный тип. Если функция ожидает получить в качестве параметра
целое значение, а получает символьную строку, компилятор рассматривает это как
ошибку типизации.
Сообщение об ошибке содержит номер строки и краткое описание. Полезно
просматривать список ошибок, начиная с первой, потому что одна-единственная ошибка
может вызвать цепную реакцию, появление “наведенных” ошибок. Исправление этой
единственной ошибки приведет и к исчезновению остальных. После исправления
синтаксических ошибок программу нужно перекомпилировать.
После проверки на правильность компилятор переводит исходный текст в объектный код,
который может быть понят и исполнен компьютером. Эту фазу работы компилятора
называют генерацией кода.
В результате успешной компиляции образуется выполняемый файл. Если запустить
выполняемый файл, полученный в результате компиляции нашей программы, на
readIn()
sort()
compact()



терминале появится следующий текст:
print()



В С++ набор основных типов данных – это целый и вещественный числовые типы,
символьный тип и логический, или булевский. Каждый тип обозначается своим
ключевым словом. Любой объект программы ассоциируется с некоторым типом.
Например:
bool found = false;
int age = 10;
double price = 19.99;
char delimiter = ' ';



Здесь определены четыре объекта: age, price, delimiter, found, имеющие
соответственно типы целый, вещественный с двойной точностью, символьный и
логический. Каждый объект инициализирован константой – целым числом 10,
вещественным числом 19.99, символом пробела и логическим значением false.
Между основными типами данных может осуществляться неявное преобразование типов.
Если переменной age, имеющей тип int, присвоить константу типа double, например:
age = 33.333;



то значением переменной age станет целое число 33.
Опубликовал Kest January 04 2009 01:16:05 · 0 Комментариев · 10841 Прочтений · Для печати

• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •


Комментарии
Нет комментариев.
Добавить комментарий
Имя:



smiley smiley smiley smiley smiley smiley smiley smiley smiley
Запретить смайлики в комментариях

Введите проверочный код:* =
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Поделиться ссылкой
Фолловь меня в Твиттере! • Смотрите канал о путешествияхКак приготовить мидии в тайланде?
Загрузки
Новые загрузки
iChat v.7.0 Final...
iComm v.6.1 - выв...
Visual Studio 200...
CodeGear RAD Stud...
Шаблон для новост...

Случайные загрузки
Swat [Исходник на...
Архив Апгрейтов с...
JanReplace
Технология .Net в VB
Delphi World 6.0
isoCanvas (Редакт...
DirHTMLReportBuil...
Генетический алго...
Assembler. Учебни...
База англоязычных...
Панель Наша Кнопка
Заставка. Изображ...
C++ Стандартная б...
Размещение элемен...
Советы от Даниилы...
Ильдар Хабибуллин...
Zoom [Исходник на...
Разработка распре...
PDJ Scrollers
AlignEdit

Топ загрузок
Приложение Клие... 100376
Delphi 7 Enterp... 83066
Converter AMR<-... 20046
Borland C++Buil... 11173
GPSS World Stud... 10888
Borland Delphi ... 8120
Turbo Pascal fo... 6973
Visual Studio 2... 4963
Калькулятор [Ис... 4355
FreeSMS v1.3.1 3510
Случайные статьи
Основные понятия
"]" or ".)" expected
Операции записи да...
Пределы числовых д...
Скорость процессора
Машины VAX-11 и пр...
Разновидности комп...
Использование псев...
Можно ли доверять ...
Совместное использ...
African vases
Недостатки рекурси...
Архивация данных в...
Эмулятор микропроц...
ВКонтакте, Однокла...
Подпрограммы-функц...
Проходящая через и...
File components ma...
Комбинирование пре...
9.1. Проблема син...
Различные модифика...
Первый этап преобр...
get0(X)
Бизнес-модели инте...
Копирование печатн...
Статистика



Друзья сайта
Программы, игры


Полезно
В какую объединенную сеть входит классовая сеть? Суммирование маршрутов Занимают ли таблицы память маршрутизатора?