Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпоры по киту.doc
Скачиваний:
7
Добавлен:
15.04.2019
Размер:
292.86 Кб
Скачать

18.Логические операции не, и, или в языке с (!, &&, //)

Операнды этих логических операций рассматривают, как имеющ. значение ложь, если они =0. И значение истина, если они не равны 0

Результатом логической операции явл. знач. логического типа истина или ложь.

Результатом унарной логической операции НЕ ( ! ) , есть ложь, если операнд имеет знач.истина, и истина, если операнд имеет значение ложь.

Результат логического И (2 амперсанта) имеет знач истина, если только оба операнда имеют знач. Истина. Результатом операции логического ИЛИ ( || ) имеет знач истина, если хотя бы 1 из операндов имеет знач истина.

Int a=5, b=10, c;

C=a+b;

C=!(a+b);

C=a && b;

C=a=5 && b;

C=(a && b);

С =a>=10 && b>=10;

C=!(a>=10 && b>=10);

C=a>=10 // b>=10;

C=!a>=10 // !b>=10;

C=(…)||1;

C=(…) && 0;

19.Условная операция (? :) в языке с

Эта операция тернарная, т.е.имеет 3 операнда. Её формат: операнд 1 ? операнд 2 : операнд 3. 1 операнд всегда рассматривается с точки зрения его логического значения и если результат вычисления первого операнда есть истина, то результатом условия операции будет значение второго операнда, иначе-3.

Пример: int a=5, b=10, max;

Max= (b>a) ? b : a;

A= (a<b) 7 a+1 : 5;

A=a/b ? 5 : a+1;

Условная операция правоосоативна ,т.е.выполняется справа на лево. Например: a ? b : с ? d:e a?b (c & d : e).

20.Операция запятая на языке с.

Операция запятая называется также операцией последовательного вычисления. Применяется достаточно редко и обычно в консультациях, к-е тесно связаны друг с другом.

Например: операция цикла for .

Выражения разделения запятой вычисляются слева направо. Тип и значение результата совпадают с типом и значением крайнего справа выражения.

Например: int a, b, c;

C=2*(a=3, b=7, a+2)+b;

C=a+b

21.Операция взятия адреса и разадресации

Унарная операция взятия адреса (амперсант) позволяет получить адрес операнда хранящего своё значение в оперативной памяти (точнее адрес 1-ого байта, если под значение отводится несколько байт.). объект предназначенный для хранения адреса операнда назыв указателем и описывается по аналогии с описанием переменной с тем лишь отличием, что перед именем указателя ставится звёздочка.

Например: int a=5, b=10.c;

Int *pa, *pb;

pa = & a;pb = & b;

Унарная операция разадресации ( * ) позволяет получить знач операнда по указателю на этот операнд.

Пример: с=*раж

С=*рb;

C=*pa + *pb;

Pa=pb;

C=*pb;

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

Применр: pa=0;

pb=NULL;

c=*pa;

( ) – обращение к функции: main (). [ ] – к элементу массива.  - к элементу структур.

22.Операторы в языке с. Составные операторы

Операторы языка вместе с его типами данных определяют круг задач, к-й можно решать с помощью этого языка. Язык С реализует типичный набор операторов для языка программного общего назначения. Операторы подразделяются на: исполняемые, неисполняемые. Исполняемые операторы задают действия над данными. Неисполняемые- служат для описания данных и называются операторами описания или описаниями. Любое выражение заканчивающееся ( ; ) рассматривается как оператор. Выполнение исполняемого оператора заключается в вычислении выражения. Частным случаем выражения явл. пустой оператор ( ; ) он используется тогда, когда по синтаксису оператор требуется, а по смыслу- нет.

Пример: int a=1 , b=2, c;

A++;

C*=a+b;

Printf (“ blablabla”);

While (1);

Блок или составной оператор-последовательность описаний и операторов, заключается в фигурные скобки. Блок воспринимается компилятором., как 1 компилятор и может использоваться всюду, где синтаксис требует 1 оператора, а алгоритм – несколько. В частности блок может сод. 1 оператор или быть пустым. Описания содержащиеся внутри блока наз. ЛОКАЛЬНЫМИ, т.к.они описывают объекты, к-е сущ.только внутри блока и будут разрушены сразу же при выходе из него. Соответственно описания не принадлежащие ни одному из блоков наз. ГЛОБАЛЬНЫМИ и описывают объекты сущ. до конца работы проги.