AtTimesYouMayWantToReadDataFromTheKeyBoard

Упражнения

Вопросы

Набор для практики

Краткие итоги

Ключевые термины

Адрес строки –этоуказатель на блок непрерывной области памяти, с которого начинает располагаться массив символов.

Строки как параметры функций –это описание передачи значений строк в функции как массив символов или указатель типа char.

Указатель на строку– адрес начала расположения стоки в памяти.

 

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

2.Строки передаются в функции в качестве параметров как массивы символов или как указатели типа char.

3.Обращение к конкретному элементу строки можно осуществить посредством адресации индексированного имени строки.

4.При формировании строки без использования стандартных функций требуется дописывать символ конца строки.

5.С помощью указателей на константы можно защитить строку от изменений.

6.Копирование строк с помощью указателей осуществляется через объявление нового указателя, адресующего область памяти, занимаемую строкой или подстрокой.

 

1. Почему обращения к строке через ее имя и через указатель эквивалентны?

2. Почему в качестве параметра функции передается адрес строки, а не сама строка символов?

3. Возможно ли применение операций инкремента и декремента к указателю на строку? Если да, то что будет адресовать полученный указатель?

4. Почему при формировании строки без использования стандартных функций необходимо дописывать символ конца строки? Почему этого не требуется при считывании строк с клавиатуры?

5. Какие возможны ошибки в программе при некорректной работе со строками?

6. Для защиты строки от изменения объявляется указатель на константу или указатель-константа? Почему?

 

1.Наберите коды программ из Примеров 1-3. Выполните компиляцию и запуск программ.

2.Дана строка, в которой слова разделены одним пробелом. Найдите и распечатайте все слова указанной длины n.

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

Введите строку символов латинского алфавита:

Полученная строка: At Times You May Want To Read Data From The Key Board

4.Написать программу, которая вычисляет значение выражения N0O1N1O2…OkNk, где Ni – целое число, Oi – один из двух знаков простейших арифметических действий: сложение (+) и вычитание (–). Считать, что данные введены корректно: в строке заданы только цифры и указанные знаки действий. Ниже представлен рекомендуемый вид диалога во время работы программы. Данные, вводимые пользователем, выделены жирным шрифтом.

Введите арифметическое выражение,

например, 45+5-3-125+2 (пробелы и другие знаки недопустимы)