Преобразование типов при выполнении операций.



Рассмотрим общие арифметические преобразования.

 

1. Операнды типа float преобразуются к типу double.

2. Если один операнд long double, то второй преобразуется к этому же типу.

3. Если один операнд double, то второй также преобразуется к типу double.

4. Любые операнды типа char и short преобразуются к типу int.

5. Любые операнды unsigned char или unsigned short преобразуются к типу unsigned int.

6. Если один операнд типа unsigned long, то второй преобразуется к типу unsigned long.

7. Если один операнд типа long, то второй преобразуется к типу long.

8. Если один операнд типа unsigned int, то второй операнд преобразуется к этому же типу.

Явное привидение

int i= (int) 3,8 l i=3

20. Битовые операции: &, |, ^, ~, >>, <<. Примеры.

& 11=1

10-0

01=0

00=0

ll 11=1

10=1

01=1

   00=0

^ 11=0

10=1

01=1

00=0

приставка 1=0

 0=1

I 11=1

10=1

01=1

00=0

 

Манипулирование битами данных (установка, сброс, инвертирование) с помощью битовых масок. Примеры.

Установка бита l

Обнуление бита &

Инвертирование бита ^

Форматированный ввод и вывод данных. Функции printf и scanf.

Функция формативного вывода printf

Функция scanf() - функция форматированного ввода. С её помощью вы можете вводить данные со стандартного устройства ввода (клавиатуры). Вводимыми данными могут быть целые числа, числа с плавающей запятой, символы, строки и указатели.

Операторы языка Си: пустые, простые, составные, объявления имен, выражения, управления (условные операторы, операторы цикла, операторы перехода). Примеры

1) Пустые

2) Простые - один оператор

3) Составные - несколько

4) Объявление имён- int fload doubl char long

5) Выражения ( ++а) и выражение заканчив. точкой с запятой

6) условные операторы if else switch

7) Цикл а) с пред while b) c пост do whide c)  с параметром for

*) операторы перехода break continue return

Условные операторы: оператор ветвления, переключатель. Условная тернарная операция. Вложенные ветвления. Использование операторов break и return в условных операторах. Примеры.

Оператор ветвления – оператор, обеспечивающий выполнение определенной команды только при условии истинности некоторого логического выражения, либо выполнение одной из нескольких команд в зависимости от значения некоторого выражения. Оператор ветвления применяется в случаях, когда выполнение или невыполнение некоторого набора команд должно зависеть от выполнения или невыполнения некоторого условия. Существует две основные формы условной конструкции: условный оператор (if) и оператор многозначного выбора (switch).

Вычисляет условие. Если оно истинно, то выполняется оператор, затем выполняется продолжение. Если оно ложно, то сразу выполняется продолжение, а оператор не выполняется.

Условная тернарная операция- возвр. второго или третьего операнда в зависимости от логического выражение первого оператора.

break завершение цикла

return завершает выполнение целой функции.

Операторы цикла (с параметром, с предусловием, с постусловием). Операция запятая. Арифметический и итерационный циклы. Вложенные циклы. Бесконечные циклы. Выбор подходящего оператора цикла. Использование операторов continue, break и return в циклах. Примеры.

Оператор «запятая» используется для связки нескольких выражений. Левая сторона оператора «запятая» всегда вычисляется как void (то есть не выдающее значения). Это означает, что значение выражения, находящегося с правой стороны, станет значением разделенного запятыми выражения. Например:

х = (у = 3, у + 1);

Арифметические циклы число повторений известно

Итерационные циклы- неизвестно

continie переход в конец тела цикла

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

Операторы перехода: break, contuni, goto, return

goto быстрый выход из многократных вложенных цикелов.

Метка - это корректный идентификатор С, завершаемый двоеточием. Метка должна находиться в той же функции, что и goto.

 

В языке принят естественный порядок выполнения программы: последовательный. Рассмотренные выше операторы if и case осуществляют переход к выполнению соответствующего оператора в зависимости от выполнения условия или предложенного выбора. Однако в практике программирования задач возникает необходимость безусловного перехода для выполнения нужной последовательности операторов. Например, необходимо обойти участок программы, а вернуться к нему позже. Для этого предназначен оператор безусловного перехода

Массивы (объявление, инициализация, обращения к элементам). Многомерные и одномерные массивы. Расположение элементов массива в памяти ЭВМ. Формула вычисления количества занимаемой памяти массивом. Примеры.

Массив – это набор переменных одного типа, имеющих одно и то же имя. Доступ к конкретному элементу массива осуществляется с помощью индекса. В языке С все массивы располагаются в отдельной непрерывной области памяти. Первый элемент массива располагается по самому меньшему адресу, а последний – по самому большому. Массивы могут быть одномерными и многомерными.

 

Общая форма объявления одномерного массива имеет следующий вид:

тип имя_переменной [размер];

Двухмерные массивы размещаются в матрице, состоящей из строк и столбцов. Первый индекс указывает номер строки, а второй – номер столбца.

В языке С можно использовать массивы, размерность которых больше двух. Общая форма объявления многомерного массива:

тип имя_массива [Размер1][Размер2]…[РазмерN];

Массивы, у которых число измерений больше трех, используются довольно редко, потому что они занимают большой объем памяти.

Массив str инициализируется фразой «Язык С»:

char str[9]= «Язык С»;

Это объявление можно записать так:

char str[9]={‘Я’, ‘з’, ‘ы’, ‘к’, ‘ ‘, ‘C’,’\0’};

Строка кончается нулевым символом, поэтому при объявлении необходимо задавать размер массива, достаточный для того, чтобы этот символ поместился в нем.

Многомерные массивы инициализируются так же, как и одномерные.

Формула sizeof(тип)*размер массива.

Операции над указателями: присваивания, адресной арифметики, вычитания, сравнения, индексирования, обращения по адресу. Изменение адреса указателя при выполнении операций адресной арифметики. Примеры.

Указатель- переменная, содержащая адрес объекта

О: Тип * имя объёка

И: тип*имя=&A

Исп =& объекс в адрес

* адрес в объект

Нельзя присваивать константы .

Последование

1) Объявление указателий и объект

2) Связывание указателей с переменными

3) Действие над объектом через указатель

Унарные операции ++ --

Бинарные операции

Операции сравнение

Адресная арифметика- действие над указателями.

Присваивания p=&N

Взятие адресса. **A,+*b

a=&b

Косвенная адресация. uk=&m

n=*uk

*uk=13

(<типЮ*)<ukaz>(char) ptr

Определение размера sizeof

Индексация : УК Индекс


Дата добавления: 2021-01-21; просмотров: 121; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!