{ int R=1; // змінна в просторі рівня 1
{ int R=2; // змінна в просторі рівня 2
{ int R=3; // змінна в просторі рівня 3
printf("Level 3: R=%d \n", R);
}
printf("Level 2: R=%d \n", R);
}
printf("Level 1: R=%d \n", R);
// застосовано операцію дозволу
// доступу до глобального простору
printf("Level 0: R=%d \n", ::R);
}
Протокол роботи програми:
Level 3: R=3
Level 2: R=2
Level 1: R=1
Level 0: R=0
Ідентифікатор не повинен збігатися зі службовим словом.
Вправи
Вправа 1
Придумайте слушне ім’я для кожної з наступних змінних:
а) змінна, значенням якої є швидкість автомобіля;
б) змінна, у якій зберігається інформація про деяку людину;
в) змінна, у якій зберігається найбільш висока оцінка, яку можна одержати на іспиті.
Вправа 2
Які з наведених нижче ідентифікаторів є правильними:
alfa , #abc , _AB_ , abc! , Alfa12 , $100 , 2005y , M$ , sWp , Beta@ , aa__aa , gamma& , _X_ , delta? , ab.c .
Вправа 3
Скільки з наступних ідентифікаторів позначають різні об’єкти:
alfa , Alfa , _BETA_ , _beta_ , a , A , A_ , a1_b1 , A1_B1.
Вправа 4
Які з наведених нижче рядків не можна застосувати як ідентифікатор об’єкту:
Friend , friend , DO , do , _case_ , long+ , Union , integer , if_else ,
1_2_3_4 , _1_2_3_ , oper , type , try , del , alfa# , _ASM_ , Const .
Глава 3
В И Р А з и
Поняття виразу. Вирази Lvalue та Rvalue
Операції. Пріоритети та асоціативність