Лабораторная работа

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

Работа добавлена на сайт bukvasha.net: 2015-07-01

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 11.11.2024


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

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

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

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

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

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

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

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

Например:

if (a>b)

z=a;

else

z=b;

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

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

Например:

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

printf("%d\n",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("Ветвь 1\n");

break;

case ‘2’:

case ‘3’:

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

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

варианта

Содержание

Исходные данные

a=2

b=1,5

c=1

d=3

e=0,5

c=-2

a=1,5

d=2

x=3

a=5

b=1,2

y= 0,6

d=2

a=3,5

x=3

i=2,3

w=1

x=2,5

a=4

b=0,4

a=0,5

b=2

h=4

R=1,4

p=0,6

l=2

h=5

R=4

x=0,63

c=1,5

d=2

a=0,37

y=2,6

x=1,6

a=0,4

a=1,5

b=2

x=0,5

x=0,5

a=4,3

y=2,6

d=0,3

a=3

y=2,7

i=2

x=1

x=0,73

y=0,4

t=2,6

a=2

x=0,54

c=2,3

b=1,8

R=3

x=0,4

a=0,88

c=3,6

a= -1

b=0,8

x=1

c= -0,7

x=2

y=3,5

a=0,1

b=4

x=0,8

y=0,2

a=4

b=5

t=1

y=2

a=0,5

x=1,8

b=0,6

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. Собоцинский В.В. Практический курс Turbo Cu ++. Основы объктно- ориентированного программирования. - М.: Свет, 1993. - 236 с.

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

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

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

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



1. Контрольная работа Двухэтажный жилой дом
2. Реферат на тему The Love Song Of J. Alfred Prufrock
3. Реферат Состав кадровой документации
4. Курсовая на тему Конституционный статус Президента РФ
5. Реферат Энергетическая революция во благо
6. Реферат на тему Review Saints Of Big Harbour By Lynn
7. Контрольная работа Технология выращивания капусты поздней
8. Сочинение на тему Сатирическая хроника русской жизни
9. Реферат на тему Foright Policy Granting Normal Trade Status To
10. Реферат Политический лозунг