Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Некоторые замечания



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 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...