Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции / lect4.doc
Скачиваний:
7
Добавлен:
20.05.2014
Размер:
75.78 Кб
Скачать

4.3 Операции и стандартные функции

Основные операции имеют вид

+ - * / %

Операция % означает остаток от деления целых чисел, например,

13%5 = 3, 70%7 = 0 ,

т.е. это другое деление – деление с остатком.

Процессор "умеет" выполнять операции только с переменными одного типа.

При этом действия с целыми числами выполняются точно, с вещественными -

приближенно. В вещественных числах обычно учитывается 7 или более значащих

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

Из этих правил должна быть ясна опасность применения операции деления в

Си и в С++. Целое на целое даёт целое! Например,

9/10=0; 9./10.=0.9; 9./10=0.9; 9/10.=0.9,

т.к. только операции с целыми числами дают целое. В случае, когда в операции

участвуют как целые, так и вещественные числа, она выполняется с

вещественными числами, т.е. перед операцией целые преобразуются в

вещественные.

Отметим, что число 0.9 можно записывать как .9 , т.е. ноль подразумевается.

Основные стандартные математические функции имеют следующие обозначения:

ехр, sqrt, log, log10, abs, fabs, floor, ceil,

sin, cos, tan, asin, acоs, atan, atan2,

sinh, cosh, tanh, rand, pow .

Последняя функция pow (x,a) означает возведение x в степень a (“power=cтепень”).

Функция abs используется для целых чисел, fabs – для вещественных.

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

exp (x), sin (x + 2), abs (a-b), int (x), pow (z,b), asin ( cos(p)).

Значения стандартных функций вычисляются с двойной точностью

с применением точных и эффективных алгоритмов.

Краткое описание этих функций можно найти в файле \Include\math.h

или по имени функции с помощью клавиши F1. В начале файла math.h есть

также значения известных математических констант (например, π, π/2 )

с 20 значащими цифрами, а также обозначения для них ( M_PI, M_PI_2 для π, π/2).

Эти обозначения можно использовать в программе, если подключен файл <math.h>.

4.4 Структура простой программы

Любая программа на С++ состоит из подпрограмм. Подпрограмм обычно

очень много и каждая имеет небольшой размер. Каждой подпрограмме

соответствует определенный алгоритм. Тексты этих подпрограмм

записываются последовательно и в любом порядке. Каждая

подпрограмма имеет заголовок. Если в других языках существуют подпрограммы

нескольких видов, например, подпрограммы-процедуры и подпрограммы-функции,

то в С++ все подпрограммы являются подпрограммами-функциями.

Заголовком каждой подпрограммы является имя функции, выбранное

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

myfnct ( a, b, x )

Одна из функций программы должна обязательно называться main,

т.к. с неё начинается выполнение программы, т.е. это главная, иначе основная,

функция. Следовательно, если программа состоит из одной функции ( а такими

могут быть только учебные задачи), то она должна иметь заголовок

void main ( ) или void main ( void ) (4.1)

В специальных случаях в скобках после имени main могут присутствовать

параметры. Слово void (“пустая”) присутствует не всегда. В скобках оно

указывает на отсутствие аргументов. Если оно есть перед main, то

функция main после её вызова операционной системой не возвращает

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

Обе формы в (4.1) работают одинаково.

Заголовку первой подпрограммы обычно предшествуют команды препроцессора.

Эти команды начинаются с символа # (решетка, диез) в каждой строке.

Препроцессор - это программа, которая просматривает текст до компилятора,

т.е. препроцессор можно считать помощником компилятора. Наиболее часто

применяются команды #include и #define, но рассмотрим здесь только первую.

Команда #include нужна для подключения используемых библиотек.

Строка с этой командой заменяется текстом из указанного файла.

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

Если имя файла заключается в угловые скобки, а не в кавычки,

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

текущей (рабочей) папки. Например, команды

#include <math.h>

#include <iostream.h>

необходимы для подключения стандартных библиотек математических функций

и потоков ввода-вывода. Слово i-o-stream соответствует трем словам:

input = ввод, output = вывод, stream = поток.

Расширение .h в имени файла означает заголовочные файлы и соответствует

слову heading, т.е. заголовок,заглавие. Указанные в командах заголовочные файлы можно посмотреть в папке INCLUDE системы С++ . Они содержат заголовки используемых в программе стандартных функций и необходимы компилятору для проверки правильности их вызова программистом. Расширение .h часто опускается.

Сами стандартные функции хранятся в объектном виде ( .lib ) в папке LIB

и подключаются к программе только на этапе компоновки, т.е. линковки, сборки.

Все ключевые слова языка С++, например, include, main,

записываются строчными буквами.

Комментарии в тексте начинаются с символов двух косых черт //

Возможна и другая форма, принятая в языке Си:

/* текст */

Текст комментариев может состоять из любого количества символов или строк.

В С++ широко используются фигурные скобки.

Одно из их применений - это обозначение начала и конца любой подпрограммы,

т.е. функции. Открывающая фигурная скобка ставится в начале текста функции,

а закрывающая завершает его.

Структуру простой программы, состоящей только из главной функции,

условно покажем следующим образом:

// путь\ имяфайла .cpp – это расположение и имя файла с программой

#include . . . . . .

. . . . .

#include . . . . . .

void main ( ) {

. . . . .

}

Все операторы записываются внутри фигурных скобок и пока мы рассмотрели

только один из многих – оператор описания переменных.

Каждый оператор внутри фигурных скобок завершается символом

точки с запятой.

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

заголовком и открывающей фигурной, но это рассмотрим позже в лекции .

Контрольная работа. Задача 5.

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

int a, b ; float r ;

a =.9 ; b = a + .9 ;

r = 9 / 10 + 9. / 10 + a ;

cout << a<<endl; cout << b<<endl; cout << r<<endl;

cout << sizeof (9e0)<<endl;

Привести копию окна вывода. Отметка = 5 – количество ошибок.

Соседние файлы в папке Лекции