- •1.История создания и развития языка Си. Структура программы на языке Си. Этапы выполнения программы.
- •2.Алфавит, идентификаторы, служебные слова. Базовые типы данных. Переменные: объявление, инициализация.
- •3. Арифметические операции: их приоритет, примеры. Операции присваивания, пример использования. Генерация случайных чисел.
- •6.Опреатор цикла while, do-whaile, for: назначение, блок-схемы. Примеры и использования.
- •7. Операторы перехода continue, break, goto, return: назначение, блок-схемы, примеры использования.
- •8. Массивы: объявление, инициализация, примеры операции над массивами.
- •9. Макросы и константы: назначение, классификация, примеры использования.
- •10. Строки: примеры объявления и инициализации. Функции работы со строками.
- •11. Функции: назначение, правила объявления, фактические и формальные параметры, примеры использования.
- •4. Операторы условия if, if-else и оператор выбора switch: назначение, блок-схемы, примеры использования.
- •12.Функции: передача в функцию массивов, аргументы по умолчанию, рекурсивные функции, примеры.
12.Функции: передача в функцию массивов, аргументы по умолчанию, рекурсивные функции, примеры.
Передача в функцию массивов.
Если в качестве аргумента выступает массив, то передаваемым значением является адрес первого элемента массива, т. е. это передача параметров по адресу таким образом при выходе из функций измененные в ней элементы массива останутся измененными.
Протатип функции с одномерным массивом в качестве параметра может иметь вид:
Void f (float a[]);
Void f (float []);
Void f (float a[10]);
При вызове функции в скобках указывается лишь имя массива.
Двумерный массив
Void f (float a[5][5]);
Void f (float a[][]);
Аргумены по умолчанию.
Обычно при вызове функции в неё передается конкретное значение каждого параметра , однако аргумент на функции можно передать по умолчанию и оно будет использоваться в случае если функции будет пропущен этот параметр.
Аргументы по умолчанию можно задавать только в конце списка аргументов.
Int f(int, int=0, char=2);
Int f(int=0, int=0, char);// ошибка
Int f(int=0, int, char);//ошибка
Аргументы по умолчанию неможет быть повторен или изменён в последующих
Объявлениях в той же области видемости
Void f(int x=7);
Void f(int x=7); // ошибка
Void f(int x=8); // ошибка
Основные правила рекурсии:
До рекурсивного вызова должна стоять проверка на возврат из рекурсии.
Если в предыдущем примере убрать оператор if(n==0) return 1;
То функция fact будет вызывать себя до тех пор пока стэк не перепониться.(будет ошибка)