- •Введение
- •Глава 1. Основы.
- •Int main()
- •1.2. Методика создания программ в Microsoft Visual Studio.
- •Void main(){
- •1.3. Ввод-вывод.
- •1.4. Переменные и константы.
- •Int I; // объявление целочисленной переменной
- •42 // Десятичная константа
- •0X42 // шестнадцатеричная константа, начинается с 0х
- •042 // Восьмеричная константа, начинается с 0
- •1.5. Арифметические операции.
- •Void main()
- •1.6. Встроенные функции. Математические функции. Состав math.H.
- •Void main()
- •Int rand(void); // функция используется без аргумента
- •Глава 2. Операторы и выражения.
- •2.1. Логические выражения и операторы
- •2.1.1. Оператор if else
- •If (условие)
- •If (условие)
- •2.1.2. Конструкция if else if
- •Int number;
- •Int number;
- •2.1.3. Условный оператор.
- •2.1.4. Оператор switch.
- •Int dvalue;
- •2.2. Операторы цикла.
- •2.2.1. Оператор for
- •Void main()
- •Int I; // создаем переменную цикла
- •Void main()
- •Int I; // переменную цикла можно определить и вне цикла
- •2.2.2. Изменение шага цикла
- •Void main()
- •2.2.3. Цикл while.
- •2.2.4. Цикл do while
- •Void main()
- •2.3. Операторы break и continue
- •Void main()
- •Void main()
- •2.4. Типичные ошибки при использовании операторов цикла
- •Глава 3. Производные типы данных.
- •3.1. Ссылки и указатели.
- •Int test; // объявили целочисленную переменную
- •Int & s_test; // ошибка! ссылка не связана с переменной
- •Int *p1; // объявлен указатель на целое с именем p1
- •3.2. Массивы и строки.
- •Int z[10]; //массив из 10 целых чисел
- •Int ar[3]; // объявлен целочисленный массив из 3 элементов
- •Int varr[4]; // объявление массива
- •3.2.2. Многомерные массивы.
- •Int z[3][4]; //массив из 12 целых чисел
- •3.2.3. Строки
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •If(strstr(st,st2)) //если подстрока встречается, выводим
- •3.1.5. Динамическое определение одномерных массивов.
- •3.1.6. Динамические двумерные массивы.
- •3.1.7. Указатели, массивы и арифметика указателей.
- •Int tacs[3];
- •Void main()
- •3.2. Структуры
- •Int age; // элементы структуры
- •Int hours;
- •Int mins;
- •Void main()
- •Int hours;
- •Int mins;
- •Void main()
- •4. Функции, определяемые пользователем
- •4.1. Объявление и определение функции
- •Int max(int , int ); // в прототипе достаточно указать только тип и
- •Void main() {
- •Int MyRand(){
- •Int func(){ return 1;} // правильное выражение
- •Int func2(){return 0.146;} // неправильно, 0.146 преобразуется к int с
- •Void swap(int p, int q)
- •Int bigger(int a,int b)
- •4.2. Передача параметров функций
- •5. Заголовочные файлы.
- •6. Работа с файлами
- •6.1 Простой файловый ввод/вывод
- •6.2 Тонкости работы с файлами
- •7.1. Определение классов.
- •Void main()
- •7.2. Как объявлять функции класса?
- •7.3. Конструкторы и деструкторы классов.
- •8. Графика OpenGl.
- •Void callback Draw()
- •Void main()
- •8.1. Создание анимации с помощью библиотеки xgl
- •Приложения Управление выводом
- •Управление шириной вывода
1.6. Встроенные функции. Математические функции. Состав math.H.
Стандартный язык С++ имеет обширную библиотеку полезных функций. Для использования такой встроенной функции следует только корректно ее вызвать. Рассмотрим пример – вычисление квадратного корня:
#include <math.h> // заголовочный файл с прототипами матем. функций
#include <iostream.h>
Void main()
{
double x, y=10.25;
x = sqrt(y); // x – переменная которой присваивают значение
// у – аргумент (информация, передаваемая функции)
cout<<” x= ”<<x;
}
Здесь: sqrt – имя функции, в скобках – аргумент функции. Важно, чтобы тип возвращаемого значения функции соответствовал типу переменной х, а тип ее аргумента – типу переменной y. Сведения об этом передаются компилятору посредством прототипа1 функции. Прототип функции sqrt( ) – выражение вида
double sqrt(double);
Первое double означает, что функция sqrt( ) возвращает значение типа double, а второе double в круглых скобках означает, что функции требуется аргумент типа double.
Перед применением функции в программу следует включить ее прототип. Прототип функции sqrt, как и других встроенных математических функций, описаны в заголовочном файле math.h, поэтому для использования встроенных математических функций в программу следует включить заголовочный файл math.h. Все встроенные математические функции, за исключением abs( ), labs( ) могут принимать и возвращать значения типа float, long, double.
Ниже приводятся прототипы элементарных математических функций и краткие комментарии по их использованию.
Тригонометрические и обратные тригонометрические функции
Значение аргумента (угла) тригонометрических функций должно быть выражено в радианах. Обратные тригонометрические функции возвращают значение угла, выраженное в радианах.
double sin(double arg); // синус от аргумента arg.
double cos(double arg); // косинус от аргумента arg.
double tan(double arg); // тангенс от аргумента arg.
double acos(double arg); // арккосинус от аргумента arg. Значение аргумента
// должно находиться в диапазоне от -1 до 1.
double asin(double arg); // арксинус от аргумента arg. Значение аргумента
// должно находиться в диапазоне от -1 до 1.
double atan(double arg); // стандартная функция арктангенса. Возвращаемый
//
угол расположен в диапазоне [
].
double atan2(double y, double x); // возвращает значение арктангенса от
// выражения y/x.Угол определен в диапазоне
// от [0, 2].
Гиперболические функции
double sinh(double arg); // гиперболический синус.
duble cosh(double arg); // гиперболический косинус.
double tanh(double arg); // гиперболический тангенс.
Экспоненциальная и логарифмические функции
duble exp(double arg); // экспонента от аргумента arg. (число e
// в степени arg).
double log(double arg); // натуральный логарифм от аргумента arg.
// Значение arg должно быт строго больше нуля //(arg>0).
double log10(double arg); // десятичный логарифм. Значение arg строго
// больше нуля.
Возведение в степень, извлечение корня.
double pow(double base, doble n);
double pow(double base, int n); //Возвращает значение аргумента base
//которое возведено в степень n.
//Если base равно нулю, а n меньше или равно
//нулю возможна ошибка. Также если base
//отрицательно, а n не целое, возможна ошибка.
double sqrt(double arg); // Возвращает значение квадратного корня от
//аргумента arg.
// Значение arg должно быть больше нуля.
Другие элементарные функции
int abs(int num); // абсолютное значение целого числа. Тип аргумента – int.
long labs(long arg); // абсолютное значение целочисленной переменной
// типа long.
double fabs(double arg); // абсолютное значение вещественного числа double fmod(double x, double y); // остаток от деления х/у.
У студентов и преподавателей популярностью пользуется еще одна функция – rand(), которая возвращает случайные целые числа, равномерно распределенные от 0 до значения, задаваемого константой RAND_MAX. Прототип функции:
