Опубликован: 25.11.2008 | Уровень: специалист | Доступ: свободно | ВУЗ: Нижегородский государственный университет им. Н.И.Лобачевского
Лекция 1:

Введение. Немного истории

Лекция 1 || Лекция 2 >

Введение

Предлагаемый курс написан по материалам лекций, читавшихся автором на протяжении ряда лет студентам первых курсов факультета вычислительной математики и кибернетики Нижегородского государственного университета им. Н.И. Лобачевского. Как правило, лекции по языкам программирования C, C++ читаются во 2-м семестре после полугодичного курса "Основы программирования", построенного на базе алгоритмического языка Паскаль в средах Turbo Pascal 7.0, Delphi 6. Во втором семестре для обучения используются системы программирования Borland C++ (ver 3.1) и Borland C++ Builder (ver 5.0). Близость интегрированных сред и идейное совпадение основных синтаксических конструкций позволяют избежать ненужных повторений при изучении особенностей второго языка программирования.

Автор выражает признательность сотруднику НИИ прикладной математики и кибернетики ННГУ А.И. Кузнецову, который внимательно прочитал содержимое всех разделов и тщательно проверил все примеры программ. Его советы и рекомендации были учтены при оформлении окончательного варианта предлагаемого пособия.

Немного истории

Язык программирования C++ является наиболее распространенным инструментом разработки программных средств как системного, так и прикладного характера. Историю его появления связывают с сотрудником американской фирмы Bell Labs Денизом Ритчи, хотя его детищу – языку C предшествовали разработки и других системных программистов (М. Ричардс – система BCPL, К. Томпсон – язык B). Толчком к появлению различных программных средств, облегчавших жизнь системных программистов, явились работы по созданию операционной системы Unix для компьютера PDP-7, начатые в 1969 году. Дело в том, что тогда единственной операционной системой большого компьютера GE-645, обслуживавшей сотрудников лаборатории, была довольно громоздкая многопользовательская система Multics. К. Томпсон (кстати, один из разработчиков Multics) в свое время написал программу, моделирующую движение небесных тел. Каждый ее запуск на GE-645 обходился в 75$, а траектории движения выдавались в табличном виде.

И тогда небольшая группа сотрудников, возглавляемая К. Томпсоном, решила создать более удобную однопользовательскую систему на маленьком заброшенном компьютере PDP-7 с дисплеем. В состав этой группы входил и Д. Ритчи. Система Unix стала очень популярной среди сотрудников лаборатории, т.к. она существенно упрощала процесс прохождения задач и не требовала от пользователей знания многочисленных директив системы Multics. В 1970 году Д. Ритчи помог перенести Unix на более мощный компьютер PDP-11. В процессе этой работы пригодился набор макрокоманд на языке ассемблера, который упрощал программирование многочисленных процедур. Этот набор и был положен в основу языка C, который удачно сочетал специфику машинных команд с элементами языка высокого уровня. В 1973 году Д. Ритчи и К. Томпсон переписали ядро операционной системы Unix на язык C (до этого все программы были написаны на ассемблере).

С 1974 года система Unix вместе с исходными текстами на языке C и компилятор этого языка были переданы ряду университетов. Наиболее важную роль в последующем развитии системы Unix, превратившейся из однопользовательской в многопользовательскую, сыграли сотрудники университета Беркли. Популярность системы Unix, устоявшей до наших дней и обслуживающей сегодня более 90% серверов, в значительной мере содействовала и популярности языка C, компилятор которого поставлялся в составе Unix.

Следующий вклад в развитие мощности и универсальности языка C в 1983 году внес сотрудник все той же Bell Labs Бьёрн Страуструп. Предложенные им расширения привели к появлению версии C++ (первоначальное название – C с классами). Эти новшества позволили пользователям конструировать собственные типы данных, включать в язык новые операции над такими данными, агрегировать данные с обрабатывающими их функциями-методами, наследовать и переопределять методы в порождаемых классах.

Следует отметить и существенный вклад в развитие систем программирования на базе языков C, C++, внесенный фирмой Borland, точнее, ее основателем – Филиппом Канном. Речь идет о создании интегрированных систем разработки, в которых удачно соединились средства подготовки, хранения, отладки и компоновки программ. Впервые такая среда появилась в системе Turbo Pascal, а после ее успешного продвижения аналогичная среда была реализована в системе Turbo C. Все более поздние системы программирования в той или иной мере позаимствовали основные идеи Ф. Канна.

В настоящее время достаточно интенсивно эксплуатируются несколько систем программирования на базе языка C++. В среде профессиональных разработок наибольшей популярностью пользуются различные версии Visual C++ фирмы Microsoft. Они позволяют создавать довольно качественные по объему и производительности приложения. В вузовских организациях предпочтение отдают продукции фирмы Borland – Borland C++ (версии 3.1, 4, 5), визуальным средам Borland C++ Builder. Эти системы более просты в освоении, хотя качество производимой ими продукции оставляет желать лучшего. Среди профессионалов высокие оценки можно услышать в адрес компиляторов фирмы Intel. Несколько лет тому назад довольно много пользователей работало с различными версиями фирмы Symantec.

Лекция 1 || Лекция 2 >
Alexey Ku
Alexey Ku

Попробуйте часть кода до слова main заменить на 

#include "stdafx.h" //1

#include <iostream> //2
#include <conio.h>

using namespace std; //3

Александр Талеев
Александр Талеев

#include <iostream.h>
#include <conio.h>
int main(void)
{
int a,b,max;
cout << "a=5";
cin >> a;
cout <<"b=3";
cin >> b;
if(a>b) max=a;
else max=b;
cout <<" max="<<max;
getch();
return 0;
}

при запуске в visual express выдает ошибки 

Ошибка    1    error C1083: Не удается открыть файл включение: iostream.h: No such file or directory    c:\users\саня\documents\visual studio 2012\projects\проект3\проект3\исходный код.cpp    1    1    Проект3

    2    IntelliSense: не удается открыть источник файл "iostream.h"    c:\Users\Саня\Documents\Visual Studio 2012\Projects\Проект3\Проект3\Исходный код.cpp    1    1    Проект3

    3    IntelliSense: идентификатор "cout" не определен    c:\Users\Саня\Documents\Visual Studio 2012\Projects\Проект3\Проект3\Исходный код.cpp    6    1    Проект3

    4    IntelliSense: идентификатор "cin" не определен    c:\Users\Саня\Documents\Visual Studio 2012\Projects\Проект3\Проект3\Исходный код.cpp    7    1    Проект3

при создании файла я выбрал пустой проект. Может нужно было выбрать консольное приложение?

 

 

 

Денис Никитин
Денис Никитин
Россия, г. Воткинск

( ! ) Warning: include_once(./includes/unicode.entities.inc) [<a href='function.include-once'>function.include-once</a>]: failed to open stream: No such file or directory in /.2/var_www_new.intuit.ru/htdocs/includes/unicode.inc on line 340
Call Stack
#TimeMemoryFunctionLocation
12.7673101823896watchdog( )../bootstrap.inc:0
22.7676101826352module_invoke( )../bootstrap.inc:967
32.7676101828208call_user_func_array ( )../module.inc:462
42.7676101828544devel_watchdog( )../module.inc:462
52.7677101829392decode_entities( )../devel.module:382
62.7677101831312drupal_error_handler( )../devel.module:340
72.7678101834936watchdog( )../common.inc:663
82.7678101836992module_invoke( )../bootstrap.inc:967
92.7678101838848call_user_func_array ( )../module.inc:462
102.7678101839184devel_watchdog( )../module.inc:462
112.7678101839880decode_entities( )../devel.module:382

( ! ) Warning: include_once() [<a href='function.include'>function.include</a>]: Failed opening './includes/unicode.entities.inc' for inclusion (include_path='.:/usr/local/zend/var/libraries/Zend_Framework_1/default/library:/usr/local/zend/share/pear') in /.2/var_www_new.intuit.ru/htdocs/includes/unicode.inc on line 340
Call Stack
#TimeMemoryFunctionLocation
12.7673101823896watchdog( )../bootstrap.inc:0
22.7676101826352module_invoke( )../bootstrap.inc:967
32.7676101828208call_user_func_array ( )../module.inc:462
42.7676101828544devel_watchdog( )../module.inc:462
52.7677101829392decode_entities( )../devel.module:382
62.7677101831312drupal_error_handler( )../devel.module:340
72.7678101834936watchdog( )../common.inc:663
82.7678101836992module_invoke( )../bootstrap.inc:967
92.7678101838848call_user_func_array ( )../module.inc:462
102.7678101839184devel_watchdog( )../module.inc:462
112.7678101839880decode_entities( )../devel.module:382

( ! ) Warning: include_once(./includes/unicode.entities.inc) [<a href='function.include-once'>function.include-once</a>]: failed to open stream: No such file or directory in /.2/var_www_new.intuit.ru/htdocs/includes/unicode.inc on line 340
Call Stack
#TimeMemoryFunctionLocation
12.7673101823896watchdog( )../bootstrap.inc:0
22.7676101826352module_invoke( )../bootstrap.inc:967
32.7676101828208call_user_func_array ( )../module.inc:462
42.7676101828544devel_watchdog( )../module.inc:462
52.7677101829392decode_entities( )../devel.module:382
62.7686101831504drupal_error_handler( )../devel.module:340
72.7686101835192watchdog( )../common.inc:663
82.7686101837248module_invoke( )../bootstrap.inc:967
92.7686101839104call_user_func_array ( )../module.inc:462
102.7686101839440devel_watchdog( )../module.inc:462
112.7686101840216decode_entities( )../devel.module:382

( ! ) Warning: include_once() [<a href='function.include'>function.include</a>]: Failed opening './includes/unicode.entities.inc' for inclusion (include_path='.:/usr/local/zend/var/libraries/Zend_Framework_1/default/library:/usr/local/zend/share/pear') in /.2/var_www_new.intuit.ru/htdocs/includes/unicode.inc on line 340
Call Stack
#TimeMemoryFunctionLocation
12.7673101823896watchdog( )../bootstrap.inc:0
22.7676101826352module_invoke( )../bootstrap.inc:967
32.7676101828208call_user_func_array ( )../module.inc:462
42.7676101828544devel_watchdog( )../module.inc:462
52.7677101829392decode_entities( )../devel.module:382
62.7686101831504drupal_error_handler( )../devel.module:340
72.7686101835192watchdog( )../common.inc:663
82.7686101837248module_invoke( )../bootstrap.inc:967
92.7686101839104call_user_func_array ( )../module.inc:462
102.7686101839440devel_watchdog( )../module.inc:462
112.7686101840216decode_entities( )../devel.module:382

( ! ) Warning: include_once(./includes/unicode.entities.inc) [<a href='function.include-once'>function.include-once</a>]: failed to open stream: No such file or directory in /.2/var_www_new.intuit.ru/htdocs/includes/unicode.inc on line 340
Call Stack
#TimeMemoryFunctionLocation
12.7691101824440watchdog( )../bootstrap.inc:0
22.7691101826496module_invoke( )../bootstrap.inc:967
32.7691101828352call_user_func_array ( )../module.inc:462
42.7691101828688devel_watchdog( )../module.inc:462
52.7692101829392decode_entities( )../devel.module:382
62.7692101831312drupal_error_handler( )../devel.module:340
72.7692101834920watchdog( )../common.inc:663
82.7692101836976module_invoke( )../bootstrap.inc:967
92.7692101838832call_user_func_array ( )../module.inc:462
102.7692101839168devel_watchdog( )../module.inc:462
112.7693101839864decode_entities( )../devel.module:382

( ! ) Warning: include_once() [<a href='function.include'>function.include</a>]: Failed opening './includes/unicode.entities.inc' for inclusion (include_path='.:/usr/local/zend/var/libraries/Zend_Framework_1/default/library:/usr/local/zend/share/pear') in /.2/var_www_new.intuit.ru/htdocs/includes/unicode.inc on line 340
Call Stack
#TimeMemoryFunctionLocation
12.7691101824440watchdog( )../bootstrap.inc:0
22.7691101826496module_invoke( )../bootstrap.inc:967
32.7691101828352call_user_func_array ( )../module.inc:462
42.7691101828688devel_watchdog( )../module.inc:462
52.7692101829392decode_entities( )../devel.module:382
62.7692101831312drupal_error_handler( )../devel.module:340
72.7692101834920watchdog( )../common.inc:663
82.7692101836976module_invoke( )../bootstrap.inc:967
92.7692101838832call_user_func_array ( )../module.inc:462
102.7692101839168devel_watchdog( )../module.inc:462
112.7693101839864decode_entities( )../devel.module:382

( ! ) Warning: include_once(./includes/unicode.entities.inc) [<a href='function.include-once'>function.include-once</a>]: failed to open stream: No such file or directory in /.2/var_www_new.intuit.ru/htdocs/includes/unicode.inc on line 340
Call Stack
#TimeMemoryFunctionLocation
12.7691101824440watchdog( )../bootstrap.inc:0
22.7691101826496module_invoke( )../bootstrap.inc:967
32.7691101828352call_user_func_array ( )../module.inc:462
42.7691101828688devel_watchdog( )../module.inc:462
52.7692101829392decode_entities( )../devel.module:382
62.7697101831504drupal_error_handler( )../devel.module:340
72.7698101835192watchdog( )../common.inc:663
82.7698101837248module_invoke( )../bootstrap.inc:967
92.7698101839104call_user_func_array ( )../module.inc:462
102.7698101839440devel_watchdog( )../module.inc:462
112.7698101840216decode_entities( )../devel.module:382

( ! ) Warning: include_once() [<a href='function.include'>function.include</a>]: Failed opening './includes/unicode.entities.inc' for inclusion (include_path='.:/usr/local/zend/var/libraries/Zend_Framework_1/default/library:/usr/local/zend/share/pear') in /.2/var_www_new.intuit.ru/htdocs/includes/unicode.inc on line 340
Call Stack
#TimeMemoryFunctionLocation
12.7691101824440watchdog( )../bootstrap.inc:0
22.7691101826496module_invoke( )../bootstrap.inc:967
32.7691101828352call_user_func_array ( )../module.inc:462
42.7691101828688devel_watchdog( )../module.inc:462
52.7692101829392decode_entities( )../devel.module:382
62.7697101831504drupal_error_handler( )../devel.module:340
72.7698101835192watchdog( )../common.inc:663
82.7698101837248module_invoke( )../bootstrap.inc:967
92.7698101839104call_user_func_array ( )../module.inc:462
102.7698101839440devel_watchdog( )../module.inc:462
112.7698101840216decode_entities( )../devel.module:382