Обзор языков программирования. Лекция №1

Содержание

Слайд 2

Почему надо самому писать программы? Стандартные программы и библиотеки программ могут

Почему надо самому писать программы?

Стандартные программы и библиотеки программ могут не

учитывать особенности решаемой задачи
Стандартные программы вносят избыточность в программный код
Часть стандартного программного кода закрыта
Внесение изменений в чужой программный код влечет трудно обнаружимые ошибки
Платный доступ к некоторым стандартным программам и библиотекам
Самостоятельное написание программ – один из путей самореализации
Слайд 3

Этапы развития языков программирования Машинные коды Языки низкого уровня Ассемблеры (50-60е

Этапы развития языков программирования

Машинные коды
Языки низкого уровня
Ассемблеры (50-60е годы)
Языки высокого уровня
Фортран

(60е годы)
Бэйсик (70е годы)
Паскаль (70е годы)
Си (70-80е годы)
Си++ (80е годы)
Графические языки
G
Языки для сетевых приложений (HTML, XML, CSS, PHP, Java Script и т.д.)
Слайд 4

Свойства языка Си (Си++) Логическая завершенность (последовательность, условие, цикл) Модульный принцип

Свойства языка Си (Си++)

Логическая завершенность (последовательность, условие, цикл)
Модульный принцип построения программы
Ограниченный

набор операций и операторов
Большой набор стандартных библиотек (ввод-вывод, математика, работа со строками и т.д.)
Управление памятью с помощью указателей (выделение, освобождение, «перемещение»)
Наличие операций, совпадающих с командами Ассемблера (инкремент, декремент, управление битами)
Преобразование исходного текста в машинный код путем компиляции
Слайд 5

Этапы подготовки программы к выполнению Подготовка исходного текста *.cpp Компиляция Компоновка

Этапы подготовки программы к выполнению

Подготовка исходного текста

*.cpp

Компиляция

Компоновка

Ошибки?

Д

Ошибки?

Д

Н

Н

*.obj

*.exe

Слайд 6

Инструментальные средства Отдельно редактор, компилятор и компоновщик Дешевизна Неудобство отладки Интегрированная

Инструментальные средства

Отдельно редактор, компилятор и компоновщик
Дешевизна
Неудобство отладки
Интегрированная среда программирования (например, MS

Visual Studio 2005 и выше)
Текстовый редактор с подсветкой служебных слов
Объединение нескольких файлов в проект
Отладочные средства (контрольные точки, пошаговая отладка, просмотр переменных)
Интегрированная среда программирования специализированных устройств (микроконтроллеров, сигнальных процессоров)
Преобразование *.cpp -> *.asm
Слайд 7

Технологии программирования Структурное программирование Представление программы в виде множества последовательностей, ветвлений

Технологии программирования

Структурное программирование
Представление программы в виде множества последовательностей, ветвлений и циклов
Модульное

программирование
Представление программы в виде множества функций
Каждая функция – логически завершенный модуль с несколькими входами и одним выходом
Объектно-ориентированное программирование
Объединение элементов данных и действий над ними в классы
Слайд 8

Простейшая программа на Си /*Моя первая программа hello.cpp*/ /*Включение в текст

Простейшая программа на Си

/*Моя первая программа hello.cpp*/
/*Включение в текст заголовочных файлов*/
#include

//ввод-вывод
#include //управление вводом-выводом
/*Главная функция - обязательная*/
void main(void)//заголовок
{//тело
printf(“Hello, World!\n ”);//вывод на экран сообщения
getch();//ожидание нажатия клавиши
}
Слайд 9

Свойства программы на Си Программа на Си – совокупность функций Функция

Свойства программы на Си

Программа на Си – совокупность функций
Функция main –

обязательная
Функция состоит из заголовка и тела, не отделимых друг от друга
Тело выделяется { }
Разделитель между законченными действиями ;
Слайд 10

Элементы языка Си Типы (форматы, способы представления) данных Переменные Константы Операции

Элементы языка Си

Типы (форматы, способы представления) данных
Переменные
Константы
Операции
Операторы
Функции
Директивы препроцессора (предварительной обработки), начинаются

с #
Слайд 11

Тип данных Соглашение о способе хранения данных в памяти Целочисленный (int)

Тип данных

Соглашение о способе хранения данных в памяти
Целочисленный (int)
Вещественный (float)
Вещественный

с двойной точностью (double)
Символьный (char)
Слайд 12

Константа Объект, который не изменяется в течение работы программы Целочисленная Десятичная

Константа

Объект, который не изменяется в течение работы программы
Целочисленная
Десятичная (1; 32000; -5)
Восьмеричная

(03; 032; 0100)
Шестнадцатеричная (0x10; 0x2A; 0x1FE)
Вещественная
Обычная (2.6; -0.01; 3.14)
Экспоненциальная (1.3E-3; 2.4E5; .5E4)
Cимвольная
Печатаемая (‘A’; ‘d’; ‘+’)
Управляющая (‘\n’,’\t’,’\\’)
Строковая (“ABCabc123?!+\n”)
Слайд 13

Переменная Поименованная область памяти, которая может изменяться в процессе работы программы

Переменная

Поименованная область памяти, которая может изменяться в процессе работы программы
тип данных
имя

переменной
начальное значение (необязательно)
Примеры определения переменных
int a=3,b;
float b=2.68;
char c, d=‘A’;
Использование переменных возможно только после их определения
Слайд 14

Операции Присваивание (=) Арифметические (+ - * / %) Инкремент, декремент

Операции

Присваивание (=)
Арифметические (+ - * / %)
Инкремент, декремент (++, --)
Отношения (>

< <= >= == !=)
Логические (&& || !) – в условных операторах
Адресные (& *) – при работе с указателями
Поразрядные (& | ~ ^)
Обращение к полям структур (. ->)
Пример
c=(a+b)*2-c/3;
Слайд 15

Операторы ; пустой оператор-разделитель условный оператор if параметрический цикл for цикл

Операторы

; пустой оператор-разделитель
условный оператор if
параметрический цикл for
цикл с предусловием while
цикл с

постусловием do ... while
оператор-переключатель switch
операторы для работы с динамическим переменными new и delete
Слайд 16

Команды препроцессора Включение файлов #include //стандартный файл #include “c:\prog\my.h”//пользовательский файл Определение

Команды препроцессора

Включение файлов
#include//стандартный файл
#include “c:\prog\my.h”//пользовательский файл
Определение констант
#define A 1024
#define STR “Hello”
#define

B 2E-3