- •Этапы создания программного продукта.
- •Структурирование программы.
- •Этапы получения программного кода
- •Функциональная декомпозиция
- •Алгоритм программы
- •Линейные алгоритмы
- •Развилка
- •Комментарии
- •Базовые понятия языка Си.
- •Специфика присвоения имён.
- •Функция main
- •Блоки кода
- •Ключевые слова Си
- •Понятие lvalue и rvalue.
- •Типы данных.
- •Функции
- •Блоки кода программы.
- •Операторы языка c.
- •Логические операторы
- •Тернарный оператор
- •Базовые типы данных. Типы данных
- •1)Базовые
- •2)Производные
- •Файловый ввод - вывод.
- •Булевые переменные (тип bool).
- •Понятие, объявление и определение.
- •Ключевое слово typedef.
- •Виды компоновки программ:
- •Скрытие имени переменной.
Функции
Функция - это самостоятельная единица программы, созданная для решения конкретной задачи. Функциями удобно пользоваться, например, если необходимо выполнить однотипные действия с одинаковым по типу набором данных.
Функции могут возвращать значение. Это значение может быть использовано далее в программе.
Использование функций позволяет:
-
улучшить структуру текста программы;
-
избежать дублирования кода.
Существует два типа функций:
-
прямые (выполняют ряд действий и передают управление вызывающей функции);
-
рекурсивные (многократно вызывают "сами себя").
Пример рекурсивной функции:
int Factorial (int a) { if(a==a) { return 1; } else { int fact a=a factorial(a-1); return fact; } }
Блоки кода программы.
Блоки кода служат для логического разделения областей программы. Блок кода выделяется в тексте фигурными скобками:
{
Блок кода
}
Могут содержать в себе вложенные Блоки кода.
{
Блок кода
{
Блок кода 1
}
}
Можно объявить данные или переменные, и они будут локальные (нельзя использовать вне блока).
Использование блоков кода позволяет графическую структуру программы сделать более читабельной.
Операторы языка c.
Арифметические операторы + - * …
1.1) % - остаток от целочисленного деления int x=1, y=2, z; z=x/y; //z=0 z=x%y; //z=1 z=3%5; //z=2
1.2)Инкремент – увеличение числа на единицу. Декремент – уменьшение числа на единицу.
x=1; y=x++; (y=x+1) y++; (y=y+1) префиксная запись y=x++ постфиксная запись y=++x
-
Оператор присваивания x=выражение a=b=c=d a=(b=(c=d))
-
Логические операторы
true (!=0) false (0) 3.1) Операторы отношения < , <= , >=, >, = =, != 3.2) Логические операторы !, && , //
( и ) ( или) if(year>14&&year<18) if(t>36.7|| t<36 || p>140)
-
Тернарный оператор
Тернарный оператор «?:» является сокращенной формой конструкции if…else. Он получил такое имя потому, что включает в себя три операнда. Оператор вычисляет условие и возвращает одно значение в случае, если условие верно, и другое значение, если условие неверно. Синтаксис оператора:
условие ? значение_истина : значение_ложь
Здесь условие — это выражение типа Boolean, значение_истина представляет собой значение, которое возвращается, если условие равно true, и значение_ложь возвращается в противном случае.
-
Оператор запятая “ , ” Группирует несколько выражений там, где компилятор ожидает одно.
1) int a=1, b=2, c; c=a,b; //с=1 c=(a,b); //c=2 c=a++,b++ ; //c=1, a=2, b=3
2) if(std::cin>>x, x>0) //вычисляет все, но формируется последняя
char symbol; symbol=‘A’; printf(“%c”, symbol); char symb 1[10]; symb 1[0]=’s’; symb 1[1]=’t’; symb 1[2]=’u’; symb 1[3]=’d’; ………………
Данные

Данные могут быть:
-
целые числа;
-
числа с плавающей точкой(арифметические типы данных). Служат для выполнения вычислений;
int float double unsigned short long
3) символы и строки;
char char[]
4) логические;
bool
Символьные данные (литералы) – символ, пара символов или три символа, заключенные в кавычки.
ASCII (7-и битная кодировка) 0-127 символов KOI-8 UNICODE 65535 символов
Строковые литералы – последовательность, заключенная в двойные кавычки символов.
const char[]
Перечисление. enum my_action =0 //плюс =1 //минус =2 //умножить =3 //делить
1)enum Action
{ plus, //0 minus, //1 multiply, //2 division, //3 }; my_action = plus, //автоматически присваивает значение
2)enum Action { plus=5, minus=3, multiply=2, division=1, };
3)enum Action { plus=5, //5 minus, //6 multiply, //7 division, //8 }; int m=7; if(m>minus) { true }
