Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
прог.doc
Скачиваний:
3
Добавлен:
19.04.2019
Размер:
3.87 Mб
Скачать

8. Элементарный ввод-вывод в языке c. Спецификации преобразования

#INCLUDE <STDIO.H>

в файле STDIO.H определяются некоторые макросы и переменные,

используемые библиотекой ввода/вывода.

Программа чаще всего содержит 4 части:

- объявление переменных;

- ввод исходных данных;

- обработка данных (вычисления);

- вывод результата.

Перед вводом данных необходимо вывести на экран подсказку.

Для ввода данных используют функцию scanf.

scanf ( "%d%d", &a, &b ) "%d%d"-формат ввода &a, &b – адреса переменных

Формат ввода – это строка в кавычках, в которой перечислены один или несколько

форматов ввода данных:

%d ввод целого числа (переменная типа int)

%f ввод вещественного числа (переменная типа float)

ввод одного символа (переменная типа char)

-После формата ввода через запятую перечисляются адреса ячеек памяти, в которые на-

до записать введенные значения. Почувствуйте разницу:

a значение переменной a

&a адрес переменной a

Для вывода чисел и значений переменных на экран используют функцию printf

printf ( "Результат: %d + %d = %d \n", a, b, c );

содержание скобок при вызове функции printf очень похоже на функцию scanf

Пример программы

#include <stdio.h>

#include <conio.h>

main()

{

int a, b, c; // объявление переменных

printf ( "Введите два целых числа \n" ); // подсказка для ввода

scanf ( "%d%d", &a, &b ); // ввод данных

c = a + b; // вычисления (оператор присваивания)

printf ( "Результат: %d + %d = %d \n", a, b, c ); // вывод результата

getch(); Задержка до нажатия любой клавиши выполняется функцией getch().

}

.

9. Условный операторы.

Оператор IF - ELSE используется при необходимости сде-

лать выбор. Формально синтаксис имеет вид

IF (выражение)

оператор-1

ELSE

оператор-2,

Где часть ELSE является необязательной. Сначала вычисля-

ется выражение; если оно "истинно" /т.е. значение выражения

отлично от нуля/, то выполняется оператор-1. Если оно ложно

/значение выражения равно нулю/, и если есть часть с ELSE,

то вместо оператора-1 выполняется оператор-2.

Позволяют организовать ветвления в программе

If – else позволяет выбрать один оператор или группу операторов из двух

If позволяет выполнить оператор или группу операторов или пропустить

If(x>3)

y=2

ELSE свя-

зывается с ближайшим предыдущим IF, не содержащим ELSE.

Например, в

IF ( N > 0 )

IF( A > B )

Z = A;

ELSE

Z = B;

10. Вложенные условные операторы

Оператор if является вложенным, если он вложен, т.е. находится внутри другого оператора if или else. В практике программирования вложенные условные операторы используются довольно часто. Во вложенном условном операторе фраза else всегда ассоциирована с ближайшим if в том же блоке, если этот if не ассоциирован с другой фразой else. Например:

if(i)

{

if(j) statement 1;

if(k) statement 2; /* этот if */

else statement 3; /* ассоциирован с этим else */

}

else statement 4; /* ассоциирован с if(i) */

11. Оператор switch

Если надо выбрать один из нескольких вариантов в зависимости от значения некоторой

целой или символьной переменной, можно использовать несколько вложенных операторов if,

но значительно удобнее использовать специальный оператор switch

Оператор множественного выбора switch состоит из заголовка и тела оператора, заклю-

ченного в фигурные скобки.

В заголовке после ключевого слова switch в круглых скобках записано имя переменной

(целой или символьной). В зависимости от значения этой переменной делается выбор ме-

жду несколькими вариантами.

Каждому варианту соответствует метка case, после которой стоит одно из возможных

значений этой переменной и двоеточие; если значение переменной совпадает с одной из

меток, то программа переходит на эту метку и выполняет все последующие операторы. Оператор break служит для выхода из тела оператора switch.

Если значение переменной не совпадает ни с одной из меток, программа переходит на

метку default (по умолчанию, то есть если ничего другого не указано). Можно ставить две метки на один оператор, например, чтобы программа реагировала как

на большие, так и на маленькие буквы, надо в теле оператора switch написать так:

case 'а':

case 'А':

printf("\nАнтилопа"); break;

case 'б':

case 'Б':

printf("\nБарсук"); break;

и так далее

scanf("%c", &c); // ввести букву

switch ( c ) // заголовок оператора выбора

{

case 'а': printf("\nАнтилопа"); break;

case 'б': printf("\nБарсук"); break;

case 'в': printf("\nВолк"); break;

default: printf("\nНе знаю я таких!"); // по умолчанию

}