РефератыИнформатикаУсУсловные и безусловные операторы в языке программирования Си

Условные и безусловные операторы в языке программирования Си

Лабораторная работа"Условные и безусловные операторы в языке программирования Си++"


Цель работы:
познакомиться с работой условного оператора и оператора перехоlа. Изучить оператор выбора варианта. Научиться применять их при составлении программ.


1.
Теоретические сведения


Условный оператор if


Рассматриваемая группа операторов позволяет организовать ветвление в программе. Часто, например, необходимо в зависимости от того или иного результата реализовать одну либо другую группу операторов (инструкций). В языке СИ для этих целей используются операторы if (если) – else (иначе), switch (переключатель) и goto (идти к).


Оператор if имеет вид:


if (проверка условия) инструкция1; else инструкция2;


Если условие в скобках принимает истинное значение, выполняется инструкция1, а если ложное – инструкция2 (см. рис. 1).







рис.1.


Например:


if (a>b)


z=a;


else


z=b;


Необходимо обратить внимание на точку с запятой после z=a. Здесь она обязательна, поскольку за if должна следовать инструкция, которая всегда заканчивается точкой с запятой.


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


Например:


if (num>10) num=2*num;


printf("%dn",num);


Оператор вывода будет выполняться всегда, а оператор присваивания только в том случае, если условие будет истинным.


Операции отношения, используемые для сравнения, приведены в таблице 1.


Таблица 1























Операция Смысл
< меньше
<= меньше или равно
= = равно
>= больше или равно
> больше
!= не равно

Не следует путать операцию отношения "==" с операцией присваивания "=".


Рассмотрим простейшую программу:


#include <stdio.h>


main( )


{


int a,b;


puts("Введитезначения a и b");


scanf("%d %d", &a,&b);


if (a>b) puts("a больше b");


else puts(""); /*демонстрация оператора if – else*/


if (a==b) puts(""); /*демонстрация оператора if без слова else*/


}


Если для выполнения программы ввести числа 5 и 3, то на экране появится строка:


а больше b


При введении чисел 5 и 5, на экране появится две строки:


a меньше или равно b


a равно b


Иногда в условном операторе после ключевых слов if или else следует инструкция if, ее называют вложенной. Слово else всегда относится к ближнему предшествующему ему if. Также после ключевых слов if и else вместо одной инструкции может быть записано несколько инструкций, которые должны заключаться в фигурные скобки.


Например, в


if (n>0)


if (a>b)


z=a;


else


z=b;


else относится к внутреннему if, что и показано с помощью отступов. Если требуется иная интерпретация, необходимо должным образом расставить фигурные скобки:


if (n>0)


{


if (a>b)


z=a;


}


else


z=b;


В данном примере else относится к внешнему if.


В сложных конструкциях, содержащих много if и else, уместно вложенные if обрамлять фигурными скобками.


Вместо вложенных конструкций if–else часто целесообразно использовать сложные выражения для проверки условия. Сложные выражения получаются путем объединения нескольких простых отношений с помощью логических операций. В языке СИ имеются три логические операции, приведенные в таблице 2.


Таблица 2














Операция Смысл
&& и
|| или
! не

Операция ! имеет очень высокий приоритет, он выше, чем умножения, и только круглые скобки имеют более высокий приоритет. Приоритет операции && выше, чем операции ||, а обе они имеют более низкий приоритет, чем операции отношения. Поэтому выражение


a>b&&b>c||b>d


будет интерпретировано так:


((a>b)&&(b>c))||(b>d),


т.е. b находится в промежутке между c и a или b больше d.


Пример



main ( )


{ float x, y;


scanf ("%f", & x);


if (x > 0)


y = x*x + 1;


else


y = x + 4;


printf ("%f %f", x, y);


}


Оператор безусловного перехода


Его можно представить в следующей форме: goto метка;


Метка – это любой идентификатор.


Например: goto a2;


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


Например: a2: k=5;


Метки в программе описывать не нужно. Применение оператора безусловного перехода в языке СИ является нежелательным, так как он нарушает структурную наглядность программы.


Оператор выбора switch


Оператор switch позволяет выбрать одну из нескольких альтернатив. Он записывается в следующем виде:


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


{case константа1, вариант 1; break;


. . .


case константа n, вариант n; break;


default: вариант n+1; break;}


На рис.2 представлена соответствующая иллюстрация.



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

танты в записи оператора должны быть различными. Вариант с ключевым словом default (прочие) реализуется, если ни один другой не подошел (если слово default отсутствует, а все результаты сравнения отрицательны, то ни один вариант не выполняется. Для прекращения последующих проверок после успешного выбора некоторого варианта используется оператор break, обеспечивающий немедленный выход из оператора switch.


Например:


#include<stdio.h>


main( )


{


char y;


scanf("%c",&y);


switch(y)


{


case ‘1’:


printf("Ветвь 1n");


break;


case ‘2’:


case ‘3’:


printf("Ветвь 2 или 3n");


break;


default:


printf("Ветви 1,2,3 не работаютn");


}


}


Оператор scanf вводит переменную y. Ее значение в операторе switch сравнивается со всеми константами операторов case. Если ввести символ ‘1’, то на экране появится строка:


Ветвь 1


по оператору break произойдет выход из переключателя switch, и программа завершит свою работу. Если ввести символы ‘2’ или ‘3’, то на экран будет выведена строка:


Ветвь 2 или 3


При вводе любого другого символа управление перейдет к ключевому слову default и на экране появится строка:


Ветви 1,2,3 не работают.


2. Задание


Из таблицы 3 взять задание по варианту и написать программу, используя оператор условного перехода.


Из таблицы 4 взять задание по варианту и написать программу, используя оператор выбора. Для выбора четвертой ветви использовать вариант с ключевым словом default.


Таблица 3




















































































№ варианта Содержание Исходные данные
1.

a=2


b=1,5


c=1


d=3


e=0,5


2.

c=-2


a=1,5


d=2


x=3


3.

a=5


b=1,2


y= 0,6


4.

d=2


a=3,5


x=3


i=2,3


5.

w=1


x=2,5


a=4


b=0,4


6.

a=0,5


b=2


h=4


R=1,4


7.

p=0,6


l=2


h=5


R=4


8.

x=0,63


c=1,5


d=2


a=0,37


9.

y=2,6


x=1,6


a=0,4


10.

a=1,5


b=2


x=0,5


11.

x=0,5


a=4,3


y=2,6


d=0,3


12.

a=3


y=2,7


i=2


x=1


13.

x=0,73


y=0,4


t=2,6


14.

a=2


x=0,54


c=2,3


b=1,8


R=3


15.

x=0,4


a=0,88


c=3,6


16.

a= -1


b=0,8


x=1


c= -0,7


17.

x=2


y=3,5


a=0,1


b=4


18.

x=0,8


y=0,2


a=4


b=5


t=1


19.

y=2


a=0,5


x=1,8


b=0,6


20.

x=1,8


y=2


t=4


a=1,5


R=4,6


b=0,3



Таблица 4




















































































№ варианта Содержание Исходные данные
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

Литература


1. Подбельский В.В. Язык Cu ++: Учебное пособие. - М.: Финансы и статистика,1995, -560 с.


2. Страуструп Б. Язык программирования Сг ++. - М.: Радио и связь, 1991. - 352 стр.


3. Собоцинский В.В. Практический курс TurboCu ++. Основы объктно- ориентированного программирования. - М.: Свет, 1993. - 236 с.


4. Романов В.Ю. Программирование на языке Cu ++. Практический подход. - М.: Компьтер, 1993. - 160 с.


5. Уинер Р. Язык турбо Cu . - М.: Мир, 1991. - 384 с.


6. Юлин В.А., Булатова И.Р. Приглашение к Cu. - Мн.: Высш. Шк., 1990,- 224 с.


7. Котлинская Г.П., Галиновский О.И. Программирование на языке Cu. -Мн.: Высш. Шк., 1991. - 156 с.

Сохранить в соц. сетях:
Обсуждение:
comments powered by Disqus

Название реферата: Условные и безусловные операторы в языке программирования Си

Слов:1351
Символов:14016
Размер:27.38 Кб.