- •Лабораторная работа № 1
- •Далее создадим файл:
- •Задания1
- •Лабораторная работа № 2
- •Консольный ввод-вывод
- •Чтение и запись символов
- •Чтение и запись строк
- •Форматированный консольный ввод-вывод
- •Форматированный вывод
- •Форматированный ввод
- •7. Варианты задания
- •Лабораторная работа № 3
- •5.2 Оператор if
- •Лабораторная работа № 4
- •Содержание отчета
- •Постановка задачи.
- •Общие сведения
- •Лабораторная работа № 5
- •Оператор for
- •Вариации цикла for
- •Бесконечный цикл
- •Циклы for без тела
- •Задание 2. Циклический вычислительный процесс конечные суммы и произведения
- •Лабораторная работа № 6
- •Оператор цикла while
- •Оператор do … while
- •Оператор break
- •Оператор continue
- •Лабораторная работа № 7
- •5.1 Одномерный массив
- •Создание указателя на массив
- •5.3 Индексация с помощью указателей
- •Сортировка
- •Методические указания.
- •Лабораторная работа № 8
- •Двухмерные массивы
- •Лабораторная работа № 9
- •Лабораторная работа № 11
- •Задача 2. Параметры функции
- •Лабораторная работа № 12
- •Варианты заданий
- •Лабораторная работа № 13
- •Некоторые операции над матрицами
- •Методические указания
- •Варианты заданий
- •Лабораторная работа № 14
- •Решение уравнения методом деления отрезка пополам (бисекций)
- •Методические указания
- •Лабораторная работа № 15
- •Вычисление определенного интеграла
- •6.2.1 Метод средних прямоугольников
- •6.2.1 Метод трапеций
- •Методические указания
- •Варианты заданий
- •Лабораторная работа № 10
- •Структуры (struct)
- •Лабораторная работа № 16
- •Директива #include
- •7. Методические указания
- •8. Варианты заданий.
- •Лабораторная работа № 17
- •Указатель на файл
- •Открытие файла
- •Перенаправление потока
- •Чтение из потока и запись в поток
- •Закрытие потока
- •Использование функций feof() и ferror()
- •Варианты заданий
- •Лабораторная работа № 18
- •Функции обработки символов
- •Функции обработки строк
- •Варианты заданий
- •Лабораторная работа № 19
- •Структуры
- •6.1.1 Доступ к элементам структуры
- •6.1.2 Присваивание структур
- •Массивы структур
- •Передача структур в функции
- •Передача членов структур в функции
- •Передача всей структуры в функцию
- •Указатели на структуры
- •Объявление указателя на структуру
- •Использование указателей на структуру
- •Массивы и структуры в структурах
- •Функции fread () и fwrite ()
- •Варианты заданий
- •Лабораторная работа № 20
- •Например, формула
- •Задание на программирование
Функции обработки строк
Функция
char *strcpy(char *str1, const char *str2);
используется для копирования содержимого строки str2 в строку str1. Аргумент str2 должен быть указателем на строку, оканчивающуюся нулевым символом. Функция strcpy() возвращает указатель на конец строки str1. Прототип функции находится в файле string.h.
Функция
char *strcat(char *str1, const char *str2);
конкатенирует (соединяет в цепочку) строку str1 и копию строки str2. В конце модифицированной строки str1 функция устанавливает нулевой символ. Нулевой символ, первоначально завершавший строку str1, замещается первым символом строки str2. Строка str2 остается без изменений. Функция strcat() возвращает str1.
Следует иметь в виду, что функция не производит проверки границ, пожтому программист должен позаботиться о том, чтобы строка str1 была достаточно длинной и могла вместить кроме своего первоначального содержания еще и содержание строки str2.
Прототип находится в string.h.
Функция
char *strchr(const char *str, int ch);
возвращает указатель на первое вхождение символа ch в строку, на которую указывает str. Если символ ch не найден, возвращается NULL. Прототип находится в string.h.
П р и м е р. Следующая программа выведет строку «is a test»:
char *p;
p = strchr(“this is a test”);
printf(p);
return 0;
}
Функция
int strcmp(const char *str1, const char *str2);
осуществляет лексикографическую проверку двух строк, оканчивающихся нулевыми символами, и возвращает целое число со следующим значением:
Число Значение
Меньше 0 str1 меньше str2
str1 равна str2
Больше 0 str1 больше str2
Прототип находится в string.h.
Функция
size_t strcspn(const char *str1, const char *str2);
возвращает количество символов в начале строки с указателем str1, среди которых нет ни одного символа, входящего в строку с указателем str2. Другими словами, для строки str1 функция strcspn() возвращает значение индекса первого символа из числа символов, входящих в строку str2. Прототип находится в string.h.
П р и м е р. Следующая программа выводит число 8:
#include <stdio.h>
#include <string.h>
int main(void)
{
int len;
len = strcspn(“this is a test”, “ab”);
printf(“%d”, len);
return 0;
}
Функция
char *strdup(const char str);
выделяет память, достаточную для хранения дубликата строки, на которую указывает str, а затем производит копирование этой строки в выделенную область и возвращает на нее указатель. Прототип находится в string.h.
П р и м е р. Следующий фрагмент дублирует строку str:
char str[80], *p;
strcpy(str, “this is a test”);
p = strdup(str);
Функция
int stricmp(const char *str1, const char *str2);
осуществляет лексикографическое сравнение двух строк, оканчивающихся нулевыми символами. Функция не делает различия между буквами верхнего и нижнего регистров. Функция возвращает целое число, зависящее от результата следующим образом:
Число Значение
Меньше 0 str1 меньше str2
str1 равна str2
Больше 0 str1 больше str2
Прототип находится в string.h.
П р и м е р. Следующая программа сравнивает имена двух файлов, заданных в командной строке:
#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[ ])
{
if (!stricmp(argv[1], argv[2]))
printf(“Имена файлов одинаковы.\n”);
else printf(“Имена файлов различны\n”);
return 0;
}
Функция
size_t strlen(const char *str);
возвращает длину строки, оканчивающуюся нулевым символом, на которую указывает str. При определении длины строки нулевой символ не учитывается. Прототип находится в string.h.
Функция
char *strlwr(char *str)
преобразует символы строки, на которую указывает str, в символы нижнего регистра. Функция возвращает str.
Функция
char *strrev(char *str);
Изменяет на обратную последовательность символов в строке (за исключением нулевого символа в конце строки), на которую указывает str. Функция возвращает str. Прототип находится в string.h.
Функция
char *strstr(const char *str1, const char *str2);
возвращает указатель на первое вхождение в строку, на которую указывает str1, строки, на которую указывает str2. Если совпадений не обнаружено, возвращается NULL. Прототип находится в string.h.
П р и м е р. Следующая программа выведет строку “it is a test”:
#include <stdio.h>
#include <string.h>
int main(void)
{
char *p;
p = strstr(“this is a test”, “is”);
printf(p);
return 0;
}
Функция
char *strupr(char *str);
преобразует символы строки, на которую указывает str, в символы верхнего регистра. Функция возвращает str. Прототип находится в string.h.