Цель работы. Организация линейного вычислительного процесса с использованием стандартных функций ввода/вывода и математических функций.
При использовании стандартных функций ввода/вывода в выполняемой программе указывается библиотечный файл stdio.h, а при использовании математических функций - math.h, т.е.
#include <stdio.h>
#include <math.h>
Вывод результатов (по формату) на экран осуществляется с помощью функции
При вызове printf() обязательно передается в качестве аргумента хотя бы одна строка, например, printf(" Введите массив ");. Строка форматов состоит из символов, которые выводятся без изменения, и символов, задающих преобразование данных. Спецификации преобразования формата имеют вид:
% [флаг][ширина][.точность]символ формата,
например,
printf(" a = %10.4f c = %4d\n",а,с);.
В строку форматов могут входить управляющие символьные константы.
Значения флага
- Выравнивание по левому полю. + Всегда выводить знак (+ или -). 0 Заполнять лишнее пространство нулями вместо пробелов..
Ширина - минимальный размер поля вывода. Точность - число цифр после десятичной точки для вещественных переменных.
Управляющие символьные константы или escаре-символы применяют для представления символов или чисел, которые нельзя непосредственно ввести с
Таблица 6
Управляющие символьные константы
Символьная константа Выполняемая операция
\n перевод на новую строку
\a звуковой сигнал
\t горизонтальная табуляция
\v вертикальная табуляция
\b возврат на символ
\r возврат на начало строки
клавиатуры. Еscаре-последовательность начинается с косой черты (\) и заключается в кавычки. Функция printf() преобразует еscаре-последовательность стро-ки форматов в соответствующие ASCII-коды.
Таблица 7
Символы формата
Символ формата Тип выводимого объекта
% c char (символ)
% s строка символов
% d int (целое)
% o int (в восьмеричном виде)
% u unsigned int (целое без знака)
% x int (в шестнадцатеричном виде)
% p указатель в виде ssss:oooo или
oooo
% ld long (длинное целое)
% lo long (в восьмеричном виде)
% lu unsigned long (длинное целое без
знака)
% lx long (в шестнадцатеричном виде)
% f float/double (вещественное с фик -
сираванной точкой)
% e float/double (в экспоненциальной
форме)
% g float/double ( в виде f или e в зави -
симости от значения)
% lf long float/double (длинное вещест-
венное с фиксированной точкой)
% le long float/double (в экспонен-
циальной форме)
% lg long float/double( в виде f или e в
зависимости от значения)
Математические функции (табл. 8), используемые в арифметических выражениях, описываются в основном в библиотечном файле math.h. Функции выбора минимума и максимума из двух значений a и b - type max(f,b) и type min(a,b), приводятся в библиотеке <stdlib.h>.
Оператор scanf(строка форматов, список вводимых аргументов); является одним из многих способов ввода данных.
Пример:
scanf("%d %f",&a,&t);
Функция формализованного ввода scanf() предназначена для чтения данных из входного потока и интерпретации их в соответствии со строкой управления форматом. После преобразования данные записываются в области памя- ти, определенными аргументами, которые следуют за строкой управления форматом. Каждый аргумент списка должен быть указателем на переменную, тип которой соответствует типу, указанному в строке управления форматов, т.е. перед именем аргумента должен указываться символ & (²взять адрес²).
Таблица 8
Основные математические функции
Функция Назначение Тип функции и аргумента
1 2 3
sin(x) sin(x) double
cos(x) cos(x) double
tan(x) tg(x) double
asin(x) arcsin(x) double
acos(x) arccos(x) double
atan(x) arctg(x) double
abs (x) | x | int
fabs(x) | x | double
exp(x) ex double
log(x) ln(x) double
log10(x) lg(x) double
pow(x,y) xy double
sqrt(x) double
sinh(x) sh(x) = ( )/2 double
cosh(x) ch(x) = ( )/2 double
tanh(x) th(x) = sh(x)/ch(x) double
Пример.
Составьте программу вычисления y = ех +lg3,2-sinpx/3.
#include <stdio.h>
#include <math.h>
void main()
{ float x,y;
printf(²Введите х \n²); scanf(²%f²,&x);
y=exp(x)+log10(3.2)-sin(3.14*x/3);
printf(²y=%f\n²,y);}
Библиотека потоков С++ iostream.h с набором классов для