Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Basic
C
Ввод - вывод
Ввод строки в окно – InputBox (поясняющий текст[, заголовок окна] [,значение по умолчанию][,xнач] [, yнач]).
Возвращаемое значение: строка, введенная с клавиатуры в поле ввода.
Аргументы:
- если заголовок окна опущен, то в окно помещается имя приложения;
- значение по умолчанию – значение, появляющееся в поле ввода; если пользователь согласен с
этим значением, то, не вводя значение с клавиатуры, нужно щелкнуть по кнопке ОК;
- xнач, yнач – координаты левого верхнего угла окна; если xнач опущено, то окно центрируется по горизонтали; если yнач опущено, то окно располагается примерно на уровне 1/3 от верха экрана.
Файл прототипов stdio.h.
Ввод с клавиатуры:
- функция scanf (спецификация % s );
- функция gets ( char* ).
Введенное значение заносится
в символьный массив. Обе функции добавляют конечный символ '\0'.
Можно заполнять символьный массив с клавиатуры в цикле с помощью функции getchar (char). В этом случае, конечный нуль не добавляется.
Пример. Поэлементное присваивание.
char str1[20], str2[20];
...................................
gets(str1);
for (i=0; str2[ I ]=str1[ I ]; i++);
Пример. InputBox("Число людей в кругу:")
Поясняющий текст: Число людей в кругу.
Заголовок окна: Flavii.
Вывод строки в окно – MsgBox (сообщение[, кнопки][, заголовок]).
Возвращаемое значение: код нажатой кнопки. Используется для организации диалога. Изучить самостоятельно.
Аргументы:
- кнопки – целое выражение, кодирующее число и названия выводимых в окно кнопок; если опущено, выводится одна кнопка ОК;
- заголовок – см.функцию InputBox.
Вывод на экран:
- функция printf (спецификация % s );
- функция puts ( char* ).
Также в цикле можно выводить строки с помощью функции putchar (char).
Конкатенация (сцепление)
Оператор &
Файл прототипов для после-дующих функций string.h.
char* strcat (левая строка, правая строка)
Копирование (присваивание)
Оператор =
char* strcpy (копия, оригинал)
Сравнение
Оператор =
Пример.
dim str1 as string, str2 as string
str1="Привет ": str2 ="семье!"
str1 & str2 à "Привет семье!"
if str1 = str2 then ' Результатà false
Есть 3 режима сравнения строк, которые задаются инструкцией вида:
option compare <режим>
Режимы:
- binary – с учетом регистра (по умолчанию);
- text – без учета регистра;
- database – для MS Access.
int strcmp (строка 1, строка 2)
Возвращаемое значение равно:
- < 0, если строка 1 < строки 2;
- ==0, если строка 1 == строке 2;
- > 0, если строка 1 > строки 2.
Пример.
char str1[20], str[20];
strcpy(str1, "Привет ");
strcpy(str2, "семье!");
strcat(str1, str2); à "Привет семье!"
if (strcmp(str1, str2)) àstr1!= str2
Длина строки
Len (строка)
unsigned strlen (char *);
Возвращает число символов в строке без конечного нуля.
Первое вхождение строки s2 в s1
InStr ([начальная позиция,] где ищем, что ищем[, режим сравнения])
Возвращаемое значение: позиция, с которой строка что ищем входит в строку где ищем; если вхождения нет, возвращается 0.
Аргументы:
- начальная позиция – позиция, с которой начинается поиск; если опущена, то поиск с первой позиции;
- режим сравнения:= { binary | text | database }; если опущен, то определя-ется инструкцией option compare; если задан, то начальная позиция обязательна.
Пример.
s1="0123456789": s2="345"
k=InStr(5, s1, s2) ' k=0
char* strstr (где ищем, что ищем);
Возвращаемое значение: указатель на символ, с которого начинается вхождение s2 в s1; если вхождения нет, возвращается NULL.
Пример.
strcpy(s1, "0123456789");
strcpy(s2, "345");
p=strstr(s1, s2);
Формирование строки из повторяющихся символов
Строка из пробелов:
space (число пробелов)
Строка из произвольных повторяющихся символов:
string (число, строка)
Строка строится из первого символа строки.
char* strset (строка, символ)
Другие возможности
Выделение подстрок:
- left (строка, n) – n первых символов строки;
- right (строка, n) – n последних символов строки;
- mid (строка, начало[, n]) – n символов строки с позиции начало.
- trim (строка) – удалить пробелы с двух концов строки.
Выравнивание:
Инструкция lset строка1 = строка2
Присваивает строке1 значение строки2 и, если длина строки1 бол ьше длины строки2, лишние "правые" символы заменяются пробелами.
Инструкция rset строка1 = строка2
Делает то же самое, но "прижимает" строку2 к "правой" границы строки1.
Инициализация символьного массива.
char mes[ ]="Это строка!";
Длину массива можно не указывать, транслятор сам определит ее по числу символов инициализирующей строки.
Пример. Определить, являются ли 2 строки анаграммой.
function anagr(str1 as string, str2 as _ string) as boolean
dim len1 as integer, _
len2 as integer, _
i as integer, _
j as integer, _
fl1 as boolean, _
fl2 as boolean, _
sled() as boolean
len1=len(str1): len2=len(str2)
if len1<>len2 then
anagr= false
Дата публикования: 2014-11-02; Прочитано: 276 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!