Задание 2: Выполнить пример 2 и пример 3, приведенные в методических рекомендациях.
Задание 3: Напишите программу, которая 3 раза выводит на экран вашу фамилию
имя следующими способами:
В одну строку применив один оператор printf;
В одну строку применив два оператора printf;
В две строки применив один оператор printf.
Функция ввода. Следующая программа, которую мы сейчас рассмотрим, использует стандартную библиотечную функцию scanf, чтобы считать два целых числа, введенные пользователем с клавиатуры, вычислить сумму их значений и напечатать результат,
используя функцию printf.
Пример 4:
/* Программа сложения */
#include "stdio.h"
int _tmain(int argc, _TCHAR* argv[])
{
int integer1, integer2, sum; /* объявление */
printf("Vvedite pervoe celoe chislo\n"); /* подсказка */
scanf("%d", &integer1); /* прочитать целое */
printf("Vvedite vtoroe celoe chislo \n"); /* подсказка */
scanf("%d", &integer2); /* прочитать целое */ sum = integer1 + integer2; /* присвоить сумму */ printf("Summa ravna %d\n", sum); /* напечатать сумму */ return 0; /* показывает успешное завершение программы */
}
Результат работы программы:
Vvedite pervoe celoe chislo
45
Vvedite vtoroe celoe chislo
72
Summa ravna 117
Комментарий /* Программа сложения */ объясняет назначение программы.
Строка:
#include "stdio.h"
является директивой для препроцессора С. Строка, начинающаяся символом #, выполняется препроцессором до того, как программа начнет компилироваться. Эта специфическая строка сообщает препроцессору, что необходимо включить в программу содержание стандартного заголовочного файла ввода/вывода (stdio.h). Этот заголовочный файл содержит информацию и объявления, используемые компилятором во время компиляции вызовов стандартных функций ввода/вывода, таких, как printf. Кроме того, заголовочный файл содержит информацию, которая помогает компилятору определить, корректно ли написаны обращения к библиотечным функциям.
Как было отмечено выше, каждая программа начинает исполняться с функции _tmain. Левая фигурная скобка отмечает начало тела main, а правая соответственно конец. Строка:
int integer1, integer2, sum;
является объявлением. Группы символов integer1, integer2 и sum — имена переменных. Переменная — это ячейка памяти, в которую можно записывать значение, предназначенное для использования программой. Приведенное выше объявление сообщает, что переменные integer1, integer2 и sum принадлежат к типу int и, следовательно, в этих переменных будут храниться целые величины. Все переменные, которые используются в программе, должны быть объявлены. При объявлении указывается имя и тип переменной. Именем переменной в С может служить любой допустимый идентификатор.
Объявления должны располагаться после левой фигурной скобки функции и перед первым исполняемым оператором.
Оператор:
printf("Vvedite pervoe celoe chislo\n");
печатает на экране символы Vvedite pervoe celoe chislo и переводит курсор на начало следующей строки.
Оператор:
scanf("%d", &integer1);
вызывает scanf, чтобы получить от пользователя некое значение. Функция scanf считывает данные со стандартного устройства ввода, которым обычно является клавиатура. В нашем случае функция scanf имеет два аргумента, %d и &integer1. Первый аргумент —
Лабораторная работа №3 Функции ввода-вывода
|
3
|
управляющая строка, задает формат считывания, тем самым определяется тип данных, которые предстоит ввести пользователю. Так, в частности, %d — спецификация преобразования, означающая, что вводимые данные должны быть целым числом (буква d используется для «десятичных целых»). Знак % в данном контексте трактуется scanf (в дальнейшем мы увидим, что это в полной мере относится и к printf), как esc-код (подобно \), а комбинация %d является esc-кодом (подобно \n). Второй аргумент scanf начинается со знака амперсанда (&), которым в С задается операция взятия адреса следующей за ним переменной. Амперсанд, когда он используется совместно с именем переменной, сообщает scanf ячейку памяти, в которой хранится переменная integer1. В последующем компьютер будет хранить величину для integer1 в этой ячейке.
Когда компьютер выполняет вышеприведенный оператор scanf, он ждет, пока пользователь не введет значение для переменной integer1. Пользователь вводит целое число, после чего нажимает клавишу Enter, посылая, таким образом, число в компьютер. После этого компьютер присваивает данное число, или значение, переменной integer1. Любая последующая ссылка в программе на integer1 будет представлять именно это значение.
Оператор
printf("Vvedite vtoroe celoe chislo \n");
печатает на экране сообщение Vvedite vtoroe celoe chislo, после чего переводит курсор на начало следующей строки.
Оператор
scanf("%d", &integer2);
получает от пользователя значение для переменной integer2. В результате выполнения оператора присваивания
sum = integer1 + integer2;
вычисляется сумма переменных integer1 и integer2, и ее значение присваивается переменной sum посредством операции присваивания =. Оператор читается как «sum получает значение integer1 + integer2».
Оператор
printf("Summa ravna %d\n", sum);
вызывает функцию printf, чтобы напечатать на экране текст Sum ravna, после которого следует численное значение переменной sum. В данном случае printf имеет два аргумента, "Sum ravna %d\n" и sum. Первый аргумент — управляющая строка, определяет формат вывода. Он содержит несколько символов, которые будут отображены, и спецификатор преобразования %d, определяющий, что будет напечатано целое число. Второй аргумент задает значение, которое будет напечатано.
Вычисления могут выполняться и непосредственно внутри оператора printf. Мы могли бы скомбинировать два предыдущих оператора в один:
printf("Summa ravna %d\n", integer1+integer2);
Оператор:
return 0;
передает значение 0 среде операционной системы, в которой исполнялась программа.
Правая фигурная скобка означает, что функция _tmain окончена.
Достарыңызбен бөлісу: |