Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование на C / C++ / Нейбауэр А. Моя первая программа на С.doc
Скачиваний:
182
Добавлен:
02.05.2014
Размер:
3.75 Mб
Скачать

Понятие параметров

Когда в программе используется функция, такая как puts(), принято говорить, что происходит вызов функции. Выражение «вызов функции» означает, что вы указываете Си выполнить некую функцию. Круглые скобки после имени функции могут оставаться пустыми или содержать параметры. Параметр — это элемент информации, необходимой для того, чтобы функция могла выполнить задачу*. Например, puts() является библиотечной функцией, она содержит инструкции, указывающие компьютеру вывести строку символов на экран монитора. Но какую именно строку он должен вывести? Мы должны определить это путем помещения соответствующей информации в круглые скобки. Подобная процедура называется передачей параметров.

Так, в инструкции

puts("Привет");

слово «Привет» является параметром, который мы передаем функции. Как показано на рис.2.2, мы говорим компилятору, что он должен выполнить функцию puts(), используя при этом слово «Привет». Кавычки являются индикатором, который указывает, что мы хотим отобразить на экране именно буквы П-р-и-в-е-т, а не какую-либо переменную или константу с таким именем (смотри главу3).

Рис. 2.2. Передача параметра библиотечной функции

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

Слово «Привет» в нашем примере является одним параметром. Функция puts() может иметь только один параметр: символ, слово или фразу, которые мы хотим отобразить на экране. Позднее вы познакомитесь с функциями, которые могут иметь несколько параметров. Для многих функций передача параметров не является обязательной процедурой. По мере знакомства с функциями языка Си вы узнаете о параметрах больше.

Проверьте, правильно ли вы поняли разницу между функцией main() и другими функциями, такими как puts(). Мы используем имя main() для функции, содержащей наши инструкции компьютеру. Мы не вызываем функцию main(), но требуем выполнения содержащихся в ней инструкций, и одна из этих инструкций вызывает функцию puts(). Таким образом, puts() — это функция, вызываемая функцией main().

______________________

* Список параметров, передаваемых функции при ее вызове, часто называют списком фактических параметров, а его элементы, соответственно, фактическими параметрами. (Прим.перев.)

Директива #include

Если вы пишете программу, которая требует использования дисковых файлов или вывода информации на принтер, вам необходимо включить файл заголовков STDIO.H. Для этого вводятся следующие инструкции:

#include <stdio.h>

main()

{

puts("OK");

return(0);

}

Директива #include указывает компилятору на то, что он должен использовать информацию, содержащуюся в файле заголовков STDIO.H. Сокращение stdio установлено для стандартного ввода/вывода (standard input/output). Файл STDIO.H содержит инструкции, необходимые компилятору для работы с дисковыми файлами или принтером.

Инструкции, включающие файлы заголовков, следует помещать перед функцией main().

Где содержатся файлы заголовков?

Символы, окружающие имя файла заголовков (< и >), указывают компилятору, что данный файл может находиться в каталоге INCLUDE. Так называется каталог, куда при инсталляции компилятора помещаются файлы заголовков. Если во время компиляции файл заголовков не будет найден в текущем каталоге, компилятор будет искать его в каталоге INCLUDE. Вы можете также заключить имя файла заголовка в кавычки

#include "stdio.h"

но тогда компилятор будет искать его только в текущем каталоге и если не обнаружит, выдаст сообщение об ошибке.

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

Некоторые встроенные функции Си* для правильной работы нуждаются во включении файла STDIO.H. Для чего он нужен? Например, в языке Си существует функция getc(), которая вводит единичный символ из указанного вами источника, которым может быть и клавиатура, и дисковый файл. Так как существенная часть информации вводится с клавиатуры, Си включает функцию getchar(). Эта функция указывает компилятору «взять символ»** с клавиатуры. Функция getchar() вызывает ту же функцию getc() и сообщает ей, что источником информации является стандартное устройство ввода. Мы знаем, что стандартным устройством ввода является клавиатура, но откуда об этом узнает компилятор? Стандартное устройство ввода определено в файле STDIO.H, так что, используя в программе функцию getchar(), мы должны включить и файл STDIO.H с помощью директивы #include. Файл заголовков и библиотека вместе обеспечивают работу функции, так что, если ваш компилятор снабжен файлом STDIO.H, вам следует включать его в каждую программу во избежание ошибки компилятора.