Организация циклов в программе.СИ 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Организация циклов в программе.СИ



Оператор for - это наиболее общий способ организации цикла. Он имеет следующий формат: for(выражение 1; выражение 2; выражение 3) тело

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

Выражение 2 - это выражение, определяющее условие, при котором тело цикла будет выполняться.

Выражение 3 определяет изменение переменных, управляющих циклом после каждого выполнения тела цикла.

Схема выполнения оператора for:

1. Вычисляется выражение 1.

2. Вычисляется выражение 2.

3. Если значения выражения 2 отлично от нуля (истина), выполняется тело цикла, вычисляется выражение 3 и осуществляется переход к пункту 2, если выражение 2 равно нулю (ложь), то управление передается на оператор, следующий за оператором for.

Пример: int main() { inti,b; for (i=1; i<10; i++) b=i*i; return 0; }

В этом примере вычисляются квадраты чисел от 1 до 9.

Оператор цикла while называется циклом с предусловием.

Формат: while (выражение) тело;

В качестве выражения допускается использовать любое выражение языка Си, а в качестве тела любой оператор, в том числе пустой или составной. Схема выполнения оператора while следующая: 1. Вычисляется выражение. 2. Если выражение ложно, то выполнение оператора while заканчивается и выполняется следующий по порядку оператор. Если выражение истинно, то выполняется тело оператора while. 3. Процесс повторяется с пункта 1.

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

Оператор цикла dowhile называется оператором цикла с постусловием и используется в тех случаях, когда необходимо выполнить тело цикла хотя бы один раз. Формат оператора имеет следующий вид: do тело while (выражение).

Схема выполнения оператора dowhile: 1. Выполняется тело цикла (которое может быть составным оператором). 2. Вычисляется выражение. 3. Если выражение ложно, то выполнение оператора dowhile заканчивается и выполняется следующий по порядку оператор. Если выражение истинно, то выполнение оператора продолжается с пункта 1. Чтобы прервать выполнение цикла до того, как условие станет ложным, можно использовать оператор break.

Операторы while и dowhile могут быть вложенными.

Пример:

inti,j,k;

...i=0; j=0; k=0;

do { i++; j--;

while (a[k] <i) k++; while (i<30 && j<-30);

 

16 Функция пользователя СИ – группа команд, имеющая уникальное имя, объявлена в заголовке файлов или в основной программе, а так же описанная в модуле или в основной программе.

Перед вызовом функции её нужно объявить, для этого:

<тип функции><название функции> (<список формальных параметров>);

Тип функции – тип возвращаемого значения, если функция не возвращает результат, то она объявляется типом void.

В списке формальных параметров для каждой переменной нужно отдельно указывать тип. Указывать имена переменных не обязательно (например, (float, float, int);). Переменным при их перечислении можно сразу присваивать исходные значения.

Описание функции пользователя

<тип функции><название функции>(<список формальных параметров>)

{

<тело функции>;

Return (<название переменной, значение которой нужно вернуть>):

}

Функцию можно описать и до основной функции, тогда объявлять ее не обязательно

Вызов функции

<название функции>(<список фактических параметров>);

Типы фактических переменных должны совпадать с типами формальных переменных.

Прототипы функции

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

 

17 Файл СИ – совокупность данных, которые размещены на внешнем носителе.

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

Считывание данных из файла. Существует два способа:

Ifstream <название файловой переменной>(<внешнее название>, признак 1|признак 2);

<название файловой переменной>.open (<внешнее название>);

Или

Ifstream <название файловой переменной>;

<название файловой переменной>.open (<внешнее название>);

Если признаки не будут задаваться, то различий нет.

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

Выведение данных из файла осуществляется командой

<название файловой переменной> >> <переменная>;

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

После обработки файл нужно закрыть, это делает следующая команда:

<название файловой переменной>.close ()

Определить конец файла можно командой – eof(). Записывается: <название файловой переменной>.eof ()

Запись данных в файл

Открыть файл для записи можно так:

Ofstream <название файловой переменной> (<внешнее название>, признак 1 |признак 2);

<название файловой переменной>.open (<внешнее название>);

Или

Ofstream <название файловой переменной>;

<название файловой переменной>.open (<внешнее название>);

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

Что бы занести данные в файл выполнить команду:

<название файловой переменной> << <переменная>

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

Признаки, использующиеся для изменения прав доступа к файлу:

Ios::in открывает файл для чтения из него информации, содержание сохраняется

Ios::out открывает файл для записи информации, если файла нет, то будет создан новый файл

Ios::app открывает файл для дозаписи информации, данные будут добавлены в конец файла

 

Объекты и классы С

Объекты в C – это программные конструкции, формируемые так называемыми классам. Определение пере­менной класса также называется созданием экземпляра класса (class instantiation). Классы – это структуры, которые содержат не только объявления данных, но и функций. Эти функции называются функциями-членами (member functions) и определяют, что может делать класс. Для того чтобы использовать класс, его нужно вначале объявить. Полное объявление класса может появиться в программе только один раз. Рассмот­рим пример объявления простого класса:

class Counter {

long count;

public:

void SetValue(long);

long GetValue();};

Ключевое слово class вводит объявление класса. Далее следует имя клас­са. Тело класса должно заключаться в фигурные скобки, после которых стоит точка с запятой. Классы могут содер­жать не только объявления функций, но и их полные определения. Переменные, объявленные внутри класса, принадлежат этому классу. Идентификаторы переменных и функций внутри класса застрахованы от конфликтов с идентификаторами других классов.

Объявление двух классов с оди­наковыми именами недопустимо, независимо от того, идентичны объявления или нет.

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

Класс Counter содержит объявление функций SetValue (long) и GetValue (), которые называются функ­циями-членами (member function) класса. Эти функции пока не определены, они только объявлены. Реальное их определение для класса Counter было опущено и приводится только сейчас:

void Counter::Setvalue(long value)

{count = value;}

long Counter::GetValue()

{return count;}

При определении функции-члена после типа возвращаемого значения нужно всегда указывать, членом какого класса является функция. Для этого нужно написать имя класса и поставить за ним два двоеточия. Как и другие функции в C, функции-члены должны быть объявлены до использования. Объявление должно быть полным, включая тип возвращаемого значения и типы аргументов. В C типы аргументов функции должны быть объяв­лены одновременно с функцией-членом с помощью следующей записи: int foo (int parm1, long parm2);

Для того чтобы использовать класс, нужно определить объект этого класса. Объек­ты класса определяются точно так же, как структурные или скалярные переменные. Чтобы определить переменную people типа Counter, используйте следующую запись: Counter people;

 



Поделиться:


Последнее изменение этой страницы: 2016-06-26; просмотров: 339; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 52.15.63.145 (0.01 с.)