Студопедия — ТЕОРЕТИЧЕСКАЯ ЧАСТЬ. Язык Св основе своей был создан в 1972 г
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

ТЕОРЕТИЧЕСКАЯ ЧАСТЬ. Язык Св основе своей был создан в 1972 г






Язык С в основе своей был создан в 1972 г. как язык для операционной системы UNIX [1]. Его автором считается Денис М. Ритчи (Dennis M. Ritchie).

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

Некоторое время отсутствовала единая политика по стандартизации языка С. В начале 1980-х г. в Американском национальном институте стандартов (ANSI) такая работа. В 1989 г. работа комитета по языку С была ратифицирована, и в 1990 г. был издан первый официальный документ по стандарту языка С. Появился стандарт 1989, т. е. С89 [2]. К разработке стандарта по языку С была также привлечена Международная организация по стандартизации (ISO). Появился стандарт ISO/IEC 9899:1990, или ANSI C99 [2].

В данном пособии за основу принимается стандарт языка С от 1989 г.

Язык С является прежде всего языком высокого уровня, но в нем заложены возможности, которые позволяют программисту (пользователю) работать непосредственно с аппаратными средствами компьютера и общаться с ним на достаточно низком уровне [2]. Многие операции, выполняемые на языке С,сродни языку Ассемблера. Поэтому язык С часто называют языком среднего уровня.

Для написания программ в практических разделах данного учебного пособия будет использоваться компилятор языка С++, а программирование будет вестись в среде Microsoft Visual Studio 2010. Предполагается, что на компьютере установлена эта интегрированная среда.

Microsoft Visual Studio 2010 доступна в следующих вариантах:

o express – бесплатная среда разработки, включающая только базовый набор возможностей и библиотек;

o professional – поставка, ориентированная на профессиональное создание программного обеспечения и командную разработку, при которой созданием программы одновременно занимаются несколько человек;

o premium – издание, включающее дополнительные инструменты для работы с исходным кодом программ и создания баз данных;

o ultimate – наиболее полное издание Visual Studio, содержащее все доступные инструменты для написания, тестирования, отладки и анализа программ, а также дополнительные инструменты для работы с базами данных и проектирования архитектуры ПО.

Отличительной особенностью среды Microsoft Visual Studio 2010 является то, что она поддерживает работу с несколькими языками программирования и программными платформами. Поэтому перед тем как начать создание программы на языке С, необходимо выполнить несколько подготовительных шагов по созданию проекта и выбора и настройки компилятора языка С для трансляции исходного кода.

После запуска Microsoft Visual Studio 2010 появляется стартовая страница (рис. 1.1).


Рис. 1.1. Стартовая страница Visual Studio 2010

Следующим шагом является создание нового проекта. Для этого в меню File необходимовыбрать New ® Project (или напечатать комбинацию клавиш Ctrl + Shift + N). Результат выбора пунктов меню для создания нового проекта показан на рис. 1.2.


Рис. 1.2. Окно с выбором нового проекта

Среда Visual Studio отобразит окно New Project, в котором необходимо выбрать тип создаваемого проекта. Проект (project) используется в Visual Studioдля логической группировки нескольких файлов, содержащих исходный код, на одном из поддерживаемых языков программирования, а также любых вспомогательных файлов. Обычно после сборки проекта (которая включает компиляцию всех всходящих в проект файлов исходного кода) создается один исполняемый модуль.

В окне New Project следует развернуть узел Visual С++, затем обратиться к пункту Win32 и на центральной панели выбрать Win32 Console Application (рис. 1.3).


Рис. 1.3. Выбор типа проекта

После выбора типа проекта в поле редактора Name (где по умолчанию имеется <Enter_name>) необходимо ввести его имя, например hello. В поле Location можно указать путь размещения проекта или выбрать его (путь) с помощью клавиши (кнопки) Browse. По умолчанию проект сохраняется в специальной папке Projects. Выбор имени проекта может быть достаточно произвольным: допустимо использовать числовое значение, допустимо имя задавать через буквы русского алфавита. В дальнейшем будем использовать имя, набранное с помощью букв латинского алфавита и, может быть, с добавлением цифр.

Пример выбора имени проекта показан на рис. 1.4.

 


Рис. 1.4. Пример задания имени проекта

Одновременно с проектом Visual Studio создает решение. Решение (solution) – это способ объединения нескольких проектов для организации более удобной работы с ними.

После нажатия кнопки OK откроется окно Win32 Application Wizard (мастер создания приложений для операционных систем Windows) (рис. 1.5).

 


Рис. 1.5. Мастер создания приложения

На первой странице мастера представлена информация о создаваемом проекте, на второй можно сделать его первичные настройки. После обращения к странице Application Settings или нажатия кнопки Next получим окно, представленное на рис. 1.6.


Рис. 1.6. Страница мастера настройки проекта по умолчанию

В дополнительных опциях (Additional options) следует поставить галочку в поле Empty project (пустой проект) и снять (убрать) ее в поле Precompiled header (рис. 1.7).


Рис. 1.7. Выполненная настройка мастера приложений

Здесь и далее будем создавать проекты по приведенной схеме, т. е. проекты в консольном приложении, которые выполняются целиком программистом (за счет выбора Empty project). После нажатия кнопки Finish получим экранную форму (рис. 1.8), где приведена последовательность действий добавления файла для создания исходного кода к проекту. Стандартный путь для этого: подвести курсор мыши к папке Source Files из узла hello в левой части открытого проекта приложения, выбрать Add, затем New Item (новый элемент).

 

 


Рис. 1.8. Меню добавления нового элемента к проекту

Выбрав (нажав) New Item получим окно (рис. 1.9), где через пункт меню Code узла Visual C++ выполнено обращение к центральной части панели, в которой осуществляется выбор типа файлов. В данном случае требуется обратиться к закладке C++ File (.cpp).

 

 


Рис. 1.9. Окно выбора типа файла для подключения к проекту

Теперь в поле редактора Name (в нижней части окна) следует задать имя нового файла и указать расширение . Например, main.c. Имя может быть достаточно произвольным, но имеется негласное соглашение, что оно должно отражать назначение файла и логически описывать исходный код, который в нем содержится. В проекте, состоящем из нескольких файлов, имеет смысл выделить файл, содержащий главную функцию программы, т. е. ту с которой она начнет выполняться. В данном пособии такому файлу мы будем задавать имя main.c, где расширение указывает на то, что этот файл содержит исходный код на языке С, и он будет транслироваться соответствующим компилятором. Программам на языке С принято давать указанное расширение. После задания имени файла в поле редактора Name, получим форму, представленную на рис. 1.10.


Рис. 1.10. Задание имени файла, подключаемому к проекту

Затем следует нажать кнопку Add. Вид среды Visual Studio после добавления первого файла к проекту показан на рис. 1.11. Добавленный файл отображается в дереве Solution Explorer под узлом Source Files (файлы с исходным кодом), и для него автоматически открывается редактор.


Рис. 1.11. Подключение файла проекта

На рис. 1.11 в левой панели в папке Solution Explorer отображаются файлы, включенные в проект в папках. Приведем их описание.

Папка Source Files предназначена для файлов с исходным кодом. В ней отображаются файлы с расширением .

Папка Header Files сожержит заголовочные файлы с расширением .h.

В папке Resource Files представлены файлы ресурсов, например изображения и т. д.

Папка External Dependencies отображает файлы, не добавленные явно в проект, но использующиеся в файлах исходного кода, например включенные при помощи директивы #include. Обычно в этой папке присутствуют заголовочные файлы стандартной библиотеки, использующиеся в проекте.

Следующий шаг состоит в настройке проекта. Для этого в меню Project главного менюследуетвыбрать hello Properties (или одновременно нажать клавиши Alt и F7, т. е. Alt + F7). Пример обращения к этому пункту меню показан на рис. 1.12.

 

 


Рис 1.12. Обращение к странице свойств проекта

После того как откроется окно свойств проекта, следует обратиться (с левой стороны) к Configuration Properties, появится ниспадающий список (рис. 1.13). Далее нужно обратиться к узлу General, и через него в левой панели выбрать Character Set, где установить свойство Use Multi-Byte Character Set. Настройка Character Set (набор символов) позволяетопределиться, какая кодировка символов – ANSI или UNICODE – будет использована при компиляции программы. Для совместимости со стандартом C89 мы выбираем Use Multi-Byte Character Set. Это позволяет использовать многие привычные функции, например по выводу информации на консоль.


Рис. 1.13. Меню списка свойств проекта

После осуществления выбора (рис. 1.13) следует нажать кнопку Применить. Затем необходимо выбрать узел С/С++ и в ниспадающем меню выбрать пункт Code Generation, через который в правой части панели обратиться к закладке Enable C++ Exceptions, установив для нее No (запрещение исключений С++). Результат установки выбранного свойства представлен на рис. 1.14. Затем нужно нажать кнопку Применить.

 


Рис. 1.14. Страница свойств для запрещения исключений С++

Далее в ниспадающем меню узла С/С++ необходимо выбрать пункт Language и через него обратиться в правую часть панели, где установить следующие значения для свойств: для свойства Disable Language Extensions (дополнительные языковые расширения фирмы Microsoft) – Yes (/Za), для Treat Wchar_t As Built in Type (рассматривать тип wchar_t как встроенный тип) No (/Zc:wchar_t–), Force Conformance in For Loop Scope (соответствие стандарту определения локальных переменных в операторе цикла for) – Yes(Zc:forScope), Enable Run-Time Type Information (разрешить информацию о типах во время выполнения) установить в No (/GR–), для свойства Open MP Support (разрешить расширение Open MP; используется при написании программ для многопроцессорных систем) No(/openmp–). Результат выполнения этих действий показан на рис. 1.15.


Рис. 1.15. Страница свойств закладки Language

После выполнения указанных действий следует нажать клавишу Применить. Далее в ниспадающем списке узла С/С++ следует выбрать пункт Advanced и в правой панели изменить свойство Compile As в свойство компиляции языка С, т. е. Compile as C Code (/TC). Результат установки компилятора языка С представлен на рис. 1.16.


Рис. 1.16. Результат выбора режима компиляции языка С

После нажатия клавиш Применить и ОК откроется подготовленный проект с пустым полем редактора кода, в котором можно начать писать программы. В этом редакторе наберем программу, выводящую традиционное приветствие «Hello World». Для компиляции созданной программы можно обратиться в меню Build, или, например, нажать клавиши Ctrl + F7. В случае успешной компиляции получим экранную форму, показанную на рис. 1.17.


Рис. 1.17. Успешно скомпилированная первая программа на языке С

Для приведенного кода программы запуск на ее исполнение из окна редактора в Visual Studio 2010 выполняется нажатием клавиши F5 (рис. 1.18).


Рис. 1.18. Консольный вывод первой программы на языке С

Произведем разбор первой программы. Во-первых, отметим, что в языке С нет стандартных инструкций (операторов) для вывода сообщений на консоль (окно пользователя), а предусмотрены специальные библиотечные файлы, в которых имеются функции для этих целей. В приведенной программе используется заголовочный файл с именем stdio.h (стандартный ввод–вывод), который должен быть включен в начало программы. Для вывода сообщения на консоль используется функция printf(). Для работы с консолью в программу включен также заголовочный файл conio.h, поддерживающий функцию getch(), которая извлекает символ из потока ввода, т. е. она предназначена для приема сообщения о нажатии какой-либо (почти любой) клавиши на клавиатуре. С другими компиляторами, возможно, потребуется getch(), т. е. без префиксного нижнего подчеркивания. Строка программы

 

int main (void)

сообщает системе, что именем программы является main() – главная функция и что она возвращает целое число, о чем указывает аббревиатура «int». Имя main() – это специальное имя, которое указывает, где программа должна начать выполнение [3]. Наличие круглых скобок после слова main свидетельствует о том, что это имя функции. Если содержимое этих скобок отсутствует или в них представлено служебное слово void, то это означает, что в функцию main() не передается никаких аргументов. Тело функции main() ограничено парой фигурных скобок. Все утверждения программы, заключенные в них, будут относиться к этой функции.

В теле функции main() имеются еще три функции. Во-первых, функция printf() находится в библиотеке компилятора языка С и печатает или отображает те аргументы, которые были подставлены вместо параметров. Символ \n означает единый символ newline (новая строка), т. е. с его помощью выполняется перевод на новую строку. Символ \t осуществляет табуляцию, т. е. начало вывода результатов программы с отступом вправо.

Функция без параметров getch() извлекает символ из потока ввода. С другими компиляторами, возможно, потребуется getch(), т. е. без префиксного нижнего подчеркивания.

Последнее утверждение в первой программе

return 0;

указывает на то, что выполнение функции main() закончено и что в систему возвращается значение 0 (целое число). Нуль используется в соответствии с соглашением об индикации успешного завершения программы [2].

Все действия в программе завершаются символом точки с запятой.

Все файлы проекта сохраняются в той папке, которая сформировалась после указания в поле Location имени проекта (hello). На рис. 1.19 показаны папки и файлы проекта Visual Studio 2010.

 


Рис. 1.19. Файлы и папки созданного проекта

Каждый файл обладает некоторым значением:

· hello.sln – файл решения для созданной программы. Он содержит информацию о том, какие проекты входят в данное решение. Обычно, эти проекты расположены в отдельных подкаталогах. Например, наш проект находится в подкаталоге hello;

· hello.suo – файл настроек среды Visual Studio при работе с решением, включает информацию об открытых окнах, их расположении и прочих пользовательских параметрах.

· hello.sdf – файл содержащий вспомогательную информацию о проекте, который используется инструментами анализа кода Visual Studio, такими как IntelliSense для отображения подсказок об именах и т. д.

Файлы папки Debug представлены на рис. 1.20.


Рис. 1.20. Файлы папки Debug

 

Рассмотрим их:

· hello.exe – исполняемый файл проекта;

· hello.ilk – файл «incremental linker», используемый компоновщиком для ускорения процесса компоновки;

· hello.pdb – отладочная информация (информация об именах в исполняемых файлах, используемая отладчиком).

Файлы папки hello показаны на рис. 1.21.


Рис. 1.21. Содержимое папки hello

Характеристика содержимого папки hello:

· main.c – файл исходного программного кода;

· hello.vcxproj – файл проекта;

· hello.vcxproj.user – файл пользовательских настроек, связанных с проектом;

· hello.vcxproj.filters – файл с описанием фильтров, используемых Visual Studio Solution Explorer для организации и отображения файлов с исходным кодом.

 







Дата добавления: 2015-09-06; просмотров: 550. Нарушение авторских прав; Мы поможем в написании вашей работы!



Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

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

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

Тактические действия нарядов полиции по предупреждению и пресечению групповых нарушений общественного порядка и массовых беспорядков В целях предупреждения разрастания групповых нарушений общественного порядка (далееГНОП) в массовые беспорядки подразделения (наряды) полиции осуществляют следующие мероприятия...

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

Тема: Кинематика поступательного и вращательного движения. 1. Твердое тело начинает вращаться вокруг оси Z с угловой скоростью, проекция которой изменяется со временем 1. Твердое тело начинает вращаться вокруг оси Z с угловой скоростью...

Условия приобретения статуса индивидуального предпринимателя. В соответствии с п. 1 ст. 23 ГК РФ гражданин вправе заниматься предпринимательской деятельностью без образования юридического лица с момента государственной регистрации в качестве индивидуального предпринимателя. Каковы же условия такой регистрации и...

Studopedia.info - Студопедия - 2014-2024 год . (0.012 сек.) русская версия | украинская версия