Void main()
{
char ch;
ch = getchar(); // Ввод символа
putchar(ch); // вывод символа
}
Функция getchar() аргументов не имеет. Она просто получает очередной поступающий символ и сама возвращает его значение выполняемой программе. В данном случае значение функции getchar() присваивается переменной ch.
Функция putchar() имеет один аргумент. При ее вызове необходимо в круглых скобках указать символ, который требуется вывести на печать. Аргументом может быть одиночный символ, переменная, функция или выражение, значением которого является одиночный символ, а также знаки из управляющей Esc-последовательности.
Предыдущую программу можно записать более компактно:
#include <stdio.h>
Void main()
{
char ch;
putchar(getchar()); // ввод-вывод символа
}
В примере 2 уже применялась функция getchar(), так как после выполнения программы, если нет ошибок при выполнении, происходит автоматический возврат всреду Borland C++, и для просмотра результатов нужно нажимать клавиши <Alt + F5> ( или выбрать пункт меню Windows | User Screen). Чтобы сразу просматривать результат, в конец программы добавляется функция getchar(), которая ждет нажатия любой клавиши и только после этого происходит возвращение в Borland C++.
Функция gets(), в отличие от getchar(), получает не символ, а строку из стандартного устройства ввода, которым обычно является клавиатура. Функция gets() читает символы до тех пор, пока ей не встретится символ новой строки \n, который создается при нажатии клавиши <Enter>. Фукция gets() берет все символы до (но не включая) символа новой строки, присоединяет к ним нуль-символ \0 (являющийся признаком конца строки) и передает вызывающей программе.
Функция puts() имеет один аргумент, являющийся именем (указателем) строки. Puts() выводит строку на экран и завершает вывод символом новой строки. В этом отличие функции puts() от функции putchar(), так как функция putchar() записывает единственный символ на экран и не добавляет '\n'. Функция printf() также не выводит автоматически каждую строку текста с новой строки, в этом случае она менее удобна, чем puts(), но она более гибка. Функция printf(), например, позволяет легко объединять строки для печати их в одной строке.
Например, printf ( " Хорошо , %s, %s ", name, MSG);
объединяет "Хорошо" с именем пользователя и с символьной строкой MSG в одну строку. Функция gets() выгодно отличается от scanf() тем, что читает все, что вы набираете на клавиатуре, пока не нажмете <Enter>, а функция scanf() при вводе скажем, имени и фамилии запоминает только имя, потому что введенный вами после имени пробел сигнализирует scanf() о конце вводимой строки. Поэтому надо разумно пользоваться функциями ввода-вывода и применять ту, которая в данном случае наиболее эффективна.
Примечание. Для выполнения лабораторной работы вам потребуются математические функции, приведенные в Приложении 2.
Порядок выполнения лабораторной работы
-
Выполните программы а) и б) для своего варианта. Занесите результаты в отчет. Для каждой переменной, используемой в программе, определите и распечатайте размер занимаемой ею памяти.
-
Покажите результаты преподавателю.
Требования к отчету
Отчет должен содержать:
-
конспект теоретической части, подготовленный ДО лабораторной работы;
-
текст программ а) и б), подготовленные ДО лабораторной работы;
-
результаты выполнения программ и скорректированные тексты программ а) и б).
Варианты лабораторного задания
ПРИМЕЧАНИЕ. Файл math.h содержит определение некоторых математических констант:
число - M_PI = 3.14…
число e - M_E = 2.7….
-
а) Вычислить длину окружности, задаваемой радиусом: С = 2r. б) Ввести символ и целое число. Определить остаток от деления кода введенного символа на число.
-
а) Вычислить площадь прямоугольника по заданным сторонам: S = ab. б) Ввести символ и целое число. Определить символы и числа, являющиеся последующими и предыдущими для этого символа и числа.
-
а) Вычислить объем цилиндра, задаваемого радиусом и высотой: V = r2h. б) Ввести символ и вещественное число. определить целую часть частного от деления числа на код введенного символа.
-
а
)
Вычислить площадь треугольника по
заданным сторонам:
б) Ввести символ и целое число в пределах от 33 до 126. Определить символы, являющиеся последующими и предыдущими для этого символа и вывести символ, соответствующий введенному целому числу.
-
а) Определить массу ртути, наполняющей объем цилиндра, задаваемого радиусом и высотой: m = r2h. масса ртути = . б) Ввести символ и беззнаковое число. Вычислить полуразность косинусов введенного числа и кода символа.
-
а

)
Вычислить площадь равнобедренной
трапеции по заданным основаниям и
высоте:
б) ввести символ и
вещественное число. Определить, является
ли нечетным целое частное от деления
кода символа на число. -
а) Ввести три символа и вычислить среднее арифметическое кодов этих символов. б) Ввести три символа и вещественное число. Вычислить квадрат введенного числа и произведение кодов символов.
-
а) Ввести четыре символа и вычислить среднее геометрическое кодов этих символов: б) Ввести символ и число с двойной точностью. Вычислить полусумму введенного числа и кода символа.
-
а) Ввести два символа и вычислить целую часть от деления кода первого символа на код второго символа. б) Ввести символ и вещественное число. Вычислить сумму арктангенсов числа и кода символа. Определить сумму арктангенсов числа и кода символа.
-
а) Ввести три символа и вычислить десятичный логарифм от произведения кодов этих символов. б) Ввести символ и целое число. Вычислить 10 в степени, равной разности числа и кода символа.
-
а) Ввести четыре символа и вычислить квадратный корень из суммы квадратов кодов символов. б) Ввести символ и число с удвоенной точностью. Вычислить полусумму абсолютных величин введенного числа и кода символа.
-
а) Ввести три символа и вычислить котангенс от разности кодов этих символов. б) Ввести символ и вещественное число. Вычислить произведение введенного числа и остатка от деления кода введенного символа на число 5L.
-
а) Ввести два целых числа и вычислить
.
б) Ввести два числа x и y. Вычислить
. -
а) Вычислить боковую поверхность цилиндра по высоте и радиусу:
.
б) Ввести число x и вычислить
. -
а) Вычислить боковую поверхность усеченной пирамиды по площадям оснований s и c:
,
где h - высота.
б) Ввести два целых
числа n и m. Вычислить сумму абсолютных
величин этих чисел. -
а) Вычислить объем конуса:
.
б) Ввести четыре символа: a, b, c, d.
вычислить, взяв коды символов:
. -
а) Вычислить поверхность сферы:
.
б) Ввести вещественное число и символ.
Вычислить среднее арифметическое кода
символа и числа. -
а) Вычислить площадь равностороннего треугольника. б) Ввести четыре символа и вычислить среднее арифметическое их кодов.
-
а) Вычислить площадь ромба по заданным диагоналям. б) Вычислить сумму произведения и разности введенных вами чисел.
-
а) Даны два катета прямоугольного треугольника. Вычислить площадь и гипотенузу треугольника. б) Вычислить сумму десятичных логарифмов введенных вами символов.
-
а) Вычислить объем цилиндра, задаваемого радиусом и высотой: V = r2h. б) Ввести три символа. Найти sin и cos произведений кодов символов.
-
а) Ввести четыре символа и вычислить среднее геометрическое кодов этих символов:
.
б) Введите два числа a и b. Возведите
число а в степень числа b. -
а) Определите общее сопротивление соединения, состоящего из трех параллельно соединенных резисторов. б) Ввести два целых числа. Вычислить квадратный корень их произведения.
-
а) Вычислить площадь и периметр прямоугольника по заданным сторонам. б) Ввести два символа, определить сумму их натуральных логарифмов.
-
а) Ввести три символа и вычислить кубический корень из суммы квадратов кодов символов. б) Ввести символ и число с удвоенной точностью. Вычислить полуразность абсолютных величин введенного числа и кода символа.
-
а) Ввести три символа и вычислить котангенс от суммы кодов этих символов. б) Ввести символ и вещественное число. Вычислить произведение введенного числа и остатка от деления кода введенного символа на число 8l.
Приложение 1
ESC-последовательности
