Встроенные типы
Встроенные типы.
3. Элементы языка С++.
Функции математической библиотеки.
1. Назначение языка С++.
Язык С++ является универсальным языком программирования, в дополнение к которому разработан набор разнообразных библиотек. Он позволяет решить практически любую задачу программирования. Тем не менее, в силу разных причин для каких-то типов задач он используется чаще, а для каких-то – реже.
Разработчиком языка С++ является Бьерн Страуструп. В своей работе он опирался на опыт создателей языков Симула, Модула 2, абстрактных типов данных. Предшественник С++ – язык С с классами – появился в 1979 году, а в 1997 году был принят международный стандарт С++.
С++ широко используется в системном программировании. На нем можно писать высокоэффективные программы, в том числе операционные системы, драйверы и т.п. Язык С++ – один из основных языков разработки трансляторов.
Обработка сложных структур данных – текста, бизнес-информации, Internet-страниц и т.п. – одна из наиболее распространенных возможностей применения языка. В прикладном программировании, наверное, проще назвать те области, где язык С++ применяется мало. В целом язык Си++ в настоящее время является одним из наиболее распространенных языков программирования в мире.
Встроенные типы
Встроенные типы данных предопределены в языке. В таблице перечислены простейшие типы данных и приведены наиболее типичные диапазоны их значений.
Тип данных | Обозначение | Длина (в байтах) | Диапазон значений |
Символьные данные | char | от -128 до +127 | |
Короткое целое число | short | от -32768 до +32767 | |
Целое число | int | от – 2147483648 до + 2147483647 | |
Длинное целое число | long | от – 2147483648 до + 2147483647 | |
Вещественное число | float | от ±3.4e-38 до ±3.4e+38 (7 значащих цифр) | |
Вещественное число двойной точности | double | от ±1.7e-308 до ±1.7e+308 (15 значащих цифр) |
3. Элементы языка С++
1. Буквы и цифры
- большие буквы латинского алфавита
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
- малые буквы латинского алфавита
a b c d e f g h i j k l m n o p q r s t u v w x y z
- десятичные цифры
0 1 2 3 4 5 6 7 8 9
2. Специальные символы
пробел ! " # % & ' ( ) * + , - . / : ; < = > ? [ \ ] ^ _ { | } ~
3.Комментарии
Комментарий – это последовательность символов, которая игнорируется компилятором языка C++. Комментарий имеет следующий вид: /*<символы>*/. Комментарии могут занимать несколько строк, но не могут быть вложенными. Кроме того, часть строки, следующая за символами //, также рассматривается как комментарий.
Разумное использование комментариев (и согласованное употребление отступов) может сделать чтение и понимание программы более приятным занятием. При неправильном использовании комментариев читабельность программы может, напротив, серьезно пострадать. Компилятор не понимает смысл комментариев, поэтому не существует способа проверить, что комментарий:
- содержателен;
- имеет какое-то отношение к программе;
- не устарел.
Удачно подобранный и написанный набор комментариев является существенной частью хорошей программы. Написание «правильных» комментариев может оказаться не менее сложной задачей, чем написание самой программы.
4. Имена переменных
Для обозначения величин, имен функций и т.п. используются имена или идентификаторы.
Идентификатор – это последовательность знаков, начинающаяся с буквы или знака подчеркивания. В идентификаторах можно использовать заглавные и строчные латинские буквы, цифры и знак подчеркивания. Длина идентификаторов произвольная.
Примеры правильных идентификаторов: abc, A12, NamePerson, BYTES_А.
abc и Abc – два разных идентификатора, т.е. заглавные и строчные буквы различаются.
Примеры неправильных идентификаторов: 12X, a-b.
Ряд слов в языке С++ имеет особое значение и не может использоваться в качестве идентификаторов. Такие зарезервированные слова называются ключевыми. Пример: namespace, for, false, double и т. д.
С точки зрения архитектуры компьютера, переменная – это символическое обозначение ячейки оперативной памяти программы, в которой хранятся данные. Содержимое этой ячейки – это текущее значение переменной. В языке С++ прежде чем использовать переменную, ее необходимо объявить. Пример объявления переменной с именем x:
int x;В объявлении первым стоит название типа переменной int (целое число), а затем идентификатор x – имя переменной. У переменной x есть тип – в данном случае целое число. Тип переменной определяет, какие возможные значения эта переменная может принимать и какие операции можно выполнять над данной переменной. Тип переменной изменить нельзя, т.е. пока переменная x существует, она всегда будет целого типа.
5.Константы
Константами в языке С++ могут быть числа (целые и вещественные), символы и строки символов, которые допустимо использовать в программе в смысле их значений. Значение констант не может быть изменено в процессе работы программы. Далеко не всегда удобно записывать константы в тексте программы явно. Гораздо чаще используются символические константы.
Пример
const int b=32;После этого имя b можно будет использовать вместо целого числа 32. Преимущества такого подхода очевидны.
6. Операции и выражения
Под операциями следует понимать действия, выполняемые программой над определенными в ней объектами. Для обозначения операций используются некоторые стандартные комбинации специальных символов из алфавита языка. Объекты программы, участвующие в операции, называются операндами. Всякая комбинация одного или большего числа операндов и символов операций, дающая единственное значение, образует выражение. Любое выражение, заканчивающееся точкой с запятой, является оператором. Множество всех операций языка С+ удобно разделить на следующие группы:
- арифметические операции
+ сложение- вычитание* умножение/ делениеРезультат арифм. операции – число, по типу соответствующее большему по разрядности операнду. Например, сложение чисел типа short и long в результате дает число типа long.
Операция нахождения остатка от деления одного целого числа на другое. Тип результата – целое число.
% остаток
Операция "минус" – это унарная операция, при которой знак числа изменяется на противоположный. Она применима к любым числам со знаком. Операция "плюс" существует для симметрии. Она ничего не делает, т.е. примененная к целому числу, его же и выдает. - минус + плюс
Операции ++ и -- инкрементируют (увеличивают на 1) и декрементируют (уменьшают на 1) свой операнд. Операнд должен иметь целый, вещественный тип или быть указателем. Операции инкремента и декремента могут записываться как перед своим операндом (префиксная форма записи), так и после него (постфиксная форма записи). При префиксной форме записи операнд сначала инкрементируется или декрементируется, а затем его новое значение участвует в дальнейшем вычислении выражения, содержащего данную операцию. При постфиксной форме записи операнд инкрементируется или декрементируется лишь после того, как его старое значение участвует в вычислении выражения. Таким образом, результатом операций инкремента и декремента является либо новое, либо старое значение операнда. Например, если переменная i = 0, то выражение a[++i] = 1 меняет элемент a[1], а выражение a[i++] = 1 меняет элемент a[0]. В обоих случая переменная i получает новое значение, равное 1. ++ увеличить на единицу -- уменьшить на единицу
- операции сравнения
== равно!= не равно< меньше> больше<= меньше или равно>= больше или равноСравнивать можно операнды любого типа, но они должны быть оба одного и того же встроенного типа. Результат – логическое значение true или false.
- логические операции
&& логическое И|| логическое ИЛИ! логическое НЕВ качестве операндов выступают логические значения, результат – тоже логическое значение true или false .
- операции присваивания
= присваиваниеПрисвоить значение правого операнда левому. Результат операции присваивания – это значение правого операнда.
+=, -=, *=, /=, %= выполнить операцию и присвоитьВыполнить соответствующую операцию с левым операндом и правым операндом и присвоить результат левому операнду. Типы операндов должны быть такими, что, во-первых, для них должна быть определена соответствующая арифметическая операция, а во-вторых, результат может быть присвоен левому операнду.
Порядок вычисления выражений
У каждой операции имеется приоритет. Если в выражении несколько операций, то первой будет выполнена операция с более высоким приоритетом. Если же операции одного и того же приоритета, они выполняются слева направо.
Уменьшение приоритета | Тип операции | Операторы |
Разрешение области видимости | :: | |
другие | [ ], ( ), . “точка” | |
унарные | ! | |
арифметические | *, /, % | |
арифметические | +, -, | |
сравнение | >, <, >=, <= | |
сравнение | ==, != | |
логические | &&, || | |
присваивания | =, *=, /=, %=, +=, -= | |
последовательность | “,” (запятая) |
Поддержка русского языка.Консольные приложения не поддерживают русский язык. Чтобы это исправить, нужна функция setlocale(LC_CTYPE,"Russian");
- Функции математической библиотеки.
Функции для расчета математических выражений находятся в библиотеке math (подключение библиотеки: #include ”math.h”). Все аргументы в тригонометрических функциях задаются в радианах. Параметры и аргументы всех остальных функций имеют тип double (кроме abs(x)).
Математическая функция | Функция библиотеки math.h | Описание |
аbs(x) | Вычисление абсолютного значения (только для целых чисел!) | |
fаbs(x) | Вычисление абсолютного значения x | |
cos(x) | Вычисление косинуса x | |
sin(x) | Вычисление синуса x | |
tan(x) | Вычисление тангенса x | |
acos(x) | Вычисление значения арккосинуса x | |
asin(x) | Вычисление значения арксинуса x | |
atan(x) | Вычисление значения арктангенса x | |
atan2(x,y) | Вычисление значения арктангенса двух аргументов x и y | |
Округление к большему | ceil(x) | Функция возвращает действительное значение, соответствующее наименьшему целому числу, которое больше или равно x |
sinh(x) | Вычисление синуса гиперболического x | |
cosh(x) | Вычисление косинуса гиперболического x | |
tanh(x) | Вычисление тангенса гиперболического x | |
exp(x) | Вычисление экспоненты числа x | |
Округление к меньшему | floor(x) | Функция возвращает действительное зна чение, соответствующее наибольшему це лому числу, которое меньше или равно x |
Остаток от деления x на y | fmod(x,y) | Функция возвращает действительное значение, соответствующее остатку от целочисленного деления x на y |
log(x) | Вычисление натурального логарифма x | |
log10(x) | Вычисление десятичного логарифма x | |
pow(x, y) | Возведение x в степень y | |
sqrt(x) | Вычисление квадратного корня x |
Пример: написать программу для вычисления косинуса угла, заданного в радианах.
Вычислить
Дано трехзначное целое число. Определить сумму его цифр.
#include <iostream>
using namespace std;
void main()
{
int a,a1,a2,a3;
cout<<"Vvedite 3-x znachnoe chislo \n";
cin>>a;
a1=a/100; // sotni
a2=a/10%10; // desyatki
a3=a%10; // edinici
cout<<"\n "<<a1<<" "<<a2<<" "<<a3;
cout<<"\n Symma ="<<a1+a2+a3<<endl;
system("pause");
}
<== предыдущая лекция | | | следующая лекция ==> |
Рекомендации по составлению компьютерной презентации (КП). | | | Понятие финансовой (бухгалтерской) отчетности |
Дата добавления: 2015-09-11; просмотров: 992;