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

Простейшие выражения

Простейшими выражениями называются выражения, сформированные с использованием констант типов int, char и enum, операции sizeof, унарных операторов - и ~, бинарных операторов + * / % & | ^ << >> = = != < > <= >= и тернарной операции ?:.

Простейшие выражения используются в операторе switch, в инициализаторах границ массивов и в операторе препроцессора #if.

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

Важным свойством языка Си является то, что каждое выражение в Си имеет значение. Приведем несколько выражений и их значения:

Выражение

Значение

-14+16

2

a=3+8

11

5>3

1

14<3

0

6+(c=3+8)

17

Операторы

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

выражение;

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

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

line = 5

- это всего лишь выражение, которое может быть частью большого выражения, но

line = 5;

является оператором.

Выражение

5+5

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

dog=5+5;

служит указанием компилятору, а затем компьютеру, поместить результат 10 в ячейку памяти, помеченную именем dog. После занесения в память числа 10 компьютер может приступить к выполнению следующих действий.

Составные операторы

Составной оператор представляет собой два или более операторов, объединенных с помощью фигурных скобок; он называется также блоком. Чтобы быть свободными в обсуждении составных операторов, рассмотрим один из операторов цикла языка Си и использования в Си функций printf( ) и scanf( ).

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

Пусть нам нужно каким-то образом заставить компьютер выполнять повторяющиеся вычисления. Язык Си предлагает несколько способов реализации повторяющихся вычислений. Сейчас мы коротко обсудим один из них. Данный способ называется "циклом с предусловием while ". Цикл while работает следующим образом. Когда программа в процессе выполнения впервые достигает оператора while, осуществляется проверка истинности условия, заключенного в круглые скобки. Затем идет тело цикла, заключенное в фигурные скобки. В теле цикла перевычисляется переменная, которая анализируется в условии, там где встречается закрывающая фигурная скобка (конец тела цикла while ), управление передается на оператор while. Если условие не выполняется, то управление передается за тело цикла, т.е. за закрывающую фигурную скобку.

Все операторы цикла языка Си рассматриваются в 8-ой лекции.

Пример 1:

/* От города А до города В расстояние равно 20 км.

Велосипедист выехал из А и в первый день проехал

10 км. В последующие дни он проезжал со скоростью,

в 1,5 раз большей, чем в предыдущий день. За сколько

дней велосипедист доберется до города В.*/

#include<stdio.h>

#include<conio.h>

float km=10;

int main()

{

clrscr(); /* чистка экрана, функция берется

из головного файла conio.h*/

int d;

d=1; /* первый день, за который велосипедист

проехал 10 км.*/

while(km<20) /* пока выполнено условие цикла,

подсчитываются километры и дни*/

{

km+=(km*0.5);

d++;

}

printf("велосипедист был в пути %d дней",d);

getch();

}