Реферат по предмету "Информатика, программирование"


Операторы ввода и вывода в языке программирования Си++

Лабораторная№1 “Операторы ввода и вывода в языке программирования Си++”
 

1. Теоретическиесведения
 
1.1Структура программы
 
Цель работы: изучитьоператоры ввода и вывода, форматы, используемые в этих операторах. Оформитьзаконченную программу с применением этих операторов.В языке СИ любаяпрограмма состоит из одной или более функций, задающих действия, которые нужновыполнить. Выполнение любой программы начинается с функции main. Далее идеттекст программы, заключенный в фигурные скобки. Таким образом, структурапрограммы имеет вид:
main ( )
{
Тело программы
}
В самом простом случае функция mainне имеет аргументов, поэтому в скобках ничего не содержится. Для работыпрограммы, обеспечивающей ввод и вывод информации, перед функцией mainнеобходимо поместить строку:
#include
1.2Алфавит языка и типы данных
Алфавит языка включаетлатинские прописные и строчные буквы, цифры и специальные знаки. К последнимотносятся:. (точка),, (запятая), ‘ (апостроф),: (двоеточие) и др.
Важным понятием языкаявляется идентификатор, который используется в качестве имени объекта, например,переменной, функции и т.п. Идентификатор может содержать до 32 символов исостоит из букв и цифр, но начинается обязательно с буквы. Строчные буквыотличаются от прописных, поэтому идентификаторы SIGMA и sigma считаютсяразными.
В языке СИ существуетнесколько типов данных. Каждый тип данных определяется одним из следующихключевых слов:
1.        int (целый) –задает значения, к которым относятся все целые числа. Диапазон возможных целыхзначений лежит в пределах от –32768 до 32767, переменная типа int занимает 16бит;
2.        short (короткийцелый) – соответствующие объекты не могут быть больше, чем int, переменныеэтого типа занимают 16 бит;
3.        long (длинныйцелый) – соответствующие объекты не могут быть меньше, чем int. Переменная типаlong занимает 32 бита и позволяет представить целые числа от –2147483648 до2147483647;
4.        char (символьный)– задает значения, которые представляют различные символы;
5.        unsigned(беззнаковый) – в языке СИ можно объявлять некоторые типы (char, short, int,long) беззнаковыми с помощью модификатора unsigned (например, unsigned short).Это значит, что соответствующие переменные не будут иметь отрицательныхзначений. В результате они могут принимать большие положительные значения, чемпеременные знаковых типов. В случае типа int объявления вида «unsigned int a;»можно записать «unsigned a;»;
6.        float(вещественный) – задает значения, к которым относятся вещественные числа,имеющие дробную часть, отделяемую точкой. Вещественные числа могут бытьзаписаны также в экспоненциальной форме. Например, -1.58е+2 (что равно -1,58·102). В языке СИ переменная типа float занимает 32 бита. Она может приниматьзначения в диапазоне от +3.4е-38 до +3.4е+38;
7.        double (двойнаяточность) – определяет вещественные переменные, занимающие в два раза большеместа, чем переменная типа float. Переменная типа double занимает 64 бита. Онаможет принимать значения в диапазоне от +1.7е-308 до +1.7е+308.
1.3 Ввод ивывод информации
 
1.3.1Форматный вывод
Вначале рассмотрим функцию,определяющую форматный вывод:
printf(«управляющаястрока», аргумент1, аргумент2,… );
Управляющая строкасодержит объекты трех типов: обычные символы, которые просто выводятся на экрандисплея, спецификации преобразования, каждая из которых вызывает вывод на экранзначения очередного аргумента из последующего списка и управляющие символы-константы.
Каждая спецификацияпреобразования начинается со знака % и заканчивается некоторым символом, задающимпреобразования.
Символ преобразования связан с типомпеременных. приведем символы преобразования:
1)        d – значениемаргумента является десятичное целое число;
2)        o – значениемаргумента является восьмеричное целое число;
3)        x – значениемаргумента является шестнадцатеричное целое число;
4)        c – значениемаргумента является символ;
5)        s – значениемаргумента является строка символов;
6)        e – значениемаргумента является вещественное число в экспоненциальной форме;
7)        f – значением аргументаявляется вещественное десятичное число с плавающей точкой;
8)        u – значениемаргумента является беззнаковое целое число;
9)        p – значениемаргумента является указатель (адрес).
Если после знака %записан не символ, то он выводится на экран. Функция printf используетуправляющую строку, чтобы определить, сколько всего аргументов и каковы ихтипы.
Например, в результатеработы программы получены переменная i, имеющая значение 100, и переменная j,имеющая значение 25. Обе переменные целого типа. Для вывода этих переменных наэкран в виде
i=100 j=25
необходимо применитьфункцию
printf(“i=%d j=%d”,i,j);
Как было описано выше, вкавычках задается формат вывода. перед знаком % записываются символы, которыебудут непосредственно выданы на экран. После знака % применена спецификация d,т.к. переменные i и j имеют целый тип. Сами i и j приведены через запятую всписке аргументов. Если результат должен быть представлен в виде
i=100; j=25
необходимо применитьфункцию
printf(“i=%d; j=%d, i,j);
Если после знака % стоитцифра, то она задает поле, в котором будет выполнен вывод числа. Приведемнесколько функций printf, которые будут обеспечивать вывод одной и той жепеременной S целого типа, имеющей значение 336.
Функция printf(“%2d”, S);выдает на экран:
336
В этом примере ширина поля ( онаравна двум) меньше, чем число цифр в числе 336, поэтому поле автоматическирасширяется до необходимого размера.
Функция printf(“%6d”, S);
выдаст на экран:
_ _ _336
(6 позиций)
То есть, в результатеработы функции число сдвинуто к правому краю поля, а лишние позиции передчислом заполнены пробелами.
Функция printf(“%-6d”,S);
выдаст на экран:
336_ _ _
(6 позиций)
Знак «минус» передспецификацией приводит к сдвигу числа к левому краю поля.
Рассмотрим выводвещественных чисел.
Если перед спецификациейf ничего не указано, то выводится число с шестью знаками после запятой. припечати числа с плавающей точкой перед спецификацией f тоже могут находитьсяцифры.
Рассмотрим на конкретномпримере три возможные ситуации:
%6f – печать числа с плавающейточкой в поле из шести позиций;
%.2f – печать числа сплавающей точкой с двумя цифрами после десятичной точки;
%6.2f – печать числа сплавающей точкой в поле из шести позиций и двумя цифрами после десятичнойточки.
Например, в результатеработы программы получены переменные вещественного типа а=3,687 и b=10,17.
Если для вывода значенийиспользована функция
printf(“%7f %8f”,a,b);
то результат будетпредставлен в виде строки:
_ _ 3.687 _ _ _ _10.17
(7 поз.) (8 позиций)
Как видно из примера,лишние позиции заполняются пробелами. Если для вывода значений использованафункция
printf(“%.2f %/2f”, a,b);
то результатом будетстрока:
3.69 10.17,
из которой следует, что впервом числе третья цифра после десятичной точки отброшена с округлением, т.к.указан формат числа с двумя цифрами после десятичной точки.
Если для вывода значенийиспользована функция
printf(“%7.2f e”,a,b);
то будет выведена строка:
_ _ _ 3.681.010000е+01
(7 позиций)
Поскольку для выводазначения переменной b применена спецификация е, то результат выдан в экспоненциальнойформе. Следует отметить, что, если ширина поля меньше, чем число цифр в числе,то поле автоматически расширяется до необходимого размера.
Как было отмечено выше, вуправляющей строке могут содержаться управляющие символьные константы. Средиуправляющих символьных констант наиболее часто используются следующие:
1)        \a – длякратковременной подачи звукового сигнала;
2)        \b – для переводакурсора влево на одну позицию;
3)        \n – для переходана новую строку;
4)        \r – для переводакурсора в начало текущей строки;
5)        \t – длягоризонтальной табуляции;
6)        \v – длявертикальной табуляции.
Предположим, в результатеработы программы переменная i получила значение 50. В результате записи инструкциивызова функции
printf(“\t ЭВМ\n%d\n”,i);
сначала выполнитсягоризонтальная табуляция (\t), т.е. курсор сместится от края экрана на 8позиций, затем на экран будет выведено слово “ЭВМ”, после этого курсорпереместится в начало следующей строки (\n), затем будет выведено целоезначение i по формату d, и окончательно курсор перейдет в начало новой строки(\n). Таким образом, результат работы этой функции на экране будет иметь вид:
_ _ _ _ _ _ _ _ ЭВМ
50
 
1.3.2 Вводданных
Для форматного вводаданных используется функция
scanf(«управляющая строка»,аргумент1, аргумент2,...);
Если в качестве аргументаиспользуется переменная, то перед ее именем записывается символ &.
Управляющая строкасодержит спецификации преобразования и используется для установления количестваи типов аргументов. спецификации для определения типов аргументов такие же, каки для функции printf. Перед символами d,o,x,f может стоять буква l. В первыхтрех случаях соответствующие переменные должны иметь тип long, а в последнемdouble.
Рассмотрим пример.Требуется ввести значения для переменных i (целого типа) и a (вещественного типа).Эту задачу выполнит функция:
scanf(“%d%f”,&i,&a);
В управляющей строкеспецификации трех типов могут быть отделены друг от друга различными знаками, втом числе и пробелом. Следовательно, при занесении значений переменныхнеобходимо использовать указанный разделитель. Если спецификации не отделеныодна от другой никакими значениями, то значения переменных заносятся черезпробел.
В языке СИ есть две оченьудобные функции puts и gets, позволяющие вводить и выводить строку символов. Примерих использования показан ниже:
#include
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
Программа на СИ имеетвид:
#include
#include
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 с.


Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.

Сейчас смотрят :

Реферат Анализ рынка предприятия с помощью маркетингового исследования на примере гостиницы Ковров
Реферат Bird Imagery In Portrait Of The Artist
Реферат Imperialism And India Essay Research Paper Imperialism
Реферат Оптимизация кредитного портфеля (на примере Красноярского Городского отделения Сбербанка России № 161)
Реферат Издание классических литературных текстов в интернете
Реферат Стандарты аудита
Реферат Анализ рекламной практики на материалах ОАО "Комитекс"
Реферат Основные модели макроэкономического равновесия
Реферат Система денежного обращения в национальной экономике Республики Беларусь состояние, проблемы и
Реферат Малый и средний бизнес в развитых странах: возможности использования опыта в России
Реферат А и выявляется в процессе анализа рефлексии, то есть самоинтерпретации, которая осуществляется поэтом на протяжении всего творчества, причем не всегда осознанно
Реферат Обработка привинтных головок кумулятивного снаряда из штампованных или литых заготовок
Реферат Екологія плазунів Роль та значення плазунів в системі живої природи
Реферат Современное машиностроение и транспортный комплекс в мировой экономике
Реферат Впровадження інформаційних систем і CASE-засоби