Язык Си в примерах/Верхний регистр: различия между версиями
Нет описания правки |
Поставил теги <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
- Компиляция программ
- Простейшая программа «Hello World»
- Учимся складывать
- Максимум
- Таблица умножения
- ASCII-коды символов
- Верхний регистр
- Скобочки
- Факториал
- Степень числа
- Треугольник Паскаля
- Корень уравнения
- Система счисления
- Сортировка
- Библиотека complex
- Сортировка на основе qsort
- RPN-калькулятор
- RPN-калькулятор на Bison
- Простая грамматика
- Задача «Расчёт сопротивления схемы»
- Простая реализация конечного автомата
- Использование аргументов командной строки
- Чтение и печать без использования stdio
- Декодирование звукозаписи в формате ADX
- Другие примеры
Перевод символов в верхний регистр
В следующей программе введенная пользователем строчка переводится в верхний регистр, то есть маленькие буквы становятся заглавными. Заглавные буквы и символы, не являющиеся латинскими буквами не меняются.
Обратите внимание на то, что с символами (переменными типа 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;
}