- •Е. А. Альтман основы языка с омск 2012
- •Введение
- •Лабораторная работа 1 Изучение среды программирования
- •Теоретические сведения
- •1.1.Среда программирования
- •Задание к работе
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа 2 Переменные и операции над ними
- •Теоретические сведения
- •2.1.Основные определения
- •2.2.Операции над целыми числами
- •2.3.Вещественные числа и операции над ними
- •Задание к работе
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа 3 Конструкция выбора, логические и другие операции
- •Теоретические сведения
- •3.1.Конструкция выбора и составная инструкция
- •3.2.Операторы отношения и логические операторы
- •3.3.Остальные операторы
- •Задание к работе
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа 4 Конструкции циклов
- •Теоретические сведения
- •4.1.Цикл while
- •4.2.Цикл for
- •4.3.Конструкция в конструкции
- •Задание к работе
- •5.2.Свойства массивов
- •5.3.Строки
- •5.4.Структуры
- •Задание к работе
- •6.2.Операции с указателями
- •6.3.Указатели и массивы
- •6.4.Указатели и структуры
- •Задание к работе
- •7.2.Использование указателей для передачи результата и аргумента
- •Задание к работе
- •Содержание отчета
- •Контрольные вопросы
- •Библиографический список
- •644046, Г. Омск, пр. Маркса, 35
Введение
В методических указаниях описываются цикл лабораторных работ, которые проводятся в 1 семестре на 1 курсе по дисциплине «Программирование» (для отдельных направлений дисциплина называется «Технология программирования»).
В цикле рассматриваются основные элементы языка программирования высокого уровня С. Цикл является базовым для изучаемых позднее других курсов, связанных с программированием на языках высокого уровня, низкоуровневым программированием, аппаратным устройством компьютера и другими направлениями информатики и вычислительной техники.
При изучения языка С рекомендуется использовать компилятор GCC. В Unix-подобных системах этот компилятор поставляется вместе с операционной системой, для Windows можно использовать его портированный вариант – MinGW. Этот компилятор поддерживает стандарт ANSI C, поэтому все рассматриваемые примеры должны работать и в других средах.
В рамках рассматриваемого цикла не рекомендуется использовать интегрированные среды разработки (IDE), такие, как, например, Visual Studio. Во-первых, особенности работы такой среды не связаны с языком программирования, а их изучение отнимает время. Во-вторых, имеющиеся в среде возможности автоматизации некоторых операций полезны профессиональным программистам, а при обучении будут скорее мешать, поскольку операция, сделанная компьютером за студента, студентом не освоится.
При освоении цикла лабораторных работ следует также иметь в виду, что он не посвящен алгоритмизации и написанию готовых программ. Он лишь закладывает базу для перехода к этим, наиболее интересным разделам программирования. И эта база является очень важной составляющей при подготовке специалиста, поэтому, твердо не освоив язык программирования, не нужно спешить к переходу непосредственно к алгоритмам.
Основной литературой к циклу лабораторных работ является книга [1], написанная авторами языка С. Она выдержала много изданий на многих языках и является классикой. На данном этапе изучения программирования не рекомендуется использовать другие книги, в которых часто смешивается описание языка, алгоритмы и другие элементы разработки программного обеспечения.
Для проверки освоения теоретических знаний и практических навыков в курсе используются тесты. Тесты проводятся во время проведения лабораторных работ.
Лабораторная работа 1 Изучение среды программирования
Цель работы: изучение среды программирования, получение навыков набора, оформления, компиляции и запуска программ.
Теоретические сведения
1.1.Среда программирования
Поскольку в текущем курсе изучаются основы программирования, использование сложных интегрированных сред, автоматизирующих многие процессы разработки и делающих часть работы программиста, не целесообразно. Более того, на начальных этапах обучения вредным следует признать использование таких возможностей сред, как точки останова и возможность просмотра значений переменных. Поэтому для компиляции программ будет использоваться простой, и, в то же время универсальный, компилятор gcc.
Этот компилятор является основным для бесплатных Unix-подобных систем, и может использоваться в них без установки дополнительного программного обеспечения. Для работы под Windows нужно установить один из портов этого компилятора – MinGW (простой вариант, рекомендуется к применению) или CygWin.
Кроме компилятора, для работы понадобится текстовый редактор, предпочтительно с подсветкой синтаксиса и с возможностью работы с различными кодировками. Не следует путать текстовые редакторы с текстовыми процессорами, такими, как, например MS Word. Текстовые процессоры добавляют к видимому тексту непонятную компилятору дополнительную информацию по оформлению текста и не подходят для набора исходного кода программ. В Linux системах, как правило, есть встроенный редактор (например, gedit), для Windows рекомендуется скачать какой-либо бесплатный, например notepad++.
Программы, набранные под одной операционной системой, должны компилироваться и запускаться под другой. Проблема может возникнуть с кодировкой русских букв. В командной строке Windows программы, по-умолчанию, должны выводить буквы в кодировке DOS (OEM 866), под Linux, скорее всего, UTF-8. Также, некоторые текстовые редакторы могут понимать не все кодировки.
Далее опишем процесс создания программы под операционной системой Windows (под Linux все делается аналогичным образом и у человека, использующего эту систему, проблем возникнуть не должно).
Первым шагом нужно набрать исходный код программы. Пример приведен на рис. 1. Набранный текст нужно сохранить в файле. В дальнейшем, при редактировании программы, не забывайте сохранять внесенные изменения. Компилятор будет компилировать файл на диске, а не текст, показанный в текстовом редакторе.
Для удобства изложения код программы приводится как фрагмент снимка экрана, на котором открыт текстовый редактор с исходным кодом. В редакторе имеется служебное поле с номерами строк, на которые удобно ссылаться при рассмотрении примера.
Рис. 1 Пример исходного кода программы
В рассмотренном примере есть главная функция «main()». Эта функция будет вызываться при запуске программы. Все действия, которые должны быть выполнены в программе, заключены в так называемые операторные скобки, которые в языке С обозначаются с помощью фигурных скобок (во 2 строке – открывающая скобка, в 4 – закрывающая). В нашей программе одно действие – функция «printf("Hello, world!");», которая печатает на экран сообщение, записанное в кавычках.
Компиляция и запуск программы выполняются из командной строки. В старых версиях операционной системы (например, в Windows XP) нужно нажать кнопку «пуск», выбрать меню «запуск программ» и в открывшемся окне набрать и выполнить команду «cmd». В новых версиях нужно нажать кнопку с эмблемой Windows, а команду «cmd» нужно набрать в поле поиска программ и файлов.
В открывшемся окне нужно перейти в каталог с компилятором. Для перехода на нужный диск следует набрать имя диска и двоеточие. Чтобы перейти в каталог, нужно выполнить команду «cd полный_путь_к_компилятору» (курсивом отмечается параметр, вместо которого нужно подставить собственное значение). Для того чтобы подняться на каталог более высокого уровня, можно воспользоваться командой «cd ..». Пример приведен на рис. 2.
Рис. 2 Пример перехода в каталог с компилятором
Компилятор запускается командой «gcc имя_файла». Файл с программой обычно находится в другом каталоге, поэтому нужно указывать полное имя файла, например: «D:\MinGW\bin>gcc d:/work/prog1.c», где «D:\MinGW\bin>gcc d:/work/prog1.c» это приглашение к вводу команды, которое выводит компьютер, а жирным выделена команда, которою следует ввести с клавиатуры.
По умолчанию программа скомпилируется в тот же каталог с именем «a.exe». Чтобы ее запустить, достаточно набрать имя файла, например, «D:\MinGW\bin>a».
Сказанного выше достаточно, чтобы набрать и скомпилировать все учебные программы из изучаемого курса, однако, для удобства работы рекомендуется освоить некоторые дополнительные возможностей компилятора и текстового редактора.
Часто удобно указать имя программы, которая должна быть скомпилирована. Делается это с помощью опции «-o» компилятора: «D:\MinGW\bin>gcc d:/work/prog1.c -o d:/work/myprog.exe».
Если исходный текст программы находится в нескольких файлах, то для его компиляции исходные файлы можно указать через пробел: «D:\MinGW\bin>gcc d:/work/hello.c d:/work/test.c -o d:/work/myprog.exe».
Чтобы не набирать при компиляции длинные строки, можно вызывать ранее введенные в командной строке команды с помощью клавиши «стрелка вверх».
Если вы хотите, чтобы программа выдавала сообщения на русском языке, то для исходного кода в текстовом редакторе нужно установить кодировку DOS (OEM 866), например, как показано на рис. 3.
Рис. 3 Установка корректной кодировки