4628

Элементарные программы на С/C++

Книга

Информатика, кибернетика и программирование

Почему СИ/СИ++ Си - компилирующий язык программирования. Иными словами, это набор ключевых слов и функций, представленных словами, которые перед выполнением их компьютером должны быть переведены в двоичные коды. За последние годы популярность Си рез...

Русский

2012-11-23

186 KB

32 чел.

Почему СИ/СИ++

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

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

Структура программы в Си

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

Все программы на Си (и Си++) должны начинаться с функции, называемой "main()". Круглые скобки являются частью имени функции и ставить их надо обязательно, так как именно они указывают компилятору, что имеется ввиду функция, а не просто английское слово "main". Следом за "main()" вводятся инструкции. Инструкции могут быть представлены в виде стандартных команд и имен функций, содержащихся в библиотеках или написанных вами самостоятельно. Прямая, или открывающая фигурная скобка "{" помещается перед первой инструкцией, а обратная, или закрывающая фигурная скобка "}" следует за последней инструкцией. Таким образом, простейшая программа, написанная на языке Си, такова:

main() Функция, означающая начало программы - точку входа.

{  Здесь начинается функция.

……;

……; Здесь помещаются инструкции, подлежащие выполнению.

……;

}  Здесь функция заканчивается.

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

Инструкция "return"

Что происходит после того, как компьютер заканчивает выполнение инструкций, заданных в вашей программе ? Программа завершается и компьютер возвращается в исходное состояние, т.е. если программа выполнялась из операционной системы MS-DOS, на дисплее вновь появится ее подсказка, если же программа выполнялась из операционной системы Windows, то вы вновь возвратитесь в ее среду.

Возврат в исходную среду, как правило, осуществляется автоматически. Исключение составляют отдельные компиляторы языка Си, которые требуют, чтобы вы явно указывали каждый шаг, включая возврат в систему. Для таких компиляторов вводится инструкция "return(0)" или "return 0", которую помещают непосредственно перед фигурной скобкой, завершающей тело функции "main()":

main()

{

puts("У тебя все в порядке"); функция для вывода последовательности

символов,     заключенных     в    кавычки .

return 0;

}

Таким образом, инструкция "return" указывает компьютеру, что необходимо вернуться назад в исходную среду.

Директива "#include"

Если Вы пишете программу, которая требует использования дисковых файлов или вывода информации на принтер, вам необходимо включить файл заголовков "STDIO.H". Это подключение выглядит так:

#include <stdio.h>

main()

{

puts("Ok");

return 0;

}

Директива "#include" указывает компилятору на то, что он должен использовать информацию, содержащуюся в файле заголовков "STDIO.H". Сокращение "stdio" установлено для стандартного ввода/вывода (standart input/output). Файл "STDIO.H" содержит инструкции, необходимые компилятору для работы с дисковыми файлами или принтером. С помощью директивы "#include" могут подключаться и другие файлы заголовков, обеспечивающие работу математических функций, графических функций, обслуживания работы модулей ввода/вывода и т.п.

Где содержатся файлы заголовков ?  Символы, окружающие имя файла заголовков ("<" и ">"), указывают компилятору, что данный файл может находиться в каталоге "include". Так называется каталог, куда при инсталляции компилятора помещаются файлы заголовков. Если во время компиляции файл заголовков не будет найден в текущем каталоге, компилятор будет искать его в каталоге "include". Вы можете также заключить имя файла заголовка в кавычки "  #include "stdio.h"  ", но тогда компилятор будет искать его только в текущем каталоге и если не обнаружит, выдаст сообщение об ошибке.

Лабораторная работа № 1

Расчеты числовых выражений

Что нужно делать ? Получить у преподавателя вариант задания, подлежащего выполнению. Проанализировать математическое содержание каждого из трех примеров полученного задания. Найти описание аналогичной программы и ознакомиться с ним. Составить программы решения каждого из трех предложенных в задании примеров, при необходимости используя литературу по языку Си/Си++. Ввести поочередно полученные программы в ЭВМ и получить ответ.

Аналоги решения задач

  1.  Расчет арифметического выражения

Пусть необходимо составить программу для расчета выражения:

  .

Программа будет иметь следующий вид:

/*1*/ #include <stdio.h>

/*2*/ #include <conio.h>

/*3*/ main()

/*4*/ {

/*5*/  clrscr();

/*6*/  float A = 0.0;

/*7*/  A=(152.0+3.0/4.0-148.0-3.0/8.0)*0.3/0.2;

/*8*/  printf("A = %f",A);

/*9*/  return 0;

/*10*/ }

В результате выполнения этой программы на экране монитора появится: А=6.5625.

Информация, которая заключена между символами /*…….*/ называется комментарием, она не воспринимается компилятором Си и вводится исключительно для удобства пользователя. В данном случае мы воспользовались комментарием для обозначения номера строки программы.

Итак, в 1 и 2 строке программы расположены директивы подключения стандартных функций Си. В 3 строке расположена стандартная функция main(), с которой начинается любая программа на Си, т.е. эта функция означает начало программы. Фигурная скобка, расположенная в 4 строке, собственно означает начало описания функции main и соответственно фигурная скобка в 10 строке означает завершение описания функции main и всей программы в целом. Строки, расположенные между фигурными скобками, это инструкции, которые должен выполнить компьютер. В 5 строке находится функция, обеспечивающая очистку экрана монитора. В 6 строке описывается тип переменной А, использующейся в программе, и ей присваивается стартовое значение. Переменная может быть описана и другим типом данных в зависимости от того, какая роль отводится используемой переменной. В таблице 1 приведены распространенные типы описания числовых данных.

Табл. 1

Типы представления чисел

Название типа

Диапазон представления чисел

Short int

Короткие целые числа: положительные величины от 0 до 255

Int

Целые числа: величины от -32768 до +32767

Long int

Длинные целые числа: величины от -2147483648 до 2147483647

Unsigned long

Длинные целые числа без знака: положительные величины от 0 до 4294967295

Float

Величины от 3.4Е-38 до 3.4Е+38

Double

Величины от 1.7Е-308 до 1.7Е+308

Long double

Величины от 3.4Е-4932 до 1.1Е+4932

В 7 строке переменной А присвоено значение арифметического выражения. В 8 строке представлена функция вывода информации на печать. Действует эта функция таким образом: в кавычках пишется комментарий и указывается формат выводимых данных (в нашем случае это %f), а после запятой указывается какие данные необходимо вывести. В табл. 2 показано какие еще указатели формата существуют, кроме представленного в примере.

Табл. 2

Указатели формата

Обозначение

Название

%d

Целое число

%u

Беззнаковое целое число

%f

Вещественное число типа float или double

%e

Вещественное число в экспоненциальной форме

%g

Вещественное число, отображаемое по формату %f или %e, в зависимости от того, какая форма записи является более короткой

%c

Символ

%s

Строка

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

  1.  Расчет значений математических функций

Предположим, необходимо написать программу расчета математической функции:

 ,

где x=3,677.

Как выглядит эта программа ? А вот как:

#include <stdio.h>                                           /*1*/

#include <conio.h>                                          /*2*/

#include <math.h>                                           /*3*/

main()                                                               /*4*/

{                                                                        /*5*/

clrscr();                                                            /*6*/

float y = 0.0, x = 3.677;                                   /*7*/

  y=2.0*pow(x,3)-5.0*pow(x,2)+7.0*x-12.0;  /*8*/

printf("y = %f",y);                                            /*9*/

return 0;                                                          /*10*/

}                                /*11*/

Комментируя данную программу, будем обращать внимание только на новые моменты. В третьей строке расположена директива подключения стандартных математических функций Си. В 7 строке описываются две переменные, используемые в программе. В 8 строке собственно записана математическая функция, значение которой нужно рассчитать. Причем здесь используется стандартная функция pow() - функция возведения в степень.

  1.  Расчет выражений, содержащих элементарные математические функции

Требуется составить программу расчета следующего выражения:

 ,

где x=2,6.

Программа расчета будет выглядеть следующим образом:

#include <stdio.h>                           /*1*/

#include <conio.h>                            /*2*/

#include <math.h>                          /*3*/

main()                                       /*4*/

{                                           /*5*/

clrscr();                                     /*6*/

float y = 0.0, x = 2.6;                   /*7*/

y=asin(sin(x))+exp(x)*(pow(x,2)-2.0*x+2.0);  /*8*/

printf("y = %f",y);                       /*9*/

return 0;                                    /*10*/

}                        /*11*/

Программа практически идентична, представленной ранее, и отличается только использованием в 8 строке дополнительных функций арксинуса - asin, синуса - sin и экспоненты - exp.

Задания к лабораторной работе № 1

Вычислить арифметическое выражение:

I-1       I-2    

I-3              I-4    

I-5      I-6    

I-7    

I-8    

I-9                  I-10    

Расчет значений математических функций

II-1    , где

II-2    , где

II-3    , где

II-4    , где    ;                  II-5    , где

II-6    , где   ;        II-7    , где

II-8    , где

II-9    , где

II-10   , где

Расчет выражений, содержащих элементарные математические функции

III-1   , где

III-2    , где

III-3    , где

III-4    , где

III-5    , где

III-6    , где

III-7    , где

III-8    , где

III-9    , где

III-10    , где

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

Лабораторная работа № 2

Программирование задач, содержащих циклические расчеты

с заданным числом повторений

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

Аналоги решения задач

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

#include <stdio.h> /*1*/

#include <conio.h>  /*2*/

#include <math.h>  /*3*/

main()   /*4*/

{    /*5*/

clrscr();   /*6*/

float y = 0.0, x;  /*7*/

for(x=1;x<=30;x++)  /*8*/

   y=y+1.0/x-sqrt(x);  /*9*/

printf("y = %f",y);  /*10*/

return 0;   /*11*/

}    /*12*/

В частности, здесь используется оператор организации цикла "for…", в круглых скобках компьютеру сообщается информация о переменной x (ее еще называют индексом или параметром цикла). Инструкция x=1 - указывает на присвоение начального значения переменной, инструкция x<=30 указывает, что расчет в цикле следует повторять до тех пор, пока выполняется данное условие. И последняя инструкция сообщает о приращении переменной x на единицу после каждого повтора цикла.

В данной инструкции используется оператор инкремента "++". Инкремент - это увеличение определенной переменной на единицу. Если оператор инкремента расположен слева от переменной, то ее значение увеличится на единицу еще до выполнения соответствующей инструкции. Если же оператор инкремента "++" расположен справа от переменной, то ее значение увеличится на единицу после выполнения соответствующей инструкции. Аналогичным образом действует оператор декремента "- -", только он не добавляет, а отнимает единицу.

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

Второй вариант решения представленной выше задачи выглядит так:

#include <stdio.h>  /*1*/

#include <conio.h>  /*2*/

#include <math.h>  /*3*/

main()   /*4*/

{    /*5*/

clrscr();   /*6*/

float y = 0.0, x = 1.0;  /*7*/

do    /*8*/

  { y=y+1.0/x-sqrt(x); /*9*/

    x=x+1; }   /*10*/

while (x<=30);  /*11*/

printf("y = %f",y);  /*12*/

return 0;   /*13*/

}    /*14*/

В 7 строке данной программы вещественным переменным у и x присваиваются стартовые значения. В 8 - 11 строчках используется цикл "do…while". Структура цикла показана на рис.1. Тело цикла, если оно включает в себя более одной инструкции, заключается в фигурные скобки, что справедливо и для ранее рассматриваемого случая.

На примере нашей задачи рассмотрим третий вариант организации цикла в Си:

#include <stdio.h>  /*1*/

#include <conio.h>  /*2*/

#include <math.h>  /*3*/

main()   /*4*/

{    /*5*/

clrscr();   /*6*/

float y = 0.0, x = 1.0; /*7*/

while(x<=30)  /*8*/

  { y=y+1.0/x-sqrt(x); /*9*/

    x=x+1; }   /*10*/

printf("y = %f",y);  /*11*/

return 0;   /*12*/

}    /*14*/

Здесь используется цикл "while…". Этот цикл (рис. 2) применяется в том случае, когда не известно точное число повторов и при этом нет необходимости, чтобы цикл был выполнен хотя бы один раз. Так же, как и цикл "dowhile", цикл "while…" выполняется до тех пор, пока является истинным условие, но в отличие от упомянутого цикла условие проверяется до начала выполнения цикла, даже если цикл выполняется первый раз. Если условие окажется ложным, цикл не будет выполнен ни разу.

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

Чтобы сделать это, нужно воспользоваться вложенными циклами так, как показано ниже:

#include <stdio.h>    /*1*/

#include <conio.h>    /*2*/

#include <math.h>    /*3*/

main()     /*4*/

{      /*5*/

clrscr();     /*6*/

int i,j,k;     /*7*/

float y = 0.0;    /*8*/

for(i=1;i<=5;i++)    /*9*/

   for(j=1;j<=10;j++)    /*10*/

      for(k=1;k<=15;k++)   /*11*/

      y=y+pow(i,2)+pow(j,2)+pow(k,2);  /*12*/

printf("y = %f",y);    /*13*/

return 0;     /*14*/

}      /*15*/

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

III. Заключительное задание второй лабораторной работы имеет вид текстовой задачи. Характерный пример такой задачи можно сформулировать так: требуется рассчитать сумму натуральных логарифмов чисел, кратных 6, из промежутка от 1001 до 1100. Как решать эту и подобные ей задачи ? А вот как…

#include <stdio.h>  /*1*/

#include <conio.h>  /*2*/

#include <math.h>  /*3*/

main()   /*4*/

{    /*5*/

clrscr();   /*6*/

int i;   /*7*/

float y = 0.0;  /*8*/

for(i=1001;i<=1100;i++) /*9*/

 if (i % 6 = = 0) y=y+log(i); /*10*/

printf("y = %f",y);  /*11*/

return 0;   /*12*/

}    /*14*/

В программе (строка 10) мы воспользовались оператором условия. Полная конструкция этого оператора показана на рис. 3. Оператор "if" обычно применяется тогда, когда в зависимости от истинности некоего условия необходимо решить, должна ли быть выполнена та или иная инструкция. Эту запись дословно можно перевести: "Если некоторое условие выполняется, инструкция должна быть выполнена". Когда условие не выполняется, компьютер реализует инструкции, расположенные после ключевого слова "else" (дословно переводится как "иначе"). В том случае, когда вторая часть оператора условия с ключевым словом "else"опущена, это значит, что он используется в краткой форме, а именно: если условие ложно, компьютер пропустит инструкцию, записанную после слова "if", и перейдет к следующим строчкам программы. Условие в скобках записывается с помощью операторов отношения (табл. 3).

Кроме того, в этой же 10 строке используется арифметический оператор "%", определяющий остаток от деления переменной i на 6. Таким образом, задавая условие "i % 6 = =0", мы задаем условие кратности переменной i шести.

Задание к лабораторной работе № 2

Вычислить сумму

I-1                                                     I-2    

I-3       I-4    

I-5        I-6    

I-7         I-8    

I-9        I-10    

Составить программу расчета следующей суммы

II-1                      II-2    

II-3               II-4    

II-5    

II-6    

II-7                                II-8    

II-9                           II-10    

Вычислить:

III-1 произведение чисел, кратных трем, из промежутка от 5 до 25;

III-2 произведение чисел, кратных четырем, из промежутка от 3 до 43;

III-3 произведение чисел, кратных пяти, из промежутка от 1 до 61;

III-4 произведение чисел, кратных шести, из промежутка от 4 до 91;

III-5 произведение чисел, кратных семи, из промежутка от 5 до 100;

III-6 произведение чисел, кратных восьми, из промежутка от 3 до 90;

III-7 сумму синусов чисел, кратных 12, из промежутка от 100 до 200;

III-8 сумму косинусов чисел, кратных 13, из промежутка от 200 до 300;

III-9 сумму тангенсов чисел, кратных 14, из промежутка от 300 до 400;

III-10 сумму натуральных логарифмов чисел, кратных 15, из промежутка от 400 до 500.

Лабораторная работа № 3

Программирование задач с использованием операторов управления

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

Аналоги решения задач

I. Пусть функция у зависит от аргумента x следующим образом:

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

#include <stdio.h>      /*1*/

#include <conio.h>      /*2*/

#include <math.h>      /*3*/

main()       /*4*/

{        /*5*/

    clrscr();       /*6*/

    float y = 0.0, x;       /*7*/

    puts("Пожалуйста, введите значение переменной x"); /*8*/

    scanf(" %f ", &x);      /*9*/

    if (x<-20) goto m10;      /*10*/

    if (x>=-20 && x<20) goto m12;     /*11*/

    if (x>20) goto m14;      /*12*/

 printf("Значение аргумента x вне области определения"); goto m22; /*13*/

m10: y=sin(cos(x)); goto m20;     /*14*/

m12: y=cos(sin(x)); goto m20;     /*15*/

m14: y=log(sqrt(x));      /*16*/

m20: printf("y = %f",y);      /*17*/

m22: return 0;       /*18*/

}        /*19*/

В 8 строке программы используется функция вывода символьной информации на экран, а в 9 строке - расположена функция ввода информации в память компьютера. Внешне ее действие сходно с функцией "printf…". В частности, в кавычках указывается формат вводимых данных, а после запятой сами данные. Символ "&" называется оператором получения адреса. Он указывает Си, что Вас в настоящий момент интересует адрес элемента памяти, где зарезервировано место для переменной, а не значение переменной, хранящейся в этом элементе.

В 10, 11, 12 строчках программы используются условные операторы, записанные в краткой форме и имеющие в своем составе операторы безусловного перехода "goto …". Назначение оператора "goto …" - указать с помощью метки, как должна развиваться программа. Например, дословно инструкцию в 10 строке можно интерпретировать так: "Если x<-20 перейти на метку m10".

Следует отметить применение в 11 строке оператора "&&", обозначающего логическое "И", т.е. условие, записанное в круглых скобках, означает, что значение x должно быть больше или равно -20 и в тоже время меньше 20. Кроме того, существуют и другие логические операторы: "ИЛИ" - "||" и "ОТРИЦАНИЕ" - "!".

Можно решить рассматриваемую задачу альтернативным способом:

#include <stdio.h>

#include <conio.h>

#include <math.h>

main()

{

    clrscr();

    float y = 0.0, x;

    puts("Пожалуйста, введите значение переменной x");

    scanf("%f", &x);

    if (x<-20) { y=sin(cos(x)); goto m10; };

    if (x>=-20 && x<20) { y=cos(sin(x)); goto m10; };

    if (x>20) { y=log(sqrt(x)); goto m10; };

    printf("Значение аргумента х вне области определения"); goto m22;

m10: printf("y = %f",y);

m22: return 0;

}

II. Следующее задание имеет много общего с предыдущим. Решим наиболее характерное: по заданным координатам точки М определить принадлежит ли она фигуре, которая задана уравнениями:

Чтобы решить эту задачу, нужно, во-первых, построить на координатной плоскости заданную фигуру (в нашем случае это квадрат). А собственно в программе необходимо осуществить ввод координат точки М, затем, используя условный оператор, логически структурировать задачу:

#include <stdio.h>

#include <conio.h>

#include <math.h>

main()

{

clrscr();

 float y , x;

puts("Пожалуйста, введите координаты x и y точки М");

 scanf("%f %f", &x,&y);

if (x<=4 && x>-4 && y<=4 && y>=-4)

   printf("Точка М принадлежит заданной фигуре");

else

   printf("Точка М не принадлежит заданной фигуре");

return 0;

}

III. Работа с одномерными массивами. Задача: в массиве, состоящем из чисел 85, 74, 90, 5, 18, 94, 35, найти максимальный элемент.

Прежде всего, необходимо сказать, что массив - это упорядоченная структура однотипных данных, хранящаяся последовательно. Массив имеет размеры, определяющие сколько элементов хранится в данной структуре. Любой элемент в массиве имеет свой индекс. Для определения массива необходимо указать типы значений, которые он содержит, и максимальное количество элементов, которое в него может быть записано. Например, для того, чтобы создать массив, содержащий 31 целое число, надо написать определение: "int mmmm[31];". Массив определяют так же, как и другие переменные, - перед main(), если хотят создать внешний массив, доступный для всех функций, и внутри main(), когда хотят определить массив, использующийся внутри этой функции. Нумерация элементов массива начинается с 0 и этим можно пользоваться. Если массив определен, в него можно вводить информацию. Начальные значения элементам массива можно присвоить при его определении: Int LLLL[7]={85, 74, 90, 5, 18, 94, 35}    .

Однако, вернемся к задаче. Ее решение можно представить в виде программы:

#include <stdio.h>

#include <conio.h>

#include <math.h>

int max,i,A[7]={85,74,90,5,18,94,35};

main()

{

clrscr(); max=A[1];

for(i=1;i<7;i++)

if (A[i]>max) max=A[i];

printf("max=%d", max);

return 0;

}

Аналогично решается обратная задача, когда требуется найти минимальный элемент массива. Единственное, что необходимо сделать - это изменить оператор отношения на противоположный в условии.

Таким образом, краткий обзор основных средств Си/Си++, необходимых для программирования простейших задач, закончен. Приступайте к работе…

Задание к лабораторной работе № 3

Составить программу расчета функции y, заданной следующим образом:

I-1      ;             I-2     ;

I-3      ;  I-4      ;

I-5  ;           I-6  ;

I-7      ;

I-8      ;

I-9     ;

I-10       .

Составить программу, которая позволит по координатам точки М определить принадлежит ли она фигуре, заданной уравнениями:

II-1    

II-2    

II-3    

II-4    

II-5    

II-6    

II-7    

II-8    

II-9    

II-10    

Найти максимальный элемент в массиве:

III-1    23, 33, 93, 54, 7, 96, 59, 58;

III-2    68, 87, 69, 93, 33, 42;

III-3    47, 20, 59, 13, 10, 17, 13, 93, 91

III-4    70, 82, 60, 92, 10, 47, 81

III-5    96, 2, 6, 53, 54, 71, 41, 70,78

Найти минимальный элемент в массиве:

III-6    3, 61, 80, 57, 16, 56, 15

III-7    60, 92, 10, 47, 81, 96, 10, 5, 2

III-8    2, 6, 53, 54, 71, 41, 70

III-9    78, 3, 61, 17, 91, 19, -14, 14

III-10    6, 49, 5, 17, 9, 5, 99, 0

Список рекомендуемой литературы

  1.  Белецкий Я. Энциклопедия языка Си / Перевод с польского канд. техн. наук А.Д. Плитмана, канд. техн. наук М.Ю. Рачкова, А.В. Стрельцова. – М.: Мир, 1992. – 686 с.
  2.  Нейбауэр А. Моя первая программа на С/C++ / Перевод с англ. Н. Мигаловская. - СПб: Питер, 1995. - 368 с.: ил.
  3.  Секреты программирования игр / А. Ла Мот, Д. Ратклифф, М. Семинаторе, Д. Тайлер // Перевод с англ. С. Сокорнова, А. Евдокимов, М. Погребняк. - СПб: Питер, 1995. - 720 с.: ил.


Do

{

}

while (condition);

instruction;

instruction;

Выполнять данные инструкции,

пока данное условие

является истинным.

ис.1. Структура цикла "do…while"

while (condition);

{

}

instruction;

instruction;

Пока является истинным это условие,

выполнять эти инструкции

Рис. 2. Структура цикла " while…"

Табл. 3

Операторы отношения  

Оператор

Значение

= =

Равно

>

Больше

<

Меньше

> =

Больше или равно

< =

Меньше или равно

! =

Не равно

if (condition);

{

}

else

{

}

instruction;

instruction;

Условие.

Инструкции, которые должны быть выполнены, если условие является истинным.

Рис. 3. Структура оператора " if "

instruction;

instruction;

Инструкции, которые должны быть выполнены, если условие является ложным.


 

А также другие работы, которые могут Вас заинтересовать

46998. Предмет и содержание курса «История Беларуси». Основные подходы к изучению истории 43.26 KB
  Кроме пашни древнее население Беларуси имело огороды и сады . 4 Экономическое развитие и социальные отношения в Беларуси в 1416 вв. На территории Беларуси продолжается процесс формирования и совершенствования феодальных отношений.
47000. Защитное заземление 43.35 KB
  Защитное заземление (рис. 6) - это преднамеренное электросоединение металлических нетоковедущих частей ЭУ или другого электрооборудования (ЭО), которые могут оказаться под U, с заземляющим устройством (ЗУ). Его применяют в электросетях с изолированной нейтралью U до 1 кВ
47003. Причины первой мировой войны 43.5 KB
  Покровский Стремившийся доказать что царская Россия есть главная виновница войны Покровский в то же время признавал что в основе международных противоречий вызвавших империалистическую войну лежал англогерманский конфликт за которым по значению следовал германофранцузский. Гуч в книге Накануне войны вышедшей в 1938 г. предпринял попытку доказать что возникновение войны в 1914 г.