Оцените презентацию от 1 до 5 баллов!
Тип файла:
ppt / pptx (powerpoint)
Всего слайдов:
21 слайд
Для класса:
1,2,3,4,5,6,7,8,9,10,11
Размер файла:
202.50 kB
Просмотров:
182
Скачиваний:
1
Автор:
неизвестен
Слайды и текст к этой презентации:
№1 слайд
Содержание слайда: Функции (введение)
№2 слайд
Содержание слайда: Подпрограммы в Си
В языке Си подпрограммы представлены только функциями.
№3 слайд
Содержание слайда: Тип возвращаемого значения
Функция может вернуть значение любого типа кроме массива.
Если функция ничего не возвращает, то в качестве типа возвращаемого значения следует указать void.
Если тип возвращаемого значения не указан, то согласно стандарту C89, компилятор предполагает, что возвращается значение целого типа.
Согласно стандарту С99 тип возвращаемого значения опускать нельзя (warning).
№4 слайд
Содержание слайда: Параметры функции
Любая функция может принимать параметры.
Если список параметров содержит только ключевое слово void, у функции нет параметров.
Параметры функции перечисляются через запятую.
Определение параметра начинается с указания его типа, за которым следует имя параметра. При этом для каждого имени тип указывается отдельно!
№5 слайд
Содержание слайда: Примеры заголовков функций
№6 слайд
Содержание слайда: Тело функции
У каждой функции есть исполнимая часть, которая называется телом функции и заключена в фигурные скобки (которые также являются частью тела функции).
Тело функции может содержать как объявления переменных, так и операторы.
Переменные, описанные в теле функции, «принадлежат» только этой функции и не могут быть ни прочитаны, ни изменены другой функцией.
Тело функции не может содержать в себе определения других функций.
Если функция ничего не возвращает, ее тело может быть пустым.
№7 слайд
Содержание слайда: Тело функции
№8 слайд
Содержание слайда: Оператор return
return выражение;
Завершает выполнение функции и возвращает управление вызывающей стороне.
Используется для возврата значения (если функция возвращает результат).
Функция может содержать произвольное число операторов return.
Оператор return может использоваться в функциях типа void. При этом никакое выражение не указывается.
№9 слайд
Содержание слайда: Оператор return
№10 слайд
Содержание слайда: Вызов функции
Для вызова функции необходимо указать ее имя, за которым в круглых скобках через запятую перечислить аргументы.
float a = avg(2.0, 5.0);
Если функция возвращает значение, ее можно использовать в выражениях.
float a, b;
printf("Enter a and b:");
scanf("%f%f", &a, &b);
if (avg(a, b) < 0.0)
printf("Averadge is negative!\n");
№11 слайд
Содержание слайда: Вызов функции
Указывать скобки при вызове функции необходимо, даже если у этой функции нет параметров.
beep();
// Функция НЕ будет вызвана
beep; // warning: statement with no effect
№12 слайд
Содержание слайда: Вызов функции
Значение, возвращаемое функцией, может быть проигнорировано.
#include <stdio.h>
int main(void)
{
int n_chars;
n_chars = printf("Hello, world!\n");
// после вызова printf n_chars равно 14
printf("n_chars = %d\n", n_chars);
(void) printf("Hello, world!\n");
// явно указано, что возвращаемое значение не используется
return 0;
}
№13 слайд
Содержание слайда: Вызов функции
№14 слайд
Содержание слайда: Объявление функции
#include <stdio.h>
int main(void)
{
// error: implicit declaration of function 'avg'
float a = avg(2.0, 3.0);
printf("%f\n", a);
return 0;
}
float avg(float a, float b)
{
return (a + b) / 2.0;
}
№15 слайд
Содержание слайда: Объявление функции
Объявление функции предоставляет компилятору всю информацию, необходимую для вызова функции: количество и типы параметров, их последовательность, тип возвращаемого значения.
Объявление функции состоит из заголовка функции
тип-результата имя-функции(список формальных параметров
с их типами);
Объявление функции должно соответствовать ее определению.
Объявление функции может не содержать имен параметров. Однако их обычно оставляют для большей наглядности.
№16 слайд
Содержание слайда: Объявление функции
#include <stdio.h>
float avg(float a, float b); // float avg(float, float);
int main(void)
{
float a = avg(2.0, 3.0);
printf("%f\n", a);
return 0;
}
float avg(float a, float b)
{
return (a + b) / 2.0;
}
№17 слайд
Содержание слайда: Функции без параметров
#include <stdio.h>
void f()
{
printf("f\n");
}
void g(void)
{
printf("g\n");
}
№18 слайд
Содержание слайда: Функции без параметров
Объявление
void f(void);
означает, что у функции нет ни одного параметра.
Объявление
void f();
означает, что у функции могут быть, а могут и не быть параметры. Если параметры есть, мы не знаем ни их количество, ни их тип.
№19 слайд
Содержание слайда: Аргументы функции
В Си все аргументы функции передаются «по значению».
Авторы языка: «Благодаря этому свойству обычно удается написать более компактную программу, содержащую меньшее число посторонних переменных, поскольку параметры можно рассматривать как должным образом инициализированные локальные переменные.»
№20 слайд
Содержание слайда: Аргументы функции
#include <stdio.h>
int power(int base, int n)
{
int res = 1;
while (n > 0)
{
res = res * base;
n = n - 1;
}
// n = 0
return res;
}
№21 слайд
Содержание слайда: Аргументы функции
#include <stdio.h>
void decompose(
float f,
int int_part,
float frac_part)
{
int_part = f;
frac_part = f - int_part;
}