Реферат: Язык программирования С

💣 👉🏻👉🏻👉🏻 ВСЯ ИНФОРМАЦИЯ ДОСТУПНА ЗДЕСЬ ЖМИТЕ 👈🏻👈🏻👈🏻
Ò Каждая подпрограмма имеет структуру, подобную функции main();
Ò Каждая программа содержит одну или несколько функций;
Ò Каждая функция содержит 4 основных элемента:
3. список параметров, {return 0;} -
- эта строка значит " вернуть операционной системе в качестве сигнала об
успешном завершении программы значение 0
".
#include ; // директива процессора, предназначена для включения в исходный текст содержимое заголовочного файла, имя которого
<
iostream
>
, содержащий описания функций стандартной библиотеки ввода/вывода для работы с клавиатурой и экраном.
using namespace stg; //
директива означ.что все определённые ниже имена будут отн-ся к пространству имён
std
Int main() // имя функции,кот.не содержит параметров и должна возвращать значение типа
Int
{Int a,b; // объявление двух переменных типа
Int
-
целый тип
cout <<”введите два целых числа”<>a >>b; // оператор ввода данных с клавиатуры,
>> -
операция для извлечения данных из выходного потока, читает значения из
cin
и сохр. их в переменных.
cout >>”их сумма равна”<]const <тип> <имя именован-ой константы>=<выражение>;
Класс памяти-
это спецификатор, определяющий время жизни и область видимости данного объекта.
Выражение
, определяет значение именованной константы, т.е инициализирует её.
[<
класс памяти
>]<
тип
><
имя
>[=<
выражение
>
| (<
выражение
>)];
Значение переменных должно быть определено с помощью:
1. оператора присваивания: int a; //
описание переменной
int= a; //
опред.значения.переменной
2. оператора ввода: int a; //
описание переменной
3. инициализация – опред.значения переменной на этом этапе описания.
int i (100); // прямая инициализация
Сущ.три аспекта оформления значения с плавающей запятой которыми можно управлять:
- точность
( кол-во отображаемых цифр), изменяется с помощью манипулятора setprecisio
n;
- форма записи
(десятичная или экспонец-ая);
- указание десятичной точки для значения с пл.запятой, являющихся целыми числами .
- #include Результат работы программы:
- cout << setprecision(3)<,
>=,
==
!=)
, меньше, меньше или равно, больше, больше или равно,
равно, не равно, не равно соответственно).
Результатом операций являются значения
true, false
.
И (
&&
)
-
возвращает значение истина тогда и только тогда, когда оба операнда принимают значение истина, в пр
отивном случае операция возращ.знач.ложь.
ИЛИ || - возвращает знач.истина тогда и.т.тогда, когда хотя бы один операнд принимает значение истина, в противном случае –ложь
- логические операции выполняются слева направо;
- приоритет операции
&&
выше
||.
cout <<“0\t 1\t”<<(0 && 1)<<‘\t’<<(0||1)endl;
cout <<‘0\t 1\t’<<(0 && 1)<<\t’<< (0||1)endl;
cout <<‘1\t 0\t’<<(1 && 0)<<‘\t’<<(1||0)endl;
cout <<‘1\t 1\t’<<(1 && 1)<<‘\t’<<(1||1)endl;
Ò формат операция простого присваивания (=):
пример
: a=b=c=100, это выражение выполняется справа налево, результатом выполнения с=100, является число 100, которое затем присвоиться переменной b, потом а.
Ò (%= )- остаток от деления с присв-ем,
Ò пример
:
к операнду _1 прибавляется операнд_2 и результат записывается в операнд_2
Ò т.е
. с = с + а, тогда компактная запись с += а
Ò Формат условной операции: операнд_1 ? операнд_2 ? : операнд_3
Ò Операнд_1 это логическое или арифметич-ое выражение;
Ò Оценивается с точки зрения эквивалентности константам true и false;
Ò Если результат вычисления операнда_1 равен true,то результат условной операции будет значение операнда_2, иначе операнда_3;
Ò Условная операция является сокращ. формой услов-го оператора if;
(x>y)? cout <y)? x:y; //2 чения для двух целых чисел;
Ò (t*sin(x)-1,05e4)/((2*k+2)*(2*k+3))4;
Ò операции выполняются в соответствии с приоритетом;
Ò если в одном выражении имеются неск.операций одинаково приоритета, то унарные операции выполняются- справа
Ò налево
, остальные – слева направо
Ò в выражения могут входить операнды различных типов;
Ò при одинаковом типе операндов, результат будет им.тот же тип;
Ò если разного типа операнды, то операнд с более «низким» типом будет преобразован к более «высокому» типу
для сохранения значимости и точности:
1.Составить программу, которая для заданного значения х вычисляет значения выражения:
Х 2
+sin (x+1)/25, c учётом приоритета операций в с++:
2.Написать программу, подсчитывающую площадь квадрата, периметр которого равен p.
Пусть дан квадрат со стороны а
, тогда: p
= 4a
, а =
p/4……
Ò Программа на языке С++ состоит из последовательности операторов, каждый из них определяет значение некоторого действия;
Ò Все операторы разделены на 4 группы:
Ò К ним отн-ся : оператор выражение
и
составной оператор.
Ò Выражение
,
завершающееся точкой с запятой, рассматривается как оператор (вычислении значения выражения или выполнении законченного действия);
х+=у
; //оператор сложение с присваиванием
x
=
max (a
,
b
)
+
a
*
b
;
//вычисление сложного выражения
Ò Частным случаем оператора выражения является пустой оператор
;
(используется, когда по синтаксису оператор требуется, а по смыслу — нет)
Ò Составной оператор
или блок
представляет собой последоват-ть операторов, заключенных в фигурные скобки.
Ò Блок обладает собственной
областью видимости:
объявленные внутри блока имена доступны только внутри блока;
Ò Составные операторы применяются в случае, когда правила языка предусматривают наличие только одного оператора, а логика программы требует нескольких операторов.
Ò К ним отн-ся : условный оператор
if
и оператор выбора
switch
,
они
позволяют изменить порядок выполнения операторов в программе ;
Ò if
используется для разветвления процесса обработки данных на два направления.
Ò if имеет формы: сокращенную
или полную.
Ò Формат сокращенного оператора
if
:
if
(В)
S
;
В
–логич. или арифметич. выражение, истинность которого проверяется; S -
один оператор: простой или составной.
Ò При выполнении сокращенной формы оператора if сначала вычисляется выражение В,
затем проводится анализ его результата: если В
истинно, то выполняется оператор S; если В
ложно, то оператор S
пропускается.
Ò C помощью сокращенной формы оператора If можно либо выполнить оператор S, либо пропустить его.
Ò Формат полного оператора
if
:
if
(
B
)
S
1 ;
else
S
2;
SI
,
S
2-
один оператор: простой или составной.
Ò При выполнении полной формы оператора if
сначала вычисляется выражение В,
затем анализируется его результат: если В
истинно, то выполняется оператор S1 а оператор S
2
пропускается; если В
ложно, то выполняется оператор S2, a S
1 -
пропускается.
Ò C помощью полной формы оператора if
можно выбрать одно из двух альтернативных действий процесса обработки данных.
Примеры записи условного оператора if
.
Ò if (a > 0) х=у; // сокращенная форма с простым оператором
Ò if (++i) {x=y; y=2*z;} // сокращенная форма с составным оператором
Ò if (а > 0 |'| b<0) x=y; eise x=z; //полная форма с простым оператором
Ò if (i+j-1) { х= 0; у= 1;} else {x=1; у:=0;} //полная форма с составными операт
Ò Операторы S1 и S2 могут являться операторами if
, такие операторы наз. вложенные
;
Ò Ключевое слово else
связывается с ближайшим предыдущим словом if
,
которое еще не связано ни с одним else
.
Ò Примеры алгоритмов с использованием вложенных условных операторов:
Ò Пример1
Уровни вложенности
If
Пример 2
Уровни вложенности
if
предназначен для разветвления процесса вычислений на несколько направлений.
{
case
<константное_выражение_1>: [<оператор 1>]
case
<константное_выражение_2>: [<оператор 2>]
case
<константное_выражение_
n
>: [<оператор
n
>]
Ò Выражение, стоящее за ключевым словом switch
,
должно иметь арифметич. тип или тип указатель.
Ò Все константные выражения должны иметь разные значения, но совпадать с типом выражения, стоящим после switch.
Ò Ключевое слово case
и расположенное после него константное выражение называют также меткой case
.
Ò Выполнение оператора начинается с вычисления выражения, расположенного за ключевым словом switch
.
Ò Полученный результат сравнивается с меткой case
.
Ò Если результат выражения соответствует метке case
,
то выполняется оператор, стоящий после этой метки.
Ò Затем последовательно выполняются все операторы до конца оператора switch
, если только их выполнение не будет прервано с помощью оператора передачи управления break
Ò При использование оператора break
происходит выход из switch
и управление переходит к первому после него оператору.
Ò Если совпадения выражения ни с одной меткой case
не произошло, то выполняется оператор, стоящий после слова default
,
а при его отсутствии управление передается следующему за switch
оператору.
Ò Пример. Известен порядковый номер дня недели. Вывести на экран его название.
{ case 1: cout <<"понедельник"; break;
Ò Дана точка на плоскости с координатами (х, у).
Ò Составим программу, которая выдает одно из сообщений «Да», «Нет», «На границе» (в зависимости от того, лежит ли точка внутри заштрихованной области, вне заштрихованной области или на ее границе)
Ò Заданная область разбивает всю плоскость на 3 непересекающихся множества точек.
y
Ò I 1
-множество точек, лежащих внутри области;
Ò I 2
-
множество точек, лежащих вне области;
Ò I 3
- множество точек, образующих границу области. 10 x
Ò Точка с координатами (х, у) может принадлежать только одному из них;
Ò Множества I 1
, I 2,
I 3
значительно труднее описать математич-ки, чем интервалы в примере 2,поэтому для проверки выбираются те два множества, которые наиболее просто описать математич-ки.(труднее всего описать точки границы области).
Ò Для рис. 1 множества задаются следующим образом; I
1
:х 2
+ у 2
<10 2
;
I
2
:х 2
+ у 2
>10 2
;
Ò I
1
:х 2
+ у 2
<10 2
;
I
2
:х 2
+ у 2
>10 2
;
if (x*x+y*y< 100) //точки внутри области ?
else if (x*x+y*y>100) //точки вне области?
Ò Множества задаются (для рисунка 2)
:
I 1
: |
х
|<10
и
|y|<5; I 2
: |x| >10
или
|y|>5;
I
3
:(
|х
|
<=10и
у = 5)
или(
|х
|
<=10и
у = -5)
или
(
|
y
|<5и
x
= 10)
или(
|у|<5и
х = -10
).
#include 5 координаты точек
ответ
cout <<“x=“; cin>>x; 10 10 5 на границе
If (fabs(x)<10 && fabs(y)<5) //точки внутри области?
else if (fabs(x)>101 || fabs(y)>5) //точки вне области?
Ò Дан номер фигуры (1- квадрат, 2 - треугольник);
Ò по номеру фигуры запросить необходимые данные для вычисления площади;
Ò прои
звести вычисление площади фигуры и вывести получ-ые данные на экран.
cout << “Программа подсчитывает площадь:\n1. квадрата;\n2. треугольника.\nЗ. выход из программы’’;
cout <<“Укажите номер фигуры или завершите работу с программой.\n”;
{case 1 :{cout <<"введите длину стороны квадрата\n";
if (a>0) cout«"Площадь квадрата со стороной" <<а <<"равна\t <<а*а;
else cout «"Квадрат не существует\n";
case 2: {cout« "введите длины сторон треугольника\n";
{p=(a+b+c)/2; s= sqrt(p*(p-a)*(p-b)*(p-c));
cout <<"Площадь треугольника со сторонами" <;
<
выражение>; <модификации>) <оператор>;
Ò Инициализация
используется для объявления и присвоения начальных значений величинам, используемым в цикле
.
Ò В этой части можно записать несколько операторов, разделенных запятой. Областью действия переменных, объявленных в части инициализации цикла, является цикл и вложенные блоки.
Ò Выражение
определяет условие выполнения цикла:
-
если его результат истинен, цикл выполняется.
Ò Истинность
выражения проверяется перед каждым выполнением тела цикла, таким образом, цикл с параметром реализован как цикл с предусловием.
Ò Модификации
выполняются после каждой итерации цикла и служат обычно для изменения параметров цикла.
Ò В части модификаций можно записать несколько операторов через запятую.
Ò Оператор
(простой или составной) представляет собой тело цикла.
Ò Любая из частей оператора for
(инициализация, выражение, модификация, оператор) может отсутствовать, но точку с запятой, определяющую позицию пропускаемой части, надо оставить.
Ò { intn; cout <<"n="; cin >>n; Результаты работы программы
:
Ò for (int i=1; j<=n; i++)
//
для
i om 1
д
o n
с шагом
1
n
ответ
Ò cout< #include
using namespace std; using namespace std;
cout <<"a="; cin >>a; cout <<"a="; cin >>a;
cout <<’’b-’’; cin >>b; cout <<"b="; cin >>b;
while (i<=b)
do cout<;
Ò В теле той же функции должна присутствовать ровно одна конструкция вида:
Ò Оператор
goto
передает управление на помеченный меткой оператор
Ò пример использования оператора
goto
:
Ò #indude using namespace std; int main() {float x; metka: cout <<"x="; //оператор, помеченный меткой
Ò else { соut<<"функция не определена\n";
Ò goto metka;} // передача управление метке
Ò -
при попытке ввести 0 на экран будет выведено сообщение «функция не определена», после чего управление будет передано оператору, помеченному меткой, и программа повторно попросит ввести значение х.
Ò использование оператора
goto
затрудняет чтение больших по объему программ, поэтому использовать метки нужно только в крайних случаях.
Ò Оператор break
используется внутри операторов ветвления и цикла для обеспечения перехода в точку программы, находящуюся непосредственно за оператором, внутри которого находится break
.
Ò Оператор break
применяется также
для выхода из оператора switch
,
аналогичным образом он может применяться для выхода из других операторов.
Ò Оператор перехода к следующей итерации цикла continue
пропускает все операторы, оставшиеся до конца тела цикла, и передает управление на начало следующей итерации (повторение тела цикла).
Ò Рассмотрим оператор
continue
на примере:
Ò { for (int i=1; i<100; ++i) //перебираем все числа от 1 до 99
{if (i % 2) continue; //если число нечетное, то переходим к следующей итерации
cout<
[<модификатор>] * <имя указателям
Ò базовый тип
—
имя типа переменной, адрес которой будет содержать переменная указатель;
Ò модификатор
необязателен., может иметь значение: near
,
far
или huge
Ò Указатель может быть переменной или константой, указывать на переменную или константу, а также быть указателем на указатель.
Ò int i; //целочисленная переменная
Ò const int j=10; //целочисленная константа
Ò int *a; //указатель на целочисленное значение
Ò int **x; //указатель на указатель на целочисленное значение
Ò const int *b; //указатель на целочисленную константу
Ò int * const c=&i; //указатель-константа на целочисленную переменную
Ò const int 'const d=&j; //указатель константа на целую переменную
Ò Указатель типа
void
применяется в тех случаях, когда конкретный тип объекта,
Ò адрес которого нужно хранить, не определен.
Ò Указателю на void можно присвоить значение указателя любого типа, а также сравнить его с любым указателем, но перед выполнением каких-либо действий с областью памяти, на которую он ссылается, требуется преобразовать его к конкретному типу явным образом.
Ò Перед использованием указателя надо выполнить его инициализацию,
т.е. присвоение нач.значения.
Ò Существуют следующие способы инициализации указателя:
Ò 1)
присваивание указателю адреса существующего объекта:
Ò с помощью операции получения адреса:
Ò int *x=&a; //указателю присваивается адрес целой переменной а
Ò int *y (&а); // указателю присваивается адрес целой переменной а
Ò с помощью значения другого инициализированного указателя
Ò int *z=x; //указателю присваивается адрес, хранящийся в х:
Ò с помощью имени массива или функции (рассмотрим позже).
Ò 2)
присваивание указателю адреса области памяти в явном виде:
Ò где 0хВ8000000 - шестнадцатеричная константа, (
int
*)
- операция явного приведения типа к типу указатель на целочисленное значение.
Ò 3)
присваивание пустого значения:
Ò где NULL стандартная константа, определенная как указатель равный О
Ò 4)
выделение участка динамической памяти и присваивание ее адреса указателю:
Ò 4)
выделение участка динамической памяти и присваивание ее адреса указателю:
Ò // 1
операция new
выполняет выделение достаточного для размещения величины типа int
участка динамической памяти и записывает адрес начала этого участка в переменную а.
Ò Память под переменную а
выделяется на этапе компиляции.
Ò //2,
кроме действий описанных выше, производится инициализация выделенной динамической памяти значением 50.
Ò Освобождение памяти, выделенной с помощью операции new
,
должно выполняться с помощью операции delete
.
Ò При этом переменная-указатель сохраняется и может инициализир-ся повторно.
Ò пример использования операции delete
:
Ò Ссылка представляет собой синоним имени, указанного при инициализации ссылки.
Ò Ссылку можно рассматривать как указатель, который разыменовывается неявным образом.
Ò Формат объявления ссылки: <базовый тип> & <имя ссылки>
Например: int а; //целочисленная переменная
Ò int &b=a; //ссылка на целочисленную переменную а
Ò {int a=50; //целочисленная переменная а
Ò int &b=a; //ссылка
b
- альтернативное имя для переменной
а
Ò Одномерный массив
- это фиксированное количество элементов одного и того же типа, объединенных общим именем, где каждый элемент имеет свой номер.
Ò Нумерация элементов массива в C++
начинается с нулевого элемента, то есть, если массив состоит из 10 элементов, то его элементы будут иметь следующие номера: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.
Ò Элементы массива могут быть любого типа, в том числе и структурированного (кроме файлового).
Ò Между указателями и массивами существует взаимосвязь: любое действие над элементами массивов, которое достигается индексированием, может быть выполнено и с помощью указателей.
Ò Вариант программы с указателями будет работать быстрее.
Ò Дан массив из 10 целых чисел. Написать программу, которая заменяет в данном массиве все отрицательные элементы нулями.
{ int n; cout<<"n="; cin>>n; //ввели количество элементов массива
int a[n]; // объявляем статический
массив размерностью
n
for
(int i=0;i>n; cout <<"m="; cin >>m;
Ò for (int i=0; i>mas[i][j]}
Ò cout <<"n="; cin >>n; cout <<"m="; cin >>m
;
//ввели размерность массива
Ò int max=a[0][0]; //первоначально качестве максимального элемента полагаем а[0][0]
Ò for (int i=0;imax) //
если очередной элемент больше значения максимального,
Ò max=a[i][j]; //то в качестве максимального запоминаем этот элемент
Ò for (int i=0,i>mas[i][j];}
Ò for (int i=0;iРеферат: Язык программирования С
Хроматография Лабораторные Работы
Реферат: The sights of USA.
Дипломная работа по теме Организационная культура как часть жизни предприятия
Реферат: Жизнь во Вселенной. Скачать бесплатно и без регистрации
Коррозия Металлов Защита От Коррозии Реферат
Контрольная работа по теме Функции нескольких переменных. Ряды. Обыкновенные дифференциальные и разностные уравнения
Реферат: The Black Hole Essay Research Paper The
Реферат по теме Правовая система Испании
Реферат На Тему Мій Ідеал Сучасного Викладача
Ответы Огэ Биология 2022 Контрольные Работы
Пожарно Тактическая Подготовка Реферат
Курсовая работа по теме Расчет ограждающих конструкций
Курсовая работа по теме Общая характеристика древнемесопотамского права. Законы Хаммурапи
Уровень Развития Конкуренции В Развитых Странах Реферат
Контрольная Работа Номер 4 Геометрия 8
Реферат по теме Психологические аспекты смерти
Контрольная работа по теме Зміст підготовки магістра за напрямом економіст
Курсовая работа по теме Почвы сельхозпредприятия совхоза 'Козловский' Барабинского района, Новосибирской области, их агроэкологическая характеристика и мероприятия по повышению плодородия
Доклад по теме Fates Warning
Возвышение Москвы В Xiv Веке Историческое Сочинение
Реферат: Ядовитые вещества общетоксического действия
Статья: Мораль, право, политика как этическая сфера
Реферат: A Vision Of Death Essay Research Paper