Содержание
- 2. Основные понятия Локальное объявление – объявление типа или переменной, находящееся внутри какой-либо пользовательской функции программы. Глобальное
- 3. Пример Программа запрашивает у пользователя размер целочисленного массива (ограничен – максимально 30 элементов). Затем осуществляется ввод
- 4. Пример int array[30], num; void Input(void); void GetMinMax(int *, int *); int main(int argc, char *argv[])
- 5. Пример void Input(void) { puts(“Введите массив:”); for(int i=0;i } void GetMinMax(int *max, int *min) { *max
- 6. Локальные переменные В языке С допускается (но не рекомендуется) объявление локальной переменной с тем же именем,
- 7. Основные понятия Время жизни – промежуток времени в течении которого под переменную выделена память, следовательно она
- 8. Пример Функция поиска в списке точек одной точки (структура POINT с двумя вещественными полями), расположенной наиболее
- 9. Классы памяти В языке С существует возможность управления временем жизни переменных. Для этого используются классы памяти,
- 10. Класс auto Класс памяти auto используется для создания локальных переменных в функциях. Переменная создается в момент
- 11. Класс register Класс памяти register используется для создания целочисленных (или производных от целочисленного типа) переменных в
- 12. Класс static Класс памяти static используется для создания статических переменных. Данный класс памяти используется по умолчанию
- 13. Пример void Show(void) { static int value = 0; printf(“%d\n”,value); value++; } int main(int argc, char
- 14. Класс extern Класс памяти extern используется для описания «внешних» переменных. Под внешней переменной здесь понимается переменная,
- 15. Функция main Согласно стандарту описания функции main в нее могут передаваться параметры, и она может возвращать
- 16. Функция main При запуске программы в нее из операционной системы или другой программы могут быть переданы
- 17. Функция main Параметры командной строки представлены в функции main двумя ее параметрами: целочисленным значением (обычно называемым
- 18. Функция main Функция main может возвращать целочисленное значение, которое может интерпретироваться операционной системой или вызвавшей программой
- 19. Функция main Пример: в программу в качестве параметров командной строки передаются целые числа. Программа должна вычислить
- 20. Пример 1 Написать программу, вычисляющую сумму цифр целых чисел. Числа передаются в параметрах командной строки. Программа
- 21. Пример 1 #include #include unsigned Calc(int); int main(int argc, char *argv[]) { for(int i=1;i int num
- 22. Пример 2 Написать программу подбора пароля к rar-архиву, если известно, что пароль состоит из трех цифр.
- 23. Пример 2 #include #include int main(int argc, char *argv[]) { if(argc for(int i=0;i for(int j=0;j for(int
- 24. Неопределенное число параметров В языке С допускается создание функций, имеющих неопределенное число параметров. Для реализации функции
- 25. Неопределенное число параметров Функция описывается в обычной форме, только после указания последнего фиксированного параметра через запятую
- 26. Неопределенное число параметров Для доступа к значениям нефиксированных параметров используются типы и макросы для работы со
- 27. Неопределенное число параметров Макрос установки переменной для работы со стеком на первый нефиксированный параметр: va_start(va_list ap,
- 28. Неопределенное число параметров Макрос для получения значения следующего нефиксированного параметра: va_arg(va_list ap, type); Первый параметр ap
- 29. Неопределенное число параметров Макрос для завершения работы со стеком: va_end(va_list ap); В качестве параметра ap передается
- 30. Пример Реализовать функцию, вычисляющую среднее арифметическое значение нескольких чисел. В функцию сначала передается количество значений (тип
- 31. Пример double Mid(int N,...) { va_list ap; int i = 0; double S=0; va_start(ap,N); while(i S+=va_arg(ap,double);
- 32. Указатели на функции В языке С можно объявлять указатели не только на данные, но и на
- 33. Указатели на функции Например, если функция в качестве параметра принимает два целых числа, а возвращает вещественное
- 34. Указатели на функции Установка указателя на функцию осуществляется простым присвоением указателю имени функции: указатель = имя
- 35. Пример Вывести на экран таблицу значений на промежутке [0,2π] с шагом π/6 одной из функции (1
- 36. Массивы указателей на функции Еще одной конструкцией языка С, встречающейся на практике, является массив указателей на
- 37. Пример Вывести на экран таблицу значений на промежутке [0,2π] с шагом π/6 одной из функции (1
- 38. Рекурсия Функции в языке С могут использоваться рекурсивно. Рекурсия – вызов функции самой себя. Различают два
- 39. Рекурсия Прямая рекурсия – функция вызывает непосредственно саму себя. Изображение прямой рекурсии на функциональной схеме программы
- 40. Рекурсия Косвенная рекурсия – функция вызывает себя посредством другой функции. Например, функция А вызывает функцию Б,
- 41. Пример В качестве примера прямой рекурсии рассмотрим рекурсивную функцию вычисления факториала: double Factorial(unsigned n) { if(n
- 42. Пример 1 Написать программу поиска различных расстановок восьми ферзей на шахматной доске так, чтобы они не
- 43. Пример 1 #include void PutFerz(int,int [], int *); int main(int argc, char *argv[]) { int I[8]
- 44. Пример 1 void Show(int I[], int *count) { for(int i=0;i for(int j=0;j printf("%d",i==I[j]); printf("\n"); } puts("========");
- 46. Скачать презентацию