1.3.2 Ввод данных

Для форматного ввода данных используется функция

scanf(«управляющая строка», аргумент1, аргумент2,...);

Если в качестве аргумента используется переменная, то перед ее именем записывается символ &.

Управляющая строка содержит спецификации преобразования и используется для установления количества и типов аргументов. спецификации для определения типов аргументов такие же, как и для функции printf. Перед символами d,o,x,f может стоять буква l. В первых трех случаях соответствующие переменные должны иметь тип long, а в последнем double.

Рассмотрим пример. Требуется ввести значения для переменных i (целого типа) и a (вещественного типа). Эту задачу выполнит функция:

scanf(“%d%f”,&i,&a);

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

В языке СИ есть две очень удобные функции puts и gets, позволяющие вводить и выводить строку символов. Пример их использования показан ниже:

#include<stdio.h>

main()

{

char q[40]; /*объявление строки символов*/

puts(“Введите строку символов”);

gets(q); /*ввод строки символов*/

puts(q); /*вывод строки символов*/

}

В результате работы программы вначале на экране появится текст:

Введите строку символов,

после чего следует ввести какую-либо строку символов. Эта информация при помощи оператора gets будет присвоена элементам символьного массива q. Оператор puts выведет строку символов.

1.4       Операторы и выражения

Выражения широко используются в программах на языке СИ и представляют собой формулы для вычисления переменных. Они состоят из операндов (переменные, константы и др.), соединенных знаками операций (сложение, вычитание, умножение и др.). Порядок выполнения при вычислении значения выражения определяется их приоритетами и может регулироваться с помощью круглых скобок. Наиболее часто арифметические выражения используются в операторе присваивания. Этот оператор заменяет значение переменной в левой части оператора на значение выражения, стоящего в правой части, и имеет следующую форму:

переменная = выражение;

В языке СИ может быть использован модификатор const, запрещающий какие бы то ни было переопределения константы: ее уменьшение, увеличение и т.п. Модификатор const, используемый отдельно, эквивалентен const int. Приведем примеры:

const float a=3.5;

const j=47;

В таблице 1 приведены арифметические операции, используемые в языке СИ.


Таблица 1

Знак операции Выполнение действия
+ Сложение
Вычитание
* Умножение
/ Деление
% Деление по модулю

Результатом деления по модулю является остаток от деления. Например, если b=5, c=2, то при выполнении операции

а=b%c,

переменная а получит значение 1.

Широкое распространение находят также выражения с еще одной нетрадиционной терпарной операцией ?: . В выражении

у=х?а:b,

у=а, если х не равно нулю, и у=b, если х равно нулю. Следующее выражение

у=(а>b)?a:b;

позволяет присвоить переменной y значение большей переменной (а или b), т.е. y=max(a,b).

В таблице 2 приведены некоторые функции, применяемые при программировании на СИ.


Таблица 2

Математическая запись Запись на языке СИ
| X | int abs(int X)
| X | float fabs(float X)
arccos X double acos(double X)
arcsin X double asin(double X)
arctg X double atan(double X)
cos X double cos(double X)
sin X double sin(double X)
tg X double tan(double X)

eX

double exp(double X)
ln X double log(double X)
log X double log10(double X)
√X double sqrt(double X)

XY

double pow(double X, double Y)

Перед аргументом и функцией указан допустимый тип (при программировании эта запись типа опускается).

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

Рассмотрим пример программы на языке СИ.


Требуется вычислить:

Для работы с математическими функциями необходимо перед функцией main поместить строку:

#include <math.h>

Программа на СИ имеет вид:

#include <stdio.h>

#include <math.h>

main()

{

float z,f,k; /*объявление вещественных переменных z,f,k*/

double y,a,b,c,d,x; /*объявление переменных y,a,b,c,d,x переменными двойной точности*/

scanf(“%f %f %f %lf %lf”, &z, &f, &k, &d, &x); /* ввод с клавиатуры переменных z,f,k,d,x*/

a=log(x)+(z+f)/k;

b=sin(x)+tan(x);

c=pow(d+exp(x),1./5);

y=(a+b)/c;

printf(“%lf %lf %ef %lf”, a, b, c, y); /*вывод на экран значений переменных a,b,c,y*/

}

Следует обратить внимание на то, что при вычислении переменной с, выражение, стоящее в правой части, представлено как 5√(d+ex), поэтому применена функция pow. Еще одно замечание. Следует осторожно подходить к делению целых чисел. Если оба операнда целые, то результат тоже будет целым, а дробная часть отбрасывается. таким образом, при выполнении операции 1/5, результат будет равен нулю. Для того чтобы сохранить дробную часть, хотя бы один из операндов должен быть вещественным. Это условие выполнено при вычислении 1./5 .

Из таблицы 3 взять задание по варианту и написать программу для вычисления выражения на языке СИ.

Таблица 3

№ варианта Задание Исходные данные
1          

x = 4,5

y = 8,5

i = 3

j = 6

2          

n = 10,2

x = 4,3

i = 5

m = 2

3          

m = 8,1

w = 4,2

x = 10

y = 4

4          

t = 4,7

z = 0,8

p = 6,2

k = – 4

m = 6

5          

t = 4,1

p = 3,2

w = 8,7

j = 3

i = 7

6          

x = 5,7

y = 1,9

k = 8

m = 2

7          

m = 5,6

n = 9,4

i = 4

j = 9

8          

q = 1,7

p = 2,3

i = 9

j = 4

9          

n = 2,6

m = 3,7

p = 6

k = 2

10        

t = 1,1

p = 2,4

k = 4

i = 5

11        

x = 3,7

y = 2,1

i = 3

j = 4

12        

t = 1,5

p = 4,8

i = 2

m = 6

13        

z = 2,4

m = 5,8

n = 4

j = 5

14        

 

 

h = sin (tg x2)

 

, где

 

x = 9,5

y = 3,6

j = 2

i = 5

15        

 

 

a = cos2 (x+y)

 

, где

 

c

 

a + b2

 

d =

 

x = 6,4

y = 1,7

k = 5

m = 7


Литература

1.  Подбельский В.В. Язык Cu ++: Учебное пособие. - М.: Финансы и статистика,1995, - 560 с.

2.  Страуструп Б. Язык программирования Сг ++. - М.: Радио и связь, 1991. - 352 стр.

3.  Собоцинский В.В. Практический курс Turbo Cu ++. Основы объктно- ориентированного программирования. - М.: Свет, 1993. - 236 с.

4.  Романов В.Ю. Программирование на языке Cu ++. Практический подход. - М.: Компьтер, 1993. - 160 с.

5.  Уинер Р. Язык турбо Cu . - М.: Мир, 1991. - 384 с.

6.  Юлин В.А., Булатова И.Р. Приглашение к Cu. - Мн.: Высш. Шк., 1990,- 224 с.

7.  Котлинская Г.П., Галиновский О.И. Программирование на языке Cu. -Мн.: Высш. Шк., 1991. - 156 с.


Информация о работе «Операторы ввода и вывода в языке программирования Си++»
Раздел: Информатика, программирование
Количество знаков с пробелами: 15151
Количество таблиц: 4
Количество изображений: 0

Похожие работы

Скачать
39395
10
0

... операций: а)3Х2У2-2ХУ2-7Х2У-4У2+15ХУ+2Х2-3Х+10У+6 б)1-2Х+3Х2-4Х3 в)1+2Х+3Х2+4Х3 г)2Х4-3Х2+4Х2-5Х+6 Операторы перехода Операторы условного перехода реализуют на языке программирования алгоритмическую конструкцию ветвления. Ветвление - это такая форма организации действий, при которой выполнение или иного действия зависит от выполнения или невыполнение некоторого ...

Скачать
69354
1
0

... , сколько времени потребуется для его составления, как много места для возможных ошибок? Естественно, об этом задумывались и авторы языков программирования. Поэтому во всех существующих языках имеются типы переменных, отвечающие за хранение больших массивов данных. В языке Паскаль они так и называются: "массивы".    Массивом будем называть упорядоченную последовательность данных одного типа, ...

Скачать
33871
5
0

... в профессиональном программировании. Широкой популярностью Паскаля среди программистов способствовали следующие причины: - Благодаря своей компактности, удачному первоначальному описанию Паскаль оказался достаточно лёгким для обучения. - Язык программирования Паскаль . Отображает фундаментальные и наиболее важные концепции (идеи) алгоритмов в очевидной и легко воспринимаемой форме, что ...

Скачать
68032
2
4

... условий взаимной уравновешенности системы сил является одной из основных задач статики. На основе изложенной в первой главе курсовой работы алгоритм конструкции языка программирования Паскаль составим и решим ряд задач по прикладной механике. Сформулируем задачу по статике первому разделу прикладной механики. Задача. Найти центр тяжести тонкого круглого однородного стержня изогнутого по дуге ...

0 комментариев


Наверх