ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 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
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. Затем происходит вывод введённых переменных в определённом формате. Этот алгоритм повторяется несколько раз с различными типами переменных.
Программа завершит свою работу после нажатия на любую клавишу на клавиатуре.
Контрольные вопросы.
-
Спецификатор определяет тип переменной и способ её вывода. -
В Си имеется четыре базовых арифметических (числовых) типа данных. Из них два целочисленных — char, int — и два плавающих (вещественных) — float и double. Кроме того, в программах можно использовать некоторые модификации этих типов, описываемых с помощью служебных слов — модификаторов. Существуют два модификатора размера — short (короткий) и long (длинный) — и два модификатора знаков — signed (знаковый) и unsigned (беззнаковый). Знаковые модификаторы применяются только к целым типам. -
В Си нет четкого закрепления количества памяти за определёнными типами. Это отдано на реализацию конкретного компилятора под конкретную платформу. Правда, все стремятся к универсализации, как представлено в таблице ниже.
Тип
Размер в
байтах (битах)
Интервал изменения
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
-
Функция printf() предназначена для форматированного вывода. Она переводит данные в символьное представление и выводит полученные изображения символов на экран. Форматы нужны для того, чтобы указывать вид, в котором информация будет выведена на экран. Отличительной чертой формата является наличие символа процент ‘%’ перед ним. Строка форматов содержит форматы для вывода значений. После строки форматов через запятую указываются имена переменных, которые необходимо вывести. Количество символов % в строке формата должно совпадать с количеством переменных для вывода. Тип каждого формата должен совпадать с типом переменной, которая будет выводиться на это место. Замещение форматов вывода значениями переменных происходит в порядке их следования. Функция форматированного ввода данных с клавиатуры scanf() выполняет чтение данных, вводимых с клавиатуры, преобразует их во внутренний формат и передает вызывающей функции. При этом программист задает правила интерпретации входных данных с помощью спецификаций форматной строки. Строка форматов аналогична функции printf(). Строка форматов и список аргументов для функции обязательны. -
Функция scanf() принимает несколько параметров. Первым параметром является форматная строка, в которой указывается, какой тип данных будет введён. Ввод может осуществляться в несколько переменных, соответственно в форматной строке указывается форматы для всех переменных. Далее, после первого аргумента, функции scanf() задаются переменные, в которые осуществляется ввод. Их должно быть столько, сколько форматов указано в форматной строке. Например: scanf(“%d %f”,number,count). -
Функция printf() аналогична функции scanf(). Если в управляющей строке функции есть форматы, после управляющей строки нужно передать переменные, которые будут выводится в строке. Их должно быть столько, сколько указано в форматной строке. -
Управляющие символы – символы, которые используют в строках для управления вывода. Например, перенос строки \n, или знак табуляции \t.