Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Лекция 1. Алфавит и основные понятия языка.



Лекция 1. Алфавит и основные понятия языка.

Типы данных и операции. Операторы.

1. Назначение языка С++.

2. Встроенные типы.

3. Элементы языка С++.

4. Функции математической библиотеки.

 

1. Назначение языка С++.

Язык С++ является универсальным языком программирования, в дополнение к которому разработан набор разнообразных библиотек. Он позволяет решить практически любую задачу программирования. Тем не менее, в силу разных причин для каких-то типов задач он используется чаще, а для каких-то – реже.

Разработчиком языка С++ является Бьерн Страуструп. В своей работе он опирался на опыт создателей языков Симула, Модула 2, абстрактных типов данных. Предшественник С++ – язык С с классами – появился в 1979 году, а в 1997 году был принят международный стандарт С++.

С++ широко используется в системном программировании. На нем можно писать высокоэффективные программы, в том числе операционные системы, драйверы и т.п. Язык С++ – один из основных языков разработки трансляторов.

Обработка сложных структур данных – текста, бизнес-информации, Internet-страниц и т.п. – одна из наиболее распространенных возможностей применения языка. В прикладном программировании, наверное, проще назвать те области, где язык С++ применяется мало. В целом язык Си++ в настоящее время является одним из наиболее распространенных языков программирования в мире.

2. Встроенные типы

Встроенные типы данных предопределены в языке. В таблице перечислены простейшие типы данных и приведены наиболее типичные диапазоны их значений.

Тип данных

Обозначение

Длина (в байтах)

Диапазон значений

Символьные данные

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");

  1. Функции математической библиотеки.

Функции для расчета математических выражений находятся в библиотеке 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-11-04; просмотров: 21 | Нарушение авторских прав




<== предыдущая лекция | следующая лекция ==>
словарный состав языка (лексику) | Лекция № 1. Введение и основные понятия

mybiblioteka.su - 2015-2024 год. (0.032 сек.)