Содержание
Аннотация. 2
Лабораторная работа 1. 6
Цель работы. 6
Задание. 6
Теоретическая часть. 6
Запуск IDE Borland C++. 6
Выход из IDE Borland C++. 6
Компоненты IDE. 7
Строка меню и меню.. 7
Наборы команд. 8
Окна в IDE Borland C++. 10
Рекомендации по выполнению лабораторной работы. 11
Содержание отчета. 11
Лабораторная работа 2. 12
Цель работы. 12
Задание. 12
Теоретическая часть. 12
Преобразование типов операндов. 12
Оператор форматного вывода printf 13
Рекомендации по выполнению лабораторной работы. 14
Содержание отчета. 14
Лабораторная работа 3. 15
Цель работы. 15
Задание. 15
Теоретическая часть. 15
Выражения и операции в языке СИ. 15
Приоритеты операций в выражениях. 16
Содержание отчета. 17
Лабораторная работа 4. 18
Цель работы. 18
Задание. 18
Теоретическая часть. 18
Оператор цикла for 18
Оператор цикла while. 19
Оператор do while. 19
Оператор break. 19
Оператор continue. 20
Содержание отчета. 20
Лабораторная работа 5. 21
Цель работы. 21
Задание. 21
Теоретическая часть. 21
Массивы в языке Си. 21
Указатели и массивы. 22
Условный оператор. 23
Оператор переключатель switch. 25
Оператор перехода goto. 26
Рекомендации по выполнению лабораторной работы. 26
Определение цифр числа. 26
Поиск простых чисел. 26
Треугольник Паскаля. 27
Содержание отчета. 27
Лабораторная работа 6. 28
Цель работы. 28
Задание. 28
Теоретическая часть. 28
Функции в языке Си. 28
Объявление и определение функций. 28
Прототип функции. 29
Параметры функции. 30
Локальные и глобальные переменные. 30
Функции и массивы. 30
Передача одномерных массивов как параметров функции. 30
Передача строк в качестве параметров функций. 30
Рекомендации по выполнению лабораторной работы. 30
Комментарии к заданию 1. 30
Комментарии к заданию 2. 31
Содержание отчета. 31
Лабораторная работа 7. 32
Цель работы. 32
Задание. 32
Рекомендации по выполнению лабораторной работы. 32
Комментарии к заданию 1. 32
Комментарии к заданию 4. 32
Комментарии к заданию 5. 32
Содержание отчета. 32
Лабораторная работа 8. 33
Цель работы. 33
Задание. 33
Теоретическая часть. 33
Ввод-вывод в языке Си. 33
Потоковый ввод-вывод. 33
Открытие и закрытие потока. 33
Стандартные файлы и функции для работы с ними. 34
Символьный ввод-вывод. 35
Строковый ввод-вывод. 35
Форматированный ввод-вывод. 35
Рекомендации по выполнению лабораторной работы. 35
Содержание отчета. 36
Лабораторная работа 9. 37
Цель работы. 37
Задание. 37
Теоретическая часть. 37
Ввод-вывод для двоичных файлов. 37
Прямой доступ к файлам. 37
Рекомендации по выполнению лабораторной работы. 38
Содержание отчета. 39
Лабораторная работа 10. 40
Цель работы. 40
Задание. 40
Теоретическая часть. 40
Строки в языке Си. 40
Операции со строками. 41
Содержание отчета. 43
Лабораторная работа 11. 44
Цель работы. 44
Задание. 44
Теоретическая часть. 44
Проверка символов. 44
Содержание отчета. 45
Лабораторная работа 12. 46
Цель работы. 46
Задание. 46
Теоретическая часть. 46
Содержание отчета. 47
Лабораторная работа 13. 48
Цель работы. 48
Задание. 48
Теоретическая часть. 48
Рекомендации по выполнению лабораторной работы. 50
Определение корней функции. 50
Метод деления отрезка пополам. 50
Метод хорд. 51
Вычисление интеграла. 52
Содержание отчета. 54
Лабораторная работа 14. 55
Цель работы. 55
Задание. 55
Рекомендации по выполнению лабораторной работы. 55
Содержание отчета. 58
Лабораторная работа 1
Цель работы
Изучение основных приемов работы с интегрированной средой разработки (Integrated Development Environment, IDE) Borland C++
Задание
Используя IDE Borland C++, ввести текст программы, оттранслировать ее, исправить ошибки и получить правильный результат.
Текст программы (программа инициализирует массив целых чисел, записывая в каждый его элемент номер элемента массива, взятый со знаком '-')
void main(void)
{
int mas[10];
int i,k=1;
for(i=0,i<10,i+1)
{
mas[i] = i*k
k=-k;
}
i=0;
while(i<10)
{
printf("mas[%i] = %i ",mas[i],i);
i++;
}
printf("\n");
}
Теоретическая часть
Интегрированная среда разработки Borland C++ включает все необходимое для написания, редактирования, компиляции, компоновки и отладки программ пользователя. Она обеспечивает:
- возможность присутствия на экране монитора большого числа окон, которые можно перемещать по экрану и размеры которых можно изменять;
- поддержку "мыши";
- диалоговые окна;
- команды копирование и вставки текста;
- готовые к копированию примеры из системы подсказки;
- встроенный ассемблер;
- возможность быстрого перехода к другим программам (например, к программе Турбо-Ассемблер, TASM) и обратного возврата;
- наличие макроязыка редактора.
Запуск IDE Borland C++
Для запуска IDE выберите пункт меню Пуск à Программы à Borland C++ à Borland C++ или дважды щелкните ярлык Borland C++ на рабочем столе – не экране появится основное окно программы.
Выход из IDE Borland C++
Выход из IDE Borland C++ можно осуществить следующими способами:
- для того, чтобы полностью выйти из IDE Borland C++, выберите пункт меню File à Quit (или нажмите клавишу Alt-X). Если в тексты программ были внесены какие-либо изменения, и они не были сохранены, то на экран будет выведен вопрос о сохранении изменений.
- Для того чтобы временно перейти из IDE в командную среду DOS, выберите пункт меню File à DOS Shell. Перейдя в этот режим, вы можете ввести любую команду DOS и даже можете запустить из командной строки какие-либо другие программы. Для возврата в среду Borland C++ введите в командной строке команду EXIT и нажмите клавишу Enter.
Компоненты IDE
IDE Borland C++ имеет три визуальных компоненты: строку меню в верхней части экрана, область окна в средней части экрана и строку состояния в нижней части aaaaaa экрана (см. рис. 1).
Рис. 1. Основное окно IDE Borland C++
Строка меню и меню
Строка меню представляет собой основное средство доступа ко всем командам (пунктам) меню. Строка меню оказывается невидимой лишь в том случае, когда просматривается информация, отображаемая вашей программой, или осуществляется переход к другой программе.
Если за командой меню следует многоточие (...), то в результате выбора данной команды появляется диалоговое окно. Если за командой следует стрелка (), то выбор данной команды приводит к появлению другого, всплывающего меню. Если рядом с командой не присутствует ни многоточие, ни стрелка, то это означает, что выбор данной команды приводит к немедленному выполнению того действия, которое закреплено за данной командой.
Выбор пунктов меню можно осуществлять следующими способами:
1. Нажмите клавишу F10 – в результате строка меню становится активной. Это означает, что дальнейшие нажатия клавиш будут относиться именно к строке меню, а не к другой компоненте IDE.
2. Для выбора того пункта меню, которое вы хотите отобразить, необходимо воспользоваться клавишами управления курсором. После этого нужно нажать клавишу Enter. После этого Borland C++ либо выполняет выбранную команду, либо отображает диалоговое окно, либо отображает другое меню.
Для отмены некоторого действия следует нажать клавишу Esc.
3. Для выбора пункта меню после нажатия клавиши F10 вы также можете лишь нажать выделенную другим цветом букву (букву активации) нужного пункта меню. Например, находясь в строке меню, можно нажать клавишу E, чтобы быстро перейти к меню Edit (редактирование). Если вы находитесь в произвольном месте системы, то для отображения необходимого вам пункта меню необходимо нажать комбинацию клавиш Alt + буква активации данного пункта меню.
При помощи мыши команду можно выбрать двумя способами:
1. Для вызова меню необходимо щелкнуть мышкой требуемый заголовок меню. После этого для выбора желаемого пункта нужно щелкнуть кнопкой на выбираемом пункте.
2. Можно также перевести указатель мыши от заголовка меню вниз непосредственно до команды меню. Когда указатель мыши достигнет той команды, которую вы хотите выбрать, отпустите кнопку мыши. (Если вы измените свои намерения, то необходимо лишь перевести указатель мыши за пределы меню; при этом никакая команда не будет выбрана.)
Наборы команд
В Borland C++ имеется два набора команд: команды обычного пользовательского доступа (Common User Access, CUA), который является стандартным набором, используемым большинством программ для Windows, и альтернативный набор команд. Доступные пользователю средства оперативного доступа зависят от используемого набора команд. Выбрать набор команд можно при помощи пункта меню Options à Environment à Preferences, выбирая нужный набор команд.
В представленных ниже таблицах приводится перечень наиболее часто используемых клавиш активации IDE Borland C++ для обоих наборов команд.
Таблица 1. Часто используемые клавиши активации общего назначения
CUA | Альт. | Элемент меню | Функция |
F1 | F1 | Help | Отображает экранный кадр подсказки |
F2 | File à Save | Сохраняет на диске тот файл который находится в активном окне Edit | |
F3 | File à Open | Отображает на экране диалоговое окно, с помощью которого можно открыть файл | |
F4 | Run à Go to Cursor | Выполняет программу до той строки, на которой установлен курсор | |
F5 | Window à Zoom | Распахивает на весь экран активное окно | |
Ctrl+F6 | F6 | Window à Next | Осуществляет циклическое перемещение от одного открытого окна к следующему |
F7 | F7 | Run à Trace Into | Осуществляет выполнение программы в режиме отладки, осуществляя трассирующее вхождение в функцию |
F8 | F8 | Run à Step Over | Осуществляет выполнение программы в режиме отладки, не выполняя вызовы функций |
F9 | F9 | Compile à Make EXE | Создание файла .EXE |
F10 | F10 | Активация строки меню |
Таблица 2. Клавиши активации меню
CUA | Альт. | Элемент меню | Функция |
Alt+пробел | Alt+пробел | меню Ё | Переход в системное меню Ё |
Alt+C | Alt+C | меню Compile | Переход в меню Comрile |
Alt+D | Alt+D | меню Debug | Переход в меню Debug |
Alt+E | Alt+E | меню Edit | Переход в меню Edit |
Alt+F | Alt+F | меню File | Переход в меню File |
Alt+H | Alt+H | меню Help | Переход в меню Helр |
Alt+O | Alt+O | меню Options | Переход в меню Oрtions |
Alt+P | Alt+P | меню Project | Переход в меню Project |
Alt+R | Alt+R | меню Run | Переход в меню Run |
Alt+S | Alt+S | меню Search | Переход в меню Search |
Alt+W | Alt+W | меню Window | Переход в меню Window |
Alt+X | Alt+X | File à Quit | Выход из Borland C++ |
Таблица 3. Клавиши активации режима редактирования
CUA | Альт. | Элемент меню | Функция |
Ctrl+Del | Ctrl+Del | Edit à Clear | Удаляет выбранный текст из окна, но не помещает его в текстовый буфер |
Ctrl+Ins | Ctrl+Ins | Edit à Coрy | Копирует выбранный текст в текстовый буфер |
Shift+Del | Shift+Del | Edit à Cut | Заносит выбранный текст в текстовый буфер и удаляет выбранный текст |
Shift+Ins | Shift+Ins | Edit à Paste | Вставляет текст, находящийся в текстовом буфере, в активное окно |
Аlt+Bksрc | Аlt+Bksрc | Edit à Undo | Восстанавливает текст в активном окне в предыдущее состояние |
Аlt+Shift+Bksрc | Аlt+Shift+Bksрc | Edit à Redo | Восстанавливает текст в активном окне в предыдущее состояние |
Ctrl+L | Search à Search Again | Повторяет последнюю команду Find или Reрlace | |
F2 | File à Save | Сохраняет на диске файл, который находится в текущем окне Edit | |
F3 | File à Oрen | Открытие файла |
Таблица 4. Клавиши активации режима управления окнами
CUA | Альт. | Элемент меню | Функция |
Alt+# | Alt+# | Переход к окну номер # | |
Alt+0 | Alt+0 | Window à List | Отображает список открытых окон |
Ctrl+F4 | Alt+F3 | Window à Close | Закрывает активное окно |
Shift+F5 | Window à Tile | Располагает все окна мозаично | |
Alt+F5 | Alt+F4 | Debug à Insрect | Открывает окно проверки |
Shift+F5 | Alt+F5 | Window à User Screen | Отображает экран пользователя |
F5 | Window à Zoom | Распахивает на весь экран/Возвращает к прежнему состоянию активное окно | |
Ctrl+F6 | F6 | Window à Next | Переключает активное окно |
Таблица 5. Клавиши активации режима выполнения и отладки
CUA | Альт. | Элемент меню | Функция |
Alt+F5 | Alt+F4 | Debug à Insрect | Открывает окно проверки |
Alt+F7 | Alt+F7 | Search à Previous Error | Переносит к предыдущей ошибке |
Alt+F8 | Alt+F8 | Search à Next Error | Переносит к следующей ошибке |
Alt+F9 | Alt+F9 | Comрile à Comрile to | Компилирует в OBJ-файл |
Ctrl+F2 | Ctrl+F2 | Run à Program Reset | Осуществляет реинициализацию выполняющейся программы |
Ctrl+F3 | Debug à Call Stack | Выдает на экран окно со стеком вызовов функций | |
Ctrl+F4 | Debug à Evaluate/Modify | Вычисляет выражение | |
Ctrl+F5 | Ctrl+F7 | Debug à Add Watch | Добавляет просматриваемое выражение в окно просмотра |
F5 | Ctrl+F8 | Debug à Toggle | Устанавливает или отменяет Breakрoint (точку прерывания программы) |
Ctrl+F9 | Ctrl+F9 | Run à Run | Выполняет программу |
F4 | Run à Go To Cursor | Выполняет программу до той строки, на которой установлен курсор | |
F7 | F7 | Run à Trace Into | Осуществляет выполнение программы в режиме отладки, осуществляя трассирующие вхождения в функции |
F8 | F8 | Run à Steр Over | Осуществляет выполнение программы в режиме отладки, минуя вызовы функций |
F9 | F9 | Comрile à Make | Собирает (компилирует/компонует) программу |
Таблица 6. Клавиши активации режима интерактивной подсказки
CUA | Альт. | Элемент меню | Функция |
F1 | F1 | Helр à Contents | Открывает экранный кадр контекстной подсказки |
F1 F1 | F1 F1 | Выдает на экран информацию о том, как пользоваться подсказкой. | |
Shift+F1 | Shift+F1 | Helр à Index | Выдает на экран индекс по системе подсказки |
Alt+F1 | Alt+F1 | Helр à Previous Toрic | Отображает предыдущий экранный кадр подсказки |
Ctrl+F1 | Ctrl+F1 | Helр à Toрic Search | (Только в редакторе) вызывает относящуюся к языку подсказку |
Окна в IDE Borland C++
Большая часть того, что вы видите и делаете в IDE, происходит в окне. Окно представляет собой область экрана, которую можно открывать, закрывать, перемещать, у которой можно изменять размеры, которую можно распахивать на весь экран, ориентировать в стык с другими окнами (чтобы не происходило перекрытий) и перекрывать с другими окнами.
В IDE может быть открыто много окон, но в каждый момент времени активным может быть только одно окно. Активным окном является то окно, в котором вы в настоящий момент работаете. Любые выбираемые вами команды или вводимый вами текст, как правило, относится только к активному окну. (Если один и тот же файл открыт в нескольких окнах, то действие будет относиться ко всем открытым окнам, в которых содержится файл.)
IDE позволяет без затруднений определить, какое именно окно является активным. Это достигается при помощи двойных линий бордюра, в которые заключается активное окно. Активное окно всегда содержит маркер закрытия окна, маркер распахивания окна на весь экран и полосы прокрутки. Если ваши окна перекрываются, то активное окно всегда будет находиться поверх других окон (всегда располагается на переднем плане).
Существует несколько типов окон, но большая их часть имеет следующие общие элементы:
- строку заголовка;
- маркер закрытия окна и маркер распахивания окна;
- полосы прокрутки;
- номер окна (от 1 до 9).
Строка заголовка, являющаяся самой верхней строкой окна, содержит название данного окна и номер окна. Для того, чтобы распахнуть окно на весь экранный кадр, можно подвести указатель мыши к строке заголовка и дважды щелкнуть заголовок кнопкой мыши.
Маркер закрытия окна представляет собой прямоугольник, который расположен в левом верхнем углу окна. Для закрытия окна необходимо щелкнуть мышкой маркер закрытия окна (можно также выбрать команду Window à Close или нажать комбинацию клавиш Alt-F3) . Окна Insрector и Helр считаются временными и могут быть закрыты с помощью нажатия клавиши Esc.
Маркер распахивания окна на весь экран располагается в правом верхнем углу. Если пиктограмма в этом углу представляет собой стрелку вверх, то можно подвести к этой пиктограмме мышь и нажать кнопку мыши, чтобы увеличить размеры окна до максимально возможного размера. Если эта пиктограмма представляет собой стрелку с двумя концами, направленными вверх и вниз, то окно уже имеет максимальный размер.
В правом верхнем углу первых девяти окон, которые вы открываете в системе Borland C++, имеется номер окна. Какое-либо окно можно сделать активным (то есть, вывести его на передний план) нажатием клавиши Alt в комбинации с номером окна. Например, если окно Helр имеет номер #5, но оно было "спрятано" под другими окнами, то для оперативного вывода его на передний план можно нажать комбинацию клавиш Alt+5.
Рекомендации по выполнению лабораторной работы
Лабораторную работу рекомендуется выполнять в следующем порядке:
Для этого закройте окно с текстом программы, перейдите из IDE в режим командной строки DOS, выбрав пункт меню File à DOS shell. Вставьте в принтер бумагу, в командной строке DOS введите команду @LPR <имя_файла_программы_без_расширения>
После завершения печати удалите файлы программ, введя команду
DEL <имя_файла_программы_без_расширения>.*
После удаления файлов введите команду exit
Содержание отчета
Отчет по лабораторной работе должен содержать:
- задание лабораторной работы, соответствующее варианту
- текст программы
- результаты работы программы
Лабораторная работа 2
Цель работы
Изучение базовых типов данных языка Си.
Задание
1. Для типов данных char, short, int, longс квалификаторами signed, unsignedсоставить программу, которая выполняет указанные преобразования типов, и вывести полученные результаты.
signed char à signed short int à signed int à signed long
unsigned char à unsigned short int à unsigned int à unsigned long
unsigned long à unsigned int à unsigned short int à unsigned char
signed long à signed int à signed short int à signed char
Преобразования должны быть выполнены для произвольного, максимального (CHAR_MAX, UCHAR_MAX, ULONG_MAX, LONG_MAX) и минимального (CHAR_MIN, LONG_MIN) значений переменной.
2. Выполнить указанные вычисления и распечатать полученные результаты.
signed int MAX à signed int MAX+1
unsigned int MAX à unsigned int MAX+1
signed int MIN à signed int MIN-1
unsigned int MIN à unsigned int MIN-1
Константы CHAR_MAX, UCHAR_MAX, INT_MIN, INT_MAX, UINT_MAX, ULONG_MAX, LONG_MAX, CHAR_MIN и LONG_MIN заданы в файле limits.h.
Теоретическая часть
Преобразование типов операндов
При выполнении вычислений в программах на языках высокого уровня в выражениях желательно использовать константы и переменные одного типа, однако это не всегда является возможным. Многие языки программирования высокого уровня не позволяют смешивать в выражениях переменные разных типов, но язык Си позволяет это делать.
Если в выражении в программе на языке Си используются операнды различных типов, то это выражение не считается ошибочным, а в нем производится автоматическое преобразование типов операндов:
- если в выражении используются операнды разных типов, то операнд с меньшей длиной приводится к операнду с большей длиной. Под длиной операнда в данном случае понимается количество байт, используемых для представления данных соответствующего типа.
Последовательность типов, упорядоченных по длине от большей к меньшей, выглядит следующим образом:
long double à double à float à long int à int à short int à char
- при выполнении операции присваивания значение выражения приводится с типу того операнда, который стоит слева от знака равенства (=), при этом значение выражения может "усекаться". Это происходит в случае, если тип переменной, которой должно быть присвоено значение, имеет меньшую длину, чем полученное значение выражения.
Рассмотрим для примера следующую простую программу:
void main(void)
{
char a;
int x = 100, y = 383;
a = x+y;
printf("x = %d, y=%d, x+y = %d\n",x,y,a);
}
В результате выполнения этой программы на экран будет выведена следующая строка:
x = 100, y=383, x+y = -29
Полученный результат объясняется тем, что значение выражения имеет тип int, а присваивается это значение переменной а, которая имеет тип char, ‑ в результате происходит усечение результата (см. рис. 2)
x+y=483 | |||||||||||||||||
¯ | ¯ | ¯ | ¯ | ¯ | ¯ | ¯ | ¯ | ||||||||||
a=-29 |
Рис. 2. Пример "усечения" данных
Схема усечения результата, показанная на рисунке, построена исходя из предположения, что данные типа int имеют длину 2 байта (sizeof(int)=2). Таким образом, в переменную а записываются младшие 8 бит результата – 11100011, а учитывая, что старший разряд – знаковый, значение а получается равным -29.
Дата: 2016-10-02, просмотров: 199.