Ввести с клавиатуры три числа вывести на экран среднее из них

Обновлено: 17.05.2024

Как мы уже выяснили, программа на высокоуровневом языке программирования (а язык С/С++ высокоуровневый) - это набор команд, которые написаны с соблюдением синтаксиса языка С/С++. Проще говоря, программа - это некий алгоритм, реализованный в виде последовательности команд.

Давайте разберёмся, из чего состоит стандартная программа, написанная на языке С/С++.

Библиотеки

Все функции с описанием синтаксиса, необходимым для компилятора, хранятся в библиотеках.

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

Для начала работы, нам нужно подключить две самые необходимые библиотеки:

Обратите внимание, что названия библиотек пишутся в специальных кавычках (<>). Расширение .h библиотек образовано от слова header (заголовок - англ.), что символизирует необходимость подключать библиотеки именно в шапке программного кода.
Главная функция программы

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

В языке программирования С/С++ главная функция называется main() , и поэтому мы должны создать ей сразу после библиотек. Чтобы создать главную функцию, необходимо добавить следующие команды (4-6 строки):

Давайте разберём синтаксис подробнее.

Перед названием главной функции указан тип возвращаемого значения, то есть тип данных, возвращаемых функцией. Тип int соответствует целым числам.

В языке С/С++ существует множество различных типов данных. Мы обязательно познакомимся с ними в последующих уроках. Функции могут ничего не возвращать, для этого существует специальный их тип void , про который мы поговорим в дальнейшем.

Сразу после названия идут пустые круглые скобки. В них должны находится аргументы, которые принимает функция main() . Мы пока оставим их пустыми, потому что только начинаем изучать язык программирования С/С++.

У многих файл main.cpp по умолчанию уже будет содержать некоторый код. Скорее всего там будет подключена библиотека iostream , а у функции main() будут аргументы. Мы обязательно познакомимся в дальнейшем с данной библиотекой. Пока что рекомендуется стереть всё, что было написано изначально. Это важно для понимания.

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

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

Внутри тела мы можем видеть лишь одну команду: return 0; . Данная команда как раз возвращает число 0 в конце работы главной функции. По умолчанию считается, что 0 - код успешной работы программы, если не введён другой код.

Во многих компаниях существует собственный список кодов для возврата. В таком списке указывается код и значение, ему соответствующее.

После команды стоит точка с запятой. Это не случайно. Точку с запятой необходимо ставить в конце каждой команды. Это часть синтаксиса языка С/С++.

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

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

II Основной синтаксис языка С/С++

Комментарии

Для комфортной работы с программным кодом нам просто необходимо уметь комментировать то или иное действие, причём так, чтобы компилятор не воспринимал это, как команды и не выдавал ошибки.

Вы могли заметить, что в примерах предыдущего раздела после каждой строчки есть описание того, что в ней произошло. А перед этим описанием стоят два слеша (//). Именно эта комбинация символов является для компилятора сигналом, что дальше будет идти комментарий, а не другие команды.

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

Можно комментировать не только записи после команд, но и сами команды. Для этого точно также достаточно поставить перед ними два слэша.

Если необходимо закомментировать несколько строк сразу, нужно напечатать в начале фрагмента, который требуется закомментировать символы /* а в конце этого фрагмента - */ (5-11 строки):

Давайте подытожим синтаксис, который был разобран:

III Хранение целых чисел

Основной тип данных в языке С/С++ это числа, которые, как мы знаем из математики, бывают целыми (2, 34, 45…) и нецелыми (2.123, 43.234, 3.123454…).

Для хранения чисел в языке С/С++ используются переменные, точно такие же, как в и математике ( х — «икс» или у — «игрек»).

Переменные также можно называть целыми именами. Главное правило - никаких пробелов.

Целые числа хранятся в типе int (от англ. inteher — целое число).

Чтобы создать переменную с именем «х» типа int нужно написать следующую команду (5 строка):

В одной строке можно создавать сразу несколько переменных одного типа. Для этого нужно просто перечислить их через запятую (5 строка):

Также никто не будет против, если Вы создадите при помощи нескольких отдельных строк (5-7 строки):

При создании переменной в оперативной памяти Вашего компьютера выделяется ячейка, которая будет хранить значение созданной переменной. Иногда это ячейка может содержать в себе мусор из оперативной памяти, поэтому правилом хорошего тона программистов считается очищение значения переменной непосредственно при её создании. Для этого достаточно просто положить в созданную переменную нуль.

Чтобы присвоить переменной то или иное значение можно просто написать:

Поэтому для очищения переменных непосредственно при их создании нужно (5 строка):

Обратите внимание, что можно сразу же присваивать значения переменным, записывая их при этом через запятую.

Значение переменной можно перезаписать в любом месте программы (6-8 строки):

Создание переменной называется её объявлением или инициализацией.

IV Считывание целых чисел с клавиатуры

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

Чтобы считать значения с клавиатуры в переменную можно воспользоваться функций scanf() (6 строка):

Название функции scanf() образовано от словосочетания scanning function (функция сканирования - англ.)

Функция scanf() имеет два аргумента: маску и переменные, куда необходимо положить значение, принятое процессором с клавиатуры.

Маска функции scanf()

Маска функции scanf() - это строка, которая написана в двойных кавычках. Маска содержит тип переменных, в которые будет произведена запись считанных данных. Для типа int аргументом является %d , в котором символ процента % служит обозначением того, что после него будет короткое имя типа считываемых данных. Для типа int короткое имя это английская буква d .

d - образовано от слова digit (цифры - англ.) и подразумевает, что будет считано простое число (или цифра).

Функция scanf() может считывать данные сразу в несколько переменных типа int . Для каждой из них в таком случае необходим свой %d в маске.

Переменные в функции scanf()

В качестве второго аргумента для функции scanf() выступают переменные, в которые и необходимо произвести считывание. Переменные пишутся через запятую после маски.

Перед каждой переменной пишется указатель - символ амперсант & , который указывает компилятору, куда осуществлять считывание.

По сути функция scanf() имеет не два аргумента, а столько, сколько нужно считать плюс ещё один (маска). Но для удобства будем считать, что аргументы функции scanf() это маска и переменные.
Примеры считывания целочисленных переменных с клавиатуры

Чтобы считать данные в больше, чем одну переменных, необходимо (6 строка):

V Вывод целых чисел на экран

Мы научились объявлять переменные, присваивать им необходимые значения непосредственно в программном коде, а также считывать значения переменных с клавиатуры. Теперь необходимо научиться выводить значения переменных на экран.

Чтобы вывести значения переменной на экран можно воспользоваться функций printf() (7 строка):

Название функции printf() образовано от словосочетания printing function (функция печати - англ.)

Функция printf() точно также, как и её аналог для чтения, имеет два аргумента: маску и переменные, значения которых необходимо отобразить на экране.

Маска функции printf()

Маска функции printf() - это строка, которая написана в двойных кавычках. Маска данной функции представляет из себя шаблон того, что будет написано на экране, и точно также содержит типы переменных, значения которых будут выписаны на экран.

Для типа int в маске точно также указывается уже знакомый нам %d .

Функция printf() также может выписывать на экран сразу несколько переменных int . Для каждой из них также необходим свой %d в маске.

Переменные в функции printf()

В качестве второго аргумента для функции printf() также выступают переменные, значения которых необходимо вывести на экран. Переменные пишутся через запятую после маски.

Однако указатель - символ амперсант & перед каждой переменной в функции printf() не пишется.

Функция printf() также имеет не два аргумента, а столько, сколько переменных нужно вывести на экран плюс ещё один (маска). Но для удобства также, как и для функции scanf() будем считать, что аргументы функции printf() это маска и переменные.
Примеры вывода целочисленных переменных на экран
Самым главным отличием маски функции printf() является то, что она представляет из себя шаблон, который будет отображен на экране в результате работы программы.

Значения переменных можно вывести различными способами (7-8 строки):

Символ \n (читается "бэк слеш эн") переносит курсор на новую строку, делая вывод красивее. Его использование входит в свод правил хорошего тона.

VI Основные операции над целыми числами

Над целыми числами в языке программирования С/С++ разрешены практически любые математические операции.

Самые интересные из их них требует подключение дополнительной библиотеки math.h :

Линейные операции

Линейными называются операции сложения, вычитания и умножения на константы (фиксированные числа). Они не требуют подкопчены библиотеки math.h , допустимы и очень легко осуществимы:

Обратите внимание, что можно произвести операцию над некоторой переменной и положить получившийся результат в неё же. Это называется операциями перезаписи.
Короткие операторы перезаписи
Оператором называется объект, который принимает на вход один или несколько аргументов, выполняет над ними некоторые операции и кладёт в заданную переменную. По сути, это те же функции, только в качестве их имён используются специальные знаки (+, -, %, += и т.д.)

Для операций перезаписи существуют короткие операторы. Например, следующие операции выполняют одни и те же действия:

Операции умножения и деления переменных друг на друга

Данные операции также можно использовать без подключения библиотеки math.h :

Скобки и длинные выражения

В программировании, как и в математике, очень часто необходимо вычислять длинные сложные выражения, поэтому язык С/С++ поддерживает скобки и длинные выражения.

Например, можно вычислить значение выражения: \frac <(4x^3 + 3y^2)(12z + 7x - y^3)>

Взятие квадратного корня и возведение в степень

А вот эти операции уже требуют подключения библиотеки math.h , так как они выполняются специальными функциями.

Функция sqrt() берёт квадратный корень, а функция pow() возводит любое число в любую степень.

Пример использования данных функций (7-8 строки):

Библиотека math.h содержит множество самых различных математических функций: синус, косинус, тангенс, логарифм и т.д. Все они могут быть запросто использованы в Вашем программном коде. Причём все вычисления осуществляются очень быстро.

1 Задача №1.

Считать с клавиатуры три целых числа и вывести их сумму.

Решение:
Пример работы программы:

2 Задача №2.

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

Читайте также: