Основы программирования на языке C
Описание файла
Документ из архива "Основы программирования на языке C", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве РУТ (МИИТ). Не смотря на прямую связь этого архива с РУТ (МИИТ), его также можно найти и в других разделах. .
Онлайн просмотр документа "Основы программирования на языке C"
Текст из документа "Основы программирования на языке C"
Федеральное государственное бюджетное
образовательное учреждение высшего
профессионального образования
«Московский государственный университет
путей сообщения»
Кафедра
«Системы автоматизированного проектирования»
М.А. Гуркова
Э.Р. Резникова
ОСНОВЫ ПРОГРАММИРОВАНИЯ НА ЯЗЫКЕ С
Практикум
Москва – 2015
Федеральное государственное бюджетное
образовательное учреждение высшего
профессионального образования
«Московский государственный университет
путей сообщения»
Кафедра
«Системы автоматизированного проектирования»
М.А. Гуркова
Э.Р. Резникова
ОСНОВЫ ПРОГРАММИРОВАНИЯ НА ЯЗЫКЕ С
Рекомендовано редакционно-издательским советом
университета в качестве практикума
для студентов специальности «САПР»
М осква – 2015
УДК 004.8
Г 95
Гуркова М.А. Резникова Э.Р. Основы программирования на языке С: Практикум. – М.: МГУПС (МИИТ), 2015.
– 44 с.
Настоящий практикум содержит рекомендации по выполнению лабораторных заданий по курсам «Информатика», «Программирование». Приведены основные приемы работы в оболочке MS Visual Studio, пояснения к лабораторным работам и варианты заданий. Приводятся варианты заданий, выполняемых студентами в рамках дисциплин «Информатика» и «Программирование».
Практикум предназначен для студентов направления 09.03.01 Информатика и вычислительная техника, профиль - Системы автоматизированного проектирования.
© МГУПС (МИИТ), 2015
Введение
В практикуме «Основы программирования на языке С» представлены пояснения к первым урокам. Во всех разделах приведены краткие пояснения к лабораторным работам и варианты лабораторных работ по курсам «Информатика», «Программирование».
1. Порядок работы в среде Visual Studio C++
Для редактирования и выполнения первых учебных программ на языке С в среде Visual Studio нужно создать новый пустой проект консольного приложения. В этом проекте мы будем работать только с одним файлом с текстом программы (например, Lab1.cpp).
-
Создать новый проект – меню File New Project
б) Visual Studio installed templates: Win32 Console Application
в) Location (расположение файлов проекта): путь к своей папке, удобнее использовать «Browse…» («Обзор…»)
г) Name: имя проекта, например Lab1
«Create directory for solution» без галочки (не создавать дополнительную папку для проекта) - «Ok»
-
Welcome to the Win32 Application Wizard - «Next»
-
Задать параметры проекта:
а) Console Application
б) Empty project
«Finish»
-
Добавить в проект .cpp-файл:
в окне «Solution Explorer»* выбрать Source Files, контекстное меню AddNew Item…
а) Categories: Code
б) Visual Studio installed templates: C++ File (.cpp)
в) Name: имя файла (может совпадать с именем проекта, например Lab1) «Add»
*Если на экране нет окна «Solution Explorer», то его надо включить командой главного меню View Solution Explorer
-
Набрать текст программы в окне *.cpp
-
Сохранить работу командой меню File Save…
-
Откомпилировать - в окне Solution Explorer выбрать файл, контекстное меню «Compile» (Ctrl+F7)
исправить синтаксические ошибки и снова откомпилировать
-
Собрать .exe – файл - меню Build Build Solution (F7)
-
Запустить на выполнение
а) без отладки - меню Debug Start Without Debugging (Ctrl+F5)
б) с отладкой - (можно ставить точки остановки и выполнять по шагам) меню Debug Start Debugging (F5)
-
Просмотреть результаты в специальном окне, можно выделить и скопировать их в буфер обмена с помощью контекстного меню
-
Можно менять проект, исключая или добавляя файлы –
в окне Solution Explorer выбрать файл, контекстное меню «Exclude From Project» - исключить из проекта
чтобы добавить в проект существующий .cpp-файл –
в окне Solution Explorer выбрать Source Files, контекстное меню Add Existing Item…
чтобы добавить в проект новый пустой .cpp-файл –
в окне Solution Explorer выбрать Source Files, контекстное меню AddNew Item…
2. Структура программы
Специфика языка проявляется уже в структуре программы, которая включает в себя последовательность описаний (переменных, констант, типов, функций и т.п.), определений и операторов. Любая программа состоит из функций, написанных программистом или содержащихся в библиотеках языка, количество которых не ограничено. Каждая из функций имеет собственное имя (стандартное - для библиотечных, придуманное - для пользовательских). Только одна из функций программы имеет имя main, ее называют главной и, чаще всего, программа начинает выполняться именно с нее. Вообще язык программирования С++ предоставляет большую свободу в стиле написания программ.
Тем не менее, существует общепринятый стандарт расположения основных частей программы.
1. Подключение необходимых библиотек.
2. Описание прототипов собственных функций (или подключение соответствующего заголовочного файла).
3. Описание глобальных переменных.
4. Функция main (основная функция программы).
5. Код собственных функций.
Разделы 2 и 3 могут быть переставлены. Также могут быть переставлены и разделы 4 и 5.
Кроме того, некоторые из разделов могут отсутствовать. Например, разделы описания прототипов собственных функций и их код (если в программе нет собственных функций или они хранятся в отдельных файлах и подключаются к программе).
При написании программы следует придерживаться следующих правил:
- программа должна быть читаема,
- имена переменных желательно выбирать осмысленно,
- использовать пустые строки и комментарии,
- каждый оператор на отдельной строке.
3. Лабораторная работа №1
Программирование линейных вычислительных процессов
Простейшими вычислительными процессами являются т.н. линейные вычислительные процессы. Это такие вычислительные процессы, при выполнении которых все команды выполняются по одному разу строго по порядку .
К основным операциям языка С++, которые нам потребуются в первых программах, относятся:
Основные операции
Присваивание | = | Присваивает тому, что стоит слева, значение того, что стоит справа. |
Сложение | + | Сумма двух операндов. |
Вычитание | - | Разность двух операндов. |
Умножение | * | Произведение двух операндов |
Деление | / | Частное двух операндов |
Унарный минус | - | Умножение на -1. |
Увеличение | ++ | Увеличение на 1. |
Уменьшение | -- | Уменьшение на 1. |
В стандарте языка С нет встроенных математических функций, но их можно использовать, подключив системную библиотеку # include <math.h>.
Основные функции
Математи-ческая запись | Запись на языке С | Математиче- ская запись | Запись на языке С |
arccos x | acos(x) | lg x | log10(x) |
arcsin x | asin(x) | xy | pow(x,y) |
arctg x | atan(x) | sin x | sin(x) |
cos x | cos(x) | sh x | sinh(x) |
ch x | cosh(x) | sqrt(x) | |
ex | exp(x) | tg x | tan(x) |
|x| | fabs(x) | th x | tanh(x) |
ln x | log(x) |
Задания к лабораторной работе № 1
Задача 1.
№ в-та | Функция | а | b | Результат |
1 | -3.2 | 0.03 | -0.120007 | |
2 | -4.6 | 3.84 | 9.214376 | |
3 | 6.8 | 2.3 | -18.15818 | |
4 | 10.5 | 3.257 | 2.174875 | |
5 | 1.23 | 6.79 | -11970.86 | |
6 | -2.56 | 3.284 | 1.09053 | |
7 | 7.4 | 2.1 | 3.04636 | |
8 | 3.0 | 12.8 | 4.413779 | |
9 | 23.0 | 4.83 | 196.3733 | |
10 | 3.83 | 21.98 | -3.174057 | |
11 | 3.0 | 0.63 | 3.741635 | |
12 | 0.609 | 0.33 | 4.987962 | |
13 | 5.8 | -65.0 | -91.98582 | |
14 | 5.95 | 347 | -0.65602 | |
15 | 3.69 | 7.04 | 0.548728 | |
16 | -0.3 | 8.6 | 9122.0049 | |
17 | 0.356 | -1.33 | -0.54143 | |
18 | 10.2 | -4.0 | 3.06795 | |
19 | -7.77 | 3.45 | 155.339 | |
20 | 11.1 | 22.2 | 1.802654 | |
21 | 0.356 | -1.33 | -1.208122 | |
22 | 1.2 | 0.403 | 23.642305 | |
23 | 1.876 | 4.1 | -3.413752 | |
24 | 2.3 | 6.371 | -2.249068 | |
25 | 5.78 | -39.5 | -0.142947 | |
26 | -1.11 | 6.2 | -1.150982 | |
27 | 0.609 | 0.33 | -0.284296 | |
28 | 12.3 | 7.04 | 0.238001 | |
29 | 4.59 | 1.006 | 0.160984 | |
30 | 4.6 | 3.84 | -0.906085 | |
31 | 2.43 | 5.37 | 0.158368 | |
32 | 12.6 | 3.4 | -1.895386 | |
33 | 1.87 | 14.1 | -12.73322 | |
34 | 3.75 | 1.41 | 11.594254 | |
35 | 13.5 | 100.4 | 9.34972 | |
36 | 3.5 | 1.84 | 27.232279 | |
37 | 13.3 | 10.8 | 48.821951 | |
38 | 3.35 | 6.8 | 1082.0245 | |
39 | 11.35 | 1.8 | -267.6033 | |
40 | 4.35 | 2.8 | -1703.334 |
Задача 2.
№ в-та | Задание |
1 | Определить площадь полукольца. Значения радиусов вводить с клавиатуры. Результат распечатать. |
2 | Из пункта А в пункт В выехал велосипедист со скоростью V1. Через час за ним выехал второй велосипедист со скорость V2. В пункт В они прибыли одновременно. Найти расстояние между пунктами. Значения скоростей ввести с клавиатуры. Результат распечатать. |
3 | Определить объем шара. Значение радиуса вводить с клавиатуры. Результат распечатать. |
4 | Определить объем круглого прямого конуса с заданным радиусом основания и высотой. Значения радиуса и высоты вводить с клавиатуры. Результат распечатать. |
5 | Определить площадь равностороннего треугольника. Значения стороны вводить с клавиатуры. Результат распечатать. |
6 | Найти площадь прямоугольного треугольника, если известны гипотенуза и один катет. Значения гипотенузы и катета вводить с клавиатуры. Результат распечатать. |
7 | Определить время, через которое встретятся два тела, движущиеся навстречу друг другу с постоянными скоростями V1 и V2 , если известно что расстояние между ними S. Значения скоростей и расстояние ввести с клавиатуры. Результат распечатать. |
8 | Определить объем пирамиды заданной высоты. В основании лежит квадрат. Значения высоты и стороны квадрата ввести с клавиатуры. Результат распечатать. |
9 | Дано действительное число а. Получить а15 за пять операций, пользуясь только операциями умножения. Значение а ввести с клавиатуры. Результат распечатать. |
10 | Определить площадь боковой поверхности цилиндра. Значения высоты и радиуса основания ввести с клавиатуры. Результат распечатать. |
11 | Вычислить площадь ромба, заданного двумя диагоналями. Значения диагоналей ввести с клавиатуры. Результат распечатать. |
12 | Найти площадь сектора. Значения радиуса и угол сектора ввести с клавиатуры. Результат распечатать. |
13 | Найти площадь равнобочной трапеции с основаниями а и b и углом при большем основании. Значения оснований и угла ввести с клавиатуры. Результат распечатать. |
14 | Определить расстояния между двумя точками, заданными координатами. Значения координат ввести с клавиатуры. Результат распечатать. |
15 | Найти площадь треугольника, заданными длинами сторон. Значения сторон вводить с клавиатуры. Результат распечатать |
16 | Определить периметр правильного n- угольника, описанного около окружности. Значения n и радиуса вводить с клавиатуры. Результат распечатать |
17 | Определить объем цилиндрической трубы. Значения радиусов и высоты трубы вводить с клавиатуры. Результат распечатать. |
18 | Дана длина окружности L. Найти площадь круга, ограниченного этой окружностью. Значение L вводить с клавиатуры. Результат распечатать. |
19 | Треугольник задан координатами своих вершин. Найти периметр этого треугольника. Значения координат ввести с клавиатуры. Результат распечатать. |
20 | Даны два действительных числа. Найти среднее арифметическое этих чисел и среднее геометрическое их модулей. Числа ввести с клавиатуры. Результат распечатать. |
22 | Даны катеты прямоугольного треугольника. Найти его гипотенузу и площадь. Значения катетов ввести с клавиатуры. Результат распечатать. |
23 | Дано действительное число а. Получить а21 за шесть операций, пользуясь только операциями умножения. Значение а ввести с клавиатуры. Результат распечатать |
24 | Дана длина ребра куба. Найти объем куба и площадь его боковой поверхности. Значение ребра ввести с клавиатуры. Результат распечатать |
25 | Определить площадь кольца. Значения радиусов вводить с клавиатуры. Результат распечатать. |
26 | Из пункта А в пункт В выехал велосипедист со скоростью V1. Через час навстречу ему выехал второй велосипедист со скорость V2. Они встретились по середине пути между А и В. Найти расстояние между пунктами и время в пути. Значения скоростей ввести с клавиатуры. Результат распечатать. |
27 | Определить площадь боковой поверхности пирамиды заданной высоты. В основании лежит квадрат. Значения высоты и стороны квадрата ввести с клавиатуры. Результат распечатать. |
28 | Определить объем цилиндра. Значения высоты и радиуса основания ввести с клавиатуры. Результат распечатать. |
29 | Найти площадь трапеции с основаниями а и b и высотой. Значения оснований и высоты ввести с клавиатуры. Результат распечатать. |
30 | Определить периметр правильного n- угольника, вписанного внутри окружности. Значения n и радиуса вводить с клавиатуры. Результат распечатать |
31 | Вычислить период колебания маятника длиной L. Значение L вводить с клавиатуры. Результат распечатать |
32 | Определить периметр правильного n - угольника, если задана длина стороны. Значения n и стороны вводить с клавиатуры. Результат распечатать |
33 | Найти площадь параллелепипеда, заданными длинами сторон и углом наклона между сторонами. Значения сторон и угол вводить с клавиатуры. Результат распечатать |
4. Лабораторная работа №2