Содержание
- 2. Лекция 4. Функции Описание и использование функций. Параметры функции. Функции стандартной библиотеки С. Директивы препроцессора. Создание
- 3. ©Павловская Т.А. (СПбГУ ИТМО) [ класс ] тип имя ([ список_параметров ]) [throw ( исключения )]
- 4. ©Павловская Т.А. (СПбГУ ИТМО) #include int sum(int a, int b); // объявление int main(){ int a
- 5. ©Павловская Т.А. (СПбГУ ИТМО) #include void f(int a){ cout while (a--){ static int n = 0;
- 6. ©Павловская Т.А. (СПбГУ ИТМО) #include void f(int i, int* j, int& k); int main(){ int i
- 7. ©Павловская Т.А. (СПбГУ ИТМО) #include int sum(const int* mas, const int n); int const n =
- 8. ©Павловская Т.А. (СПбГУ ИТМО) ... int sum(const int *a, const int nstr, const int nstb); void
- 9. ©Павловская Т.А. (СПбГУ ИТМО) int sum(const int *a, const int nstr, const int nstb){ int i,
- 10. ©Павловская Т.А. (СПбГУ ИТМО) ... int sum(const int **a, const int nstr, const int nstb); void
- 11. ©Павловская Т.А. (СПбГУ ИТМО) int sum(const int **a, const int nstr, const int nstb){ int i,
- 12. ©Павловская Т.А. (СПбГУ ИТМО) Передача имен функций в качестве параметров void f( int a ){ /*
- 13. ©Павловская Т.А. (СПбГУ ИТМО) Параметры со значениями по умолчанию int f(int a, int b = 0);
- 14. ©Павловская Т.А. (СПбГУ ИТМО) Функции с переменным числом параметров int printf(const char* ...); printf("Введите исходные данные");
- 15. ©Павловская Т.А. (СПбГУ ИТМО) Рекурсивные функции long fact(long n){ if (n==0 || n==1) return 1; return
- 16. ©Павловская Т.А. (СПбГУ ИТМО) Перегрузка функций int max(int, int); char* max(char*, char*); int max (int, char*);
- 17. ©Павловская Т.А. (СПбГУ ИТМО) Неоднозначность может появиться при: преобразовании типа; использовании параметров-ссылок; использовании аргументов по умолчанию.
- 18. ©Павловская Т.А. (СПбГУ ИТМО) int f(int a, int b) {…} int f(int a, int &b) {…}
- 19. ©Павловская Т.А. (СПбГУ ИТМО) Правила описания перегруженных функций Перегруженные функции должны находиться в одной области видимости
- 20. ©Павловская Т.А. (СПбГУ ИТМО) Шаблоны функций template заголовок { /* тело функции */ } Параметры: class
- 21. ©Павловская Т.А. (СПбГУ ИТМО) template void sort_vybor(Type *b, int n){ Type a; for (int i =
- 22. ©Павловская Т.А. (СПбГУ ИТМО) #include template void sort_vybor(Type *b, int n); int main(){ const int n
- 23. ©Павловская Т.А. (СПбГУ ИТМО) Явное задание аргументов шаблона template void f(Y, Z); void g(){ f ("Vasia",
- 24. ©Павловская Т.А. (СПбГУ ИТМО) class T { /* ... */ }; int i; template void f(T
- 25. ©Павловская Т.А. (СПбГУ ИТМО) template void f1(int a[10][i]); template void f2(int a[i][20]); template void f3(int (&a)[i][20]);
- 26. ©Павловская Т.А. (СПбГУ ИТМО) Специализация шаблона функции void sort_vibor (int *b, int n) { тело специализированного
- 27. ©Павловская Т.А. (СПбГУ ИТМО) Функция main() // без параметров: тип main(){ ... } // с двумя
- 28. ©Павловская Т.А. (СПбГУ ИТМО) Функции стандартной библиотеки Функции ввода/вывода или . mode: (b/t) и "r" —
- 29. ©Павловская Т.А. (СПбГУ ИТМО) стандартный ввод stdin стандартный вывод stdout стандартный вывод сообщений об ошибках stderr
- 30. ©Павловская Т.А. (СПбГУ ИТМО) Чтение и запись потока байтов — fread, fwrite. Чтение символа из потока
- 31. ©Павловская Т.А. (СПбГУ ИТМО) #include #include #include #include int main(){ FILE *fi, *fo; if((fi = fopen("d:\\c\\file.txt",
- 32. ©Павловская Т.А. (СПбГУ ИТМО) struct{ char type[20]; int opt, rozn; char comm[40]; }mon; while (fgets(s, dl,
- 33. ©Павловская Т.А. (СПбГУ ИТМО) int i; cin >> i; // Номер записи fseek(fo, (sizeof mon)*i, SEEK_SET);
- 34. ©Павловская Т.А. (СПбГУ ИТМО) isalnum isalfa iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit double
- 35. ©Павловская Т.А. (СПбГУ ИТМО) #include #include #include int main(){ char s[] = "2, 38.5, 70, 0,
- 36. ©Павловская Т.А. (СПбГУ ИТМО) Директивы препроцессора Директива #include: #include “ “ Заголовочные файлы могут содержать: определения
- 37. ©Павловская Т.А. (СПбГУ ИТМО) // my_header.h extern int a; extern double b; // ------------------- // one.cpp
- 38. ©Павловская Т.А. (СПбГУ ИТМО) используется для определения: символических констант : #define имя текст_подстановки макросов: #define имя(
- 39. ©Павловская Т.А. (СПбГУ ИТМО) #define N(a,b) a##b /*склеить */ … int N(bam,buk)(); /* => int bambuk();
- 40. ©Павловская Т.А. (СПбГУ ИТМО) Директивы условной компиляции: #if -- #endif Назначение: - исключить компиляцию отдельных частей
- 41. ©Павловская Т.А. (СПбГУ ИТМО) #if defined(__BORLANDC__) && __BORLANDC__ == 0x530 // Tested with BC5.3: typedef istream_iterator
- 42. ©Павловская Т.А. (СПбГУ ИТМО) #ifdef символ // Расположенный ниже код компилируется, если символ определен #ifndef символ
- 43. ©Павловская Т.А. (СПбГУ ИТМО) Стражи включения Содержимое каждого заголовочного файла: #ifndef FNAME_H #define FNAME_H … #endif
- 44. ©Павловская Т.А. (СПбГУ ИТМО) #define x 3 #define f(a) f(x * (a)) #undef x #define x
- 45. ©Павловская Т.А. (СПбГУ ИТМО) Предопределенные макросы #ifdef __cplusplus // Действия, специфические для С++ #endif printf(" Дата
- 46. ©Павловская Т.А. (СПбГУ ИТМО) Поименованные области namespace [ имя_области ]{ /* Объявления */} namespace demo{ int
- 48. Скачать презентацию