Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Voprosy_k_ehkzamenu_OAiP_dlja_PEHs-I.doc
Скачиваний:
17
Добавлен:
02.05.2019
Размер:
205.82 Кб
Скачать
  1. Операции присваивания и операторы присваивания. Операция присваивания

Операция присваивания имеет две формы записи:

  1. Полная форма:имя_переменной =выражение;

  2. Сокращенная форма:имя_переменной операция=выражениe;

Строку содержащую знак = (присвоить) называют оператором присвоения.

Общий вид оператора: P=VP где V-выражение,P-переменная.

Оператор присвоения выполняется следующим образом: вычисляется значение выражения V; это значение присваивается переменной P. Например оператор а=а+1 означает взять текущее значение переменной а прибавить к нему единицу и полученный результат сохранить в переменной а. Язык С допускает множественное присваивание – присваивание одного значения набору переменных в одном операторе. При этом операции выполняются справа налево. Пример a=b=c=d=1 это эквивалентно следующей последовательности операции d=1,c=d,b=c,a=b.

  1. Математические функции. Правила их использования в выражениях.

Декларации математических функций языка С содержатся в файле <math.h>. В последующих записях аргументы x и y имеют тип double, параметр n имеет тип int. Аргументы тригонометрических функций задаются в радианах (2π радиан = 360). Все приведенные математические функции возвращают значение (результат) типа double.

Таблица 3

Математическая функция

Имя функции в языке С

Математическая

функция

Имя функции в языке С

sqrt(x)

arcsin(x)

asin(x)

|x| (для целых)

abs(x)

arccos(x)

acos(x)

|x| (для вещественных)

fabs(x)

arctg(x)

atan(x)

ex

exp(x)

arctg(x/y)

atan2(x,y)

xy

pow(x,y)

sh(x)=1/2 (ex-e-x)

sinh(x)

ln(x)

log(x)

ch(x)=1/2 (ex+e-x)

cosh(x)

lg10(x)

log10(x)

tgh(x)

tanh(x)

sin(x)

sin(x)

Остаток от деления x на y

fmod(x,y)

cos(x)

cos(x)

Наименьшее целое >=x

ceil(x)

tg(x)

tan(x)

Наибольшее целое <=x

floor(x)

  1. Поразрядные логические операции. Операторы сдвига.

В Си предусмотрен набор операций для работы с отдельными битами. Эти операции нельзя применять к переменным вещественного типа. Операции над битами и их обозначения:

~ - дополнение (унарная операция); инвертирование (одноместная операция);

& - побитовое И - конъюнкция;

| - побитовое включающее ИЛИ - дизъюнкция;

^ - побитовое исключающее ИЛИ - сложение по модулю 2;

>> - сдвиг вправо;

<< - сдвиг влево.

Общий вид операции инвертирования:

~ <выражение>

Остальные операции над битами имеют вид

<выражение 1> <знак операции> <выражение 2>

1. ~ - дополнение (унарная операция); инвертирование (одноместная операция);

Изменяет каждое 1 на 0,а 0 на 1 пример: ~(01010010)=10101101

2. & - побитовое И - конъюнкция;сравнивает разряд за разрядом 2 операнда. Для каждого разряда операнд=1 если только оба разряда тоже =1 пример:10011011&01011001=00011001

3. | - побитовое включающее ИЛИ - дизъюнкция;Сравнивает последовательно разряд за разрядом 2 операнда.Для каждого разряда результат =1,если один из разрядов=1 или оба =1 пример:10011011|01011001=11011011

4. ^ - побитовое исключающее ИЛИ - сложение по модулю 2; Сравнивает последовательно разряд за разрядом 2 операнда. Для каждого разряда результат=1 если один их двух =2 Пример:10011011^01011001=11000010

5. >> - сдвиг вправо;Данная операция сдвигания левого операнда влево на число позиций указанного правым операндом, освобожденные позиции дополняются нулями,а разряды сдвигаемые за левый разряд левого операнда теряются пример:01010010<<2=01001000

6. << - сдвиг влево. Пример:01010010>>2=00010100

Операции сдвига используются для умножения и деления на 2 в степени n.

Num<<n - num*2 в степени n

Num>>n - num/2 в степени n

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]