Для чего вообще нужны пространства имен? Дело в том, что в программах на языке C++ используется такое количество всевозможных имен, что нередко одно и то же имя носят два совершенно разных элемента, иными словами, одно и то же имя может иметь два разных определения. Для того чтобы ссылки на такие элементы в программах были однозначными, C++ разделяет элементы на группы, в каждой их которых имена элементов не повторяются.  Пространство имен - не просто группа имен. Это программный код на языке C++, определяющий значения имен, то есть набор объявлений и определений. Все спецификации имен C++ разделяются на группы (называемые пространствами имен), чтобы каждое имя в пространстве имен имело единственную спецификацию (определение).

Некоторые версии языка C++ используют более старую форму директивы include: include <iostream. h>

Типы данных С++

Основная цель любой программы состоит в обработке данных. Данные различного типа хранятся и обрабатываются по разному. В любом алгоритмическом языке каждая константа, переменная, результат вычисления выражения или функции должны иметь определенный тип. Тип данных определяет:

    внутреннее представление данных в памяти компьютера; множество значений, которые могут принимать величины этого типа; операции и функции, которые можно применять к величинам этого типа.

Все типы языка С++ разделяются на основные и составные. Определено 6 основных типов данных для представления целых, вещественных, символьных и логических величин. В таблице 2 приведены основные типы данных и спецификаторы типов.

НЕ нашли? Не то? Что вы ищете?

  Таблица 2.Типы данных С++

Тип

Название типа

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

Размер в байтах

1.

Логический

bool

true и false

1

2.

Символьный

signed char

-128 … 127

1

unsigned char

0 …255

1

3.

Расширенный символьный

wchar_t

Для работы с набором символов Unicode

4.

Целый

signedshort int

-32768 …32767

2

unsignedshort int

0 … 65535

2

signedlong int

-2147483648 …2147483647

4

unsignedlong int

0 … 4 294967295

4

5.

Вещественный

float

3.4Ч10-38 … 3.4Ч10+38

4

6.

Двойная точность

double

1.7Ч10-308 … 1.7Ч10+308

8

longdouble

3.4Ч10-4932 … 3.4Ч10+4932

10

Управляющие последовательности

Символ обратной косой черты (\) говорит компилятору, что следующий за ним символ нужно интерпретировать не так, как он интерпретируется сам по себе, а как некоторый управляющий код. Пара идущих подряд символов, в которой первым является символ \, называется управляющей последовательностью, В C++ определено несколько управляющих последовательностей. Если потребуется включить в строковую константу символ \ или " (двойную кавычку), перед ними нужно поставить символ обратной косой черты. В первом случае компилятор понимает, что следующий символ нужно интерпретировать не как управляющий, а просто как обратную косую, входящую в состав строки, а во втором случае - что следующая за ним двойная кавычка не завершает строку, а входит в ее состав.

Обратная косая без доследующего символа, вместе с которым она образует управляющую последовательность, разными компиляторами интерпретируется по-разному. Например, встретив последовательность символов \z, один компилятор воспримет ее просто как символ z, а другой выдаст сообщение об ошибке. В стандарте ANSI2 сказано, что поведение управляющих последовательностей, не поддерживающихся этим стандартом, заранее не определено. Это означает, что компилятор будет действовать так, как было задумано его автором. Поэтому код, где встречаются такие управляющие последовательности, нельзя использовать, так что лучше их не применять. Вот несколько поддерживаемых управляющих последовательностей (табл.3):

Таблица 3. Управляющие последовательности

Новая строка  - \n

Горизонтальная табуляция - \t

Обратная косая  - \\

Звуковой сигнал - \a

Вертикальная табуляция - \v

Двойная кавычка - \"

Еще один способ - воспользоваться идентификатором endl, представляющим строку "\n": cout<<endl;. Хотя \n и endl означают одно и то же, они используются по-разному. Символы \n всегда должны быть заключены в кавычки, тогда как endl задается без них.

Задание 2

Напишите программу, которая при вводе двух целых чисел, выводит на экран их сумму и разность в новой строке через табуляцию (“\t”).

#include <cstdlib>

#include <iostream>

using namespace std;

int main(int argc, char *argv[])

{

int adad1,adad2;

cin>>adad1>>adad2;

cout<<adad1+adad2<<"\t"<<adad1-adad2<<endl;

system("PAUSE");

return EXIT_SUCCESS;

}

Задание 3

Напишите программу, считывающую с клавиатуры два целых числа типа int, и выводит на экран их частное и остаток от целочисленного деления.

#include <cstdlib>

#include <iostream>

using namespace std;

int main(int argc, char *argv[])

{

int chislo1,chislo2;

float delen;

cout<<"The 1 number = ";

cin>>chislo1;

cout<<"The 2 number = ";

cin>>chislo2;

delen=(float)chislo1/chislo2;

cout<<"chislo1/chislo2 = "<<delen<<endl;

cout<<"chislo1%chislo2 = "<<chislo1%chislo2<<endl;

system("PAUSE");

return EXIT_SUCCESS;

}

Примечание. В данном коде мы с целью получения точного результата воспользовались явным способом преобразования типов, т. е. в строке delen=(float)chislo1/chislo2;. В начале, переменные chislo1 и chislo2  преобразуются в вещественный тип, и затем производится деление.



Операторы инкрементирования и декрементирования

Операторы бывают бинарными и унарными. Бинарным - именуются оператор, имеющий два операнда, а унарным – только один. Например операторы + и - в таких выражениях как +7 и -7 являются унарными. В языке C++ есть еще два очень популярных унарных оператора, ++ и --. Первый их них называется оператором инкрементирования, а второй — оператором декрементирования. Как правило, они используются с переменными типа int. Если n - переменная типа int,  то оператор n++ увеличивает ее значение на единицу, а оператор n-- уменьшает на единицу. Операторы n++ и n-- являются исполняемыми. Это и объясняет почему в названии языка C++ используются символы «++».

Кроме того, язык C++ поддерживает сокращенный синтаксис оператора присваивания для выполнения простейших арифметических операций. Его общая форма такова: переменная операция = выражение, что эквивалентно следующему традиционному оператору: переменная = переменная (операция) выражение. Здесь операция - это один из арифметических операторов, таких как +, - и т. д. Приведем несколько примеров.

Сокращенный синтаксис

Традиционный синтаксис

count += 2;

count = count + 2;

total -=jarima;

total = total - jarima;

bonus *= 2;

bonus = bonus * 2;

two/=du;

two=two/du;

foiz%=100;

foiz=foiz%100;

zarbijam*=adad1+adad2

zarbijam= zarbijam *(adad1+adad2)

Задание 4

Даны две переменные типа int (a и b), которые вводятся с клавиатуры. Используя операции инкремента, декремента и сокращенный синтаксис оператора присваивания, получить

a=a+1; a=a-1; a=a+b; a=a-b; a=a-b; a=a*b; a=a/b; a=a%b

#include <cstdlib>

#include <iostream>

using namespace std;

int main(int argc, char *argv[])

{

int a, b;

cin>>a>>b;

cout<<'\n';

a++;

cout<<"a++="<<a<<'\n';

  a--;

cout<<"a--="<<a<<'\n'; 

a+=b;

cout<<"a=a+b: "<<a<<'\n';

  a-=b;

cout<<"a=a-b: "<<a<<'\n';

a*=b;

cout<<"a=a*b: "<<a<<'\n';

a/=b;

cout<<"a=a/b: "<<a<<'\n';

a%=b;

cout<<"a=a%b: "<<a<<'\n';

system("PAUSE");

return EXIT_SUCCESS;

}

Задания для лабораторной работы №1

Все входные и выходные данные в заданиях этой группы являются вещественными числами.

1. Дана сторона квадрата a. Найти его периметр P = 4·a.

2. Дана сторона квадрата a. Найти его площадь S = a2.

3. Даны стороны прямоугольника a и b. Найти его площадь S = a·b и периметр P = 2·(a + b).

4. Дан диаметр окружности d. Найти ее длину L = π·d. В качестве значения π использовать 3.14.

5. Дана длина ребра куба a. Найти объем куба V = a3 и площадь его поверхности S = 6·a2.

6. Даны длины ребер a, b, c прямоугольного параллелепипеда. Найти его объем V = a·b·c и площадь поверхности S = 2·(a·b + b·c + a·c).

7. Найти длину окружности L и площадь круга S заданного радиуса R:

L = 2·π·R, S = π·R2.

В качестве значения π использовать 3.14.

8. Даны два числа a и b. Найти их среднее арифметическое: (a + b)/2.

9. Даны два неотрицательных числа a и b. Найти их среднее геометрическое, то есть квадратный корень из их произведения: .

10. Даны два ненулевых числа. Найти сумму, разность, произведение и частное их квадратов.

11. Даны два ненулевых числа. Найти сумму, разность, произведение и частное их модулей.

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15