2.47M
Category: programmingprogramming

Лекция_Символы_Строки

1.

2.

СИМВОЛЬНАЯ ПЕРЕМЕННАЯ
• Символьная переменная — это
переменная типа char, занимающая
в памяти 1 байт. В отличие от строк,
символ — это встроенный
интегральный тип в С/C++, а значит
для него определены все операции,
определенные для интегральных
типов, в том числе +, -, *, / и
операции сравнения
Существуют символьные литералы, они записываются в одинарных
кавычках (прямых апострофах). В вышеприведенном примере значением
sym является 65 в кодовой таблице ASCII. В этом случае строка sym=’A’
абсолютно эквивалентна строке sym=65. Однако, в целях улучшения
портируемости лучше всегда использовать запись в апострофах.

3.

ЧТЕНИЕ И ЗАПИСЬ
КОНСОЛЬНЫЙ ВЫВОД/ВВОД
• symbol = getchar();
• scanf("%c", &symbol);
• putchar(symbol);
• printf("%c", symbol);
ФАЙЛОВЫЙ ВЫВОД/ВВОД
• symbol = fgetc(file);
• fscanf(file, "%c", &symbol);
• fputc (symbol, file);
• fprintf(file, "%c", symbol);

4.

• Посимвольно прочитать файл и вывести текст на экран.

5.

• Прочитайте файл и выведите его содержимое так, чтобы в каждой
пятой строке рядом стоящие элементы поменялись местами

6.

• Компьютер “загадывает” букву английского алфавита, игроку нужно её
угадать

7.

8.

• Строка - это одномерный массив символов, который заканчивается
нулевым символом конца строки. В качестве нулевого символа
выступает символ '\0'. Таким образом, строка содержит символы,
которые ее составляют, и нулевой символ.
• При объявлении массива символов, который предназначен для
хранения строки, необходимо предусмотреть место для нулевого
символа, то есть указать размер этого массива при объявлении на
единицу больше, чем число предполагаемых символов в массиве.

9.

ОБЪЯВЛЕНИЕ СТРОК
• Величина массива влияет только на
выделенную под него память, так
что в отличии от численных
массивов длина строкового массива • В первом случае заполняется только 7
символов, хотя памяти выделено под 20 .
может быть меньше объявленной
• Во втором – 11 из 30.
длины при инициализации, и
• В третьем случае мы не указываем
размер строки, и количество памяти
массив не заполнится до конца
рассчитывается по размеру строки, в этом
нулевыми элементами
случае строку обязательно
инициализировать.

10.

ТАБЛИЦА ФУНКЦИЙ ДЛЯ РАБОТЫ СО СТРОКАМИ
ФУНКЦИЯ
ФУНКЦИОНАЛ
ОСОБЕННОСТИ
Scanf(“%s”, str)
Считывание строки с
консоли
Считывает всё до первого
пробела
Printf(“%s”, str)
Вывод строки в консоль
Выводит всё как заданно в
программе
Fscanf(file, “%s”, str)
Считывание строки из
файла
Fprintf(file, “%s”, str)
Вывод строки в файл
Gets(str)
Считывание строки с
консоли
‘\n’ не дописывается в
строку
Puts(str)
Вывод строки в консоль
‘\n’ добавляется после
вывода
Fgets(str, SIZE, file)
Считывание строки из
файла
‘\n’дописывается в строку
Fputs(str, file)
Вывод строки в файл
‘\n’ не добавляется после
вывода

11.

МАССИВЫ СТРОК
• Объявление массивов строк
происходит аналогично
двумерным числовым массивам.
Индекс слева – количество строк.
Индекс справа – максимальное
количество символов в строке.
• Чтобы обращаться к отдельной
строке, нужно указать только
индекс этой строки.
Вводить строки с клавиатуры и добавлять
их массив, если длина строки превышает
10 символов.
English     Русский Rules