Контрольные вопросы для самопроверки

1. Какие действия выполняет оператор присваивания?

2. Как выглядят простой, многоместный и совмещенный оператор присваивания?

3. Для чего используется вложенный условный оператор?

4. Как осуществляется вывод результатов на экран?

5. Как выглядит управляющая строка?

6. Какие существуют управляющие символы?

7. Как записывается формат вывода?

8. Как осуществляется ввод данных с клавиатуры?

9. Какую директиву препроцессору надо записать в начале программы, чтобы можно было использовать функции printf (...), или scanf (...)?

10. Когда используется оператор перехода goto?

11. Запишите полную форму записи условного оператора.

12. Запишите сокращенную форму записи условного оператора.

Оператор переключения switch.

 

Этот оператор используется для выбора одной из многих ветвей решения задач. Работает оператор следующим образом: происходит проверка соответствия значения выражения с одной из констант-выражений ветвей. Если это сравнение имеет положительный результат, то выполняется соответствующий оператор. Если нет – то продолжается сравнение со следующим константой-выражением.

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

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

{

case константа_1 - выражение: оператор_1;

                          break;

case константа_2 - выражение: оператор_2;

                          break;

default:              оператор_d;

}

Если выражение не совпадает ни с одной из констант, то выполняется

[ default: оператор_d;]

В качестве выражений и констант-выражений могут служить целочисленные или символьные данные.

Каждая ветвь case помечена целочисленной константой или выражением. Работает та ветвь, у которой выражение у самого оператора совпадает с выражением ветвей case; если выражение не совпадает ни с одной из констант, то выполняется ветвь default.

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

Пример 3.12: вычислить у по одной из формул:

y=a+b, y=a-b, y=a*b, y=a/b.

В качестве управляющего символа взять знаки операций

 ”+”, ”-”, ”*”, ”/”.

void main()

{

char oper

float a,b,y;

printf(“Введите a, b\n”);

scanf(“%f _ _ %f”, &a, &b);

printf(“Введите(укажите) операцию”);

scanf(“%c”,& oper);

switch(oper)

{ case ‘+’:   y=a+b; break;

case ‘-‘:    y=a-b; break;

case ‘*’:   y=a*b; break;

case ‘/’:  y=a/b;

default: printf(“Операция указана не верно”);}

printf(“y = %.2f\n”, y);

}

Операторы цикла.

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

1. Переменной цикла присваивается начальное значение;

2. Для полученного значения переменной цикла выполняются, необходимые в соответствии с условием задачи, действия и преобразования;

3. Значение переменной цикла изменяется на заданный шаг;

4. Выполняется проверка на достижение переменной цикла конечного значения.

 

Приведенную последовательность действий можно отразить с помощью блок-схемы. Такая структура цикла называется цикл с постусловием.

     
1
0


Если проверка на окончание цикла выполняется в начале, то есть до выполнения тела цикла, то цикл с такой структурой называется цикл с предусловием.

 

 

Согласно указанных структур в Си различают три вида операторов цикла:

- Цикл типа while;

- Цикл типа do... while;

- Цикл типа for.

Рассмотрим каждый из операторов цикла.

3.8.1. Оператор цикла типа while.     

Структура выглядит следующим образом и реализует цикл с предусловием:

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

оператор;

где < выражение > - логическое выражение;

оператор - оператор или несколько операторов (тело цикла), что выполняется в цикле.

Схема работы такого цикла while: пока условие истина (true), выполняется оператор, и снова проверяется условие и т.д. Когда условие станет ошибочной (false) цикл завершает работу. Такой цикл является циклом с предусловием. Если в теле цикла необходимо выполнять набор операторов, тогда этот набор операторов надо взять в фигурные скобки и образовать составной оператор.

while (<условие>)

{

оператор_1;

.........
.........

 

оператор_n;

 }

Пример 3.13: вычислить выражение y=√|x|-x2

для -2 ≤ x ≤ 2 с Δx = 0.1;

определить k - количество y которые > 0;

вывести на экран значения x, y  на каждом шаге вычислений;

вывести на экран значения k – в конце программы.

Текст программы.

#include <stdio.h>

#include <math.h>

void main ()

{

float x=-2, y;

int k=0;

while (x<=2)

{

y=sqrt(fabs(x))–x*x;

printf("x=%.1f y=%.3f\n", x, y);

if(y>0) k++;

x+=0.1;

}

printf(“k=%d\n”,k);

}

 





Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: