
- •Алгоритм и его свойства.
- •Средства записи алгоритма – графическая схема.
- •Типы алгоритмов и их графическое изображение.
- •3.Структура программы на языке Си.
- •Основные типы данных языка Си.
- •Операции и выражения языка Си. Операции выражения
- •Арифметические операции
- •Операции присваивания и операторы присваивания. Операция присваивания
- •Математические функции. Правила их использования в выражениях.
- •Поразрядные логические операции. Операторы сдвига.
- •Логические операции и операции отношения. Логические операции
- •Консольный ввод-вывод. Функции ввода-вывода символов.
- •Консольный ввод-вывод. Функции ввода-вывода строк.
- •Консольный форматированный ввод данных. Оператор ввода. Форматная строка. Спецификации преобразования.
- •Консольный форматированный вывод данных. Оператор вывода. Форматная строка. Спецификации преобразования.
- •Программирование линейных алгоритмов.
- •Логические выражения и правила их составления.
- •Оператор if. Две его формы.
- •If (выражение) оператор1;
- •If (выражение) оператор1; else оператор2;
- •Команда выбора. Операторы switсh и break.
- •Понятие цикла. Типы циклов.
- •Операторы циклов. Оператор for.
- •Оператор цикла while.
- •Оператор цикла do-while.
- •Понятие массива. Размерность, размер массива. Синтаксис описания массивов.
- •Ввод-вывод одномерного массива.
- •Вычисление суммы элементов одномерного массива.
- •Подсчет количества элементов одномерного массива, удовлетворяющих заданным условиям.
- •Вычисление произведения элементов одномерного массива.
- •Поиск элементов одномерного массива, обладающих заданным свойством.
- •Поиск максимального (минимального) элемента одномерного массива и его местоположения.
- •Формирование нового одномерного массива из элементов удовлетворяющих заданным условиям.
- •Понятие и описание двумерных массивов.
- •Ввод-вывод двумерного массива.
- •Вычисление суммы элементов двумерного массива.
- •Структуры данных. Доступ к полям структурной переменной. Массивы структур. Пример. Обращение к полям структур
- •Подпрограммы и Функции. Назначение. Описание функции.
- •Вызов функции.
- •Подпрограммы и Функции. Механизм передачи параметров в функцию
- •Подпрограммы и Функции. Передача массивов в функцию
Операции присваивания и операторы присваивания. Операция присваивания
Операция присваивания имеет две формы записи:
Полная форма:имя_переменной =выражение;
Сокращенная форма:имя_переменной операция=выражениe;
Строку содержащую знак = (присвоить) называют оператором присвоения.
Общий вид оператора: P=VP где V-выражение,P-переменная.
Оператор присвоения выполняется следующим образом: вычисляется значение выражения V; это значение присваивается переменной P. Например оператор а=а+1 означает взять текущее значение переменной а прибавить к нему единицу и полученный результат сохранить в переменной а. Язык С допускает множественное присваивание – присваивание одного значения набору переменных в одном операторе. При этом операции выполняются справа налево. Пример a=b=c=d=1 это эквивалентно следующей последовательности операции d=1,c=d,b=c,a=b.
Математические функции. Правила их использования в выражениях.
Декларации математических функций языка С содержатся в файле <math.h>. В последующих записях аргументы x и y имеют тип double, параметр n имеет тип int. Аргументы тригонометрических функций задаются в радианах (2π радиан = 360). Все приведенные математические функции возвращают значение (результат) типа double.
Таблица 3
Математическая функция |
Имя функции в языке С |
Математическая функция |
Имя функции в языке С |
|
sqrt(x) |
arcsin(x) |
asin(x) |
|x| (для целых) |
abs(x) |
arccos(x) |
acos(x) |
|x| (для вещественных) |
fabs(x) |
arctg(x) |
atan(x) |
ex |
exp(x) |
arctg(x/y) |
atan2(x,y) |
xy |
pow(x,y) |
sh(x)=1/2 (ex-e-x) |
sinh(x) |
ln(x) |
log(x) |
ch(x)=1/2 (ex+e-x) |
cosh(x) |
lg10(x) |
log10(x) |
tgh(x) |
tanh(x) |
sin(x) |
sin(x) |
Остаток от деления x на y |
fmod(x,y) |
cos(x) |
cos(x) |
Наименьшее целое >=x |
ceil(x) |
tg(x) |
tan(x) |
Наибольшее целое <=x |
floor(x) |
Поразрядные логические операции. Операторы сдвига.
В Си предусмотрен набор операций для работы с отдельными битами. Эти операции нельзя применять к переменным вещественного типа. Операции над битами и их обозначения:
~ - дополнение (унарная операция); инвертирование (одноместная операция);
& - побитовое И - конъюнкция;
| - побитовое включающее ИЛИ - дизъюнкция;
^ - побитовое исключающее ИЛИ - сложение по модулю 2;
>> - сдвиг вправо;
<< - сдвиг влево.
Общий вид операции инвертирования:
~ <выражение>
Остальные операции над битами имеют вид
<выражение 1> <знак операции> <выражение 2>
1. ~ - дополнение (унарная операция); инвертирование (одноместная операция);
Изменяет каждое 1 на 0,а 0 на 1 пример: ~(01010010)=10101101
2. & - побитовое И - конъюнкция;сравнивает разряд за разрядом 2 операнда. Для каждого разряда операнд=1 если только оба разряда тоже =1 пример:10011011&01011001=00011001
3. | - побитовое включающее ИЛИ - дизъюнкция;Сравнивает последовательно разряд за разрядом 2 операнда.Для каждого разряда результат =1,если один из разрядов=1 или оба =1 пример:10011011|01011001=11011011
4. ^ - побитовое исключающее ИЛИ - сложение по модулю 2; Сравнивает последовательно разряд за разрядом 2 операнда. Для каждого разряда результат=1 если один их двух =2 Пример:10011011^01011001=11000010
5. >> - сдвиг вправо;Данная операция сдвигания левого операнда влево на число позиций указанного правым операндом, освобожденные позиции дополняются нулями,а разряды сдвигаемые за левый разряд левого операнда теряются пример:01010010<<2=01001000
6. << - сдвиг влево. Пример:01010010>>2=00010100
Операции сдвига используются для умножения и деления на 2 в степени n.
Num<<n - num*2 в степени n
Num>>n - num/2 в степени n