Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курс лекций по С,С++.doc
Скачиваний:
28
Добавлен:
25.04.2019
Размер:
694.78 Кб
Скачать

6.9. Дополнительные операции присваивания

+ = (величина, стоящая справа, прибавляется к величине, расположенной слева)

n + = 13 тоже, что и n=n+13

- = (от величины, стоящей слева, отнимается величина, расположенная справа)

den - = 20 den = den-20

* = (величина слева умножается на величину справа)

n*=2 n = n*2

/ = делит переменную л.ч. на величину п.ч.

% = дает остаток от деления переменной л.ч. на величину п.ч.

<<=; >>=; | =; & =; ^ =; ~=;

7.Операторы языка си

Основу программы на Си составляют выражения, а не операторы. Большинство операторов в программе являются выражениями с ‘;’. Это позволяет создавать эффективные программы.

Оператор является законченной конструкцией языка Си. Операторы служат основными конструкциями при построении программы. Выражение состоит из операций и операндов (операнд – то, над чем выполняется операция, простейшее выражение может состоять из одного операнда). Оператор служит командой компьютеру. Операторы бывают простые и составные. Простые операторы оканчиваются ‘;’ .

Простые операторы:

1. Пустой оператор ‘;’

2. Оператор описания int x, y;

3. Оператор присвоения count = 0.0;

4. Оператор выражение (управляющий оператор)

sum = sum+count;

var = (var + 10)/4;

5. Оператор вызова функции

printf("Привет \n");

6. Оператор следоаания ‘,’

x=7, y=10;

Составные операторы или блоки:

Это группа операторов, заключенных в фигурные скобки {...}.

7. Оператор ветвления if ... else.

Оператор может быть простым и составным. Позволяет пропустить оператор или блок операторов, если условие ложно.

if(условное выражение) или if(условное выражение) {

оператор; операторы;

}

1.Схема выполнения оператора

тело программы

If истина

if(условное выражение) или if(условное выражение) {

оператор1; операторы;

else оператор2; }

else {

операторы; }

    1. Схема выполнения оператора

if истина тело программы

ложь

else

С помощью оператора ветвления можно организовать множественный выбор, если составить сложную конструкцию.

if(условное выражение1)

оператор1;

else if(условное выражение2)

оператор2;

else if(условное выражение3)

оператор3;

else оператор4;

Слово else всегда относится к ближайшему if, иначе нужно ставить скобки.

if(условное выражение1) {

if(условное выражение2)

оператор1;

}

else оператор2;

// Пример задачи на использование оператора

#include <stdio.h>

#define LIMIT 12600

#define MAX 25200

#define NORMA 60

#define PEOPLE 20

void main(void)

{

float kwh; //количество киловат

float bill; // плата

int p,house;

printf("Укажите количество израсходованных кВт/ч.\n);

scanf("%f",&kwh);

printf("Укажите количество человек в семье.\n);

scanf("%d",&p);

house=NORMA+PEOPLE*p;

if(kwh<=house)

bill=kwh*LIMIT;

else

bill= house*LIMIT + (kwh-house)*MAX;

printf("Плата за %f составляет %f.\n",kwh,bill);

}

8. Оператор множественного выбора

Оператор if...else осуществляет выбор между двумя (условиями) вариантами. Но иногда нужно сделать выбор из нескольких вариантов. Это можно сделать с помощью if-else if-else. Иногда удобнее применить оператор switch.

switch (целое выражение)

{

case конст1:

оператор;

case конст2:

оператор;

default:

оператор;

}

В начале вычисляется выражение в скобках за ключевым словом. Затем просматривается список меток case 'a': пока не будет найдена, соответствующая этому значению. Если нет такой метки, то будет выполнен default. Метка default может отсутствовать, тогда оператор switch ничего не выполнит и программа перейдет на следующий оператор. Оператор break служит для выхода из оператора switch и перехода к следующему оператору. Метки в операторе switch должны быть константами целого типа, включая chаr. Могут следовать несколько меток подряд.

//пример программы на множественный выбор

#include <stdio.h>

void main(void)

{

int x, y;

char c;

printf("Введите 2 целых числа и знак операции");

scanf(“ %d %d %c”, &x, &y, &c);

switch (c) {

case '+': printf("x + y = %3d\n”, x+y);

break;

case '-': printf("x - y = %3d\n”, x-y);

break;

case '*': printf("x * y = %3d\n”, x*y);

break;

case '/': printf("x / y = %3d\n”, x/y);

break;

default:

printf("Такой операции нет!\n);

}

}