- •Введение
- •Тема 1.1.Лексические основы языка программирования Общие сведения о программах, лексемах и алфавите
- •Тема 1.2.Концепция типа данных Понятие переменной
- •Основные типы данных
- •Указатели
- •Перечисления (перечислимый тип)
- •Массивы
- •Тема 1.3.Основные управляющие структуры программирования Понятие алгоритма
- •Свойства алгоритма:
- •С помощью языка программирования. Управляющие структуры и основные конструкции языков программирования
- •Тема 1.4.Основы модульного программирования
- •Подпрограммы
- •Рекурсивные функции
- •Раздел 2.Технология создания программ Тема 2.1.Интегрированная среда программирования
- •Трансляторы
- •Тема 2.2.Жизненный цикл программного обеспечения (Этапы подготовки и решения задач на эвм)
- •Анализ требований (постановка задачи, обследование)
- •Определение спецификаций
- •Кодирование
- •Тестирование, отладка и оптимизация
- •Внедрение и сопровождение
- •Раздел 3.Основные парадигмы программирования Тема 3.1.Генезис языков программирования.
- •Основные вехи в истории развития языков программирования
- •Классификация языков программирования
- •Уровни языков программирования
- •Поколения языков программирования
- •Тема 3.2.Основные парадигмы (технологии) программирования
- •Структурное программирование
- •Функциональное программирование
- •Логическое программирование
- •Объектно-ориентированное программирование (ооп)
- •Основные свойства ооп
- •Структуры (записи)
- •Объединения (запись с вариантами)
- •Как массив символов
- •Как указатель на строковую константу
Как массив символов
Например,
char str1[]= “adc”; //массив из 4 элементов типа char, элемент str2[3]= ‘\0’ – признак конца строки.
Как указатель на строковую константу
Например,
char *str2= “abc”; // указатель на строковую константу
Для строк не определено специальных операций, они обрабатываются как обычные массивы. Однако в отличии от массивов других типов, можно считать все символы строки с клавиатуры можно с помощью одной операции чтения из потока cin, Следует помнить, что в этом случае считается только символы по первого пробельного разделителя. Кроме того, всю строку можно вывести на экран с помощью операции чтения в поток cout.
Например
char s[10];
cin>>s; // для массивов других типов эта операция недопустима.
Если на клавиатуре набрать строку «мама мыла раму», то в массив запишется только слово «мама», то есть в массиве будет 5 элементов со значениями ‘м’, ‘а’, ‘м’, ‘а’, ‘\0’.
cout<<s; //на экран выведется вся строка «мама», для массивов других типов в данном случае выведется только адрес памяти первого элемента.
При выводе символьного массива с помощью объекта cout из памяти выводятся подряд все символы, начиная с первого и до тех пор, пока не встретится символ ‘\0’. Поэтому, если символьный массив инициализирован списком (а не строковой константой) или заполнятся в цикле ответственность за то, чтобы последний символ был символом конца строки, ложится на плечи программиста.
Например,
char s={‘m’, ‘a’, ‘m’};
cout<<s;//на экран выведется mamЁ@kj^^ и т.п.
Существует функции стандартной библиотеки, которые позволяют копировать, сравнивать, объединять строки, выделять подстроки, определять длину строки, считывать строки с клавиатуры и файла. (Они описаны в заголовочных файлах stdio.h, stdlib.h, string.h)
Например,
# include <iostream.h>
# include <stdio.h>
# include <stdlib.h>
main ()
{
const int n1=20;
int n2=20;
char str1[n1];
char *str2=new char [n2];
gets(str1);//считываем строку
cout<<"\n"<<str1<<"\n";
cin.getline(str2,n2);//считываем строку
cout<<"\n"<<str2<<"\n";
cout<<strlen(str1)<<" "<<strlen(str2);// выводим на экран длины строк
}
Кроме того, существует класс string, который описан в заголовочном файле cstring.h.
Тема 3.4.Структура программы на языке С++. (См. в пособии, стр.5 - 8).
Важно помнить, что программа в общем случае состоят из 4-х основных компонентов – директив, описаний, функций и комментариев.