![](/user_photo/2706_HbeT2.jpg)
- •2.Этапы создания исполняемой проги
- •Целые, вещественные, символьные и строковые константы в языке с
- •Простые типы данных в языке с
- •Диапазоны изменения значений простых типов данных в языке с. Спецификаторы типа: short, long, signed, unsigned
- •Типы данных с плавающей точкой и тип void в языке с
- •Выражения в языке с
- •Переменные в языке с, их описание и инициализация
- •Именованные константы в языке с
- •11.Операции языка с, их классификация и приоритеты
- •14.Операции инкремента и декремента
- •15. Операции явного преобразования типа и определения размера в языке с
- •18.Логические операции не, и, или в языке с (!, &&, //)
- •19.Условная операция (? :) в языке с
- •20.Операция запятая на языке с.
- •21.Операция взятия адреса и разадресации
- •22.Операторы в языке с. Составные операторы
- •23.Структура программы в языке с
- •24.Базовые конструкции структурного программирования
- •26.Операторы ветвления. Оператор switch
- •27.Операторы цикла в языке с
- •28.Цикл с предусловием while
- •29.Цикл с постусловием do-while
- •30.Цикл с параметром for. Операторы break и continue
- •31. Приведение цикла for к эквивалентному ему циклу while.
- •32. Варианты оператора for, связанные с упрощением его заголовка или тела цикла
- •33.Массивы в языке с, их описание и инициализация
- •34.Многомерные массивы в языке с, их описание и инициализация
- •35.Указатели и массивы. Правила адресной арифметики над указателями
- •36. Строки символов в языке с, их описание и инициализация
- •Функции, используемые в операциях ввода и вывода строк символов
- •38.Функции в языке с и их описание
- •40. Параметры функции. Передача параметров по значению и по адресу.
- •41.Передача массивов в качестве параметров функции
- •43. Функции стандартной библиотеки с
- •44.Функции форматного вывода и ввода printf и scanf
- •45.Перечисления в языке с
- •46.Структуры в языке с, их описание и инициализация
- •47.Массивы структур, их описание и инициализация
- •48. Битовые поля
- •49. Объединения в языке с
- •50. Переименование типов в языке с
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 оператор или быть пустым. Описания содержащиеся внутри блока наз. ЛОКАЛЬНЫМИ, т.к.они описывают объекты, к-е сущ.только внутри блока и будут разрушены сразу же при выходе из него. Соответственно описания не принадлежащие ни одному из блоков наз. ГЛОБАЛЬНЫМИ и описывают объекты сущ. до конца работы проги.