Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы программирования на языке C_4.docx
Скачиваний:
44
Добавлен:
25.03.2016
Размер:
299.55 Кб
Скачать

Операция, уровень приоритета которой равен 15

Уровень приоритета операции равен 15, выполняются такие операции слева направо.

Операция запятая: ,

Тип результата совпадает с типом правого операнда. Операция объединяет два выражения в одно выражение, значением которого является значение правого операнда; значение левого операнда вычисляется только для получения побочных эффектов.

Использование:

e1,e2

Сначала выполняется выражение e1, потом выражение е2. Значением всего выражения является значение выражения е2.

Пример:

for(i=A,j=B;i<j;i++,j--)

/* организация циклического повторения.

Оператор со счетчиком */

p[i]=p[j];

Примеры простых задач

/* Задача № 1 (пример на использование операции *)

Определить площадь боковой поверхности конуса радиуса

r и имеющего длину образующей l.*/

#include <stdio.h>

#include <math.h>

/* подключение библиотеки математических функций */

const float pi=3.14159;

float r=10; float l=50; float s;

main()

{

s=pi*r*l;

printf("\n Площадь боковой поверхности s=%f",s);

}

/* Задача № 2 (пример на использование операций +,

* и /. Тело движется прямолинейно с ускорением.

Даны а(м/сек2) - ускорение, V(M/C) - начальная

скорость. Требуется определить, какой путь пройдет

тело за t секунд.*/

#include <stdio.h>

float а, v, t, s ;

main()

{

a=20.2;

v=50.3;

t=65;

s=(v*t)+(a*t*t/2);

printf("\n Путь s=%f M",s);

}

/* Задача № 3 (пример на использование операций =,

/ и вычисления степени). Вычислите среднее арифметическое

и среднее геометрическое трех чисел а,b,с.*/

#include <stdio.h>

#include <math.h>

float a=b=c=2005.1; float x,у;

main ()

{

x=(a+b+c)/3;

y=pow( (a*b*c),(1/3));

/*функция pow берется из библиотеки math.h*/

printf("\n среднее арифметическое x=%f",x);

printf("\n среднее геометрическое y=%f",y);

}

/* Задача № 4 (пример на использование операций

=,*, / и функции hypot. Даны катеты прямоугольного

треугольника. Найти его гипотенузу и площадь.*/

#include <stdio.h>

#include <math.h>

float x=y=50.7; float z,s;

main()

{

z=hypot(х, у) ;/* вычисление гипотенузы*/

s=x*y/2;

printf("\n гипотенуза=%f см",z);

printf("\n Плoщaдь=%f кв см",s);

}

Лекция 4. Операторы

Выражения. Простейшие выражения. Операторы. Составные операторы.

Выражения

Выражение представляет собой объединение операций и операндов. Напомним, что операндом называется то, над чем выполняется операция. Простейшее выражение состоит из одного операнда. Опираясь на это понятие выражения, мы можем строить более сложные конструкции. Приведем несколько выражений:

100

1904 +100

a*(c-d)

x=0

x=y++

x>3

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

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

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

j=3;

i=(k=j+1)+(j=5);

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