Строковые литералы в языке С++


В С++ существует 2 типа строк:
Массив переменных типа char (char a[67])
Специальный класс string (include <string> using namespace std;)
Существует множество функций для работы со строками:
1. s.append (str) – добавляет  конец строки s строку str.
2. s. assign (str) – присваивает строке s значение строки str. s=str.
3. int i=s begin() – записывает в i индекс первого элемента строки. i=s. end()
4. s. clear () – очищает
5. s. compare (str) – сравнивает со строкой str и возвращает 0 в случае несовпадения.
6. s. copy (куда, сколько, и начиная с какого) – копирует из строки s в куда (там может быть строка типа string, а также строка типа char). Последние два параметра необязательные.
7. bool b=s. empty() – если строка пуста, возвращает true, иначе false.
8. s. erase (откуда, сколько) – удаляет n элементов с заданной позиции.
9. s. find (str, позиция) – ищет строку str в заданной позиции в строке s.
10. s. insert (позиция, str, начиная, count) – вставляет в строку s начиная с заданной позиции часть строки str, и вставляем count символ.
11. int len=s. length () – записывает в len длину строки.
12. s.push_back (символ) – добавляет в конец строки только один символ.
13. s. replace (index, n, str) – берёт n первых символов из str и заменяет символ строки s на них, начиная с позиции index.
14. str=s. substr (n, m) – возвращает m символов, начиная с позиции n.
15. s. swap (str) – меняет содержимое s и str местами.
16. s. size () – возвращает число элементов в строке.
Для считывания строк содержащих пробелы используется метод cin.get.

Массивы в языке С++


Массив - это сложный тип данных представляющий собой  упорядоченную совокупность элементов одного типа.
Объявление массивов на языке С имеет следующий синтаксис:
тип имя [предел 1] [предел 2]…..;
Пример :
int a [20];
int a[5]={{1, 2, 3, 4, 5}};
Одномерный массив.
Одномерным или линейным массивом в программе на С++ называется упорядоченный набор однотипных переменных, которые располагаются в памяти последовательно.
Любой массив С++ характеризуется 3 параметрами:
1. Именем
2. Типом элементов
3. Размером
Пример :
Запишите программу, запрашивающую у пользователя 10 целых чисел и выводящую её на экран, и их сумму.
#include <iostream.h>
void main();
{ int a[10], I;
for (i=0; i<10; i++)
{cout<<”Vvedite”<<i<<”element”<<endl;
(cout<<”Vvedite”<<i<<”element”<<”/n” ;)
cin>>a[i]; }
int s=0;
for (i=0; i<10; i++)
{s=s+a[i] ;}
for (i=0; i<10; i++)
{cout<<a[i];}
cout<<endl;
cout<<” Summa elementov S=”<<s<<endl;
cin>>I;}
Многомерные массивы.
Массивы в С++ могут быть не только линейными, но и часто используются в 2-ух и более структур. Многомерный массив организован по принципу массива массивов.
Пример :
#include <iostream.h>
int main ()
{ float x[3][3];  //объявляем массив 4x4
for (int i=0; i<3; i++)
for (j=0; j<3; j++)
{ cout <<”Vvedite x[”<<i<<
“,”<<j<<”]=”;
cin >>x[i][j];  //вводим элементы матрицы}
cout <<”\n Results:\n”;
for (i=0; j<3; i++)  //цикл по строкам
{float P=1.0; //вспомогательная переменная
for (int j=0; j<3; j++) //цикл по элементам в строке
P=P*x[i][j];  //домножаем на x[i][j]
cout <<”\n proizvedenie” <<i
<<”-I stroki=”<<P;  //выводим результат на экран}
return 0;}

Основные понятия и типы данных в языке C


1)История Языка С
Язык c был разработан в 1972 году Денисом Ричем и Кеном Томпсоном в рамках разработки операционной системы Unix . В настоящее время C  - это универсальный язык обладающий чертами, как прикладного, так и системного языка. В 1989 году был издан первый стандарт языка ANSI С. Язык C  оказал значительное влияние на развитие таких языков программирования, такие как C++,C#,Java.
1.1 Алфавит языка
В программе можно использовать двух видов:
1.Блочный /*……..*/
2.Строчный /
Алфавит языка программирования включает:
1.Прописные и строчные буквы латинского алфавита, а так же знак подчёркивания. Все строчные и прописные буквы различаются.
2.Арабские цифры от 0 до 9
3.Специальные символы: +,-,=,(),?,»
4.Пробельные символы - пробел, символ табуляции, перевод строки, новая страница и т.д.
1.2 Лексемы.
Из символов алфавита формируются лексемы языка, это минимальны значимые единицы текста в программе. К лексемам относятся: идентификаторы, ключевые слова (зарезервированные), знаки операции, константы, разделители (точка, точка с запятой, нижнее подчёркивание, скобочки). Границы лексемы определяются пробельными символами, такие как разделитель и знаки операции, а так же комментариями
1.3 Идентификаторы и ключевые слова
Идентификатор – это имя программного объекта, например: имя - для функции, для константы, метки, название программы и т.д. В идентификаторе могут использоваться только латинские буквы, цифры и знак подчёркивания. Первым символом идентификатора может быть буква или знак подчёркивания, но не может быть цифра (пробелы внутри имён не допускаются). Обычно компиляторы допускают различное кол-во символов в идентификаторах, в языке программирования C, 31 символ.
Ключевые слова не могут быть использованы, название библиотек, операторов.
Знак операции – это один или более символов, определяющих действия над операндами, внутри знака операции пробелы не допускаются. Операции делаться на унарные, бинарные, тернарные.
Унарные операции – унарный минус(-5, унарный минус), унарный плюс плюс(добавляет 1-цу),унарный  минус минус(отнимает 1-цу)
Бинарные операции  – знак больше меньше, меньше или равно, больше или равно, равно (==), неравно(!=), присваивание(=), !- нет, и (qq), или ( || )
Х=5
If (!x) то, что-то выполняется
Else что-то выполняется другое
Тернарные операции
  ?:
Если наибольшее среди двух значений, d=(a>b)?a:b. Присваивается  максимальное.

2)Типы данных
Тип char служит для хранения отдельных символов.
Тип short,long,int – представляют целые числа, short -  самые короткий, long – самый длинный
Тип float, double, long double – предназначенные для чисел с плавающей точкой, и различаются точностью представления и диапазона.

3) Структура языка
#include <iostream.h>
#include <math.h>
Woid main()
Woid – пустое значение выключение из функции
3.1 Объявление переменных:
{int a,b,c;
double d;
double e=2,7;}
3.2 Ввод/вывод информации
Cout – вывод
Cin -  ввод
Ввод с клавиатуры переменных – cin>>a>>b>>c;
#include <stdio.h>
Print f – вывод
ДОМАШНЕЕ – СПЕЦИФИКАЦИИ в языке C для каждого типа

Переход на новую строку \ n
Горизонтальная табуляция наклонная \ t
Вертикальная табуляция \v
Вывести знак вопроса \?
Одиночная кавычка \’
Двойная кавычка \”

Вещественное число, вводится с клавиатуры. Возвести число в 4-ю степень, используя только 2 операции умножения.
Квадратный корень sqrt
Модуль fabs(x)
Xy – Pow(x,y)
yx   - pow (x,1/5)
Пример: Y=3x6-6x2-7(x)
#include<iostream.h>
#include<math.h>
void main()
{int x,y;
cout<<”Введите значение x”<<endl;
cin >>x;
y=3*pow(x,6)-6*pow(x,2)-7*fabs(x);
cout<<”Значение выражения=”<<y;}