Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2-ОСНОВЫ ПРОГРАММИРОВАНИЯ.doc
Скачиваний:
88
Добавлен:
10.04.2015
Размер:
650.24 Кб
Скачать
      1. Логические операции и операции отношения

Логические операции и операции отношения используются при формировании логических выражений, имеющих только два значения:

1, если логическое выражение ИСТИННО;

0, если логическое выражение ЛОЖНО.

В языке Си используются следующие операции отношения:

> (больше),

< (меньше),

== (cравнение),

>= (больше или равно),

<= (меньше или равно),

!= (не равно)

Логические операции в Си:

&& (логическое И),

| | (логическое ИЛИ),

! (логическое НЕ).

      1. Операции присваивания

"Оператор присваивания" является одним из основных средств языка.

int num;

num = 1;

Приведенную выше строку программы можно интерпретировать так: "присвоить переменной num значение 1". Дело в том, что, при объявлении переменной num была выделена ячейка памяти, и только теперь в результате выполнения оператора присваивания переменная получает свое значение. При желании мы могли бы присвоить ей другое значение - вот почему имя num обозначает переменную. Отметим, что этот оператор тоже заканчивается точкой с запятой.

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

*= (умножение),

/= (деление),

+= (сложение),

-= (вычитание).

%= (остаток от целочисленного деления)

и некоторые другие.

Например, в результате выполнения фрагмента программы

int x, y, z, f, t;

x=1; y=2; z=3; f=4;t=5;

x*=2;

y/=2;

z+=2;

f-=2;

6%=2;

/*1*/

/*2*/

/*3*/

/*4*/

/*5*/

/*6*/

/*7*

Переменная x будет умножена на 2 и получит значение =2, переменная y будет поделена на 2 и получит значение =1, переменная z будет увеличена на 2 и получит значение =5, переменная f будет уменьшена на 2 и получит значение =2, переменная t будет поделена на 2 и получит значение, равное остатку от деления =5.

    1. Функции ввода и вывода

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

Функции ввода и вывода делятся на два класса: форматированные и неформатированные.

Форматированные функции являются универсальными, то есть, работают с данными различных типов. Обработка данных разных типов выполняется по различным алгоритмам. Следовательно, для корректной работы этих функций должен быть указан тип обрабатываемых данных. Эта задача решается с помощью так называемых форматов. Функции, использующие форматы, называются форматированными.

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

      1. Функция форматированного вывода printf( )

Это одна из наиболее часто используемых функций в языке Си. Она имеет вид:

printf( “текстовая строка с форматами” ,<список аргументов>);

Буква f в имени этой функции напоминает о том, что данная функция является форматированной. Функция описана в заголовочном файле stdio.h.

Функция printf ( ) выводит на экран свой первый параметр – текстовую (или форматную) строку (без кавычек) с использованием значений аргументов, замещающих форматы в этой строке. Формат задает способ преобразования внутренного представления значения аргумента в выводимое значение. Преобразованное значение аргумента выводится на месте соответствующего ему формата. Аргументом в списке может быть переменная, функция или выражение. Аргументы и, соответственно, фор-маты могут отсутствовать. Если в текстовой строке находятся форматы, то в списке аргументов должно находится соответствующее количество аргументов – по одному для каждого формата в порядке слева направо. Таким образом, количество форматов должно соответствовать количеству аргументов. Формат начи-нается с символа %. В табл. 3 приведены наиболее часто используемые форматы, соответствующие рассмотренным выше (табл. 1) основным ти-пам значений.

Таблица 3

Формат

Тип

Выводимая информация

%d

int

Целое число (со знаком “-“, если число отрицательное)

%i

int

Целое число (без знака “-“, если число отрицательное),

%f

float

Действительное число (со знаком “-“, если число отрицательное)

%s

char

Строка символов

%c

char

Один символ

Форматы позволяют задать размер поля, занимаемого выводимым значением.

Вывод целого значения по формату %nd приведёт к тому, что выводимое значение займёт поле из n позиций, размещаясь в правой части этого поля.

Вывод действительного значения по формату %n.mf приведёт к тому, что выводимое значение займёт поле из n позиций (размещаясь в правой части этого поля) из которых m позиций будут отведены под дробную часть значения.

Вывод строки символов по формату %ns или одного символа по формату %nc приведёт к тому, что выводимое значение займёт поле из n позиций, размещаясь в правой части этого поля.

Кроме того, внутри текстовой строки функции printf ( ) могут ис-пользоваться так называемые управляющие последовательности (эскейп- последовательности). Они начинаются с символа обратной косой черты (“\”). Некоторые управляющие последовательности представлены в табл. 4.

Таблица 4

Управляю-щая последова-тельность

Название

Назначение

\a

Звонок

Подача звукового сигнала

\n

Новая строка

Переход к новой строке на экране

\t

Табуляция

Отступ на 5 позиций влево от предшествующего текста

\f

Перевод страницы

Начало нового экрана

\r

Возврат каретки

Возврат к началу текущей строки

\”

Кавычка

Выводит на экран кавычку ( “ )

\’

Апостроф

Выводит на экран апостроф, т.е. одиночную кавычку (‘)

\\

Обратная черта

Выводит на экран обратную косую черту ( \ )

ПРИМЕР 8:

Рассмотрим следующий фрагмент программы:

int i = 5;

printf(“\n %d – моя любимая оценка! “, i);

/*1*/

/*2*/

Выполнение этого фрагмента приведёт к появлению на экране сообщения, выводимого с новой строки:

5 – моя любимая оценка!

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