- •Тригонометрические: аргумент измеряется в радианах
- •Глава 1......................................3
- •Глава 2.................................….15
- •Объявление переменных в программе.
- •Основные типы переменных
- •Присваивание значений переменным
- •Ввод с клавиатуры.
- •Основные операции
- •Операции отношения и логические операции.
- •Условный оператор.
- •Оператор выбора switch.
- •Цикл while
- •Void main(void)
- •Void main(void)
- •Void main (void)
- •Оператор do while.
- •Void main(void)
- •Void main (void)
- •Оператор цикла for
- •Использование операторов break и continue
- •Void main(void)
- •Void main(void)
- •Оператор безусловного перехода goto.
- •Массивы
- •Void main(void)
- •Void main ( )
- •Void main ( )
- •Вложенные циклы.
- •Void main ( )
- •Void main(void)
- •Int a[10][10], I, j, n, m, kol, sum; float sr;
- •Void main(void)
- •Указатели.
- •Void main(void)
- •Void main(void)
- •Void main(void)
- •Функции.
- •Void show(void)
- •Void main(void)
- •Void show_number ( int a)
- •Void main(void)
- •Void main(void)
- •Область действий переменной.
- •Void func(void); //прототип функции
- •Void main(void)
- •Void func(void)
- •Void show(int a) // локальная переменная а
- •Void main(void)
- •Int step3(int a)
- •Void main ()
- •Void main ()
- •Параметры по значению и параметры по ссылке.
- •Void swap (int &a, int &b)
- •Void main (void)
- •Перегрузка функций
- •Void main (void)
Void show(int a) // локальная переменная а
{
cout << локальная переменная а= << a << endl;
cout << глобальная переменная а= << ::a << endl;
}
Void main(void)
{
int b=2002;
show(b);
}
результат:
локальная переменная а=2002
глобальная переменная а=1001
Модификаторы переменных.
В языке С имеется несколько модификаторов, которые изменяют область действия и время жизни переменных.
Модификатор |
применение |
область действия |
выделение памяти |
объяснение |
auto |
локальная переменная |
блок |
временное |
для локальных переменных применяется по умолчанию |
register |
локальная переменная |
блок |
временное |
предполагается, что переменная располагается в машинном регистре |
extern |
|
блок |
|
информирует компилятор, что переменная определяется в другом блоке |
static |
локальная переменная |
блок |
постоянное |
область действия соответствует локальной переменной, а время жизни -глобальной |
static |
глобальная переменная |
файл |
постоянное |
ограничивает область действия глобальной переменной текущим файлом |
Пример №7: определить, сколько целых чисел в интервале от 1 до 500 являются степенью цифры 3.
27=33, 81=34
#include <iostream.h>
#include <math.h>
Int step3(int a)
{
if (pow(а, 1./3.)==int(pow(а, 1./3.))) return 1;
return 0;
}
Void main ()
{ int i, kol=0;
for (i=1; i<=500; i++)
if (step3(i) != 0)
{cout << setw(5)<<i; kol++;}
cout << kol-1 << “чисел – степени тройки”;
}
Пример
№8. Вычислить f(x,y)+f(x-y,x/y),
где
#include <iostream.h>
#include <math.h>
float f(float a, float b) //a, b формальные параметры
{
float f= fabs(a+b)/(a*b);return f; } // f локальный параметр
Void main ()
{ float x, y, z; //x, y, z локальные параметры
cout << “введите два числа”;cin>>x>>y;
z=f(x,y)+f(x-y,x/y);
cout<<z;
}
Параметры по значению и параметры по ссылке.
Стек – это область памяти для временного хранения данных. При вызове функции в стеке выделяется место для формальных параметров, затем в это выделенное место заносятся фактические параметры. Функция использует и меняет значения в стеке, но при выходе из функции измененные значения параметров теряются. Т. е. функция не может изменить переменные, указанные в качестве фактических параметров при обращении к ней.
Если при вызове функции в качестве ее параметров используются имена переменных, то такие параметры передаются в функцию по значению, и функция не может изменить значение параметров. Для того, чтобы функция могла изменять свои параметры, надо передавать в качестве параметра не имя переменной, а ее адрес. Такой прием называется передачей параметров по ссылке. Внутри функции параметры используются как указатели.
Пример. Функция swap служит для перемены мест аргументов. В первой функции используются параметры по значению, во второй параметры по ссылке.
#include <iostream. h>
void swap1 (int a, int b);
void swap2 (int *a, int *b);
void main(void)
{
int x=5, y=10;
cout << x= << x << y= << y << endl;
swap1 (x, y);
cout << x= << x << y= << y << endl;
swap2 (&x, &y); // в функцию передаются адреса переменных
cout << x= << x << y= << y << endl;
}
void swap1 (int a, int b)
{
int x; //в теле функции а и в меняются местами
x=a; a=b; b=x;
}
void swap2 (int *a, int *b)
{
int x;
x=*a; *a=*b; *b=x;
}
результат:
x=5 y=10
x=5 y=10
x=10 y=5
Следовательно, при вызове функции можно передать адрес параметра с помощью операции &, внутри функции в заголовке ставится * перед переменной, и далее в функции также ставится * перед именем переменой. Для изменения параметров функцией можно также использовать ссылки. Ссылка представляет собой второе имя переменной (псевдоним). Перед ссылкой ставится знак &. Ссылку необходимо инициализировать:
<тип> &<второе имя переменной>=<первое имя переменной >;
float &a=b;
В программе можно использовать как само имя переменной, так и ссылку на нее. Ссылки могут использоваться в качестве параметров функций. Функция может изменять значение такого параметра без использования указателей.
Пример:
#include <iostream. h>
