
- •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. Переименование типов в языке с
14.Операции инкремента и декремента
Операции инкремента (++) и декремента (- -) наз. Также операциями увеличения и уменьшения. На 1 имеются 2 формы записи: префиксная, когда знак опер. записывается перед операндом и постфиксную -после операнда, в префиксной форме сначала изменяется операнд, а потом его знач.становится результирующим знач.выражения, а в постфиксной форме знач.выражения явл. исходное знач.операнда, после чего он изменяется. Операции инкремента и декремента можно применять только к операндам, к-е хранят свои знач.в оперативной памяти.
Int a=b=2, c, d;
C=++a;
D=b++;
C=a+b;
D=a - -*- -c;
A=10++;
A=(- - b+5)++;
Унарный + и унарный – . Унарный + перед опер. можно не писать, т.к. он подразумевает по умолчанию. Унарный – меняет знак операнда на противоположенный.
15. Операции явного преобразования типа и определения размера в языке с
Эта операция используется для явного преобразования величины из одного типа в другой, к-ый указывается в ( ). При преобразовании из более длинного типа в более короткий возможна потеря инф., если исходное знач.выходит за пределы диапазона результирующего им типа.
Int a=2, b=10;
Float x;
X=a/b;
X=(float) a/b;
X=a/(float)b;
X=(float) (a/b);
Int a=9, b=10;
Float x;
X=256, b=a, b=(char) a,
Операции определения размера (size of). Этa операция предназначена для изменения размера операнда или типа в байтах и имеют 2 формы: 1) sizeof выражение; 2)sizeof (выражение), sizeof (тип).
Примеры: shar a, b=5;
Int c;
Float x=10;
A=sizeof (char);
A=sizeof b;
A=sizeof (b+1);
A=sizeof (x+1);
A=sizeof (x+10);
Деление и остаток от деления. Операция деления ( / ) применима ко всем простым типам данных, если оба операнда целочисленные. Результат операции округляется до целого числа путём отбрасывания дробной части. Если хотя бы один из операндов вещественный, то дробная часть не отбрасывается и результат операции будет иметь вещественный тип. Операция остаток от деления ( % ) применяется только к целочисленным операндам.
Int a=11, b=4, c;
Float x;
X=a/b;
X=(float) a/b;
C=a%b;
X=a%b;
16.Операции сдвига в языке С(<< , >>)
Они применяются к целочисленным операндам и сдвигают двоичное представление первого операнда влево или вправо на кол-во разряда заданное вторым операндом. При сдвиге влево (<<) освободившиеся разряды обнуляются. При сдвиге вправо (>>) освободившиеся разряды заполняются нулями, если 1 операнд без знакового типа и знаковым разрядом в противном случае.
Int a=3, b=9, c;
C=a<<1;
C=a<<2;
C=a<<3;
C=a<< 4;
C=b>>1;
C= b>>2;
C= b>>3;
C=b>>4;
Таким образом использование операции сдвига влево вправо приводит соответственно к умножению и делению первого операнда на второй степени задаваемой вторым операндом.
17.Поразрядные (побитовые) логические операции в языке С (~, &, |, ^)
Они применяются только к целочисленным операндам и работают о их двоичным представлением. Унарная операция поразрядного отрицания (тильда ~) наз. также поразрядным НЕ инвентирует каждый разряд в двоичном представлении целочисленного операнда, т.е.превращает един.биты в нулевые и наоборот. При поразрядном И (амперанд ) наз.также поразрядной коньюкцией бит результата=1, только тогда , когда соответствующие биты операнда =1.
Пример: int a=;
A=6&5;
При поразрядном или ( | ) наз.также поразрядной дизъюнкцией, бит результата=1, когда соответствующий бит хотя бы одного из операндов =1.
Int a;
A=6/5;
При поразрядном исключающем ИЛИ (^) бит результата =1, только тогда, когда соответствует бит ,только одного операнда =1.
Int a;
A=6^5;
Пример: int flag =0;
Flag=flag/16;
……
A=flag & 16;
Flag=flag & ~ 16;
Операции присваивания (<, <=, >, >=, ==, !=). Операции присваивания так же наз.операциями отношения. Сравнивают первый со вторым. Результаты операции явл. знач. логического типа истина или ложь. В языке С знач.ложь представляется нулём, а знач.истина- любым числом не равным 0. Обычно 1.
Пример: int a=5биж
b=a <=10;
b=a%2==0;