Lektsii_Tema_11_Bibliotechnye_funktsii_S.ppt
- Количество слайдов: 16
Информационные технологии Тема 11. Библиотечные функции С Шевченко А. В. Тема 11. Библиотечные функции С 1
Информационные технологии Системная библиотека С Ввод-вывод (stdio. h) Работа со строками (string. h) Библиотечные функции Математические функции (math. h) Управление выполнением (stdlib. h) Функции времени (time. h) Системная библиотека С предоставляет программисту широкий набор функций, предназначенных для выполнения в программах типовых действий. Шевченко А. В. Тема 11. Библиотечные функции С 2
Информационные технологии Математические функции Имя Описание acos Арккосинус asin Арксинус atan Арктангенс atan 2 Арккотангенс ceil Округление до ближайшего с избытком целого числа cos Косинус cosh Гиперболический косинус exp Экспоненциальная функция fabs Абсолютное значение для числа с плавающей точкой floor Округление до ближайшего с недостатком целого числа fmod Остаток при делении чисел с плавающей точкой frexp Мантисса и порядок числа с плавающей точкой Шевченко А. В. Тема 11. Библиотечные функции С 3
Информационные технологии Математические функции (продолжение) Имя Описание ldexp Формирует вещественное число по заданным мантиссе и порядку log Натуральный логарифм log 10 Десятичный логарифм modf Выделяет целую и дробную части аргумента pow Возведение в степень sin Синус sinh Гиперболический синус sqrt Квадратный корень tan Тангенс tanh Гиперболический тангенс Шевченко А. В. Тема 11. Библиотечные функции С 4
Информационные технологии Пример использования математических функций Текст программы #include <math. h> void main() { double a = -23. 75; double b = fabs(a); double c = ceil(b); double d = fmod(c, 2. 5); double e = floor(d); double f = exp(e); double g = log(f*f); double h = pow(g, 10); double i = sqrt(h); } Шевченко А. В. Тема 11. Библиотечные функции С 5
Информационные технологии Работа с памятью и строками Имя Описание memchr Поиск байта в блоке памяти memcmp Сравнение двух блоков памяти memcpy Копирование блоков памяти (без перекрытия) memmove Копирование блоков памяти (с перекрытием) memset Инициализация блока памяти заданным значением strcat Присоединение одной строки к концу другой strchr Поиск символа в строке strcmp Сравнение двух строк strcpy Копирование одной строки в другую strlen Возвращает длину строки strncat Присоединение заданного числа символов одной строки к концу другой strncmp Сравнение заданного числа символов двух строк strstr Поиск подстроки в строке Шевченко А. В. Тема 11. Библиотечные функции С 6
Информационные технологии Пример использования функций работы с памятью Текст программы #include <string. h> void main() { short array 1[10]; memset(array 1, 0, sizeof(array 1)); short array 2[5]; memcpy(array 2, array 1, sizeof(short)*5); short x 1[4] = {1, 5, 3, 1}; short x 2[4] = {1, 5, 2, 8}; int result = memcmp(x 1, x 2, sizeof(short)*4); } Шевченко А. В. Тема 11. Библиотечные функции С 7
Информационные технологии Пример использования функций работы со строками Текст программы #include <string. h> void main() { char buf[256]; strcpy(buf, "Язык С"); strcat(buf, "++"); char* p 1 = strchr(buf, '+'); int length 1 = strlen(p 1); char* p 2 = strstr(buf, " C"); int length 2 = strlen(p 2); int result 1 = strcmp(buf, "Язык PASCAL"); int result 2 = strncmp(buf, "Язык PASCAL", 5); } Шевченко А. В. Тема 11. Библиотечные функции С 8
Информационные технологии Функции времени Имя Описание clock Возвращает время работы программы (в тиках процессора) ctime Преобразует время в символьную строку difftime Определяет разницу в секундах между двумя значениями времени gmtime Перевод календарного времени во Всемирное координированное время localtime Перевод календарного времени в местное время mktime Преобразование времени из структуры tm в календарное время strftime Форматирование строки с датой и временем time Возвращает текущее календарное время Шевченко А. В. Тема 11. Библиотечные функции С 9
Информационные технологии Пример использования функций времени Текст программы #include <time. h> void main() {. . . int seconds = clock()/CLK_TCK; long t = time(NULL); Show. Message(ctime(t)); } Шевченко А. В. Тема 11. Библиотечные функции С 10
Информационные технологии Функции форматного преобразования Имя Описание sprintf Форматированный вывод в строку sscanf Форматированный ввод из строки sscanf(char* buffer, char *format, данные); sprintf(char* buffer, char *format, данные); Описание формата % [флаги] [ширина] [. точность] [F|N|h|l|L] тип Каждый спецификатор начинается со знака процента (%). После % идут компоненты формата в заданном порядке Шевченко А. В. Тема 11. Библиотечные функции С 11
Информационные технологии Форматное преобразование целых чисел Пример программы char buf[8]; int x = 123; sprintf(buf, "%d", x); Нуль-терминатор %d 1 2 3 %6 d 1 2 3 %06 d 0 0 1 2 3 %+06 d Шевченко А. В. 0 + 0 0 1 2 3 Тема 11. Библиотечные функции С 12
Информационные технологии Форматное преобразование чисел с плавающей точкой Пример программы char buf[10]; float x = 123. 45; sprintf(buf, "%g", x); %g 1 2 3 . 4 5 %. 3 f 1 2 3 . 4 5 0 %9. 3 f %09. 3 f 0 0 1 2 3 . 4 5 0 %+09. 3 f + 0 1 2 3 . 4 5 0 Шевченко А. В. Тема 11. Библиотечные функции С 13
Информационные технологии Форматное преобразование строк Пример программы char buf[10]; char* p = "Строка"; sprintf(buf, "%s", p); %s С т р к а С %9 s о т р а %-8 s С т р о к %. 5 s С т р о т к а к С о р %5. 3 s Шевченко А. В. Тема 11. Библиотечные функции С 14
Информационные технологии Пример форматного преобразования Пример программы #include <stdio. h> void main() { char buf[32]; int day = 8; int month = 5; int year = 2010; sprintf(buf, "Дата: %02 d. %d", day, month, year); . . . sscanf(buf, "Дата: %d. %d", &day, &month, &year); } Шевченко А. В. Тема 11. Библиотечные функции С 14
Информационные технологии Функции управления выполнением программы Имя Описание abort Аварийное завершение программы exit Нормальное завершение программы getenv Получение переменной среды qsort Сортировка массива rand Генератор псевдослучайной последовательности system Выполнение команды операционной системы Шевченко А. В. Тема 11. Библиотечные функции С 16
Lektsii_Tema_11_Bibliotechnye_funktsii_S.ppt