- •Часть 1
- •40 01 02 – 02 Информационные системы и технологии (в экономике)
- •Общие сведения Сведения об эумк
- •Методические рекомендации по изучению дисциплины
- •Рабочая учебная программа
- •Протокол согласования учебной программы по изучаемой учебной дисциплине с другими дисциплинами специальности
- •Содержание дисциплины
- •1. Название тем лекционных занятий, их содержание, объем в часах
- •3. Перечень тем лабораторных занятий, их содержание и объем в часах
- •Теоретический раздел
- •Тема № 1. Введение в программирование
- •Происхождение языка с.
- •Основные характеристики алгоритмического языка с
- •Область применения
- •Системы программирования
- •Исходные и объектные модули, процессы компиляции и связывания
- •Алфавит языка
- •Лексемы (cTokens)
- •Тема № 2. Выражения и операции языка Унарные операции
- •Бинарные операции
- •Условная трехместная операция
- •Операция явного преобразования типа
- •Приоритет операций. Порядок вычисления выражений.
- •Организация ввода-вывода информации
- •Тема № 3. Управляющие структуры. Ветвления и циклы
- •Операторы преобразования данных – это операторы присваивания и произвольные выражения, завершенные символом «;».
- •Операторы управления работой программы называют управляющими конструкциями программы.
- •Тема № 4. Организация данных. Массивы и указатели Массивы
- •Инициализация массивов
- •Указатели
- •Функции для выделения и освобождения памяти
- •Тема № 5. Функции. Символьные строки и функции над ними Определение функций
- •Описание функций
- •Вызов функции
- •Передача параметров
- •Указатели на функции
- •Массивы указателей на функции
- •Главная функция. Передача аргументов главной функции
- •Рекурсивные программы
- •Стандартные функции ввода-вывода строк
- •Стандартные функции обработки строк
- •Тема № 6. Классы памяти и препроцессор языка Си Локальные и глобальные переменные
- •Автоматические (локальные) переменные
- •Внешние (глобальные) переменные
- •Статические переменные
- •Регистровые переменные
- •Область видимости и функции
- •Препроцессор и его директивы
- •Тема № 7. Структуры Декларация структур
- •Инициализация структур
- •Доступ к элементам структур
- •Элементы-массивы
- •Массивы структур
- •Указатели на структуры
- •Доступ к элементам структуры, определенной через указатель
- •Структуры и функции
- •Объединения
- •Битовые поля
- •Практический раздел Виртуальные лабораторные работы
- •Лабораторная работа №1
- •Лабораторная работа №2
- •Контрольные работы
- •Содержание пояснительной записки.
- •Задание для контрольной работы №1
- •Задание для контрольной работы №2
- •Варианты индивидуальных заданий
- •Теоретические вопросы
- •Пример оформления титульного листа для виртуальных лабораторных работ
- •Пример оформления титульного листа для контрольных
Стандартные функции ввода-вывода строк
В языке С для ввода-вывода символьных строк существует специальный набор стандартных функций, описанных в заголовочном файле stdio.h.Здесь спецификатор типа const char означает, что строка str не может быть изменена внутри программы. К стандартным относятся такие функции как:
|
puts |
puts(const char *str); выводит на экран строку str |
|
gets |
char* gets(char *str); вводит с экрана строку str |
Стандартные функции обработки строк
В языке С для обработки символьных строк существует специальный набор стандартных функций, описанных в заголовочных файлах string.h и stdlib.h. К ним относятся такие функции как:
1. Функции определения длины строки.
|
strlen |
unsigned strlen(const char *str); вычисляет длину строки str |
|
strcspn |
int strcspn(const char *str1, const char *str2); определяет длину первого сегмента строки str1, содержащего символы, не входящие во множество символов строки str2 |
|
strspn |
int strspn(const char *str1, const char *str2); определяет длину первого сегмента строки str1, содержащего только символы из множества символов строки str2 |
2. Функции получения чисел по их символьному представлению
|
atof |
double atof(const char *str); преобразует строку str в вещественное число типа double |
|
atoi |
int atoi(const char *str); преобразует строку str в целое число типа int |
|
atol |
long atol(const char *str); преобразует строку str в целое число типа long. |
3. Функции получения символьного представления чисел
|
itoa |
char *itoa(int value, char *str, int radix); преобразует целое value в строку str. При изображении числа используется система счисления с основанием radix. Если основание 10 и число отрицательное – первым символом строки будет «минус». |
|
ltoa |
char *ltoa(long value, char *str, int radix); преобразует длинное целое value в строку str. При изображении числа используется система счисления с основанием radix. |
|
ultoa |
char *ultoa(unsigned long value, char *str, int radix); преобразует беззнаковое длинное целое value в строку str. При изображении числа используется система счисления с основанием radix |
4. Функции копирования строк
|
strcpy |
char * strcpy (char *sDest, const char *sSource); копирует байты строки sSource в строку sDest |
|
strncpy |
char * strncpy (char *sDest, const char *sSource, int count); копирует первые count байт строки с в строку sDest. Если count меньше или равно длине sSource заключительный символ ‘\0’ автоматически не добавляется в sDest. В противном случае заключительный символ вставляется после count байт, среди которых строка sSource, дополненная пробелами. |
|
strdup |
char * strdup (const char *str); выделяет память и переносит в нее копию строки str. |
5. Функции конкатенации строк
|
strcat |
char * strcat (char *sDest, const char *sSource); приписывает строку sSource к строке sDest. |
6. Функции сравнения строк
|
strcmp |
char * strcmp (const char *str1, const char *str2); сравнивает строки str1 и str2. Результат отрицателен, если str1 < str2; равен 0, если str1 == str2, и положителен, если str1 > str2. |
|
strncmp |
char * strncmp (const char *str1, const char *str2, int count); сравнивает первые count байт строк str1 и str2. Результат отрицателен, если str1 < str2; равен 0, если str1 == str2, и положителен, если str1> str2. |
|
strnicmp |
char * strnicmp (const char *str1, const char *str2, int count); сравнивает первые count байт строк str1 и str2, не учитывая регистра (прописные и строчные буквы считаются одинаковыми). Результат отрицателен, если str1 < str2; равен 0, если str1 == str2, и положителен, если str1> str2. |
7. Функции поиска строк
|
strchr |
char * strchr (const char *str, int c); ищет в строке str первое вхождение символа c. Возвращает NULL, если символ в строке отсутствует. |
|
strrchr |
char * strrchr (const char *str, int c); ищет в строке str последнее вхождение символа c. Возвращает NULL, если символ в строке отсутствует. |
|
strstr |
char * strstr (const char *str1, const char *str2); ищет в строке str1 подстроку str2. Возвращает указатель на тот элемент в строке str1, с которого начинается подстрока str2, или NULL, если подстрока str2 в строке str1 отсутствует. |
|
strpbrk |
char * strpbrk (const char *str1, const char *str2); ищет в строке str1 первое вхождение любого символа из строки str2. Возвращает NULL, если такой символ в строке отсутствует. |
|
strtok |
char * strtok (char *str1, const char *str2); ищет в строке str1 лексемы, выделенные символами из второй строки str2. |
8. Функции преобразования строк
|
strlwr |
char * strlwr (const char *str); преобразует буквы верхнего регистра в строке в соответствующие буквы нижнего регистра. |
|
strupr |
char * strupr (const char *str); преобразует буквы нижнего регистра в строке в соответствующие буквы верхнего регистра. |
9. Функции заполнения строк
|
strset |
char * strset (const char *str, int c); Заполняет строку str заданным символом c. |
|
strnset |
char * strnset (const char *str, int c, int count); Заполняет первые count байт строки str заданным символом c. |
