КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Функция b( )
Функция a() ......... #директивы препроцессора { тело функции а} . . {тело функции b } void main () // функция, с которой начинается выполнение программы {последовательность определений, описаний и исполняемых операторов} Правила препроцессорной обработки определяет программист с помощью директив препроцессора. Директива начинается с #. #define – указывает правила замены в тексте. Например, #define ZERO 0.0 означает, что каждое использование в программе имени ZERO будет заменяться на 0.0.
Директива #include < имя заголовочного файла> – предназначена для включения в программу текста из каталога «Заголовочных файлов» . Программа представляет собой набор описаний и определений, и состоит из набора функций. Среди этих функций всегда должна быть функция с именем main. Без нее программа не может быть выполнена. Это точка входа в программу.
Перед именем функции помещаются сведения о типе возвращаемого функцией значения (тип результата): double sqrt (double arg)
Если функция ничего не возвращает, то указывается тип void: void main ();
Каждая функция, в том числе и main должна иметь набор параметров, он может быть пустым. Если функция не объявлена как void, она должна возвращать значение. Возвращаемое значение задается инструкцией return e; где е – выражение, значение которого возвращается в качестве результата работы функции.
Пример 1. О пределение функции извлечения квадратного корня. double sqrt (double arg) // вещественный аргумент, и возвращается // вещественное число. { //код, вычисляющий квадратный корень.Тело функции } Использование (вызов) этой функции: int main() // Тело функции { double root2 = sqrt(2); … return 0; // возврат значения из функции }
Пример 2. float x; //описание переменной int y=10; // описание и инициализация переменной
Пример 3. Простейшая программа на языке C++ #include "stdafx.h" //препроцессорная директива #include <iostream> //препроцессорная директива using namespace std; void main() // функция { //начало cout << " Hello! \n"; //печать } //конец
В программах на C++ используется два способа комментариев: · первый способ для многострочных комментариев (начинается с комбинации символов косой черты и звёздочки (/*), и заканчивается обратной комбинацией этих же символов (*/). Н е может быть вложенным.), · второй – для коротких замечаний (начинается с двух символов косой черты (//) и заканчивается концом строки).
Пример 4. Использование комментариев #include <iostream> #include <windows.h> using namespace std; int main() { SetConsoleOutputCP(1251); int num; /* это многострочный комментарий C++ ввод числа */ cout << "Введите проверяемое число: "; cin >> num; // проверка на чётность. Это однострочный комментарий C++ if((num%2)==0) cout << "Число чётное.\n"; else cout << "Число нечётное.\n"; return 0; }
4.3. Базовые средства языка C++ Алгоритмический язык содержит слова, их называют лексемами (элементарными конструкциями), словосочетания – выражениями, предложения – операторами. Лексемы образуются из символов, выражения из лексем и символов, операторы из символов выражений и лексем (рис. 2).
Рис. 2. Состав алгоритмического языка
Таким образом, элементами алгоритмического языка являются:
1. Алфавит языка С++, который включает – прописные и строчные латинские буквы и знак подчеркивания; – арабские цифры от 0 до 9; – специальные знаки “ { }, | [ ] () + – / % *. \ ’:; &? < > =! # ^ – пробельные символы (пробел, символ табуляции, символы перехода на новую строку).
2. Из символов формируются лексемы языка:
· Идентификаторы – имена объектов С-программ. PROG1, prog1 и Prog1 – три различных идентификатора). _PROG1, prog_1, P1ro2g1 - правильные идентификаторы. 3PROG1, prog_*, №5_Prog1 – ошибка!
· Ключевые (зарезервированные) слова – это слова, которые имеют специальное значение для компилятора (main, else, int и т.д.). Их нельзя использовать в качестве идентификаторов.
· Знаки операций – это один или несколько символов, определяющих действие над операндами. Операции делятся на · унарные (применяется к одному операнду, например: ++a), · бинарные (применяется к двум операндам, например: a+b) · тернарные (применяется к трем операндам, например: условие? действие А: действие Б).
· Константы – это неизменяемые величины. · Разделители – скобки, точка, запятая, пробельные символы. 4.3.1. Знаки операций в C++ Знаки операций обеспечивают формирование выражений. Унарные операции приведены в табл. 1. Таблица 1 Унарные операции
Операторы инкремента (++) и декремента (--) увеличивают или уменьшают значение операнда на единицу. В языке имеется префиксная (++t) и постфиксная формы (t++) операторов инкремента и декремента.
Пример 11.
int t = 1, s = 2, z, f; z = (t++) * 5; Вначале происходит умножение t*5, а затем увеличение t. В результате получится: z = 5, t = 2.
f = (++s) / 3; Вначале значение s увеличивается, а затем используется в операции деления. В результате получим: s = 3, f = 1. В случае, если операторы инкремента и декремента используются как самостоятельные инструкции, префиксная и постфиксная формы записи становятся эквивалентными:
z++; // эта инструкция // эквивалентна ++z; // этой инструкции Бинарные операции представлены в табл. 2. Таблица 2 Бинарные операции
Пример 12. Оператор умножения (*) выполняет умножение операндов:
int i = 5; float f = 0.2; double g; g = f * i;
Тип результата умножения f на i преобразуется к типу double, затем результат присваивается переменной g. Оператор деления (/) выполняет деление первого операнда на второй. Если две целые величины не делятся нацело, то результатом будет целая часть от деления (дробная часть отбрасывается):
int i = 49, j = 10, n, m; n = i / j; // результат 4 m = i / (-j); // результат -4
Оператор остаток от деления (%) дает остаток от деления первого операнда на второй (только для целых операндов). Знак результата совпадает со знаком делимого:
int n = 49, m = 10, i, j, k, l; i = n % m; // результат 9 j = n % (-m); // результат 9 k = (-n) % m; // результат -9 l = (-n) % (-m); // результат -9
Пример13. Написать программу, которая преобразует введенное пользователем количество дней в количество полных недель и оставшихся дней.
#include "stdafx.h" #include <iostream> // подключить файл, где объявлены cin и cout #include <conio.h> // файл, где определена функция getch() #include <windows.h>// файл, где определена функция SetConsoleOutputCP(1251); int main() { using namespace std; // использовать стандартное пространство имен SetConsoleOutputCP(1251); //функция для вывода текста кириллицей int day, days, week; cout<<"Введите количество дней = "; cin>>days; day=days%7; week=(days-day)/7; cout<<week<<" недель и "<<day<<" ден(ь/ей)"; getch(); // ждать нажатия любой клавиши return 0; // функция возвращает 0 }
Результат деления на 0 в операциях деления и получения остатка не определён и вызывает ошибку (исключение) во время выполнения. Поэтому следующие две инструкции дадут ошибочные, неопределённые результаты: i = n % 0; g = f / 0.0; Операции присваивания имеют следующие виды: =, +=, -=, *= и т.д. Сокращенные формы арифметических действий, иногда нужно сделать какое либо одно арифметическое действие над одной переменной, прибавить, умножить. Например: S=S+32; в сокращенной форме это будет S+=32; F=F-k; в сокращенной форме это будет F-=k; N=N/2; в сокращенной форме это будет N/=2;
Формат операции простого присваивания: операнд1=операнд2
Дата добавления: 2014-11-29; Просмотров: 501; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |