Array M. УЭИТ - Язык Си - руководство для начинающих

Здесь есть возможность читать онлайн «Array M. УЭИТ - Язык Си - руководство для начинающих» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: Москва, Год выпуска: 1988, ISBN: 1988, Издательство: Мир, Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Язык Си - руководство для начинающих: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Язык Си - руководство для начинающих»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

M. УЭИТ   С. ПРАТА    Д. МАРТИН
Язык Си — руководство для начинающих

Язык Си - руководство для начинающих — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Язык Си - руководство для начинающих», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

return(0);

}

}

Необходимо отметить здесь несколько моментов.

Первый : самым главным является то, что мы должны описать тип функции! Переменная answerимеет тип double, следовательно, сама функция power()тоже должна быть типа double, так как ей присваивается величина, возвращаемая оператором return. Почему, спросите вы, мы не описывали тип функции раньше? Дело в том, что по умолчанию в языке Си функция имеет тип int(для большинства функций это так), если не указано что-то иное.

Второй : мы хотели показать, что не забыли те новые операции присваивания, которые ввели в гл. 8.

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

Мы можем воспользоваться тем же драйвером при условии, что тип функции power( )там тоже описан.

/* проверка возведения в степень*/

main( )

{

double x;

double power( ); /* это пример oписания функции */

x = power(2.0, 3);

printf(" %.0f \n", x);x = power(-3.0, 3);

printf(" %.0f\n" , x);x = power(4.0, -2);

printf(" %.4f\n", x);x = power(5.0, 10);

print f ("%.0f \n", x);

}

На этот раз результаты работы программы выглядят вполне удовлетворительно.

8

-27

0.0625

9765625

Данный пример побуждает нас ввести следующий короткий раздел.

ОПИСАНИЕ ТИПОВ ФУНКЦИЙ

Тип функции определяется типом возвращаемого ею значения, а не типом ее аргументов. Если указание типа отсутствует, то по умолчанию считается, что функция имеет тип int. Если значения функции не принадлежат типу int, то необходимо указать ее тип в двух местах.

1. Описать тип функции в ее определении:

char pun(ch, n) /* функция возвращает символ */

int n;

char ch;

float raft(num) /* функция возвращает величину типа float */

int num;

2. Описать тип функции также в вызывающей программе. Описание функции должно быть приведено наряду с описаниями переменных программы; необходимо только указать скобки (но не аргументы) для идентификации данного объекта как функции.

main( )

{

char rch, pun( );

float raft;

}

Запомните!Если функция возвращает величину не типа int, указывайте тип функции там, где она определяется, и там, где она используется.

Резюме: функции

1. Форма записи

Типичное определение функции имеет следующий вид:

имя (список аргументов)

описание аргументов

тело функции

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

Пример:

diff(x, у) /* имя функции и список аргументов */

ini x, у; /* описание аргументов */

{ /* начало тела функции */

int z; /* описание локальной переменной */

z = х - у;return(z);

} /* конец тела функции */

II. Передача значений функции:

Аргументы используются для передачи значений из вызывающей программы и функцию. Если значения переменных аи bбудут 5 и 2, то при вызове

с = diff(а,b);

осуществляется передача этих значений переменным хи у. Значения 5 и 2 называют ся фактическими аргументами, а переменные хи у, указанные в описании функции: diff( )- формальными аргументами.

Использование ключевого слова returnпозволяет передавать в вызывающую программу одно значение из вызываемой функции. В нашем примере переменной с присваивается значение переменной z, равное 3.

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

III. Тип функции

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

Пример

main( )

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Язык Си - руководство для начинающих»

Представляем Вашему вниманию похожие книги на «Язык Си - руководство для начинающих» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «Язык Си - руководство для начинающих»

Обсуждение, отзывы о книге «Язык Си - руководство для начинающих» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x