Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТиТП. Экзамен. Первый семестр.docx
Скачиваний:
5
Добавлен:
21.12.2018
Размер:
110 Кб
Скачать
☆

Функции

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

Функции могут возвращать значение. Это значение может быть использовано далее в программе.

Использование функций позволяет:

  • улучшить структуру текста программы;

  • избежать дублирования кода.

Существует два типа функций:

  1. прямые (выполняют ряд действий и передают управление вызывающей функции);

  2. рекурсивные (многократно вызывают "сами себя").

Пример рекурсивной функции:

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

  1. Оператор присваивания x=выражение a=b=c=d a=(b=(c=d))

  2. Логические операторы

true (!=0) false (0) 3.1) Операторы отношения < , <= , >=, >, = =, != 3.2) Логические операторы !, && , //

( и ) ( или) if(year>14&&year<18) if(t>36.7|| t<36 || p>140)

  1. Тернарный оператор

Тернарный оператор «?:» является сокращенной формой конструкции if…else. Он получил такое имя потому, что включает в себя три операнда. Оператор вычисляет условие и возвращает одно значение в случае, если условие верно, и другое значение, если условие неверно. Синтаксис оператора:

условие ? значение_истина : значение_ложь

Здесь условие — это выражение типа Boolean, значение_истина представляет собой значение, которое возвращается, если условие равно true, и значение_ложь возвращается в противном случае.

  1. Оператор запятая “ , ” Группирует несколько выражений там, где компилятор ожидает одно.

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’; ………………

Данные

Данные могут быть:

  1. целые числа;

  2. числа с плавающей точкой(арифметические типы данных). Служат для выполнения вычислений;

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 }