Файл: Функции вводавывода.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 17.10.2024

Просмотров: 8

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.






Российский государственный социальный

университет





Рубежный контроль №1

по дисциплине «Программирование»
ФУНКЦИИ ВВОДА-ВЫВОДА

Функции ввода-вывода
1 вариант


ФИО студента

Аксенов Константин Максимович

Направление подготовки

Информационная безопасность

Группа

ИНБ-Б-0-Д-2022-1


Москва 2022

Цель работы: изучение функций ввода-вывода и получение навыков организации простейшего ввода-вывода данных.

Представленная в примере программа осуществляет ввод и вывод переменных в различных форматах.

Исходными данными для вычисления является значение переменных ch, name[20], firstname[20], ip, io, fp, fo, number. Значения этих переменных выводятся с клавиатуры.
//Лабараторная работа №2

//вариант 1

//выполнил студент группы ИНБ-Б-0-Д-2022-1

//АксеновК.М.

#include

#include // для использования функции strlen()

int main(void)

{

//объявление переменной для символа

char ch;

//приглашения для ввода символа

printf("Введите символ: ");

//ввод символа

scanf("%c",&ch);

//вывод в символьном виде и в виде кода (формат %с);

printf("Вывод в символьном виде %c\n",ch);

//объявление переменной строки

char name[20], firstname[20];

//приглашения для ввода строки

printf("Введите ваше имя и фамилию: ");

//вводстроки

scanf("%s %s",name,firstname);

//вычислениедлиныстроки

int length = strlen(name) + strlen(firstname);

//выводстрокииеёдлины

printf("Менязовут %s %s. Длинастроки %d\n",name,firstname,length);

//переменные для целых чисел

int ip, io;

//приглашение для ввода

printf("Введите два целых числа (положительное и отрицательное): ");

//ввод целых чисел


scanf("%d%d",&ip,&io);

//Вывод чисел в десятичном формате

printf("Вывод в десятичном формате чисел со сдвигом вправо и фиксированной длиной вывода.\n%-5d->\n%5d",ip,io);

//Вывод чисел в шестнадцатеричном формате

printf("\nВывод в шестнадцатеричном формате чисел %x и %x\n",ip,io);

//переменные для чисел с плавающей точкой

float fp, fo;

//приглашение для ввода

printf("Введите два числа с плавающей точкой (положительное и отрицательное): ");

//ввод целых чисел

scanf("%f%f",&fp,&fo);

//Вывод чисел в десятичном формате

printf("Вывод в десятичном формате чисел с заданной точностью.\n%0.3f и %0.3f",fp,fo);

//Вывод чисел в экспоненциальном формате

printf("\nВывод в экспоненциальном формате чисел %e и %e\n",fp,fo);

//переменная для целого беззнакового числа

unsigned int number;

//приглашение для ввода

printf("Введите целое беззнаковое число: ");

//ввод числа

scanf("%d",&number);

//вывод в виде десятичного целого без знака

printf("Вывод в виде десятичного целого без знака: %u\n",number);

//вывод в виде восьмеричного целого без знака

printf("Вывод в виде восьмеричного целого без знака: %o\n",number);

//вывод в виде шестнадцатеричного целого без знака

printf("Вывод в виде шестнадцатеричного целого без знака: %x\n",number);;

}

Первые четыре строки программы представляют собой комментарий, в котором указывается номер лабораторной работы и сведения о ее исполнителях.

Затем следуют две строки, указывающие на необходимость включения в данный файл двух заголовочных файлов (*.h), находящихся в системной директории и содержащих внешние декларации (прототипы) библиотечных функций printf(), scanf(), strlen(). Библиотеки, содержащие данные функции, также находятся в стандартной директории.

Следующая строка является декларацией функции main() с указанием имени функции и типа возвращаемого значения (void – никакое значение функцией не возвращается). Каждая программа обязательно должна иметь одну функцию со стандартным именем main().

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

Диалог с пользователем ведется на экране

, который после выполнения данной программы будет содержать следующую информацию:

Введите символ: A

Вывод в символьном виде A

Введите ваше имя и фамилию: Kostya Aksenov

Меня зовут Kostya Aksenov. Длина строки 13

Введите два целых числа (положительное и отрицательное): 315 -27

Вывод в десятичном формате чисел со сдвигом вправо и фиксированной длиной вывода.

315 ->

-27

Вывод в шестнадцатеричном формате чисел 13b и ffffffe5

Введите два числа с плавающей точкой (положительное и отрицательное): 127.361 -574.953

Вывод в десятичном формате чисел с заданной точностью.

127.361 и -574.953

Вывод в экспоненциальном формате чисел 1.273610e+02 и -5.749530e+02

Введите целое беззнаковое число: 2124

Вывод в виде десятичного целого без знака: 2124

Вывод в виде восьмеричного целого без знака: 4114

Вывод в виде шестнадцатеричного целого без знака: 84c

Числовое значение переменныхвводятся с клавиатуры после специального приглашения. После ввода значения переменных нажимается клавиша Enter. Затем происходит вывод введённых переменных в определённом формате. Этот алгоритм повторяется несколько раз с различными типами переменных.

Программа завершит свою работу после нажатия на любую клавишу на клавиатуре.

Контрольные вопросы.

  1. Спецификатор определяет тип переменной и способ её вывода.

  2. В Си имеется четыре базовых арифметических (число­вых) типа данных. Из них два целочисленных — char, int — и два плавающих (вещественных) — float и double. Кроме того, в программах можно использовать некоторые модификации этих ти­пов, описываемых с помощью служебных слов — модификаторов. Существуют два модификатора размера — short (короткий) и long (длинный) — и два модификатора знаков — signed (знако­вый) и unsigned (беззнаковый). Знаковые модификаторы при­меняются только к целым типам.

  3. В Си нет четкого закрепления количества памяти за определёнными типами. Это отдано на реализацию конкретного компилятора под конкретную платформу. Правда, все стремятся к универсализации, как представлено в таблице ниже.

    Тип

    Размер в
    байтах (битах)


    Интервал изменения

    char

    1 (8)

    -128 .. 127

    unsigned char

    1 (8)

    0 .. 255

    signed char

    1 (8)

    -128 .. 127

    int

    2 (16)

    -32768 .. 32767

    unsigned int

    2 (16)

    0 .. 65535

    signed int

    2 (16)

    -32768 .. 32767

    short int

    2 (16)

    -32768 .. 32767

    unsigned short int

    2 (16)

    0 .. 65535

    signed short int

    2 (16)

    -32768 .. 32767

    long int

    4 (32)

    -2147483648 .. 2147483647

    unsigned long int

    4 (32)

    0 .. 4294967295

    signed long int

    4 (32)

    -2147483648 .. 2147483647

    float

    4 (32)

    3.4Е-38 .. 3.4Е+38

    double

    4 (32)

    3.4Е-38 .. 3.4Е+38

    long double

    10 (80)

    3.4Е-4932 .. 3.4Е+4932

  4. Функция printf() предназначена для форматированного вывода. Она переводит данные в символьное представление и выводит полученные изображения символов на экран. Форматы нужны для того, чтобы указывать вид, в котором информация будет выведена на экран. Отличительной чертой формата является наличие символа процент ‘%’ перед ним. Строка форматов содержит форматы для вывода значений. После строки форматов через запятую указываются имена переменных, которые необходимо вывести. Количество символов % в строке формата должно совпадать с количеством переменных для вывода. Тип каждого формата должен совпадать с типом переменной, которая будет выводиться на это место. Замещение форматов вывода значениями переменных происходит в порядке их следования. Функция форматированного ввода данных с клавиатуры scanf() выполняет чтение данных, вводимых с клавиатуры, преобразует их во внутренний формат и передает вызывающей функции. При этом программист задает правила интерпретации входных данных с помощью спецификаций форматной строки. Строка форматов аналогична функции printf(). Строка форматов и список аргументов для функции обязательны.

  5. Функция scanf() принимает несколько параметров. Первым параметром является форматная строка, в которой указывается, какой тип данных будет введён. Ввод может осуществляться в несколько переменных, соответственно в форматной строке указывается форматы для всех переменных. Далее, после первого аргумента, функции scanf() задаются переменные, в которые осуществляется ввод. Их должно быть столько, сколько форматов указано в форматной строке. Например: scanf(“%d %f”,number,count).

  6. Функция printf() аналогична функции scanf(). Если в управляющей строке функции есть форматы, после управляющей строки нужно передать переменные, которые будут выводится в строке. Их должно быть столько, сколько указано в форматной строке.

  7. Управляющие символы – символы, которые используют в строках для управления вывода. Например, перенос строки \n, или знак табуляции \t.