Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Краткие теоретические сведения. После запуска программы управление передается функции main()






После запуска программы управление передается функции main(). Она может возвращать значение в вызвавшую систему и принимать параметры из внешнего окружения. Возвращаемое значение должно быть целого типа. Стандарт предусматривает два формата функции:

тип main() {/*…*/}

или

тип main(int argc, char *argv[]) {/*…*/}

Функция main() имеет два параметра. Имена параметров в программе могут быть любыми, но принято использовать argc и argv.

– argc определяет количество параметров, передаваемых функции, включая имя самой программы;

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

Первый элемент массива argv[0] ссылается на полное имя запускаемого на выполнение файла. Следующий argv[1] указывает на первый параметр; argv[2] – на второй и т.д. Параметр argv[argc] должен быть равен 0.

Если функция main() ничего не возвращает, вызвавшая система получит значение, означающее успешное завершение. Ненулевое значение означает аварийное завершение. Оператор возврата из main() можно опускать.

Использование параметров функции main()

Пример 1. Текст программы сложения двух чисел, введенных из командной строки, сохранен в файле SumToArg.cpp, следовательно исполнимый код будет находиться в файле SumToArg.exe.

#include < stdio.h>

#include < stdlib.h>

int main(int argc, char *argv[])

{ float a, b;

/* argv[0] содержит имя программы, argv[1] – первое слагаемое; argv[2] – второе слагаемое */

a=atof(argv[1]);

b=atof(argv[2]);

printf (“%f + %f=%f ”, a, b, a+b);

return 0;

}

Так как параметры массива argv являются строками, то для выполнения арифметических операций их значения нужно привести к числовому типу. Для этого в библиотеке stdlib.h имеются функции:

atof(s) – приводит аргумент s к типу float;

atoi (s) – приводит аргумент s к типу int.

Запуск программы из командной строки

Для запуска программы воспользуемся командной строкой cmd. С помощью команды cd переходим в папку, где находится программа SumToArg.exe. Далее набираем имя этой программы и через пробелы 2 числа, нажимаем Enter.

Пример 2. Через командную строку передается последовательность чисел. Определить, сколько отрицательных значений содержится в данной последовательности.

#include < stdio.h>

#include < stdlib.h>

int main(int argc, char *argv[])

{ int i, count=0;

for (i=1; i< argc; i++)

 

if (atof(argv[i])< 0) count++;

if (count= =0) puts(“No”);

else printf(“otric – %d”, count);

return 0;

}






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.