Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
ОПЕРАТОРЫ
Условный оператор if
Основная форма записи условного оператора выглядит следующим образом:
If (условие)
{
Оператор или операторы;
}
Else
{
Оператор или операторы;
}
Если значение условия истинно, то выполняется оператор (им может быть составной оператор), следующий за условием. Если условие принимает значение ложно, то выполняется оператор, следующий за словом else. Оператор else может отсутствовать. В этом случае, когда условие принимает значение ложно, выполняется следующий оператор программы.
В качестве условия может стоять произвольное выражение. В операторе if проверяется только истинность данного условия (0- условие ложно, 1 условие истинно).
if (i < j) i++;
else { j = i-3; i++; }
Пример
Определить знак вводимого с клавиатуры вещественного числа.
#include<stdio.h>
#include<conio.h>
int main()
{
int sign;
float x;
puts("input number \n");
scanf("%f", &x);
if(x>=0)
{
sign=1;
puts("4islo polozitelnoe");
}
else
{
sign=0;
puts("4islo otritsatelnoe");
}
getch();
}
Довольно часто встречаетсянеобходимость использования конструкции if-else-if:
if (условие 1) оператор 1;
else if (условие 2) оператор 2;
else if (условие 3) оператор 3;
…
else оператор;
В такой форме условия оператора проверяются сверху вниз. Как только некоторое условие принимает значение истинно, выполняется оператор, следующий за этим условием, а вся остальная часть конструкции будет проигнорирована.
Пример
Определить знак вводимого с клавиатуры вещественного числа. Если число равно 0, вывести соответствующее сообщение.
#include<stdio.h>
#include<conio.h>
int main()
{
int sign;
float x;
puts("input number \n");
scanf("%f", &x);
if(x>0)
{
sign=1;
puts("4islo polozitelnoe");
}
else if (x==0)
{
puts("4islo ravno 0");
}
else
{
sign=0;
puts("4islo otritsatelnoe");
}
getch();
}
Вложенным оператором if называется конструкция вида
if(x)
if (y) оператор 1;
else оператор 2;
В такой форме не понятно, к какому из операторов if относится else. В языке СИ оператор else ассоциируется с ближайшим if в соответствующем блоке. Поэтому в указанной конструкции else относится к if (y).
Для того, чтобы отнести else к if(x), необходимо соответствующим образом расставить операторные скобки:
If (x)
{
if (y) оператор ;
}
else оператор 2;
Теперь if (y) относится к другому блоку.
if(i == 10)
{
if (j < 20) a = b;
if(k > 100) с = d; // этот оператор if
else a = с; // связан с этим оператором else
}
else a = d; // этот оператор else связан с оператором if(i == 10)
Задача 1:
Посчитать у:
#include<stdio.h>
#include<conio.h>
#include<math.h>
int main()
{
float x, y;
scanf("%f", &x);
if(x<=0)
{
y=x*x+5;
}
else
{
y=sqrt(x-1);
}
printf(“%f”, y);
getch();
}
Задача 2:
Проходной балл на экзамене равен 60. Необходимо вывести сообщение об успешной сдаче экзамена.
Если оценка студента больше или равна 60 Вывести на экран «Экзамен сдан»
#include <stdio.h>
#include <conio.h>
int main()
{
int mark;
puts("input mark");
scanf("%d", &mark);
if(mark >=60)
{
puts("You have pased exam");
}
getch();
}
Задача 3.
Вывести на экран «Экзамен сдан», если оценка студента больше или равна 60, либо вывести «Экзамен не сдан», если оценка студента меньше 60.
#include <stdio.h>
#include <conio.h>
int main()
{
int mark;
puts("input mark");
scanf("%d", &mark);
if(mark >=60)
{
puts("You have pased exam");
}
else
{
puts("You have not pased exam");
}
getch();
}
Задача 4.
Поставить в соответствие оценке соответствующую букву латинского алфавита. А для экзаменационных оценок, больших или равных 90, В для экзаменационных оценок, больших или равных 80, С для экзаменационных оценок, больших или равных 70, D для экзаменационных оценок, больших или равных 60, и F для всех других оценок.
Если оценка студента больше или равна 90
Вывести «А» иначе
Если оценка студента больше или равна 80
Вывести «В» иначе
Если оценка студента больше или равна 70
Вывести «С» иначе
Если оценка студента больше или равна 60
Вывести «D» иначе
Вывести «F»
#include <stdio.h>
#include <conio.h>
int main()
{
int mark;
puts("input mark");
scanf("%d", &mark);
if(mark >=90)
{
puts("A");
}
else if (mark >=80)
{
puts("B");
}
else if (mark >=70)
{
puts("C");
}
else if (mark >=60)
{
puts("D");
}
else
{
puts("F");
}
getch();