Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Desktop_1 / ЛК / Лекция 7Строки

.doc
Скачиваний:
40
Добавлен:
10.06.2015
Размер:
125.44 Кб
Скачать

5

Лекция 7

11.0. Символы и строки

ПК может обрабатывать не только числовую информацию, но и символьную. Символьная информация может быть представлена:

  • Отдельными символами

  • Строками

11.1. Символы

Для хранения и обработки отдельных символов используются переменные типа Char.

Тип представляет собой набор символов в кодировке Unicode, в котором каждый символ кодируется 16-разрядным двоичным числом (2 байтами).

К символам относятся:

  • Буквы русского и латинского алфавитов;

  • Цифры;

  • Знаки препинания;

  • Специальные символы (пробел, <Enter>-“новая строка”);

Объявление символьных данных:

Char Имя переменной; //переменная без инициализации

Char Имя переменной = 'значение'; // переменная с инициализацией

Const char Имя переменной = 'значение'; // константа с инициализацией

Пример1:

char sim; // Символьная переменная без инициализации

char q = ' * '; // Символьная переменная с инициализацией

const char s= ' х '; // Символьная константа

Символьная переменная может получить значение в программе в результате выполнения операции присвоения.

Пример2:

char C, S ; // переменные без инициализации

. . . . . . . .

С = ' * ' ; // переменной С присваивается значение *

S = ' a '; // переменной S присваивается значение a

. . . . . . . .

Задача1. Выполняет программу диалога: “Вы хотите научиться программировать?”

static void Main(string[] args)

{

char s;

Console.Write("Вы хотите научиться программировать? Введите Y или N: ");

s = Convert.ToChar(Console.ReadLine());

Console.WriteLine("Ваш ответ: "+ s);

Console.ReadKey();

}

11.2. Строки

Последовательность символов произвольной длины называется строкой. Для обработки и хранения символов можно использовать массив символов или переменные типа String.

Объявление строковых данных:

String Имя переменной; //переменная без инициализации

String Имя переменной =''значение''; //переменная с инициализацией

Const String Имя переменной = ''значение''; // константа с инициализацией

Пример3:

string s; // Строковая переменная без инициализации

string s1 = "Привет"; // Строковая переменная с инициализацией

const string s2 = "Я студент"; // Строковая константа

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

Пример4:

string s1, s2 ; // переменные без инициализации

. . . . . . . .

s1 = "Я студент"; // переменной s1 присваивается значение "Я студент"

s2= "Привет от меня"; // переменной s2 присваивается значение "Привет от меня"

. . . . . . . .

Задача2. Выполняет программу диалога: “Вы хотите научиться программировать?”

static void Main(string[] args)

{

string s;

Console.Write("Вы хотите научиться программировать? ");

s = Convert.ToString(Console.ReadLine());

Console.WriteLine("Ваш ответ: " + s);

Console.ReadKey();

}

Результат выполнения строкового выражения является строка символов.

Для строк применимы операции:

  • конкатенация (добавление к первой строке второй) // Сцепление строк

  • сравнение. // По длине строки

Задача3. Объединение (конкатенация) двух строк.

static void Main(string[] args)

{

string c, h, ch; char q = '!';

Console.Write("Введите 1 строку ");

c = " C# ";

Console.WriteLine(c);

Console.Write("Введите 2 строку ");

h = " Express ";

Console.WriteLine(h);

ch = c + h + q;

Console.WriteLine();

Console.WriteLine("Ответ: " + ch);

Console.ReadKey();

}

Задача4. Сравнить содержимое двух строк

static void Main(string[] args)

{

string s1, s2;

Console.Write("Введите 1 строку ");

s1 = Convert.ToString(Console.ReadLine());

Console.WriteLine();

Console.Write("Введите 2 строку ");

s2 = Convert.ToString(Console.ReadLine());

Console.WriteLine();

if (s1 == s2) Console.WriteLine("Строки равные");

else Console.WriteLine("Строки не равные");

Console.ReadKey();

}

Переменную типа String можно сравнивать с другой переменной типа String.

Строки сравниваются посимвольно, начиная с 1 символа:

  • Если все символы сравниваемых строк одинаковые, то такие строки считаются равными, в противном случае – не равными. Для равенства двух строк применяют операторы == или !=.

  • Операторы отношения >, <, >=, <= c переменными типа String не работают, для их использования необходимо преобразовать строковую переменную в длину строки. Длина строки вычисляется с помощью метода s.Length;

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

Например, s[ i ], где i – номер символа строки s.

Задача5. Сравнить содержимое двух строк по их длине:

string s1, s2;

Console.Write("Введите 1 строку: ");

s1 = Convert.ToString(Console.ReadLine());

Console.WriteLine();

Console.Write("Введите 2 строку: ");

s2 = Convert.ToString(Console.ReadLine());

Console.WriteLine();

if (s1.Length > s2.Length) Console.WriteLine("1 Строка длиннее");

else if (s2.Length > s1.Length) Console.WriteLine("2 Строка длиннее");

else Console.WriteLine("Строки равные");

Console.ReadKey();

11.3. Методы обработки строк

Наиболее частые методы обработки строк:

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

Выполняемые функции

string ToLower()

Возвращает строчную версию вызывающей строки

string ToUpper()

Возвращает прописную версию вызывающей строки

string Copy(string S)

Возвращает копию строки S

Задача6. Вывести прописную и строчную версии строки:

static void Main(string[] args)

{

String s1, s11, s12;

Console.Write("Введите строку: ");

s1 = Convert.ToString(Console.ReadLine());

Console.WriteLine();

s11 = s1.ToLower();

s12 = s1.ToUpper();

Console.WriteLine("Строчная версия строки: " + s11);

Console.WriteLine();

Console.WriteLine("Прописная версия строки: " + s12);

Console.ReadKey();

}

Задача7. Вывести длину строки и ее копию.

static void Main(string[] args)

{

string s1, s2;

s1 = "В программировании используется язык C#";

Console.WriteLine();

Console.WriteLine("s1: " + s1);

s2 = string.Copy(s1);

Console.WriteLine();

Console.WriteLine("s2: " + s2);

Console.WriteLine();

Console.WriteLine("Длина строки s1: " + s1.Length);

Console.ReadKey();

}

8.3. Строковые функции и процедуры

Соседние файлы в папке ЛК