Оператор ветвления if ... else.
Оператор может быть простым и составным. Позволяет пропустить оператор или блок операторов, если условие ложно. В случае составного оператора ставят {}.
if(условное выражение) или if(условное выражение) {
оператор; операторы;
}
Схема выполнения оператора
Тело программы
If Истина
Ложь
if(условное выражение) или if(условное выражение) {
оператор1; операторы1;
else оператор2; }
else {
операторы2;
}
Схема выполнения оператора
If Истина тело программы
else
С помощью оператора ветвления можно организовать множественный выбор, если составить сложную конструкцию.
if(условное выражение1)
оператор1;
else if(условное выражение2)
оператор2;
else if(условное выражение3)
оператор3;
else оператор4;
if
Else if
Else if
Else
Слово else всегда относится к ближайшему if, иначе нужно ставить скобки.
if(условное выражение1) {
if(условное выражение2)
оператор1;
else оператор2;
}
// Пример задачи на использование оператора if- else
Программа-льстец
#include <stdio.h>
void main( )
{
char x;
printf (''Если вы мальчик нажмите клавишу М\n”);
printf (‘’Если вы девочка нажмите клавишу Д\n’’);
scanf (‘’%c’’, &x);
If (x==’M’)
Printf (“Мне нравятся мальчики ”);
else if (x= =’Д’)
printf (“Мне нравятся девочки ”);
else printf (‘’Неверно введен символ’’);
}
Задача. Найти максимальное из двух чисел, введенных с клавиатуры.
#include <stdio.h>
void main ( )
{
6 float x, y, max;
1 printf (“Введите первое число\n”);
3 scanf (“%f”,&x);
2 printf (“Введите второе число\n”);
4 scanf (“%f”,&y;
if (x>y)
max=x;
5 else
max=y;
printf (“Максимальное число из двух равно %.2f”,max);
}
Как укоротить программу?
Вместо 1 и 2 вместе записать: printf (“Введите первое и второе число\n”);
вместо 3 и 4 тоже scanf (“%f %f”,&x,&y);
вместо 5: max=(x>y) ? printf (“Max=%.2f”,x) : printf (“Max=%.2f”,y);
или
(x>y) ? printf (“Max=%.2f”,x) : printf (“Max=%.2f”,y);
тогда из строки 6 убираем max, тем самым освобождая ячейки памяти.
Д/з: составить программу для трех максимальных чисел.
Задача. Вычислить значение функции
x3, при x<2;
f(x) = (x+10)/2, при 2<x<10
5x-4, при x>10
#include <stdio.h>
void main ( )
{
float x, f;
printf (“Введите значение переменной х\n”);
scanf (“%f”,&x);
if (x<2)
f=x*x*x;
else if (x>=2&&x<10)
f=(x+10)/2;
else
f=5*x-4;
printf (“При х=%.2f, f(x)=%.2f”, x, f);
}
Д/з: вычислить значение функции………
// Пример
#include <stdio.h>
#define LIMIT 12600
#define MAX 25200
#define NORMA 60
#define PEOPLE 20
void main(void)
{
float kwh; //количество киловат
float bill; // плата
int p,house;
printf("Укажите количество израсходованных кВт/ч.\n);
scanf("%f",&kwh);
printf("Укажите количество человек в семье.\n);
scanf("%d",&p);
house=NORMA+PEOPLE*p;
if(kwh<=house)
bill=kwh*LIMIT;
else
bill= house*LIMIT + (kwh-house)*MAX;
printf("Плата за %f составляет %f.\n",kwh,bill);
}
Дата добавления: 2016-02-02; просмотров: 961;