Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Функции ввода информации






Функция getch () используется для ввода одиночных символов.

Функия gets () обеспечивает ввод строки символов до нажатия клавиши ENTER.

Функция scanf предназначена для форматированного ввода информации любого вида. Общий вид функции:

scanf (< управляющая строка>, < список адресов>);

Для нее, как и для функции printf (), указывается управляющая строка. Однако функция scanf(), в отличие от функции printf (), использует в списке адресов указатели на перемен­ные, т.е. их адреса. Для обозначения указателя перед именем переменной записывается символ &, обозначающий адрес переменной. Для ввода значений строковых переменных символ & не используется. При использовании формата %s строка вводится до первого пробела. Вводить данные можно как в одной строке через пробел, так и в разных строках.

Данную особенность иллюстрирует следующий участок программы:

int course;

float grant;

char name[20];

printf (" Укажите ваш курс, стипендию, имя \n");

scanf (" %d%f", & course, & grant);

scanf (" %s", name); /* & отсутствует при указании массива символов */

Поток - это абстрактное понятие расширенной версии языка Си, ко­торое относится к любому переносу данных от источника к приемнику. Для ввода-вывода используются две переопределенные операции побитового сдвига < <, > >.

Формат записи:

cout < < идентификатор переменной;

cin > > идентификатор переменной;

Стандартный поток вывода cout - по умолчанию подключен к монито­ру, ввода cin - к клавиатуре.

Для их работы необходимо подключить файл iostream.h.

Пример программы демонстрирующий работу потоков ввода-вывода:

#include< iostream.h>

#include< conio.h>

void main (void)

{

int i, j, k;

cout«" Hello! " «endl; // end line - переход на новую строку

cout«" Input i, j";

cin > > i > > j;

k = i+j;

cout < < " Sum i, j = " < < k < < endl;

}

Манипуляторы потоков:

setprecision(n) // установка числа разрядов справа от десятичной точки выводимого значения,

// где n число разрядов.

setw(k) // установка числа позиций в которое выводится значение, где к число позиций.

Для их работы необходимо подключить файл iomanip.h.

#include < iostream.h>

#include < iomanip.h>

void main()

{

float e=56.4;

float g=1.456789;

int f=215;

cout< < setprecision(10)< < " e=" < < e< < endl;

cout< < setprecision(10)< < " e=" < < setw(20)< < e< < endl;

cout< < setprecision(0)< < " g=" < < setw(20)< < g< < endl;

cout< < setprecision(4)< < " g=" < < g< < endl;

cout< < setprecision(8)< < " g=" < < setw(20)< < g< < endl;

cout< < " f=" < < setw(20)< < f< < endl;

cout< < setw(20)< < " f=" < < f< < endl;

}

результат выполнения программы:

e=56.4000015259

e=_ _ _ _ _ _ _ 56.4000015259

g=_ _ _ _ _ _ _ _ _ _ _ _ 1.456789

g=1.4568

g=_ _ _ _ _ _ _ _ _ _ 1.45678902

f=_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 215

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f=215

 

Декларации математических функций языка С содержатся в файле < math.h>. В последующих записях аргументы x и y имеют тип double, параметр n имеет тип int. Аргументы тригонометрических функций задаются в радианах (2π радиан = 360°). Все приведенные математические функции возвращают значение (результат) типа double.

Таблица 3

Математическая функция Имя функции в языке С Математическая функция Имя функции в языке С
sqrt(x) arcsin(x) asin(x)
|x| (для целых) abs(x) arccos(x) acos(x)
|x| (для вещественных) fabs(x) arctg(x) atan(x)
ex exp(x) arctg(x/y) atan2(x, y)
xy pow(x, y) sh(x)=1/2 (ex-e-x) sinh(x)
ln(x) log(x) ch(x)=1/2 (ex+e-x) cosh(x)
lg10(x) log10(x) tgh(x) tanh(x)
sin(x) sin(x) Остаток от деления x на y fmod(x, y)
cos(x) cos(x) Наименьшее целое > =x ceil(x)
tg(x) tan(x) Наибольшее целое < =x floor(x)

 

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.