Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Операторы и функции




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.

 
 

Пример. MsgBox("Остался жив №" & nomer)


Вывод на экран:

- функция 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 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.013 с)...