Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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




Ветвления

 

Ветвление алгоритмов и программ в языке C записывается с помощью условного оператора if. Условный оператор if имеет вид:

if (выражение) оператор s1 [else оператор s2]

В случае отсутствия конструкции else получим сокращенный условный оператор:

Схема работы оператора if (полного и сокращенного) представлена на рис.2.5.

Рис.2.5. Схема работы оператора if (полного и сокращенного)

 

Условие ветвления алгоритма и программы – выражение языка С (как в циклах). Значение выражения служит условием выбора той или иной ветви программы или алгоритма. Если значение выражения ≠ 0, то условие истинно и выполняется оператор s1, иначе – оператор s2. Одна из ветвей может отсутствовать, тогда при нулевом значении выражения оператор s пропускается (сокращенный условный оператор).

Задача 2.2. Вычислить значение величины y при следующих условиях:

a*x2 + b2*x, если a < 0

y = x – a*b, если 0 ≤ a < 1

1 + x, если a ≥ 1

/* Фрагмент программы для вычисления величины y */

float a, b, x;

cin >> a >> b>>x;

if (a < 0) cout << “y = ” << a *x *x + b *b *x;

else if (a < 1) cout << “y = ” << x - a * b;

else cout << “y = ” << 1 + x;

Контрольные вопросы и упражнения.

1. Каким будет результат выполнения следующего фрагмента программы?

float x = 10,y; float z; char c = '*';

y=x + 2;

printf ("\n %f %c %f = %f", x, c, y, x*y);

2. Какие операторы можно использовать в языке С для организации циклов?

3. В каких случаях используется составной оператор?

4. Какие из перечисленных условий будут ложными при заданных значениях a = 10; b = -5;

a) while (a) б) while (a>0 || b>0)

в) while (a>0 && b>0) г) while (!a || b)

д) while (!a && b) е) while (a && b)

5. Какое значение примет величина s после выполнения следующего фрагмента

int j, n = 5, s = 0;

...

for (j = 0; j < n; j++)

s = s + (j + 1)*2;

6.Какие числа будут получены при выполнении следующего фрагмента программы?

int j;

...

for(j = 20; j > 10; j--)

printf (“%d ”, j%3);

Какое значение примет величина j после выполнения фрагмента?

7. Что означает следующая запись: for (;;);

8. Запишите оператор ветвления для вычисления y = 1/x (исключите деление на 0).

9.Запишите следующий фрагмент программы без помощи оператора for. Дополните определением типов переменных. Нарисуйте схему.

for(r = -1, n = 500; n > 0; n--)

{ scanf("%f",&z);

if (z < r) r = z;

}

10. Напишите программу вычисления произведения двух натуральных чисел А и В, не используя операцию умножения.

11. Напишите программу получения таблицы n значений функции:

x, если x>=5;

y= 2*x, если -5<=x< 5;

x2, если x<-5.

Заданы количество значений n (n > 0), начальное значение аргумента функции x0 и шаг табулирования t.

12. Напишите программу, которая вводит три числа, находит и выводит наименьшее из заданных чисел.




Поделиться с друзьями:


Дата добавления: 2014-01-03; Просмотров: 475; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.