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

8. Операции языка с. Условная операция. Операция (), операция []. (в1б8, в3б14)

В языке С присутствует так называемая условная операция, которая имеет следующий синтаксис: условие ? выражение №1 : выражение №2; Принцип выполнения условной операции: вычисляется условие, если оно истинно (имеет не нулевое значение), то вычисляется и возвращается значение выражения №1, в противном случае - выражения №2. Предполагается, что условие является выражением, значение которого можно интерпретировать как логическое. Например, необходимо ввести с клавиатуры два вещественных значения и вывести на экран максимальное из этих значений:

#include <stdio.h> int main(int argc, char *argv[]) { double x,y; printf(“Введите значения: ”); scanf(“%lf %lf”,&x,&y); double max = (x > y) ? x : y; printf(“Максимальное значение: %lf\n“,max); return 0; } В данном примере построение условной операции довольно простое. То, что условие заключено в круглые скобки в данном случае носит декоративный (для красоты) характер. При построении более сложных выражений, особенно при использовании вложенных условных операций, круглые скобки необходимо будет использовать для задания правильного приоритета выполнения операций.

Например, необходимо ввести с клавиатуры три вещественных значения и вывести на экран максимальное из этих значений:

#include <stdio.h> int main(int argc, char *argv[]) { double x, y, z; printf(“Введите значения: ”); scanf(“%lf %lf %lf”,&x,&y,&z); double max = (x > y) ? ((x > z) ? x : z): ((y > z) ? y : z); printf(“Максимальное значение: %lf\n“,max); return 0; }

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

{ [ описание переменных]

оператор;

[оператор];

}

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

9) Приоритет операций и порядок вычислений (в1б9, в2б29)

В приводимой ниже таблице сведены правила старшинства и ассоциативности всех операций. Операции, расположенные в одной строке, имеют один и тот же уровень старшинства; строки расположены в порядке убывания старшинства. Так, например, операции *, "/" и "%" имеют одинаковый уровень старшинства, который выше, чем уровень операций "+" и "-".

Оператор

() [] ->

~ ++ -- - f (type) * & sizeof

* / %

+ -

<< >>

< <= > >=

== !=

&

^

&&

?:

= += -= и т.п.

10) Основные сведения о вводе-выводе. (в1б10, в3б13)

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

Библиотечные функции ввода-вывода точно определяются стандартом ANSI, так что они совместимы на любых системах, где поддерживается С. Программы, которые в своем взаимодействии с системным окружением не выходят за рамки возможностей стандартной библиотеки, можно без изменений переносить с одной машины на другую.

Свойства библиотечных функций специфицированы в более чем дюжине заголовочных файлов .

Во всех приведённых примерах программы первыми строчными являлись:

#include

#include

Данное описание сообщает компилятору о необходимости подключения файлов stdio.h и conio.h. Эти файлы содержат информацию, необходимую для правильного выполнения функций библиотеки стандартноговвода-вывода.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]