Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособие_новое.DOC
Скачиваний:
7
Добавлен:
28.09.2019
Размер:
486.4 Кб
Скачать

Void main (void)

{

char *string = "Поиск символа" ;

char *ptr;

ptr = strchr(string,'и');

if (*ptr)

printf("Первый символ \'и \'имеет адрес %p \n",ptr);

else printf("Символ не найден\n");

ptr = strrchr(string,'и');

if (*ptr)

printf("Последний символ \'и\'имеет адрес %p \n",ptr);

else printf("Символ не найден\n");

}

Функция strchr(string, ch) отыскивает первое, а функция strrchr(string, ch) — последнее вхождение символа ch и возвращает адрес, по которому он находится (символ конца строки считается частью строки).

  1. Преобразования символьной строки — strlwr() и strupr(), пример 7.16:

// Пример 7.16.

// Преобразование символьной строки,

// функции strlwr(), strupr()

#include <stdio.h>

#include <string.h>

Void main (void)

{

char *str1 = “ABCDEFGH”;

char *str2 = “abcdefgh”;

strlwr(str1);

strupr(str2);

printf(«\nПреобразование прописных букв в строчные: %s\n»,str1);

printf(«\nПреобразование строчных букв в прописные: %s\n»,str2);

}

Функция strlwr() преобразует прописные буквы в строке символов в строчные, а функция strupr() — наоборот: строчные в прописные.

7.5 Математические функции

Основные математические функции приведены в табл. 7.6

Таблица 7.6 — Математические функции

Наименование

Назначение

Определение функции

Имя библио-течного файла

Абсолютное значение

abs(x)

cabs(x)

labs(x)

fabs(x)

аргумента

комплексного числа

числа типа long

числа из потока

int abs(int i);

long labs(long n);

double fabs(double x);

stdlib.h

math.h

stdlib.h

math.h

Тригонометрические функции

cos(x)

sin(x)

tan(x)

acos(x)

asin(x)

косинус

синус

тангенс

арккосинус

арксинус

double cos(double x);

double sin(double x);

double tan(double x);

double acos(double x);

double asin(double x);

math.h

math.h

math.h

math.h

math.h

Гиперболические функции

cosh(x)

sinh(x)

tanh(x)

косинус

синус

тангенс

double cosh(double x);

double sinh(double x);

double tanh(double x);

math.h

math.h

math.h

Экспоненциальные, логарифмические и степенные функции

exp(x)

log(x)

log10(x)

pow(x,y)

pow10(p)

sqrt(x)

ex

ln(x) — логарифм по основанию e

lg(x) — логарифм по основанию 10

xy

10 p

квадратный корень числа

double exp(double x);

double log(double x);

double log10(double x);

double pow(double x,

double y);

double pow10(int p);

double sqrt(double x);

math.h

math.h

math.h

math.h

math.h

math.h

Другие функции

ceil(x)

floor(x)

hypot(x,y)

rand()

qsort()

округление сверху

округление снизу

вычисление гипоте­нузы прямоуголь­ника

генерация случай­ных чисел

ускоренная сорти­ровка

double ceil(double x);

double floor(double x);

double hypot(double x, double y);

int rand(void);

void qsort(void base, int nelem,int width, int (fcmp)()); (1)

math.h

math.h

math.h

stdlib.h

stdlib.h

В выражении (1) : base — указывает на базовый (нулевой) элемент таблицы, подлежащей сортировке; nelem — число элементов таблицы; width — размер каждого элемента таблица в байтах; функция cравнения fcmp  принимает два аргумента (elem1) и (elem2), каждый из которых указывает на элемент таблицы.

Приложение А

Таблица А.1 — Работа с файлами

Действие

Меню

Клави-атура

Примечание

Новый файл

File | New

Появляется новое окно с именем NONAME.CPP

Открыть файл

File | Open

F3

Выбрать файл из списка, если необходимо другое расширение, поменять его в верхней строке и нажать <Enter>

Сохранить файл

File | Save

F2

Если файл новый, задать его имя

Сохранить файл под другим именем

File | Save as..

Задать нужное имя файла

Сохранить все открытые файлы

File | Save all

Спрашивает только имена новых файлов

Сменить рабочий каталог

File | Change dir...

Всегда работайте только в своём каталоге!

Распечатать файл

File | Print

Проверьте принтер

Выход из BorlandC

File | Quit

Alt - X

Если какие-либо файлы изменялись, спрашивает, сохранять ли их

(Yes — сохранять; No — нет)

Таблица А.2 — Редактирование текста в окне

Действие

Меню

Клави-атура

Примечание

Отмена предыдущих действий

Edit | Undo

Alt-BkSp

Можно восстанавливать удалённый текст

“Отмена отмены”

Edit | Redo

Shift-Alt-BkSp

Восстанавливает текст, как было до Undo

Выделить блок текста

Shift-

Shift-

Текст выделяется не прямоугольными блоками, а по строкам.

Выделить строку (часть строки)

Shift-

Shift-

Когда курсор в первой колонке — выделяется вся строка, иначе — остаток строки

Переместить выделенный блок в карман

Edit | Cut

Shift-Del

“Карман” по английски называется Clipboard — буфер обмена.

Скопировать в карман

Edit | Copy

Ctrl-Ins

Удобно использовать для набора повторяющихся фрагментов программы

Вставить из кармана

Edit | Paste

Shift-Ins

Вставляет текст с места положения курсора

Таблица А.3 — Работа с окнами

Действие

Меню

Клави-атура

Примечание

Размер/Перемеще-ние окна

Window | Size/Move

Ctrl-F5

“Стрелки”  перемещают окно

Shift-“стрелки” изменяют его размер

“Распахнуть” окно

Window | Zoom

F5

Окно на весь экран; восстановить — также F5

Расположить окна “каскадом”

Window |Cascade

Все открытые окна становятся видны, их легко перебирать

Расположить окна “черепицей”

Window | Tile

Видно содержимое сразу всех окон, но если окон много, они получаются маленькие

Перейти к следующему окну

Window | Next

F6

Все окна перебираются “по кругу”, так можно добраться до любого окна, если нет мышки

Закрыть окно

Window | Close

Alt-F3

Если текст в окне изменен, будет вопрос — сохранять ли его (Yes (да) или No (нет))

Закрыть все окна

Window | Close all

Спрашивает, есть ли не сохраненные окна

Список окон

Window | List all...

Alt-0

Можно выбрать любое окно из списка

Таблица А.4 — Специальные окна

Действие

Меню

Клави-атура

Примечание

Сообщения об ошибках

Window   Message

Ошибки (Errors) и предупреждения (Warnings) компиляции и построения

Текстовый вывод программы

Window | Output

Все то, что напишет программа текстом, попадает сюда (не работает в графике)

Просмотр переменных

Window | Watch

Показывает значения выбранных переменных в процессе отладки программы (см. Отладка)

Экран программы

Window | User screen

Alt-F5

Полностью переключает на рабочий экран отлаживаемой программы, даже если она работает в графическом режиме. Нажмите любую клавишу для возврата в BorlandC

Регистры процессора

Window | Register

Требуется для отладки системных программ

Окно проекта

Window | Project

Требуется, когда программа состоит из нескольких исходных файлов

Таблица А.5 — Компиляция, построение и запуск программы

Действие

Меню

Клави-атура

Примечание

Компилировать файл

Compile | Compile

Alt-F9

Компилирует файл из активного окна

Ошибки компиляции

Окно Message

Enter

Нажатие Enter переводит курсор в строку, где произошла ошибка

Компиляция/Постро-ение

Compile | Make

F9

Компилирует файлы, если этого не произошло ранее, и строит программу, если она не построена

Ошибки построения

Окно Message

В окне перечисляются имена функций и переменных, связь с которыми не найдена в библиотеках или файлах

Построить всё

Compile | Build all

Перекомпилирует  и  перест-раивает  всё  заново, например, после изменения параметров среды

Запуск программы

Run | Run

Ctrl-F9

Выполняет программу, если необходимо, то компилирует и строит программу. Если есть точка останова  (см. Отладка), программа остановится на точке останова

Задать аргументы

Run | 

Arguments...

Если программа требует задания аргументов при запуске, здесь их можно задать

Таблица А.6 — Отладка

Действие

Меню

Клави-атура

Примечание

Пошаговое выполнение

Run | Step over

F8

Выполняет  один  шаг  (одну строку) программы, строка, на которой остановлен процесс выполнения подсвечена. После выполнения шага можно смот-реть за изменениями перемен-ных программы (см. далее)

Вход в отладку функции

Run | Trace into

F7

Если программа остановлена на вызове функции, то F7 открывает текст этой функции и начинает ее пошаговую отладку

Выполнить до строки, на которой стоит курсор

Run | Go to cursor

F4

Если  нет  смысла “прокручивать” цикл в пошаговом режиме, можно выполнить его сразу, поставив текстовый курсор после цикла и нажав F4

Установить/убрать точку останова на строке, в которой стоит курсор

Debug |

Toggle

Breakpoint

Ctrl-F8

Если необходимо проконтролировать переменные в определенном месте программы, необходимо поставить в этом месте точку останова и начать выполнение (Ctrl-F9). Точки

останова подсвечиваются красным в тексте программы.Выключить точку останова — также нажать Ctrl-F8

Контроль точек останова

Debug | Breakpoints...

Появляется окно, которое позволяет изменять (Edit), удалять (Delete) или просматривать местоположение (View) точек останова

Изменение условия останова

Debug | Breakpoints...

Edit

При редактировании точки останова поле Condition задает условие останова, которое представляет собой выражения языка С  (с использованием всех переменных, доступных в точке останова, нельзя использовать вызов функций в данном выражении); поле Pass Count задаёт число проходов мимо точки без останова, прежде, чем произойдёт останов. После редактирования этих полей необходимо нажать кнопку Modify, чтобы изменить условие останова

Добавить переменную в окно просмотра переменных Watch

Debug | Watches | Add watch...

Ctrl-F7

(или Ins в окне Watch)

Когда курсор стоит на начале имени переменной, BorlandC предлагает просмотреть именно эту переменную. В этом же окне можно исправить, написать другую переменную или выражение

Удалить переменную из окна Watch

Debug | Watches | Delete watch

Del

(в окне Watch)

Если активным является окно Watch, можно вставить переменную (Ins), изменить (Enter) или удалить (Del)

Удалить все переменные из Watch

Debug | Watches | Remove all watches

Изменить имя переменной в Watch

Debug | Watches | Edit watch...

(в окне Watch)

Если после переменной или выражения Watch поставить запятую, а затем указать один из спецификаторов формата (C —символы, D — десятичные целые, X —шестнадцатери-чные, F — вещественные, M — дамп памяти, P —указатель (адрес), R —стру-ктура, можно поменять формат вывода данных

Инспектор переменных

Debug | 

Inspect...

Alt-F4

Показывает более подробную информацию, чем Watch (в отдельном окне)

Посчитать/Изме-нить

Debug | Evaluate/Modify

Ctrl-F4

Посчитать (Evaluate) выражение (результат в поле Result) или изменить (Modify) значение переменной (в поле New Value) в процессе отладки

Завершить отладку

Run |

Program reset

Ctrl-F2

Завершает сеанс отладки, например, если необходимо начать его с начала

Таблица А.7 — Библиотечные функции

Имя

функции

Назначение

Определение

Имя файла

Функции ввода-вывода с консоли (на консоль)

printf

scanf

cgets

cputs

getch

getche

осуществляет форматированный вывод

осуществляет форматированный ввод

читает строку с консоли

пишет строку на консоль

получает символ с консоли без отображения

получает символ с консоли с отображением

int   printf(char  format

[,argument,..]);

int  scanf  (char  format

[,argument,..]);

char  cgets(char string);

void  cputs(char string);

int getch(void);

int getche(void);

stdio.h

stdio.h

conio.h

conio.h

conio.h

conio.h

Продолжение таблицы А.7

Имя

функции

Назначение

Определение

Имя файла

Функции работы  со строками

strcat

strcmp

strcpy

strdup

stricmp

strlen

strlwr

strupr

strrchr

strpbrk

strrev

strnset

strset

Присоединяет одну строку к другой

Сравнивает одну строку с другой

Копирует одну строку в другую

Копирует строку во вновь создаваемую строку

Сравнивает одну строку с другой без учета различия строчных и прописных букв

Вычисляет длину строки

Преобразует прописные буквы в строчные

Преобразует строчные буквы в строку прописных букв

Отыскивает в строке последнее вхождение заданного символа

Отыскивает в строке первое вхождение любого символа из переданного функции набора символов

Реверсирует строку

Заменяет специфицированное количество символов в строке на указанный символ

Заменяет все символы в строке на указанный символ

char  strcat(char destin, char source);

int  strcmp(char str1, char str2);

char  strcpy(char destin, char source);

char strdup(charstr);

int   stricmp(char str1,char str2);

unsigned strlen(char str);

char strlwr(char str);

char strupr(char str);

char strrchr(char str, char ch);

char strpbrk(char str1, char str2);

char strrev(char str);

char strnset(char str, char ch, unsigned n);

char strset(char str, char ch);

string.h

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]