Дэвид Дж. Малан: Предположим, что я хотел бы реализовать программу, которая запрашивает пользователь на строку, а затем переходит капитализировать свой вклад, преобразовании любых строчных букв что они печатают в верхний регистр. Ну, давайте идти вперед и реализовать эту программу. Давайте сначала включают cs50.h затем по включают stdio.h. И так, что мы можем использовать STRLEN, давайте включим string.h. Давайте следующий объявить главный качестве десятичного главный пустоту и давайте теперь перейдем к подскажут пользователь для строки. Printf, давайте побудить их для некоторых входных сигналов. Теперь давайте объявить строку - мы будем называть это с - и хранить в нем результат вызова библиотека CS50 функция GetString. Теперь займемся перебрать каждый из персонажей с, С капитализацией любые строчные буквы, которые мы видим. Для внутр, я получаю 0. Давайте также объявить п как равная длина строки с тем чтобы мы могли не перебрать с I вплоть до п, Длина с, и на каждом Шаг итерации я. А потом внутри этой петли, давайте Первая проверка текущий письмо - г-я буква с, так сказать - строчная буква. Если с кронштейн я больше или равна в нижний регистр, и это меньше, или равно строчной г - Теперь, если мы хотим преобразовать в нижний регистр Письмо в верхний регистр, напомним сначала, что в ASCII строчные 97 и в верхнем регистре 65. Между тем, в нижнем регистре б 98, и в верхнем регистре B 66. Если мы будем продолжать смотреть на этой модели, мы увидим, что в нижнем регистре письма всегда 32 значения выше чем заглавными буквами. Так что если мы хотим конвертировать из нижнего регистра в верхний регистр, он должен хватает, действительно, вычесть 32 из пользовательского ввода. Или в более общем, просто вычесть, что Разница между строчной а и а капитал А. Как выразить это? Ну, давайте сделаем это в коде. Printf, цитирую, конец цитаты "% С" для печати текущий символ, а затем печать все это в ы кронштейна Я минус результат того, в нижнем регистре A минус верхний регистр с запятой. Другими словами, этот скобках выражение, немного минус большой, это собирается вернуться к нам в конец день 32. Но у меня нет, чтобы помнить что это 32. Я могу позволить компьютер, чтобы выяснить, в чем разница между строчными буквами и капитала является. Между тем, как только я знаю, что разница, Я могу вычесть его из с Кронштейн я, который состоится в чем предположительно строчная буква в Меньшее значение, а именно значение, карты на заглавной эквиваленте. Давайте теперь сохранить, скомпилировать, и запустить эту программу. Сделать выгоду точка слэш капитализируются. И мой вклад будет привет. И там у нас есть, привет. Теперь мой запрос, по общему признанию, является немного уродливые, потому что мы опущен один бит печати. И давайте вернемся и добавить, что. В самом низу этой программы, Я очень просто, и в значительной степени для эстетическое назначение, собираюсь добавить Printf, цитата, конец цитаты обратный слеш н. Давайте сохраните этот файл, перекомпилировать, повтор. Сделать выгоду, точка слэш выгоду. Опять же, для ввода я приведу "привет" в нижнем регистре и теперь нажмите Ввод, и "привет", гораздо более аккуратно напечатан.