Ввод и вывод в стандартном Си

Практическое заняти №4

Программирование на Си++

Цель работы: Приобретение способностей программирования и работы в среде программирования С/С++

Программка работы

  1. Постановка задачки,

2. Создание, отладка и выполнение обычной программки, содержащей ввод/вывод инфы и простые вычисления в согласовании с постановкой задачки в п,1,.

Методические указания

К п.1 .Требуется вычислить значение выражения при разных вещественных типах Ввод и вывод в стандартном Си данных (float и double). Вычисления следует делать с внедрением вспомогательных переменных для хранения промежных результатов. Следует сопоставить и разъяснить приобретенные промежные результаты и результаты выражений. Варианты заданий представлены в таблице 6.

Для ввода и вывода данных следует использовать операции >> и <<и стандартные потоки cin и cout. Для вычисления степени Ввод и вывод в стандартном Си использовать функцию pow(x,y) из библиотечного файла math.h. Промежные расчеты следует организовать последующим образом, к примеру, для расчета выражения f=3a^5b^3 : с=pow(a,5); d=pow(b,3); f=3*c*d.

К п.2. Короткие теоретические сведения.Язык Си сотворен в 1972 гДэннисомРитчи при разработке ОС Unix. Он Ввод и вывод в стандартном Си проектировался как инструмент системного программирования с ориентацией на разработку отлично структуророванных программ. Таким макаром он соединяет внутри себя, с одной стороны, средства языка программрования высочайшего уровня: описание типов данных, операторы for,while, if и т. д., с другой стороны, содержит средства языка типа Ассемблер: регистровые переменные, адресную математику, возможность работы с Ввод и вывод в стандартном Си полями и т. д..

Структура программки

Программка на языке Си имеет последующую структуру:

#директивы препроцессора

. . . . . . . . .

#директивы препроцессора

функция а ( )

операторы

функция в ( )

операторы

voidmain ( ) //функция, с которой начинается выполнение программки

операторы

описания

присваивания

функция

пустой оператор

составной

выбора

циклов

перехода

Директивы препроцессора - управляют преобразованием текста программки до ее компиляции. Начальная программка, приготовленная на языке Си в виде текстового файла проходит 3 шага обработки Ввод и вывод в стандартном Си:

l препроцессорное преобразование текста;

l компиляция;

l сборка (редактирование связей либо сборка).

После этих 3 шагов формируется исполняемый машинный код программки.

Задачка препроцессора - преобразование текста программки до ее компиляции. Правила препроцессорной обработки определяет программер при помощи директив препроцессора. Директива начинается с #. К примеру,

l #define - показывает правила подмены в тексте.

#define Ввод и вывод в стандартном Си ZERO 0.0- значит , что каждое внедрение в программке имени ZERO будет заменяться на 0.0.

l #include - создана для включения в текст программки текста из каталога «Заголовочных файлов», поставляемых совместно со стандартными библиотеками. Любая библиотечная функция Си имеет соответственное описание в одном из заголовочных файлов. Перечень заголовочных файлов определен эталоном языка. Употребление директивы Ввод и вывод в стандартном Си include не подключает подобающую стандартную библиотеку, а только позволяют воткнуть в текст программки описания из обозначенного заголовочного файла. Подключение кодов библиотеки осуществляется на шаге сборки, т. е. после компиляции. Хотя в заголовочных файлах содержатся все описания стандартных функций, в код программки врубаются только те функции, которые употребляются Ввод и вывод в стандартном Си в программке.

После выполнения препроцессорной обработки в тексте программки не остается ни одной препроцессорной директивы. Программка представляет собой набор описаний и определений, и состоит из набора функций. Посреди этих функций всегда должна быть функция с именованием main. Без нее программка не может быть выполнена. Перед именованием функции помещаются сведения Ввод и вывод в стандартном Си о типе возвращаемого функцией значения ( тип результата). Если функция ничего не возвращает, то указывается тип void: voidmain ( ). Любая функция, в том числе и main обязана иметь набор характеристик, он может быть пустым, тогда в скобках указывается (void).

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

Определения - вводят объекты (объект - это именованная область памяти, личный случай объекта - переменная), нужные для представления в программке обрабатываемых данных. Примером являются

int y = 10 ; //именованная константа

float x ; //переменная

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

Операторы - определяют деяния программки на каждом шаге ее выполнения.

Константы и переменные

Константа - это значение, которое не может быть изменено. Синтаксис языка определяет 5 типов констант:

l знаки;

l константы перечисляемого типа;

l вещественные числа;

l целые числа;

l нулевой указатель (NULL).

Переменные можно изменять Ввод и вывод в стандартном Си. При задании значения переменной в подобающую ей область памяти помещается код этого значения. Доступ к значению вероятен через имя переменной, а доступ к участку памяти - по его адресу. Любая переменная перед внедрением в программке должна быть определена, т. е. ей должна быть выделена память. Размер участка памяти, выделяемой для переменной Ввод и вывод в стандартном Си и интерпретация содержимого зависят от типа, обозначенного в определении переменной. Простая форма определения переменных:

тип список_имен_переменных;

Таблица 3 - Главные типы данных

Тип данных Заглавие Размер, бит Спектр значений
unsignedchar беззнаковый целый длиной более 8 бит 0 . . 255
char целый длиной более 8 бит -128 . . 127
enum перечисляемый -32768 . . 32767
unsignedint беззнаковый целый 0 . . 65535
shortint (short) маленький целый -32768 . . 32767
unsignedshort беззнаковый Ввод и вывод в стандартном Си маленький целый 0 . . 65535
int целый -32768 . . 32767
unsignedlong беззнаковый длиннющий целый 0 . . 4294967295
long длиннющий целый -214748348 . . 2147483647
float вещественный одинарной точности 3.4Е-38 . . 3.4Е+38
double вещественный двойной точности 1.7Е-308 . . 1.7Е+308
longdouble вещественный наибольшей точности 3.4Е-4932 . . 1.1Е+4932

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

тип имя_переменной = начальное_значение;

Этот прием именуется инициализацией.

Примеры:

float pi = 3.14 , cc=1.3456;

unsignedint year = 1999;

Операции

Описание операций представлены в таблице 4

Таблица 4

Символ операции Описание
Унарные операции
& получение адреса операнда
* воззвание по адресу (разыменование)
- унарный минус, меняет символ арифметического операнда
~ поразрядное инвертирование внутреннего Ввод и вывод в стандартном Си двоичного кода (побитовое отрицание)
! логическое отрицание (НЕ). В качестве логических значений употребляется 0 - ересь и не 0 - правда, отрицанием 0 будет 1, отрицанием хоть какого ненулевого числа будет 0.
++ повышение на единицу: префиксная операция - наращивает операнд до его использования, постфиксная операция наращивает операнд после его использования.
- - уменьшение на единицу: префиксная операция - уменьшает операнд до его использования Ввод и вывод в стандартном Си, постфиксная операция уменьшает операнд после его использования.
sizeof вычисление размера (в б) для объекта того типа, который имеет операнд
Бинарные операции. Аддитивные
+ бинарный плюс (сложение арифметических операндов)
- бинарный минус (вычитание арифметических операндов)
Бинарные операции. Мультипликативные
* умножение операндов арифметического типа
/ деление операндов арифметического типа (если операнды целочисленные, то Ввод и вывод в стандартном Си производится целочисленное деление)
% получение остатка от деления целочисленных операндов
Операции сдвига (определены только для целочисленных операндов). Формат выражения с операцией сдвига: операнд_левыйоперация_сдвигаоперанд_правый
<< сдвиг на лево битового представления значения левого целочисленного операнда на количество разрядов, равное значению правого операнда
>> сдвиг на право битового представления значения правого целочисленного операнда Ввод и вывод в стандартном Си на количество разрядов, равное значению правого операнда
Поразрядные операции
& поразрядная конъюнкция (И) битовых представлений значений целочисленных операндов
| поразрядная дизъюнкция (Либо) битовых представлений значений целочисленных операндов
^ поразрядное исключающее Либо битовых представлений значений целочисленных операндов
Операции сопоставления:
< меньше, чем
> больше, чем
<= меньше либо равно
>= больше либо равно
== равно
!= не равно
Логические Ввод и вывод в стандартном Си бинарные операции:
&& конъюнкция (И) целочисленных операндов либо отношений, целочисленный итог ересь(0) либо правда(1)
|| дизъюнкция (Либо) целочисленных операндов либо отношений, целочисленный итог ересь(0) либо правда(1)
Условная операция
В отличие от унарных и бинарных операций в ней употребляется три операнда. Выражение1 ? Выражение2 : Выражение3;

В условном операторе первым рассчитывается значение выражения Ввод и вывод в стандартном Си1. Если оно поистине, то рассчитывается значение выражения2, которое становится результатом. Если при вычислении выражения1 получится 0, то в качестве результата берется значение выражения3. К примеру:

x<0 ? -x : x ; //рассчитывается абсолютное значение x.

Операция очевидного (преобразования) приведения типа. Существует две формы: каноническая и многофункциональная:

l (имя_типа) операнд

l имя_типа (операнд)

Таблица 5 - Ценности Ввод и вывод в стандартном Си операций

Ранг Операции
( ) [ ] -> .
! ~ - ++ -- & * (тип) sizeof тип( )
* / % (мультипликативные бинарные)
+ - (аддитивные бинарные)
<> (поразрядного сдвига)
= (дела)
== != (дела)
& (поразрядная конъюнкция «И»)
^ (поразрядное исключающее «ИЛИ»)
| (поразрядная дизъюнкция «ИЛИ»)
&& (конъюнкция «И»)
|| (дизъюнкция «ИЛИ»)
?: (условная операция)
= *= /= %= -= &= ^= |= <>= (операция присваивания)
, (операция запятая)

Выражения

Из констант, переменных, разделителей и символов операций можно конструировать выражения. Каждое выражение состоит из 1-го либо нескольких Ввод и вывод в стандартном Си операндов, знаков операций и ограничителей, в качестве которых в большинстве случаев выступают квадратные скобки. Если выражение сформировывает целое либо вещественное число, то это арифметическое выражение. В арифметических выражениях допустимы операции: + - * / %.

Отношение - это пара арифметических выражений, объединенных знаком операции дела. Логический тип в Си отсутствует, потому принято, что отношение Ввод и вывод в стандартном Си имеет ненулевое значение, если оно поистине и 0, если оно неверно.

Ввод и вывод

Ввод и вывод в стандартном Си

Обмен данными с наружным миром программка на стандартном Си реализует при помощи библиотеки функций ввода-вывода

l #include

l printf( ,);

- строчка знаков, заключенных в кавычки, которая указывает, как должны быть написаны аргументы. К примеру:

printf Ввод и вывод в стандартном Си( “Значение числа Пи равно %f\n”, pi);

Форматная строчка может содержать

l знаки печатаемые текстуально;

l спецификации преобразования

l управляющие знаки.

Каждому аргументу соответствует своя спецификация преобразования:

l %d - десятичное целое число;

l %f - число с плавающей точкой;

l %c - знак;

l %s - строчка.

l \n - управляющий знак новенькая Ввод и вывод в стандартном Си строчка.

l scanf( ,);

В качестве аргументов употребляются указатели. К примеру:

l scanf(“ %d%f ”, &x,&y);

2.5.2 Ввод и вывод в Си++

Употребляется библиотечный файл iostream.h, в каком определены стандартные потоки ввода данных от клавиатуры cin и вывода данных на экран монитора cout, также надлежащие операции

l << - операция записи данных Ввод и вывод в стандартном Си в поток;

l >> - операция чтения данных из потока.

К примеру:

#include;

. . . . . . . . .

cout<< “\nВведите количество частей: ”;

cin>> n;

2.6 Работа в среде программирования СИ

Графическая оболочка загружаемой встроенной среды программирования на Си Borland C V5.0 имеет знакомый по работе со средой программирования на Паскале оконный интерфейс Основное меню и его элементы имеют те же функции и Ввод и вывод в стандартном Си правила пуска и опции. Новым элементом меню является Project-rкоманды сотворения и модификации проектного файла(создание и удаление проектного файла и создание и удаление программного модуля из него). Разработка программки в среде начинается конкретно с этой команды -с сотворения нового проекта .

На последующем шаге в сделанный проект Ввод и вывод в стандартном Си добавить файл для набора текста программки командой Project/AddItem. Файл для набора программки вызывается двойным щелчком мыши в окне проекта.

Таблица 6 – Варианты заданий

№ варианта Содержание личного задания
Перевод вещественного числа из десятичной системы счисления в двоичную
Вычисление среднего значения одномерного массива чисел и нахождение наибольшего среднеквадратичного отличия.
Вычисление суммы N частей Ввод и вывод в стандартном Си ряда1-1/3 +1/5 -1/7+… и определение разности этой суммы и значения пи/4
Найти в трехмерном массиве количество нулевых массивов и вывести их индексы.
Найти номер строчки, сумма частей которой максимальна.
Перевод вещественного числа из двоичной системы счисления в десятичную
Проверка, является ли матрица диагональной.
Перевод из восьмеричной системы в двоичную с проверкой корректности введенных Ввод и вывод в стандартном Си знаков
Вычисление суммы и среднего значения отрицательных чисел, лежащих в спектре от -1 до -99
Найти сколько частей массива попадает в интервалы от А до В с шагом (А-В)/5
Проверка, является ли матрица ленточной.
Перевод вещественного числа из десятичной системы счисления в восьмеричную
Отыскать на отрезке В-А значение Ввод и вывод в стандартном Си х, при котором значение функции лежит в интервале -0.1 +0.1 Способом деления напополам
Вычисление дохода по вкладу в зависимости отстрока хранения и размера вклада.
Перевод из шестнадцатеричной системы в двоичную с проверкой корректности введенных знаков
Перевод вещественного числа из восьмеричной системы счисления в десятичную
Программка занесения результатов соревнований спортсменов с определением Ввод и вывод в стандартном Си 3-х призеров.
Проверка, является ли введенная строчка шестнадцатеричным числом.
Вычисление скалярных произведения 2-ух векторов из набора 3-х и определение большего из их.
Перевод вещественного числа из шестнадцатеричной системы счисления в десятичную
Найти номер строчки, сумма частей которой максимальна.
Перевод вещественного числа из десятичной системы счисления в шестнадцатеричную Ввод и вывод в стандартном Си
Транспонирование матрицы с нахождением суммы всех ее частей.


vvedenie-v-literaturovedenie-osnovnaya-obrazovatelnaya-programma-032700-filologiya-profil-prepodavanie-filologicheskih.html
vvedenie-v-matematicheskij-analiz.html
vvedenie-v-medicinskuyu-radiologiyu-1-glava.html