Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
разд_3.doc
Скачиваний:
1
Добавлен:
03.03.2016
Размер:
102.4 Кб
Скачать

3.4. Ввод данных с клавиатуры

Используется стандартная функция scanf(…);

В начале программы необходимо записать директиву препроцессора

#include <stdio.h>

Форма записи:

scanf(“управляющая строка”, список адресов данных );

В управляющей строке записываются без пробелов форматы вводимых данных:

“%d%f%c”

Список адресов: &имя переменной1, …., &имя переменнойN

int m; &m → адрес m

float b; &b → адрес b

char d; &d → адрес d

scanf(“%d%f%c”, &m, &b, &d);

Для удобства работы пользователя в программе перед вводом необходимо выводить подсказку:

printf(“Введите значения m b d :\n”);

scanf(“%d%f%c”, &m, &b, &d);

3.5. Оператор перехода goto

Предназначен для изменения последовательности выполнения операторов в программе.

Форма записи:

goto M;

где М – метка оператора , обозначается обычным идентификатором.

Пример:

lab1: y = 2*x + 1.5;

. . . . . . . . . .

goto lab1; . . . . . . . . . .

goto m21;

. . . . . . . . . .

m21: k++;

3.6 Условный оператор if и условная операция

Данный оператор предназначен для проверки заданного условия и выбора выполняемых действий (операторов) в зависимости от истинности (ложности) условия.

Имеется 2 формы записи условного оператора:

1. Полная форма записи:

if ( условие ) оператор 1;

else оператор 2;

Если условие имеет значение "истина" (true), то выполняется оператор 1, в противном случае во второй части оператора ( else ) - выполняется оператор 2.

(блок-схема)

2. Сокращенная форма записи:

if ( условие ) оператор 1;

Если условие имеет значение "истина" (true), то выполняется оператор 1, в противном случае - оператор 1 пропускается и выполняется следующий в программе оператор.

В языке С нет специального логического типа данных, поэтому для задания логических значений используется целый тип. Если значение некоторой целой переменной не равно 0, то это трактуется как "истина" (true), если же переменная имеет значение равное 0, то это трактуется как "ложь" (false).

Примечание: оператор 1 и оператор 2 могут быть простыми или составными

if ( условие ) { оператор 1_1;

оператор 1_2;

. . . . }

else оператор 2;

(блок-схема)

Условия в операторе if

В условном операторе можно записывать два вида условий:

1) отношения; 2) логические выражения.

Отношение – два арифметического выражения, связанных знаком отношения. Знаки отношений:

< <= > >= = = !=

равняется не равно

Например:

if ( a – 2*z >= 1 ) . . . при: a = 6, z = 2, получим true ; a = 5, z = 4, получим false

if ( k = = 0 ) . . .

if ( 1.5*y = = 2+z*a ) . . .

if ( p != 5 ) . . .

Логическое выражение – два отношения, связанных логической операцией (или одно отношение с указанием логической операции).

В языке С используется три логических операции:

|| - логическое сложение ( или, or )

&& - логическое умножение ( и, and )

! – логическое отрицание ( не, not )

Таблица истинности логических операций

A

B

A || B

A && B

!A

f f t t

f t f t

f t t t

f f f t

t t f f

Обозначения: t – true (истина), f – false (ложь)

Примеры записи логических выражений:

1. Записать условие или -3 ≤x ≤ 5

if ( x >= -3 && x <= 5 )

2. Записать условие

if ( x < 0 || x > 3 )

3. if ( !(x > 2) && y < 4 )

Примеры записи оператора if :

a) if ( x+1 > a ) y = 2*pow(x,3);

else y = a*sin(x);

б) if ( y > 1) s+ = y;

в) if ( t < b-5 )

if ( z > 5) v = 2.5*exp(t+1);

else v = 1.3*sin(z/2);

Условная операция

Условная операция является упрощенной формой условного оператора.

Форма записи условной операции:

(условие)? выражение1 : выражение2

где условие – отношение или логическое выражение;

выражение1, выражение2 – арифметические выражения;

? и : - разделительные знаки.

Выполняется условная операция следующим образом. Вначале проверяется условие. Если оно имеет значение "истина", то вычисляется выражение1, в противном случае - выражение2.

Например, необходимо вычислить max – наибольшее из двух чисел a и b.

max = (a>b)? a : b ;

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