Similar presentations:
C_CPP_Intro
1.
Основы программирования – 1 семестрЧто изучаем ?
1. Основы алгоритмизации и программирования
2. Знакомство с С / С++ (но С++ - без ООП пока)
3. Средства и среды разработки : CodeBlocks,
Visual Studio, …
2.
Основы программирования – 1 семестрСтруктура курса
Темы : Лекции / лабораторные
Лекция 1
Очн. Веч
Заоч
1
Цели, задачи и структура дисциплины. Краткая
характеристика языков С / С++. Средства и среды
разработки. Литература и методические материалы.
1
1
1
2
Составные части (структура) программы на языке Си.
Система типов. Стандартные типы данных.
Переменные и константы. Оператор присваивания.
Операции и выражения. Строки. Отладка. Ввод-вывод
(консоль).
3
2
1
3
Представление основных управляющих структур
программирования. Управляющие операторы языка Си:
операторы ветвления. Разработка тестовых примеров,
структуры данных и алгоритма программы. Способы
записи алгоритма.
3
1
1
3
3
2
2
1
0,5
Лабораторная 1. Начало.
Лекция 2 / Лабораторная 2
4
Управляющие операторы языка Си: циклические
операторы и операторы передачи управления.
3
3.
Основы программирования – 1 семестрСтруктура курса
5
6
7
9
11
12
Лекция 3
Понятие массива. Одномерные и многомерные числовые
массивы. Операции над массивами и их элементами.
Понятие функции в языке Си. Объявление и описание
функции. Вызов функции. Передача данных в функцию и
возвращение данных из функции.
Понятие указателя. Операции над указателями.
Арифметика указателей. Связь указателей и массивов.
Передача параметров через указатель и ссылки
Лабораторная 3
Лекция 4
Манипуляции со строками, используя библиотечные
функции. Работа с текстовыми файлами.
Типы данных, определяемые пользователем: структуры,
объединения, перечисления.
Динамические структуры данных.
Выделение и освобождение памяти.
Лабораторная 4
ИТОГО
Очн
Веч
Заоч.
2
1
1
3
1,5
0,5
3
1,5
0,5
4
2
4
1
0,5
3
1
4
1
1
4
-
12(24)
6(12)+
36/36
4.
Основы программирования – 1 семестрЧто используем (источники)?
1. Б. Страуструп Программирование на
C++
2. Б.Эккель Философия С++ (т. 1) и др.
3. Открытые курсы по С / С++
4. Metanit.com
5. Методические пособия и лекции /
презентации
6. Надеюсь, что много практики и тесты )
5.
Основы программирования – 1 семестрЧто используем (средства и среды
разработки)?
1. Компиляторы / линковщики С/C++
(gcc, другие…)
2. MS Visual Studio (Рабочая нагрузка С++)
3. DevCpp / CodeBlocks
4. Даже для Android есть ПО )))
6.
Популярность языков программированияРейтинг TIOBE — 10/2020 (1-10)
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
7.
Популярность языков программированияРейтинг TIOBE — 10/2020 (11-20)
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
8.
Основы программирования – 1 семестрПочему С ?
Выбор С для изучения объясняется следующими его
достоинствами:
(1) широко распространенный ЯПВУ;
(2) существуют международные стандарты С
(3) на базе него построены многие другие Си-подобные
объектные языки (С++, Java, C#, php и др.)
(4) адекватность большинству задач системного
программирования;
(5) исполняется в любой системе и на любой машине;
(6) полностью подходит для программной среды UNIX.
Кроме того, существуют миллионы строк программ на и
библиотечных функций на С
9.
Основы программирования – 1 семестрПочему С++ ?
Выбор С++ для изучения объясняется следующими его
достоинствами:
(1) широко распространенный, современный язык с
поддержкой ООП;
(2) существуют международные стандарты С++
(3) на базе него построены многие другие Си-подобные
объектные языки (Java, C# и др.)
(4) адекватность большинству задач системного
программирования;
(5) исполняется в любой системе и на любой машине;
(6) полностью подходит для программной среды UNIX.
Кроме того, существуют миллионы строк программ
на и библиотечных функций на С++
10.
Основы программирования – 1 семестрИспользование С
Изначально – написание системных программ,
программ, критичных ко времени выполнения,
операционных систем, драйверов и пр.
(ОС Unix, Linux, Mac OS, Windows).
Для создания больших программных систем
(раздельная компиляция)
Для систем научных и инженерных расчетов
(сейчас С++ – основной язык HPC — High Perfomance
Computing).
Для встраиваемых систем на базе микроконтроллеров
Далее – практически везде :)
11.
Основы программирования – 1 семестрИзучение С++ на базе С
1) Для изучения С++ не обязательно знать С.
Программирование на С способствует усвоению
приемов
и
даже
трюков,
которые
при
программировании на С++ становятся просто
ненужными
2) Тем не менее, хорошие программы на
языке С по сути являются программами на С++
3) Если Вы знакомы с C, Вам не потребуется
изучать многие базовые вещи (синтаксис, базовые
типы и пр.), но потребуется пересмотреть некоторые
подходы к программированию и изменить стиль
программирования.
12.
Основы программирования – 1 семестрОсновы программирования
Средства языка для поддержки вычислений :
- Переменные и арифметические операции
Объявления :
int inch; (char, short, int, long, float,
double, long double ... )
Арифметические операции :
+ (плюс, унарный и бинарный)
- (минус, унарный и бинарный)
* (умножение) / (деление) % (остаток от деления)
Присваивания : d = d + i; d += i;
Операции отношения:
== (равно) != (не равно) < (меньше чем)
<= (меньше или равно) >= (больше или равно)
13.
Основы программирования – 1 семестрОсновы программирования
Средства языка для поддержки вычислений :
- Условия и циклы
if (answer == 'y')
d = 5;
else
d = 0;
/*
*/
switch (answer)
case 'y' :
d = 5;
case 'n' :
d = 7;
default:
d = 0;
while (tries < 4) {...}
int v1 [ 10 ];
int v2 [ 10 ];
// ...
for ( int i=0; i<10; i++ )
v1 [ i ] = v2 [ i ];
14.
Основы программирования – 1 семестрНачинаем программировать :
Здравствуй, Мир !
1. Минимальная программа на C / С++ :
void main () { }
2. Классическая программа «Здравствуй, Мир !» :
#include <iostream>
using namespace std;
void main ()
{
cout << "Hello, World!\n";
// return 0;
}
std:: - префикс пространства имен стандартной
библиотеки, cout << - потоковый вывод в
стандартный поток вывода (консоль)
15.
Основы программирования – 1 семестрНачинаем программировать :
ввод, обработка и вывод данных
3. Преобразование дюймов в сантиметры и обратно
#include <iostream>
using namespace std;
int main ()
{
const float factor = 2.54;
float x, in, cm; char ch = 0;
cout << "enter length: ";
cin >> x; // ввод числа с плавающей точкой
cin >> ch // ввод завершающего символа
if ( ch == 'i' )
{ // дюйм
in = x;
cm = x * factor;
} else if ( ch == 'c' )
16.
Основы программирования – 1 семестрНачинаем программировать :
ввод, обработка и вывод данных
3. Преобразование дюймов в сантиметры и обратно
(окончание)
{ // сантиметры
in = x / factor;
cm = x;
}
else
in = cm = 0;
cout << in << " in = " << cm << " cm\n";
}
Задание :
Перепишите пример с использованием switch
17.
Основы программирования – 1 семестрНачинаем программировать :
ввод строк
4. Приветствие по имени :
int main()
{
string str;
cout << ''Пожалуйста, введите ваше имя\n'';
cin >> str;
cout << ''Здравствуйте, '' << str << '' !\n'';
}
Для ввода строки целиком можно использовать
getline(cin, str);
18.
Основы программирования – 1 семестрНачинаем программировать :
обработка строк
5. Простые операции класса string
int main()
{
string name = ''Niels Straustrup'';
string s = name.substr (6, 10);
name.replace (0, 5, ''Nicholas'');
cout << s << endl << name << endl;
}
Задание :
Напишите программу для ввода фамилии, имени,
отчества и вывода Фамилии И.О. с использованием
примеров 4 и 5.
19.
Основы программирования – 1 семестрМодульное программирование
раздельная компиляция
Интерфейс стека - stack.h
Использование стека — user.c
# include <stack.h>
Определение стека - stack.c
# include <stack.h>