Содержание
- 2. Функции Формальные параметры разделены запятыми. В нашей функции это param1 типа double и param2 типа int.
- 3. Функции Определив функцию, мы можем ее неоднократно вызывать, задавая в качестве фактических параметров нужные нам переменные
- 4. Функции без возвращаемого значения /* У этой функции нет возвращаемого значения */ void f() { ...
- 5. Параметры и переменные int i, j; /* У первой функции видны i, j файлового уровня. Кроме
- 6. Параметры и переменные /* Во второй функции имя формального параметра совпадает с именем переменной i файлового
- 7. Параметры и переменные /* С третьей функцией аналогичная ситуация, что и со второй. Только на этот
- 8. Параметры и переменные Переменная j самого внутреннего блока маскирует не только файловую, но и локальную переменную
- 9. Необходимость инициализации переменных (автоматические переменные) /* Файловая переменная без инициализации, будет равна 0 */ int s;
- 10. Статические переменные int f() { static int i; return i; } Перед обычным определением переменной модификатор
- 11. Статические переменные int f() { static int ncalls=1; /* Который раз мы эту функцию вызвали? */
- 12. Статические переменные Полезный «трюк», основанный на статических локальных переменных – возможность выполнять какие-то дорогостоящие «подготовительные» операции
- 13. Передача по значению Передача параметра по значению" и "передача параметра по ссылке". #include void f(int k)
- 14. Адреса и указатели int i; double d; /* Функции передаются адреса переменных i и d. После
- 15. Передача параметров по значению void func(int *p1, double *p2) { /* Засылаем в целую переменную, на
- 16. Указатели можно использовать не только для параметров, но и в качестве возвращаемого значения функции. Вот как,
- 17. Чем «опасны» указатели? void f(int *p) { *p=1; } int main() { int i; int *ptr;
- 18. Что делать, если указатель создан, но пока не известно, какой адрес в него записать? Для этого
- 19. Ввод-вывод #include int main() { /* Печатаем целое число и строку */ printf("integer=%d, string=%s \n", 10,
- 20. scanf() - чтение данных из потока int i, j; scanf("%d %d", &i, &j); // или int
- 21. Объявление и определение функции int main() { int i; i = 1; f(i); ... return 0;
- 22. Ввод-вывод - FILE *fopen(char *filename, char *mode) открывает поток, связанный с файлом filename. Режим работы определяется
- 23. Ввод-вывод - FILE *tmpfile() создает временный файл для записи. Файл будет автоматически удален по fclose() либо
- 24. Ввод-вывод - int scanf(char *fmt, ...) int fscanf(FILE *f, char *fmt, ...) int sscanf(char *buf, char
- 25. Ввод-вывод - int ungetc(int c, FILE *f) "Посмотрели на символ - не понравился". Функция отправляет символ
- 26. Ввод-вывод - int puts(char *s) int fputs(char *s, FILE *f) Выводят C-строку в stdout (puts()), либо
- 27. Ввод-вывод - int fseek(FILE *f, long offset, int fromwhere) Позиционирование в файле (функция смещает указатель записи-чтения
- 28. Ввод-вывод - size_t fread(void *ptr, size_t size, size_t nobj, FILE *f) size_t fwrite(void *ptr, size_t size,
- 29. Ввод-вывод - int feof(FILE *f) возвращает ненулевое значение, если у потока установлен индикатор конца файла (например,
- 30. Работа со строками - Функции с именами, начинающимися с str, работают с С-строками, в которых нулевой
- 31. Работа со строками - int strcmp(char *s1, char *s2) сравнивает строки (содержимое, не указатели), расставляя их
- 32. Работа со строками - char *strerror(size_t n) возвращает строку сообщения, соответствующего ошибке с номером n. void
- 33. Математические функции - double sin(double x) - синус double cos(double x) - косинус double tan(double x)
- 34. Математические функции - double exp(double x) - e в степени x double log(double x) - натуральный
- 35. Функции общего назначения - Объявления функции для работы с динамической памятью в С-стиле void *malloc(size_t size);
- 36. Функции общего назначения - double atof(char *s) int atoi(char *s) int atol(char *s) double strtod(char *s,
- 37. Функции общего назначения - int rand() void srand(unsigned int seed) long random(unsigned long seed) void srandom(unsigned
- 38. Функции общего назначения - int abs(int n) long labs(long n) Эти две функции возвращают абсолютное значение
- 39. Функции общего назначения - void exit(int status) Нормальное завершение задачи. Значение аргумента status передается операционной системе.
- 40. Функции общего назначения - int atexit(void (*func)()) Позволяет назначать функции, которые будут вызваны при нормальном завершении
- 41. Функции общего назначения - void *bsearch(void *key, void *base, size_t nelm, size_t size, int (*compare)(void *keyval,
- 43. Скачать презентацию