Функции, определеные в заголовочном файле ctype.h.
1. Преобразование строчной буквы в прописную - int toupper(int c)
2. Проверка буква прописная или нет - int isupper(int c)
3. Преобразование прописной буквы в строчную - int tolower(int c)
4. Проверка буква строчная или нет - int islower(int c)
#include <ctype.h>
void main(void){
int ch; crit=0; //Признак прописные или строчные буквы
while ((ch=getche())!='\n'){
if(crit==0){
ch=isupper(ch) ? tolower(ch): ch;
putchar(ch);
}
else{
ch=islower(ch)? toupper(ch):ch;
putchar (ch);
}
}
ССЫЛКИ
Ссылка – это переменная, псевдоним для другой переменной. Они объявляются при помощи символа &. Если x – переменная, то &x – это адрес переменной x. Ссылки должны быть проинициализированы при объявлении, причем только один раз. Ссылками удобно пользоваться, если работаем с несколькими функциями.
Тип "ссылка на type" определяется следующим образом:
type& имя_перем.
Ссылка при определении сразу же инициализируется. Инициализация ссылки производится следующим образом:
int i = 0;
int& iref = i;
Физически iref представляет собой постоянный указатель на int - переменную типа int* const. Ее значение не может быть изменено после ее инициализации. Ссылка отличается от указателя тем, что используется не как указатель, а как переменная, адресом которой она была инициализирована:
iref++; //то же самое, что i++
int *ip = &iref; //то же самое, что ip = &i;
Таким образом, iref становится синонимом переменной i.
Допустим, есть ячейка памяти с именем x:
Определение ссылки: int & px; но ссылка в никуда существовать не может, поэтому пишем int & px = x; то есть у этой же ячейки появилось второе имя: px. Можно работать со ссылкой: px=10; это то же самое, что и x=10;
int y=px; // y=x
Ссылками удобно пользоваться, когда передают параметры в функцию. Происходит передача переменной с её значением и с адресом, то есть передается весь объект.
//пример
void func (int &);//функция принимает переменную по ссылке
void main( )
{
int k=10;
func(k);
printf (“Значение k=%d\n”, k);
}
void func(int &a)//a инициализируется адресом и значением k
{
a+=8;
}
При передаче переменной по ссылке, ссылка инициализируется и адресом и значением этой переменной.
int *d=& a;
Ссылка – это «константный указатель», который не меняет своего значения-адреса.
Ссылка только 1 раз инициализируется адресом и значением переменной и в прцессе работы не может изменить свое значение.
Массив ссылок существовать не может, а массивы указателей существуют.
При передаче больших объектов в функции с помощью ссылки он не копируется в стек и, следовательно, повышается производительность.
#include <iostream.h>
void incr (int&);
void main(void){
int i = 5;
incr(i);
cout<< "i= " << i << "\n";
}
void incr (int& k){
k++;
}
Поскольку ссылка это псевдоним, то при передаче объекта в функцию по ссылке внутри нее объект можно изменять. Ссылки не могут ссылаться на другие ссылки или на поле битов.
Не может быть массивов ссылок или указателей на ссылку.
Ссылка может использоваться для возврата результата из функции. Возвратить результат по ссылке - значит возвратить не указатель на объект и не его значение, а сам этот объект.
Дата добавления: 2016-02-02; просмотров: 726;