Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Зачем нужно программирование?Содержание книги
Поиск на нашем сайте
Иногда создается впечатление, что все существующие задачи могут быть решены с помощью готовых программ для компьютеров. Во многом это действительно так, но опыт показывает, что всегда находятся задачи, которые не решаются (или плохо решаются) стандартными средствами. В этих случаях приходится писать собственную программу, которая делает все так, как вы этого хотите. Два этапа создания программ Программа на языке Си, также как и на большинстве современных языков программиро- вания, создается в два этапа 1) трансляция – перевод текста программы в машинные коды; 2) компоновка – сборка частей программы и подключение стандартных функций.
Исходный файл: First.cpp Транслятор Объектный файл:first.o Стандартные функции
Компоновщик Исполняемый файл: First.exe Почему же не сделать все за один шаг? Для простейших программ это действительно было бы проще, но для сложных проектов двухступенчатый процесс имеет явные преимущества: • обычно сложная программа разбивается на несколько отдельных частей (модулей), которые отлаживаются отдельно и зачастую разными людьми; поэтому в завершении остается лишь собрать готовые модули в единый проект; • при исправлении в одном модуле не надо снова транслировать (переводить в машинные коды) все остальные (это могут быть десятки тысяч строк); • при компоновке во многих системах можно подключать модули, написанные на других языках, например, на Ассемблере (в машинных кодах). Трансляторы языка Си называются компиляторами: они переводят (транслируют) сразу всю программу в машинный код, а не транслируют строчка за строчкой во время выполнения, как это делают интерпретаторы. Это позволяет значительно ускорить выполнение программы и не ставить интерпретатор на каждый компьютер, где программа будет выполняться. Исходный файл программы на языке Си имеет расширение *.с или *.cpp (расширение *.cpp говорит о том, что в программе могут быть использованы возможности языка Си++). Это обычный текстовый файл, в который записывают текст программы в любом текстовом редакторе, например, в Блокноте. Транслятор переводит исходный файл (вернее, записанную в нем программу) в машин-
ные коды и строит так называемый объектный файл с тем же именем и расширением *.o. Хотя в нем уже записан машинный код, объектный файл еще нельзя запускать на компьютере, потому что в нем не хватает стандартных функций (например, для ввода и вывода данных). Компоновщик подключает стандартные функции, хранящиеся в библиотеках (они имеют расширение *.a). В результате получается один файл с расширением *.exe, который и пред ставляет собой готовую программу. Простейшая программа на Си Такая программа состоит всего из 8 символов. Вот она: main() { } Основная программа всегда называется именем main (будьте внимательны – Си различает большие и маленькие буквы, а все стандартные операторы Си записываются маленькими буквами). Пустые скобки означают, что main не имеет аргументов. Фигурные скобки обозначают начало и конец основной программы – поскольку внутри них ничего нет, наша программа ничего не делает, она просто соответствует правилам языка Си, ее можно скомпилировать и получить exe-файл. Вывод текста на экран Составим теперь программу, которая делает что-нибудь полезное, например, выводит на экран слово «Привет».
#include <stdio.h> подключение функций стандартного ввода и вывода, описание которых находится в файле stdio.h main() вызов функции { printf("Привет"); вывода на экран } Выводы: • Чтобы использовать стандартные функции, необходимо сказать транслятору, что есть функция с таким именем и перечислить тип ее аргументов – тогда он сможет определить, верно ли мы ее используем. Это значит, что надо включить в программу описание этой функции. Описания стандартных функций Си находятся в так называемых заголовочных файлах с расширением *.h. • Для подключения заголовочных файлов используется директива (команда) препроцессора #include, после которой в угловых скобках ставится имя файла. Внутри угловых скобок не должно быть пробелов. Для подключения еще каждого нового заголовочного файла надо использовать новую команду #include. Препроцессор – это специальная программа, которая обрабатывает текст вашей программы раньше транслятора. Все команды препроцессора начиняются знаком #.
• Для вывода информации на экран используется функция printf. В простейшем случае
она принимает единственный аргумент – строку в кавычках, которую надо вывести на эк- ран. • Каждый оператор языка Си заканчивается точкой с запятой.
Как запустить программу? Чтобы проверить эту программу, надо сначала «напустить» на нее транслятор, который переведет ее в машинные коды, а затем – компоновщик, который подключит стандартные функции и создаст исполняемый файл. Раньше все это делали, вводя команды в командной строке или с помощью так называемых пакетных файлов. На современном уровне все этапы создания, трансляции, компоновки, отладки и проверки программы объединены и выполняются внутри специальной программы-оболочки, которую называют интегрированная среда разработки (IDE – integrated development environment). В нее входят: • редактор текста • транслятор • компоновщик • отладчик В этой среде вам достаточно набрать текст программы и нажать на одну клавишу, чтобы она выполнилась (если нет ошибок). В оболочке, например, Dev-C++ для запуска программы надо нажать клавишу F9. Если в программе есть ошибки, вы увидите в нижней части экрана оболочки сообщения об этих ошибках (к сожалению, на английском языке). Если щелкнуть по одной из этих строчек, в тексте программы выделяется строка, в которой транслятору что-то не понравилось. При поиске ошибок надо помнить, что • часто ошибка сделана не в выделенной строке, а в предыдущей – проверяйте и ее тоже; • часто одна ошибка вызывает еще несколько, и появляются так называемые наведенные ошибки. Остановим мгновение Если запускать рассмотренную выше программу, то обнаружится, что программа сразу заканчивает работу и возвращается обратно в оболочку, не дав нам посмотреть результат ее работы на экране. Бороться с этим можно так – давайте скажем компьютеру, что в конце работы надо дождаться нажатия любой клавиши.
#include <stdio.h> #include <conio.h> подключение заголовочного файла conio.h
main() { printf("Привет"); // вывод на экран getch(); /*ждать нажатия клавиши*/ }
Выводы: • Задержка до нажатия любой клавиши выполняется функцией getch(). • Описание этой функции находится в заголовочном файле conio.h.
|
||||||||||||
Последнее изменение этой страницы: 2016-04-08; просмотров: 511; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.135.209.20 (0.011 с.) |