Базовые понятия языка Си

Слайд 2

Рассматриваемый материал Процедуры Функции

Рассматриваемый материал

Процедуры
Функции

Слайд 3

Зачем нужны процедуры? printf ( "Ошибка программы" ); void Error() {

Зачем нужны процедуры?

printf ( "Ошибка программы" );
void Error()
{
printf("Ошибка программы");
}
main()
{
int

n;
scanf ( "%d", &n );
if ( n < 0 ) Error();
...
}

много раз!

вызов процедуры

Слайд 4

Что такое процедура? Процедура – вспомогательный алгоритм, который выполняет некоторые действия.

Что такое процедура?

Процедура – вспомогательный алгоритм, который выполняет некоторые действия.
текст (расшифровка)

процедуры записывается после основной программы
в программе может быть много процедур
чтобы процедура заработала, нужно вызвать её по имени из основной программы или из другой процедуры
Слайд 5

Процедура с параметрами void printBin ( int n ) { int

Процедура с параметрами

void printBin ( int n )
{
int k;
k

= 128;
while ( k > 0 )
{
printf ( "%d", n / k );
n = n % k;
k = k / 2;
}
}

main()
{
printBin ( 99 );
}

локальные переменные

Параметры – данные, изменяющие работу процедуры.

значение параметра (аргумент)

Слайд 6

Изменяемые параметры Задача. Написать процедуру, которая меняет местами значения двух переменных.

Изменяемые параметры

Задача. Написать процедуру, которая меняет местами значения двух переменных.
void

Swap ( int a, int b )
{
int c;
c = a; a = b; b = c;
}
main()
{
int x = 2, y = 3;
Swap ( x, y );
printf ( "%d %d", x, y );
}

передача по значению

Процедура работает с копиями переданных значений параметров!

Почему не работает?

2 3

Слайд 7

Изменяемые параметры (Cи) void Swap ( int * adrA, int *

Изменяемые параметры (Cи)

void Swap ( int * adrA, int * adrB

)
{
int c;
c = *adrA; *adrA = *adrB; *adrB = c;
}
Вызов:
int a, b;
Swap( &a, &b ); // правильно
Swap( 2, 3 ); // неправильно
Swap( &a, b+3 ); // неправильно

значение переменной по адресу

передаются адреса переменных

Слайд 8

Что такое функция? Функция – это вспомогательный алгоритм, который возвращает значение-результат

Что такое функция?

Функция – это вспомогательный алгоритм, который возвращает значение-результат (число,

символ или объект другого типа).
Задача. Написать функцию, которая вычисляет сумму цифр числа.
Алгоритм:

сумма = 0
пока n != 0
сумма = сумма + n % 10
n = n / 10