Урок 7. Составной оператор С++

Уроки для начинающих   18 Февраль 2012  Автор статьи:  

Составной оператор служит для объединения нескольких операторов в один.
Данную конструкцию можно применять для выполнения нескольких действий в одном условии, то есть если вам требуется при соответствии условия заданным параметрам произвести сразу несколько вычислений.

1
2
3
4
5
6
7
int a=5,b=15;
if (b>a)
 {
  a=a+1;
  b=b-2;
 }
cout << a << "  " << b;

Если объявить переменную внутри фигурных скобок, то вы сможете обращаться к ней только в данном блоке, то есть внутри этих же фигурных скобок.

1
2
3
4
5
6
7
8
int a=5;
if (7>a)
 {
  int b=15;
  a=a+1;
  b=b-2;
 }
cout << a << "  " << b;// ОШИБКА!

Ошибка произошла из-за того, что переменная b внутри блока, а обращение к ней идет после, то есть в рамках другого блока.


Составной оператор в Java

  • http://pro-prof.com/ r04

    >>Если объявить переменную внутри фигурных скобок, то вы сможете
    обращаться к ней только в данном блоке, то есть внутри этих же фигурных
    скобок.
    тут нужно вспомнить термин «область видимости». Пример можно чуть дополнить этим:

    int a = 1;
    std::cout << a;
    {
    int a = 2;
    std::cout << a;
    }
    std::cout << a;

    я думаю такой пример иллюстрирует чуть больше.
    Кстати, в твоем примере
    >> cout << a << " " << b;// ОШИБКА!

    ошибки тут нет, т.к. переменная b используется чуть раньше в этой же области видимости (т.е. она там походу объявлена, ну или пример совсем непрозрачный) :

    >> if (b>a)

    ЗЫ. сделай ченибудь, при наборе в комменатрий вставляется эпическое количество пробелов, почему то (приходица удалять после того как комментарий опубликован уже). И еще, я нашел как код в комментарий вставить (ну потому что у самого блог есть), но тебе бы не помешало гденить справку по тегам бахнуть (обычно то теги типа [code=…] работают). Я ваще ненашел как в комментарий вставить цитату ([quote] не работает)

    • http://cybern.ru/ lordrp

      Да, я думал про области видимости отдельную статью вроде как сделать, когда про классы значит рассказывать буду, а тут так мельком. На счет b реально косяк был. Не могу с пробелами ничего сделать это дискас и ничего в нем не изменишь типа юзай как хочешь…

Научиться программировать

  • на Delphi

  • на Java

  • на C++