Язык Си в примерах/Верхний регистр: различия между версиями

Материал из Викиучебника — открытых книг для открытого мира
Содержимое удалено Содержимое добавлено
Нет описания правки
Поставил теги <source>
Строка 14: Строка 14:
Символы можно также сравнивать друг с другом при этом сравниваются соответствующие им ASCII коды.
Символы можно также сравнивать друг с другом при этом сравниваются соответствующие им ASCII коды.


<source lang="c">


#include <stdio.h>
#include <stdio.h>
#define N 100
#define N 100
Строка 30: Строка 29:
return 0;
return 0;
}
}
</source>



При решении практических задач функцию перевода строчки в верхний регистр писать самому не надо. Это стандартная функция, которая есть в библиотеках различных языков программирования. В боль<tt>string</tt> реализованы функции <tt>strlwr</tt> и <tt>strupr</tt>, которые переводят строчки
При решении практических задач функцию перевода строчки в верхний регистр писать самому не надо. Это стандартная функция, которая есть в библиотеках различных языков программирования. В боль<tt>string</tt> реализованы функции <tt>strlwr</tt> и <tt>strupr</tt>, которые переводят строчки
Строка 39: Строка 38:
и переводит строчку в нижний регистр.
и переводит строчку в нижний регистр.


<source lang="c">

#include <string.h>
#include <string.h>
#include <stdio.h>
#include <stdio.h>
Строка 53: Строка 52:
return 0;
return 0;
}
}
</source>


==См. также==
==См. также==

Версия от 16:10, 5 июня 2007

Язык Си в примерах


  1. Компиляция программ
  2. Простейшая программа «Hello World»
  3. Учимся складывать
  4. Максимум
  5. Таблица умножения
  6. ASCII-коды символов
  7. Верхний регистр
  8. Скобочки
  9. Факториал
  10. Степень числа
  11. Треугольник Паскаля
  12. Корень уравнения
  13. Система счисления
  14. Сортировка
  15. Библиотека complex
  16. Сортировка на основе qsort
  17. RPN-калькулятор
  18. RPN-калькулятор на Bison
  19. Простая грамматика
  20. Задача «Расчёт сопротивления схемы»
  21. Простая реализация конечного автомата
  22. Использование аргументов командной строки
  23. Чтение и печать без использования stdio
  24. Декодирование звукозаписи в формате ADX
  25. Другие примеры

Перевод символов в верхний регистр

< Язык Си в Примерах

В следующей программе введенная пользователем строчка переводится в верхний регистр, то есть маленькие буквы становятся заглавными. Заглавные буквы и символы, не являющиеся латинскими буквами не меняются.

Обратите внимание на то, что с символами (переменными типа char) можно оперировать как с числами. В частности 'Z' -'A' есть число, равное разности ASCII кодов символов 'A' и 'Z', то есть 26 — число букв в латинском алфавите. Символы можно также сравнивать друг с другом при этом сравниваются соответствующие им ASCII коды.

 #include <stdio.h>
 #define N 100
 int main() {
    char a[N];
    int i;
    scanf ("%s", a);
    for(i = 0; a[i] != 0; i++) {
       if( a[i] <= 'z' && a[i] >= 'a') {
          a[i] += 'A' - 'a';
       }
    }
    printf ("%s", a);
    return 0;
 }

При решении практических задач функцию перевода строчки в верхний регистр писать самому не надо. Это стандартная функция, которая есть в библиотеках различных языков программирования. В больstring реализованы функции strlwr и strupr, которые переводят строчки в нижний и в верхний регистр. Соответствующие функции для преобразования одного символа tolower и toupper определены в библиотеке ctype.

Ниже приведена программа, которая использует функцию tolower библиотеки ctype и переводит строчку в нижний регистр.

 #include <string.h>
 #include <stdio.h>
 #include <ctype.h>
 int main() {
    int length, i;
    char string[] = "ThIs Is A sTrInG";
    length = strlen(string);
    for (i = 0; i < length; i++) {
        string[i] = tolower (string[i]);
    }
    printf ("%s\n", string);
    return 0;
 }

См. также