Лекция №1.
Модули.
Заголовочный файл — в языках программирования Си файл, содержащий определения типов данных, структуры, прототипы функций, перечисления, макросы предпроцессора. Имеет по умолчанию расширение .h. Заголовочный файл используется путём включения его текста в данный файл директивой препроцессора #include "Название Заголовочного Файла.h".
Например: #include<cmath> - библиотека для функций типа tan, sin и т.п., #include<time.h> - библиотека для работы с датой и временем и т.д.
#define – создает символическую константу.
Например: #define __ N 5 – найдет все N и заменит их на 5.
Функция main () – это главная функция, которая возвращает целое число.
Main () { - начало
Return 0;
} - конец
Типы данных.
|
||
Тип |
байт |
Диапазон принимаемых значений |
целочисленный (логический) тип данных |
||
bool |
1 |
0 / 255 |
целочисленный (символьный) тип данных |
||
char |
1 |
0 / 255 |
целочисленные типы данных |
||
short int |
2 |
-32 768 / 32 767 |
unsigned short int |
2 |
0 / 65 535 |
int |
4 |
-2 147 483 648 / 2 147 483 647 |
unsigned int |
4 |
0 / 4 294 967 295 |
long int |
4 |
-2 147 483 648 / 2 147 483 647 |
unsigned long int |
4 |
0 / 4 294 967 295 |
типы данных с плавающей точкой |
||
float |
4 |
-2 147 483 648.0 / 2 147 483 647.0 |
long float |
8 |
-9 223 372 036 854 775 808 .0 / 9 223 372 036 854 775 807.0 |
double |
8 |
-9 223 372 036 854 775 808 .0 / 9 223 372 036 854 775 807.0 |
Логические операции.
|
|||
Операции |
Обозначение |
Условие |
Краткое описание |
И |
&& |
a == 3 && b > 4 |
Составное условие истинно, если истинны оба простых условия |
ИЛИ |
|| |
a == 3 || b > 4 |
Составное условие истинно, если истинно, хотя бы одно из простых условий |
НЕ |
! |
!( a == 3) |
Условие истинно, если a не равно 3 |
Операции над числами.
1.() Вызов функции Слева направо
2. [] Выделение элемента массива
3. ! Логическое отрицание Справа налево
4.- Изменение знака
5.++ Увеличение на единицу (increment)
6.-- Уменьшение на единицу (decrement)
7.~ Побитовое отрицание (complement)
8.& Побитовая операция И Слева направо
9.| Побитовая операция ИЛИ
10.^ Побитовая операция исключающее ИЛИ (eXclude OR)
11.<< Сдвиг влево
12.>> Сдвиг вправо
13.* Умножение Слева направо
14./ Деление
15.% Деление по модулю
16.+ Сложение Слева направо
17.- Вычитание
18.< Меньше, чем Слева направо
19.<= Меньше или равно
20.> Больше, чем
21.>= Больше или равно
22.== Равно
23.!= Не равно
24.|| Логическая операция ИЛИ Слева направо
25.&& Логическая операция И Слева направо
26.= Присваивание Справа налево
27.+= Сложение с присваиванием
28.-= Вычитание с присваиванием
29.*= Умножение с присваиванием
30./= Деление с присваиванием
31.%= Деление по модулю с присваиванием
32.>>= Сдвиг вправо с присваиванием
33.<<= Сдвиг влево с присваиванием
34.&= Побитовое И с присваиванием
35.|= Побитовое ИЛИ с присваиванием^= Исключающее ИЛИ с присваиванием, Запятая Слева направо
Пример:
#include <stdio.h> int main(void) { int a = 5, b =10, c = 25, d = 100, result; printf("%d + %d = %d\n", a, b, a + b); printf("%d - %d = %d\n", a, b, a - b); printf("%d / %d = %d\n", d, c, d / c); printf("%d * %d = %d\n", c, a, c * a); printf("%d %% %d = %d\n", c, b, c % b); result = (c + d) / a * b; printf("result is: %d\n", result); } |
Результат:
5 + 10 = 15 5 — 10 = -5 100 / 25 = 4 25 * 5 = 125 25 % 10 = 5 result is: 250
Циклы.
Цикл — многократное прохождение по одному и тому же коду программы. Циклы необходимы программисту для многократного выполнения одного и того же кода, пока истинно какое-то условие. Если условие всегда истинно, то такой цикл называется бесконечным, у такого цикла нет точки выхода.
В языке программирования С++ существуют такие циклы:
цикл for
цикл while
цикл do while
1)for- Тело цикла будет выполняться до тех пор, пока условие будет истинно(т. е. true).
// форма записи оператора цикла for:
for (/*выражение1*/; /*выражение2*/; /*выражение3*/ )
{
/*один оператор или блок операторов*/;
}
Рассмотрим подробно три выражения записанные в круглых скобках цикла for. Выражение 1 - объявление (и) или инициализация, ранее объявленной, переменной-счетчика, которая будет отвечать за истинность условия в цикле for. Пример: int counter = 0; // отсюда видно, что была объявлена переменная counter типа int и инициализирована значением 0
Выражение 2 - это условие продолжения цикла for, оно проверяется на истинность.
counter < 10; // условие истинно пока count строго меньше десяти!
Выражение 3 изменяет значение переменной-счетчика. Без выражения 3 цикл считается бесконечным, так как изменение содержимого переменной count выполняться не будет, и если изначально условие было истинным, то цикл будет бесконечным, иначе программа даже не войдет в цикл
Выражения 1, 2, 3 отделяются друг от друга обязательными разделителями, точкой с запятой. Тело цикла обрамляется фигурными скобочками, если тело цикла состоит из одного оператора ,то фигурные скобочки не нужны. Под изменением значения переменной подразумевается уменьшение или приращение значения , например:
for ( int counter = 0; counter < 15; counter++) // выполняется приращение переменной counter с шагом 1 от 0 до 15
2)while - цикл, повторяющий одно и то же действие, пока условие продолжения цикла while остаётся истинным.
// форма записи цикла while
while (/*условие продолжения цикла while*/)
{
/*блок операторов*/;
/*управление условием*/;
}
3) Цикл do while отличается от цикла while тем, что в do while сначала выполняется тело цикла, а затем проверяется условие продолжения цикла. Из-за такой особенности do while называют циклом с постусловием. Таким образом, если условие do while заведомо ложное, то хотя бы один раз блок операторов в теле цикла do while выполнится.
// форма записи оператора цикла do while:
do // начало цикла do while
{
/*блок операторов*/;
}
while (/*условие выполнения цикла*/); // конец цикла do while
Условные операторы:
Имеются две формы условных операторов:
if (выражение) оператор
if (выражение) оператор else оператор
В обоих случаях вычисляется выражение и, если оно отлично от нуля, то выполняется первый подоператор. Во втором случае, если выражение равно нулю, выполняется второй подоператор.
Лекция №2.
Используется при PRINTF.
d - аргумент преобразуется к десятичному виду;
o - аргумент преобразуется в беззнаковую восьмеричную форму (без лидирующего нуля);
x - аргумент преобразуется в беззнаковую шестнадцатеричную форму (без лидирующих 0х);
u - аргумент преобразуется в беззнаковую десятичную форму;
c - аргумент рассматривается как отдельный символ;
s - аргумент является строкой: символы строки печатаются до тех пор, пока не будет достигнут нулевой символ или не будет напечатано количество символов, указанное в спецификации точности;
e - аргумент, рассматриваемый как переменная типа float или double, преобразуется в десятичную форму в виде [-]m.nnnnnne[+-]хх, где длина строки из n определяется указанной точностью. Точность по умолчанию равна 6;
f - аргумент, рассматриваемый как переменная типа float или double, преобразуется в десятичную форму в виде [-]mmm.nnnnn, где длина строки из n определяется ука занной точностью. Точность по умолчанию равна 6.
g - используется или формат %e или %f, какой короче; незначащие нули не печатаются.
Scanf (“%c %d %f ”,& ch, &I, &fl) – требует не имя переменной а адрес, где &- операция взятия адреса.
