Преобразование типов при выполнении операций.
Рассмотрим общие арифметические преобразования.
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; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!