Microsoft on the Web

В этом подменю содержатся команды перехода к Web-страницам в Internet, посвященным Visual C++ и различным техническим вопросам.

About Visual C++

About... стандартная команда всех приложений Windows – отображает информацию о версии программы, авторских правах, зарегистрированном пользователе и установленных дополнительных компонентах.

Приложение 2
Некоторые функции языка С

Прототип Описание
Математические функции (math.h)
double acos(double x); Возвращает угол (от 0 до π радиан), косинус которого равен х
double asin(double x); Возвращает угол (от –π/2 до π/2 радиан), синус которого равен х
double atan(double x); Возвращает угол (от –π/2 до π/2 радиан), тангенс которого равен х
double atan2(double x, double y); Возвращает угол (от –π до π радиан), тангенс которого равен y/х
double cos(double x); Возвращает косинус х (x – в радианах)
double sin(double x); Возвращает синус х (x – в радианах)
double tan(double x); Возвращает тангенс х (x – в радианах)
double cosh(double x); Возвращает гиперболический косинус х
double sinh(double x); Возвращает гиперболический синус х
double tanh(double x); Возвращает гиперболический тангенс х
double exp(double x); Возвращает значение экспоненты с аргументом х (ex)
double ldexp(double x,int p); Возводит 2 в степень р, умноженную на х
double log(double x); Возвращает натуральный логарифм х
double log10(double x); Возвращает десятичный логарифм х
double modf(double x, double * p); Разбивает х на целую и дробную части с одним и тем же знаком, возвращает дробную часть и сохраняет целую часть по адресу р
double pow(double x, double y); Возводит х в степень y
double sqrt(double x); Вычисляет квадратный корень из х
double ceil(double x); Возвращает наименьшее целое число, превышающее х
double fabs(double x); Возвращает модуль х
double floor(double x); Возвращает наибольшее целое число, не превышающее х
int fmod(double x, double y) Возвращает дробную часть от x/y
Стандартные функции ввода/вывода (stdio.h)
void clearerr(FILE *stream); Очищает индикаторы конца файла и ошибок
int fclose(FILE *stream); Закрывает указанный файл
int feof(FILE *stream); Проверяет на достижение конца файла
int ferror(FILE *stream); Проверяет индикаторы ошибок
int fflush(FILE *stream); Очищает указанный файл
int fgetc(FILE *stream); Считывает следующий символ из указанного входного потока
char * fgets(char *string, int n, FILE *stream); Считывает строку из указанного входного потока, располагая ее в string, число символов n-1
FILE *fopen(const char * pathname, char *type); Открывает файл, определяемый pathname. Символы type определяют тип доступа
int fprintf(FILE *stream, const char *format-string [,argu­ment…]); Записывает форматированный вывод format-string в указанный поток stream
int fputc(int c, FILE * stream); Записывает символ «с» в выходной поток stream
int fputs(const char *string, FILE *stream); Копирует строку string в конец потока stream
size_t fread (void *buffer, size_t size, size_t count, FILE *stre­am); Читает объекты размера size по счетчику count из входного потока stream и располагает их в буфере buffer
FILE *freopen (const char *pathname, char *type, FILE *stream); Закрывает текущий файл, связанный с потоком stream, и переназначает этот поток в файл, определяемый path-именем
int fscanf (FILE *stream, const char *format-string [, argument...]); Считывает данные по формату format-string из текущей позиции потока stream в место, определяемое заданием аргументов argument
int fseek (FILE *stream, long offset, int origin); Перемещает указатель, соответствующий потоку stream, на новое место расположения, отстоящее от origin на offset байтов
long ftell (FILE *stream); Получает текущую позицию указателя на файл, связанного с потоком stream
size_t fwrite(const void *buffer, size_t size, size_t count, FILE *stream); Записывает элементы count длиной size из buffer в выходной поток stream
int getc (FILE *stream); Читает отдельный символ из текущей позиции потока stream и изменяет соответствующий указатель на файл для указания следующего символа
int getchar(); Макро getchar идентичен getc(stdin)
char *gets(char *buffer); Читает строку из потока стандартного ввода stdin и запоминает ее в буфере buffer
void perror(const char *string); Записывает сообщения о системных ошибках в стандартный поток ошибок
int printf (const char *format – string [, argument...]); Форматирует (format-string) и печатает наборы символов и значений (argument) в выходной стандартный поток stdout
int putc (int c, FILE * stream); Записывает отдельный символ "с" в текущую позицию выходного потока stream
int putchar(int c); Идентична процедуре putc(c, stdout)
int puts (const char * string); Записывает выбранную строку string в стандартный поток вывода stdout
int remove(char *pathname); Удаляет файл, определенный по pathname
int rename (const char * oldname, const char * newname); Переименовывает файл или каталог newname; oldname должно задавать path-имя существующего файла или каталога; newname не определяет имя существующего файла или каталога
void rewind(FILE * stream); Перемещает указатель на файл, связанный с потоком stream, к началу файла
int scanf(const char * format-string[[, argument...]]); Читает данные из потока stdin в место, определяемое аргументами arguments. Каждый аргумент должен быть указателем на значение с типом, заданным в строке формата
void setbuf(FILE *stream, char *buffer); Устанавливает размер буфера и адрес
int sprintf(char *buffer, const char *format-string[, argument...]); Форматирует и запоминает наборы символов и значений в buffer. Каждый аргумент argument преобразуется и выводится согласно спецификации формата в format-string
int sscanf(const char * buffer, const char *format-string[, argument...]); Читает данные из buffer в расположение, задаваемое arguments. Каждый argument должен быть указателем на переменную типа, указанную в format-string
Функции обработки строковых величин (string.h)
void *memchr(const void *buf, int c, size_t cnt); Находит первые cnt байтов из buf с целью обнаружения первого появления символа c. Поиск продолжается до тех пор, пока не будет найден указанный символ или не будут проверены все cnt байтов
int memcmp(const void *buf1, const void *buf2, size_t cnt); Производит сравнение первых cnt байтов из buf1 и buf2 и возвращает значение, указывающее на соотношение этих буферов
void memcpy (void *dest, const void *src, size_t cnt); Копирует cnt байтов из src в dest. Если некоторые участки src и dest перекрываются, memcpy гарантирует, что байты из перекрываемого участка, принадлежащие src, будут скопированы перед перезаписью
void *memset (void *dest, int c, size_t cnt); Заполняет первые cnt байтов буфера dest символом «c». Возвращает указатель на буфер dest
char *strcat(char *string1, char *string2); Добавляет string2 к string1
char strcpy(char *string1, const char *string2); Копирует string2 в string1
int strcmp(const char * string1, const char * string2); сравнивает строки string1 и string2 и возвращает значение, обозначающее их соотношение
char *strchr(const char * string, int c); Возвращет указатель на первое вхождение c в string.
size_t strcspn(const char * string1, const char * string2); Возвращает индекс первого символа в string1, который принадлежит множеству символов srting2
size_t strlen(const char * string); Возвращает в байтах длину строки string, при-чем нулевой символ окончания ('\0') в длину не засчитывается
char *strncat(char * string1, const char * string2, size_t n); Добавляет n первых символов строки string2 к строке string1, заканчивает результирующую строку нулевым символом ('\0') и возвращает указатель на строку-приемник (string1)
char *strncmp(char * string1, char *string2, unsigned int n); Сравнивает первые n символов строк string1 и string2; n – количество сравниваемых символов
char *strpbrk(const char * string1, const char * string2); Находит первое вхождение в string1 любого символа из string2. Нулевой символ окончания при поиске не рассматривается
char *strrchr(const char * string, int c); Находит последнее вхождение символа «c» в строке string. Нулевой символ окончания ('\0') строки string включается в поиск
size_t strspn(const char * string1, const char * string2); Возвращает индекс первого символа в строке string1, который не принадлежит множеству символов string2. Это значение эквивалентно длине начальной подстроки в строке string1, которая полностью состоит из символов строки string2
char *strstr(const char * srting1, const char * string2); Возвращает указатель на первое вхождение string1 в string2. Она возвращает указатель на string1, если string1 обнаружена, и NULL – если string1 нет
Общие утилиты (stdlib.h)
double atof (const char * string); Преобразует строку string в double
int atoi (char *string); Преобразует строку string в int
long atol (char *string); Преобразует строку string в long
double strtod(const char * nptr, char **endptr); Преобразует строку, на которую указывает nptr, в double
long strol(const char *nptr, char **endptr, int base); Преобразует строку в long десятичное целое, эквивалентное числу с данным основанием base
int rand(); Возвращает псевдослучайное целое в интервале от 0 до 32767
void srand(unsigned seed); устанавливает начальную точку для генерации псевдослучайных целых. В качестве аргумента seed используется 1. Любое другое значение seed устанавливает генератор в начальную случайную точку. Функция используется для поиска сгенерированных случайных чисел
void *calloc(size_t n, size_t size); Выделяет память для хранения массива из n элементов, каждый длиной size байт
void free(void *ptr); Освобождает блок памяти. Аргумент ptr указывает на ранее выделенный блок памяти функциями calloc, malloc, realloc
void *malloc(size_t size); Выделяет блок памяти из size байтов. Возвращает void-указатель на выделенный блок
void *realloc(void *ptr, size_t size); Изменяет размер ранее выделенного блока памяти. Аргумент ptr указывает на начало блока. Аргумент size задает новый размер блока в байтах. Содержимое блока не изменяется
void exit(int status); Завершает процесс после закрытия файла
void *bsearch(const void *key, const void *base, size_t num, size_t width, int (*compare)()); Производит двоичный поиск в отсортированном массиве из num элементов, размер каждого элемента равен width байт. base – указатель на начало массива, key – значение ключа поиска Аргумент compare является указателем на процедуру, поставляемую пользователем, которая сравнивает два элемента массива и возвращает значение, определяющее их отношение
void qsort(void *base, size_t num, size_t width, int (*com­pare)()); Выполняет алгоритм быстрой сортировки, чтобы отсортировать массив из num элементов, каждый элемент размером width байт. Аргумент base является указателем на базу массива, который нужно отсортировать
int abs(int n); Возвращает абсолютное значение своего целого аргумента n
long labs(long n); Возвращает абсолютное значение своего аргумента
Функции обработки символов (ctype.h)
int isalnum (int c); Возвращает true, если «c» является буквой или цифрой
int isalpha(int c); Возвращает true, если «c» является буквой
int iscntrl(int c); Возвращает true, если «c» является управляющим символом (например, Ctrl+B)
int isdigit (int c); Возвращает true, если «c» является цифрой
int isgraph(int c); Возвращает true, если «c» является печатным символом, но не пробелом
int islower(int c); Возвращает true, если «c» является символом нижнего регистра
int isprint(int c); Возвращает true, если «c» является печатным символом
int ispunct(int c); Возвращает true, если «c» является знаком пунктуации (любым печатным символом, но не пробелом, буквой или цифрой)
int isspace(int c); Возвращает true, если «c» является служебным символом (пробел, новая строка, табуляция)
int isupper(int c); Возвращает true, если «c» является символом верхнего регистра
int isxdigit(int c); Возвращает true, если «c» является шестнадцатеричным символом
int tolower(int c); Преобразует «c» в символ верхнего регистра (в строчную букву), если это возможно
int toupper(int c); Преобразует «c» в символ нижнего регистра (прописную букву), если это возможно

Используемая литература

1. Прата, С. Язык программирования С: Лекции и упражнения: пер. с англ. / С. Прата – К.: ДиаСофт, 2000. – 432 с.

2. Сэвити, У. С++ в примерах: пер. с англ / У. Сэвити. – М.: ЭКОМ, 1997. – 736 с.

3. Герберт Шилдт. Самоучитель С++: пер. с англ. / Герберт Шилдт. – 3-е изд. – СПб.: БХВ – Петербург, 2005. – 688 с.

4. Страуструп, Б.. Язык программирования С++ / Б. Страуструп. – специальное издание (http://www.research.att.com/-bs/3rd.html).

5. Франка, П. С++. Учебный курс / П. Франка. – СПб.: Питер, 2003. – 521 с.

6. Visual C++ 6. Руководство разработчика. – 451 c/


Оглавление

Введение.. 3

1 Создание консольных приложений с помощью мастера проектов в Visual C++ 6 5

Задание на лабораторную работу 1 ИЗУЧЕНИЯ ИНТЕРФЕЙСА ПОЛЬЗОВАТЕЛЯ MICROSOFT VISUAL C++ V.6.0 10

2 Конструкции языка С/C++. 11

Комментарии. 11

Идентификаторы. 12

Ключевые слова. 12

Константы. 13

Управляющие последовательности. 16

Строковые литералы. 16

Константные выражения. 17

Пунктуаторы. 18

Операции. 20

Задание на лабораторную работу 2 РАЗРАБОТКА ПРОГРАММЫ ЛИНЕЙНОЙ СТРУКТУРЫ.. 26

3 Отладка программы с помощью отладчика Microsoft Visual C++. 29

Классификация ошибок. 29

Ошибки, не обнаруженные компилятором. 30

Ситуации, возникающие при неверных результатах. 30

Создание консольного приложения Microsoft Visual C++. 30

Отладка программы. 32

Предупреждения. 33

Первое сообщение об ошибке. 33

Использование команд Find и Replace. 34

Быстрое обнаружение ошибочных строк. 34

Продолжение отладки. 36

Использование встроенного отладчика. 36

Разница между командами Step Into и Step Over 36

Дополнительные средства отладки. 37

Работа с точками останова. 38

Окно QuickWatch. 38

Задание на лабораторную работу 3 ОТЛАДКА ПРОГРАММЫ ЛИНЕЙНОЙ СТРУКТУРЫ.. 39

4 Объекты языка С/С++ и их краткая характеристика.. 40

Краткая характеристика объектов. 40

Стиль программирования. 47

Задание на лабораторную работу 4 ОБЪЕКТЫ И ИХ ХАРАКТЕРИСТИКИ.. 49

5 Структурное программирование.. 50

Задание на лабораторную работу 5 РАЗРАБОТКА ПРОГРАММЫ СО СТРУКТУРОЙ «РАЗВИЛКА». 58

Задание на лабораторную работу 6 СОЗДАНИЕ ЦИКЛОВЫХ ПРОГРАММ С ФИКСИРОВАННЫМ ЧИСЛОМ ПОВТОРЕНИЙ 61

Задание на лабораторную работу 7 СОЗДАНИЕ ПРОГРАММ С ИТЕРАЦИОННЫМИ ЦИКЛАМИ.. 64

6 Агрегаты данных.. 67

Структура. 67

Объединения. 71

Перечисления. 71

Многомерные массивы. 73

Вывод в файловый поток. 75

Чтение из входного файлового потока. 76

Чтение целой строки файлового ввода. 76

Определение конца файла. 77

Проверка ошибок при выполнении файловых операций. 78

Закрытие файла. 79

Управление открытием файла. 79

Выполнение операций чтения и записи. 79

Задание на РГЗ 1 ИСПОЛЬЗОВАНИЕ СТРУКТУР ДАННЫХ ПРИ РЕШЕНИИ ЗАДАЧ. 80

7 Модульное программирование.. 86

Задание на РГЗ 2 ИСПОЛЬЗОВАНИЕ МОДУЛЬНОГО ПРОГРАММИРОВАНИЯ ПРИ РЕШЕНИИ ЗАДАЧ. 89

ПриложениЯ.. 90

Приложение 1 Всевозможные команды и опции меню.. 90

Приложение 2 Некоторые функции языка С. 105

Используемая литература.. 111


Учебное издание


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: