Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
met_cv.doc
Скачиваний:
12
Добавлен:
04.06.2015
Размер:
973.31 Кб
Скачать

9.4. Запуск программы на исполнение.

Программа, успешно прошедшая компиляцию, может быть запущена на исполнение непосредственно из среды компилятора. Для этого необходимо выполнить команду Run=>Run или нажать комбинацию клавиш Ctrl-F9. Естественно, созданный исполняемый файл (расширение exe), может быть запущен без среды компилятора, из любого файлового менеджера или через кнопку «Пуск» операционной системы.

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

10. Ввод информации в программу с экрана

10.1. Функция scanf().

Функция scanf() является обратной к функции printf(), т.е. обеспечивает ввод данных с экрана.

Правило написания аргументов функций scanf() и printf() также во многом совпадают. В первом аргументе, который всегда заключается в кавычки, после знака процента (%) указывается формат вводимой переменной, а во втором аргументе не само имя переменной, а её адрес. Для использования адреса переменной перед ее именем необходимо поставить знак амперсанда &. Одним вызовом функции scanf() можно ввести значения нескольких переменных.

Типы форматов функции scanf() совпадают с типами форматов, приведенными для функции printf()в разделе 7.2 за одним исключением – при вводе чисел с плавающей запятой с двойной точностью (тип double), необходимо использовать формат lf.

Примеры:

float v;

double t;

scanf("%f%lf", &v,&t);

Int day, year;

char month[20];

scanf("%d%s%d",&day,month,&year);

Здесь перед именем переменной month не поставлен знак &, т.к. для массивов имя массива есть адрес первого элемента массива, т.е. month=&month[0].

Вызов функции scanf() приводит к остановке программы, и пользователь получает возможность набора информации на экране. После нажатия клавиши "Enter", осуществляется попытка присвоения набранных на экране значений указанным переменным. Присвоение завершается успешно, если формат в функции scanf() и набранная на экране информация соответствуют типам вводимых переменных. Функция scanf() возвращает количество успешно введенных значений.

10.2. Примеры программ, использующих ввод данных с экрана. Ввод вектора с экрана.

#include<stdio.h.>

#define N 1000

Void main()

{ int a[N],n,i;

printf("Bведите размерность вектора:\n");

printf("(не более %d)\n",N);

scanf("%d",&n);

if(n > N)

{ printf("Не допустимая размерность! \n");

return;

}

for(i=0; i<n; i++)

{ printf("Bведите %d координату вектора:\n",i+1);

scanf("%d",&a[i]);

}

}

В этой программе объявляется размерность массива с некоторым запасом, максимальная размерность массива доводится до пользователя, если все же пользователь вводит большую размерность, программа завершается выводом на экран аварийного сообщения. В этом случае дальнейшая работа программы не предсказуема, ввиду возможного изменения оперативной памяти, не выделенной для программы, в том числе в системной области. Чаще всего в таких ситуациях операционная система выводит сообщение «Программа выполнила недопустимую операцию и будет закрыта». В случае ввода допустимого значения размерности, программа последовательно запрашивает указанное количество координат вектора, нумеруя их с 1.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]