- •ОГЛАВЛЕНИЕ
- •ВВЕДЕНИЕ
- •1. ЯЗЫК ПРОГРАММИРОВАНИЯ C++
- •1.1. Нововведения C++ в сравнении с C
- •1.3. Технический обзор
- •2. ЛАБОРАТОРНАЯ РАБОТА № 1 «Знакомство с языком C++. Основные функции»
- •2.1. Методические указания
- •2.1.1. Алфавит C++
- •2.1.2. Этапы создания исполняемой программы
- •2.1.3. Типы данных C++
- •2.1.3.1. Концепция типа данных
- •2.1.3.2. Простые типы данных
- •2.1.4. Структура программы на языке C++
- •2.1.5. Директивы препроцессора
- •2.1.5.1. Директива #include
- •2.1.5.2. Директива #define
- •2.1.6. Предварительные замечания о функциях ввода/вывода
- •2.1.7. Переменные и выражения
- •2.1.7.1. Переменные
- •2.1.7.2. Операции
- •2.1.7.3. Выражения
- •2.1.8. Основные функции
- •2.1.8.1. Математические функции
- •2.1.8.2. Функции обработки сигналов
- •2.1.8.3. Функции ввода-вывода в стиле C
- •2.1.8.4. Функция работы с датой и временем
- •2.1.8.5. Функции локализации
- •2.1.8.6. Функции классификации и преобразования символов
- •2.1.8.7. Функции управления программой
- •2.1.8.8. Различные функции в стиле C
- •2.2. Примеры программ для выполнения лабораторной работы № 1
- •2.3. Вопросы для самоконтроля
- •3. ЛАБОРАТОРНАЯ РАБОТА № 2 «Программирование с использованием основных операторов языка C++. Работа с массивами»
- •3.1. Методические указания
- •3.1.1. Основные операторы языка С++
- •3.1.1.1. Базовые конструкции структурного программирования
- •3.1.1.2. Составные операторы
- •3.1.1.3. Операторы выбора
- •3.1.1.4. Операторы циклов
- •Цикл с предусловием (while)
- •Цикл с постусловием (do while)
- •Цикл с параметром (for)
- •3.1.1.5. Операторы передачи управления
- •Оператор goto
- •Оператор break
- •Оператор continue
- •Оператор return
- •3.1.2. Одномерные массивы
- •3.1.2.1. Описание массива в C/C++
- •3.1.2.2. Обработка одномерных массивов
- •3.1.2.3. Перебор массива по одному элементу
- •3.1.2.4. Датчика случайных чисел для формирования массива.
- •3.1.3. Многомерные массивы
- •3.2. Примеры программ для лабораторной работы № 2
- •3.3. Вопросы для самоконтроля
- •3.4. Варианты заданий к лабораторной работе № 2
- •4. КУРСОВАЯ РАБОТА «Создание собственной функции»
- •4.1. Методические указания
- •4.1.1. Объявление и определение функций
- •Глобальные переменные
- •Возвращаемое значение
- •4.1.2. Параметры функции
- •4.2. Вопросы для самоконтроля
- •4.3. Варианты заданий курсовой работы
- •Вариант 1
- •Вариант 2
- •Вариант 3
- •Вариант 4
- •Вариант 5
- •Вариант 6
- •Вариант 7
- •Вариант 8
- •Вариант 9
- •Вариант 10
- •Список литературы
- •Направление – _____________________________________________
- •Кафедра –
- •Выполнил студент гр. _______ __________ _______ ______________
- •Направление – ________________________________________________
- •Выполнил студент гр. _______ __________ _______ __________
Функция sscanf
Прототип:
int sscanf(const char *buf, const char * format,...);
Заголовочный файл:
<stdio.h> (<cstdio>)
Описание: аналогично функции вводит данные, но не с клавиатуры, а из строки символов, переданной ей первым параметром.
Функция tmpfile
Прототип:
FILE *tmpfile(void);
Заголовочный файл:
<stdio.h> (<cstdio>)
Описание: открывает временный файл в режиме двоичного ввода/ вывода.
2.1.8.4. Функция работы с датой и временем
Для работы со временем и датой используется функция strftime.
Прототип:
size_t *strftime(char *str, size_t max_size,const char *fmt, const struct tm *time);
Заголовочный файл:
<time.h> (<ctime>)
Описание: формирует строку str, содержащую дату и время в соответствии со строкой формата fmt.
2.1.8.5. Функции локализации
Функциями локализации служат такие функции как localeconv
и setlocale.
Функция localeconv
Прототип:
struct Iconv *localeconv(void);
Заголовочный файл:
<locale.h> (<clocale>)
Описание: возвращает структуру, которая содержит детальное описание текущих установок локальной среды, то есть информацию, зависящую от страны.
37
Функция setlocale
Прототип:
char *setlocale(int type, const char *locale);
Заголовочный файл:
<locale.h> (<clocale>)
Описание: устанавливает новую локализацию программы, которая подразумевает набор символов, форматы представления чисел, денежных единиц и т. п., для конкретной страны/ местности.
2.1.8.6.Функции классификации и преобразования символов
Вязыке программирования C++ существует две функции классификации и преобразования символов: tolower и toupper.
Функция tolower
Прототип:
int tolower(int ch);
Заголовочный файл:
<ctype.h> (<cctype>)
Описание: получает параметр ch и возвращает его в нижнем регистре (если он является символом буквы верхнего регистра) или сам символ.
Функция toupper
Прототип:
int toupper(int ch);
Заголовочный файл:
<ctype.h> (<cctype>)
Описание: получает параметр ch и возвращает его в верхнем регистре (если он является символом буквы нижнего регистра) или сам символ.
2.1.8.7. Функции управления программой
Основными функциями управления программой являются функции longjmp и setjmp.
Функция longjmp
Прототип:
void longjmp(jmp_buf envbuf, int status);
Заголовочный файл:
<setjmp.h> (<csetjmp>)
38
Описание: выполняет переход по адресу envbuf, ранее определенному с помощью функции setjmp.
Функция setjmp
Прототип:
int setjmp(jmp_buf envbuf);
Заголовочный файл:
<setjmp.h> (<csetjmp>)
Описание: наряду с функцией longjmp предоставляет возможность перехода между функциями.
2.1.8.8. Различные функции в стиле C
Функция abort
Прототип:
void abort(void);
Заголовочный файл:
<stdlib.h> (<сstdlib>)
Описание: вызывает аварийную немедленную остановку программы.
Функция abs
Прототип:
int abs(int num);
Заголовочный файл:
<stdlib.h> (<сstdlib>)
Описание: возвращает абсолютное значение целого числа num.
Функция atexit
Прототип:
void atexit(void (*func)(void));
Заголовочный файл:
<stdlib.h> (<cstdlib>)
Описание: регистрирует функцию func, которая будет вызываться при завершении программы.
Функция atof
Прототип:
double atof(const char *str);
Заголовочный файл:
39
<stdlib.h> (<cstdlib>)
Описание: преобразует строку, отображающую в виде символов в целое или вещественное число, в соответствующее вещественное число.
Функция atoi
Прототип:
int atoi(const char *str);
Заголовочный файл:
<stdlib.h> (<cstdlib>)
Описание: преобразует строку, отображающую в виде символов целое число, в соответствующее целое число.
Функция atol
Прототип:
long atol(const char *str);
Заголовочный файл:
<stdlib.h> (<cstdlib>)
Описание: преобразует строку, отображающую в виде символов целое число, в соответствующее длинное целое значение.
Функция bsearch
Прототип:
void bsearch(const void *key, const void *buf, size_t num, size_t size, int (*compare)(const void *, const void *) );
Заголовочный файл:
<stdlib.h> (<cstdlib>)
Описание: производит поиск в массиве buf элемента, совпадающего с тем, на который указывает key, и возвращает указатель на найденный элемент. num – количество элементов в массиве buf, size – размер элемента массива в байтах.
Функция calloc
Прототип:
void *calloc(size_t num, size_t size);
Заголовочный файл:
<stdlib.h> (<cstdlib>)
Описание: выделяет блок памяти (num элементов по size байт) и возвращает указатель на него.
40
Функция div
Прототип:
div_t div(int numerator, int denominator);
Заголовочный файл:
<stdlib.h> (<stdlib>)
Описание: функция div производит деление целого numerator на целое denominator, возвращая результат в структуре, содержащей частное и остаток.
Функция exit
Прототип:
void exit(int exit_code);
Заголовочный файл:
<stdtib.h> (<cstdlib>)
Описание: функция exit выполняет нормальное завершение программы.
Функция free
Прототип:
void free(void *pointer);
Заголовочный файл:
<stdtib.h> (<cstdlib>)
Описание: освобождает блок памяти, полученный ранее одной из функций malloc, calloc, realloc. malloc, calloc или realloc.
Функция getenv
Прототип:
int getenv(const char *var_name);
Заголовочный файл:
<stdlib.h> (<cstdlib>)
Описание: возвращает указатель на строку, которая содержит описание указанной переменной окружения (среды).
Функция labs
Прототип:
long int labs(long int num);
Заголовочный файл:
<stdlib.h> (<cstdlib>)
41
Описание: возвращает абсолютное значение num.
Функция ldiv
Прототип:
ldiv_t ldiv(long numerator, long denominator);
Заголовочный файл:
<stdlib.h> (<cstdlib>)
Описание: выполняет деление numerator на denominator, возвращая результат в структуре типа ldiv_t, содержащей частное и остаток. результат в структуре типа ldiv_t, содержащей частное и остаток.
Функция malloc
Прототип:
void *malloc(size_t size);
Заголовочный файл:
<stdlib.h> (<cstdlib>)
Описание: выделяет блок памяти размером size байт и возвращает указатель на него.
Функция qsort
Прототип:
void qsort(void *buf,size_t num,size_t size, int (compare)(const void *, const void *));
Заголовочный файл:
<stdlib.h> (<cstdlib>)
Описание: выполняет сортировку массивов любых размеров и типов.
Функция rand
Прототип:
int rand(void);
Заголовочный файл:
<stdlib.h> (<cstdlib>)
Описание: возвращает очередное псевдослучайное число в диапазоне от 0 до RAND_MAX.
Функция realloc
Прототип:
void *realloc(void *memblock, size_t size);
Заголовочный файл:
42
<stdlib.h> (<cstdlib>)
Описание: получает блок памяти (выделенный ранее одной из функций malloc, calloc, realloc). malloc, calloc или realloc).
Функция srand
Прототип:
vid srand(unsigned i.nt seed);
Заголовочный файл:
<stdlib.h> (<cstdlib>)
Описание: устанавливает начальное значение последовательности псевдослучайных чисел.
Функция strtod
Прототип:
double strtod(const char *str, char **end);
Заголовочный файл:
<stdlib.h> (<cstdlib>)
Описание: преобразует строку символов в числовое значение и возвращает его.
Функция strtol
Прототип:
double strtol(const char *str, char **end, int radix);
Заголовочный файл:
<stdlib.h> (<cstdlib>)
Описание: преобразует строку символов в числовое значение с учетом указанной системы счисления radix и возвращает полученное число.
Функция strtoul
Прототип:
double strtoul(const char *str, char **end, int radix);
Заголовочный файл:
<stdlib.h> (<cstdlib>)
Описание: преобразует строку символов в числовое значение с учетом системы счисления.
Функция system
Прототип:
43