Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КПиЯП.docx
Скачиваний:
2
Добавлен:
04.12.2018
Размер:
47.35 Кб
Скачать

Управляющие структуры

Любая программа в Си может быть построена с помощью 3 управляющих структур:

1. Следования.

2. Выбора.

3. Повторения.

Структуры выбора делятся на 3 составляющие: if, if/else, switch.

1. If - структура с единственный выбором, т.к. выполняет либо нет единственное действие. (выражение) оператор. Если операторов 2 и более, то их заключают в фигурные скобки. ((a<b)&&(c>0)) {операторы}.

2. If/else - конструкция с множественным выбором, т.к. осуществляет выбор между двумя возможными действиями.

if(выражение) оператор

[else оператор];

Данные операторы могут вкладываться один в другой:

if(выражение) оператор

else

{if(выражение) оператор

else (оператор)}

3. Switch - оператор с множественным выбором, т.к. в зависимости от условий позволяет выполнять те или иные действия.

switch (выражение)

{ [объявление]

[case константное выражение 1: операторы;]

[case константное выражение 2: операторы;]

.....

[default: операторы;]

}

В круглых скобках выражения после ключевого слова switch может быть любым допустим выражением в Си, значение которого является целым.

В своей структуре оператор может содержать несколько константных выражений контрукции case.

Существуют ситуации, когда необходимо прервать выполнение того или иного цикла. С этой целью в Си используется 2 оператора: break и continue.

Оператор break обеспечивает прекращение выполнения самого внутреннего из объединяющих его операторов. После его выполнения управление передается оператору, следующему за прерванным.

Оператор continue в отличии от break продолжает выполнение программы с начала прерванного оператора.

Например:

....

switch(a)

{ case 1: b=c;

case 2:

switch(d)

{case 0: f=s;

case 1: f=9;

case 2: f-=9;

}

case 3: b-=c;}

.....

Задание 1: Дано 3 числа. Определить минмальное из них.

Задание 2: Пользователь с клавиатуры вводит отметку за тест. Если она в диапазоне 0-4 ему выдается сообщение "Вы не сдали тест". При диапазоне 4-6 "Ваши знания удовлетворительные", 7-8 "У вас хороший уровень знаний", 9-10 "Ваш уровень знаний высок".

Задание 1: d=a<=b?a:b

min=d<=c?d:c

Задание 2:

if ((a>=0)&&(a<4)) {операторы}

else if ((a>=4)&&(a<7)) cout

else if ((a>6)&&(a<9)) cout

else if ((a>8)&&(a<11)) cout

Функции. Нисходящее программирование

В основу нисходящего программирования положен метод «разделяй и властвуй», т.е. главная задача разделяется на более мелкие подзадачи до тех пор, пока не получится относительно простые для решения проблемы. Для каждой такой проблемы пишется своя функция.

Функция – именованный набор операторов, выполняющий определённую задачу.

В Си функции делятся на:

  1. Функции не возвращающие значения ;

Общий вид:

Void имя (список аргументов)

{

операторы;

return; // необязательный

}

  1. Функции возвращающие значения.

Общий вид:

Тип имя (список аргументов)

{

операторы;

return значение (const, переменные, арифметическое выражение);

}

Тип возвращаемого значения должен совпадать с типом функции.

Пример:

#include <iostream>

using namespace std;

int square (int);

int main ()

{

for (int x=1; x<=10; x++)

{

cout<<square(x)<<” “<<endl;

}

return 0;

}

int square (int y)

{

return y*y;

}

Прототип – явное объявление функции, которое предшествует его определению.

Задача1: возведение целого числа в куб.

#include <iostream>

using namespace std;

int cube (int);

int main ()

{

for (int x=1; x<=10; x++)

{

cout<<cube(x)<<" "<<endl;

}

system ("pause");

return 0;

}

int cube (int y)

{

return y*y*y;

}

Задача2: определение максимального из трёх целых числе.

Задача3: функция, которая последовательно находит cos углов от 0 до 90 с интервалом в пять градусов.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]