Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
1. При трансляции программы возможно переупорядочивание коммутативных или ассоциативных операторов. Если порядок вычисления важен, используйте промежуточные переменные.
2. В языке C не задан порядок вычисления операндов. При побочных эф-фектах результат машинно зависим. Побочным эффектом называют изменение значений аргументов функций. В выражении x = f ( x, y )+ g (& x, & y ); при перестановке слагаемых изменится результат.
3. Также не фиксирован порядок вычисления аргументов функций.
Пример.
printf ("%d%d\n", ++n, pow (2,n)); // Результат неоднозначен
4. Не применяйте неоднозначных выражений. Чему равно, например, выражение a [ i ++] = i ++;? Так не писать не следует!!!
Постоянные выражения
Постоянные выражения – это выражения, состоящие из литералов и символических констант. Они используются в таких конструкциях языка, как:
- многоальтернативный выбор – инструкция switch, опция case;
- границы массивов;
- директивы препроцессора.
Пример.
int a[SIZE1+SIZE2];
# define PI 3.141593
# define PI2 2*PI
Вопросы для самопроверки и контроля
Вопросы для самопроверки
1. Чему равно значение выражения sizeof (<имя_типа>)?
2. Какой тип должен иметь левый операнд оператора ->?
3. Дано: i=4; y=i++; x=++i. Чему равны значения i, y, x?
4. Какой тип имеет результат выполнения унарного оператора &?
5. Что означают операторы = и == в языке C? Чей приоритет выше?
6. В чем отличие операторов унарного и бинарного оператора &?
7. Какой оператор имеет 3 операнда?
Контрольные вопросы
1. Требуется сформировать массив из отрицательных элементов другого массива. Правильно ли предложенное решение?
float x[10], y[10], s; short i, k;
for (s=k=i=0; i<10; i++){
x[++k]=y[ i ]<0? y[ i ]: 0;
}
2. В чем отличие постфиксной и префиксной форм оператора ++?
3. Что означают операторы & и &&?
4. В чем смысл оператора "запятая"?
5. Дано: a=3; b=4; c=5; Чему равно выражение: a<b<c?
6. Где употребляются постоянные выражения?
Дата публикования: 2014-11-02; Прочитано: 218 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!