2.2.1.Обзор возможностей языка Си
Язык программирования Си [27] называют языком программирования среднего уровня. Как язык среднего уровня Си позволяет битами, байтами и адресами, т.е. базовыми элементами данных. Несмотря на это, программа на языке Си обладает хорошей переносимостью между платформами.
Как и многие другие языки программирования, Си придерживается концепции типов данных, которые представляют собой набор значений, хранящихся в переменных, а также набор операций, которые могут быть выполнены над этими значениями. Язык Си имеет несколько базовых типов данных (см. табл. Таблица 2 .6).
Таблица 2.6
Типы данных, определенных Стандартом Си
Тип | Размер в битах | Минимальный диапазон значений |
(signed) char | 8 | от -127 до 127 |
unsigned char | 8 | от 0 до 255 |
(signed) int | 16 или 32 | от -32767 до 32767
|
unsigned int | 16 или 32 | от 0 до 65535 |
(signed) short | 16 | от -32767 до 32767 |
unsigned short | 16 | от 0 до 65535 |
(signed) long | 32 | от -2 147 483 647 до 2 147 483 647 |
long long | 64 | от –(263-1) до (263-1) |
unsigned long | 32 | от 0 до 4 294 967 295 |
unsigned long long | 64 | от 0 до (264-1) |
Таблица 2 .6 (продолжение)
float | 32 | от 1Е-37 до 1Е+37 с точностью не менее 6 значащих десятичных цифр |
double | 64 | от 1Е-37 до 1Е+37 с точностью не менее 10 значащих десятичных цифр |
Стандарт языка Си предусматривает 32 ключевых слова, которые в свою очередь также являются ключевыми словами языка Си++. Кроме стандартных ключевых слов, многие компиляторы разрешают дополнительно использовать некоторые нестандартные ключевые слова с целью определения модели памяти, вставок на других языках программирования и т.д.
В языке Си различают верхний и нижний регистры, т.о. ключевое слово может быть использовано только как ключевое слово и не может являться, например, именем переменной.
Любая программа на языке Си состоит из одной или нескольких функций. Обязательно должна быть определена единственная главная функция main(), с которой начинается выполнение программы. Общая структура программы на языке Си представлена на рис. Рис. 2 .18.
Ядро операционной системы Linux, а также большинство драйверов устройств реализованы на языке Си. Данный язык программирования, прежде всего, выбран благодаря своей хорошей структурированности, переносимости, а также возможности работы с памятью и данными на уровне адресов и битов с помощью несложного набора встроенных операторов.
Объявление глобальных переменных int main(список параметров) { последовательность операторов } тип_возвращаемого_значения f1(список параметров) { последовательность операторов } тип_возвращаемого_значения f2(список параметров) { последовательность операторов } … тип_возвращаемого_значения fN(список параметров) { последовательность операторов } |
Рис. 2.18. Структура программы на языке Си.
2.2.2.Особенности языка Си++
Несмотря на то, что компилятор Си++ позволяет собирать программы, написанные на языке Си, основные преимущества языка заключаются в возможности использования объектно-ориентированного подхода при разработке программ. Это позволяет создать программу, максимально приближенную к действительности, к рассматриваемой предметной области.
Язык Си++ реализует все рассмотренные механизмы ООП. Инкапсуляция реализована с помощью классов. Класс определяет набор данных, а также методы обработки этих данных, которые будут доступны всем экземплярам этого класса (объектам). Объявление нового класса осуществляется с помощью ключевого слова class.
Полиморфизм в языке Си++ реализован с помощью виртуальных методов класса. Функционал данных методов может быть переопределен при наследовании классов, однако интерфейс остается неизменным. Т.о. язык Си++ реализует все три механизма ООП.
- Пояснительная записка
- «Разработка программного средства эмуляции pos-терминала»
- Содержание
- Специальный раздел
- Технологический раздел
- Организационно-экономический раздел
- Раздел по производственной и экологической безопасности
- Перечень сокращений
- Введение
- Специальный раздел
- 1.Специальный раздел
- 1.1.Исследовательская часть
- 1.1.1.Типы программных средств эмуляции
- 1.1.2.Обзор программных средств эмуляции Microsoft Device Emulator и Android Emulator
- Системные требования Microsoft Device Emulator
- 1.1.3.Эмуляция аппаратных модулей pos-терминала
- Сравнительная характеристика программных средств эмуляции
- 1.2.Конструкторская часть
- 1.2.1.Состав выполняемых функций
- 1.2.2.Требования к надежности
- 1.2.3.Требования к информационной и программной совместимости
- 1.2.4.Требования к составу и параметрам технических средств
- 1.2.5.Организация входных и выходных данных
- 1.2.6.Выбор платформы для разработки
- 1.2.7.Выбор среды разработки
- Сравнительная характеристика средств разработки
- 1.2.8.Алгоритмы работы программного средства
- 1.2.9.Иерархия классов прикладной программы пс эт
- 1.2.10.Описание логической структуры программного средства
- Список создаваемых специальных файлов устройств
- 1.2.11.Пользовательский интерфейс. Экранные формы
- 1.2.12.Методика и результаты испытаний программного средства
- Технологический раздел
- 2.Технологический раздел
- 2.1.Технология программирования пс эт
- 2.1.1.Основные определения
- 2.1.2.Этапы разработки и использованная модель жизненного цикла
- 2.1.3.Объектно-ориетированный подход
- 2.2.1.Обзор возможностей языка Си
- 2.3.Разработка драйверов в ос Linux
- 2.3.1.Особенности ос Linux
- 2.3.2.Принципы работы драйверов в ос Linux
- 2.3.3.Специальные файлы устройств
- 2.3.4.Структура, инициализация и выгрузка драйверов
- 2.3.5.Отладка драйверов
- 2.4.Сценарии в ос Linux
- 2.4.1.Основы разработки сценариев на языке оболочки bash
- 2.4.2.Переменные и области видимости
- Стандартные переменные окружения и оболочки bash
- 2.4.3.Средства ввода-вывода
- 2.4.4.Команды ветвления if-else, case
- 2.4.5.Организация циклов
- 2.4.6.Определение функций
- 2.4.7.Отладка сценариев
- Опции запуска сценариев
- 2.4.8.Makefile – управление компиляцией
- 2.5.Использование библиотек в ос Linux
- 2.5.1.Статические и динамические библиотеки
- 2.5.2.Графическая библиотека fltk
- Элементы библиотеки fltk
- 2.5.3.Библиотека pcsc для работы с электронными картами
- 2.5.4.Библиотека TinyXml для работы с xml-файлами
- Основные классы библиотеки TinyXml
- 2.6.Средства отладки в ос Linux
- 2.6.1.Технологии отладки
- 2.6.2.Отладочные сообщения
- 2.6.3.Стандарт syslog
- 2.6.4.Удаленная отладка с помощью gdbserver
- 2.6.5.Отладка в среде SlickEdit 2009
- 2.7.Виды тестирования
- 2.7.1.Классификация видов тестирования
- 2.7.2.Уровни тестирования
- 2.7.3.Тестирование методом «белого» ящика
- 2.7.4.Тестирование методом «черного» ящика
- Организационно-экономический раздел «Определение целевого сегмента рынка pos-терминалов»
- 3.Организационно-экономический раздел
- 3.1.Сегментация рынка и позиционирование товара
- 3.1.1.Разделение рынка на сегменты
- 3.1.2.Принципы рыночной сегментации
- 3.1.3.Методы выделения сегментов
- 3.1.4.Критерии рыночной сегментации
- 3.1.5.Выбор целевого рынка
- 3.1.6.Выбор целевого сегмента
- 3.1.7.Позиционирование товара
- 3.1.8.Метод Чекановского
- 3.2.Сегментация рынка платежных pos-терминалов
- 3.2.1.Особенности рынка pos-терминалов
- 3.2.2.Выделение групп конечных пользователей
- 3.2.3.Выделение основных характеристик pos-терминала «ярус»
- 3.2.4.Диаграмма Чекановского
- 3.2.5.Выбор целевого сегмента и позиционирование pos-терминала «ярус»
- Раздел по производственной и экологической безопасности «Инженерный расчет воздухообмена на рабочем месте инженера-программиста»
- 4.Раздел по производственной и экологической безопасности
- 4.1.Введение
- 4.2.Рабочее место инженера-программиста
- 4.2.1.Особенности и характеристики
- 4.2.2.Основные опасности и вредности
- 4.2.3.Оценка тяжести труда
- Классы условий труда по показателям тяжести трудового процесса
- 4.3.Воздухообмен в помещении
- 4.3.1.Классификация систем вентиляции
- 4.3.2.Инженерный расчет воздухообмена в зависимости от числа людей в помещении
- 4.3.3.Инженерный расчет воздухообмена по избыткам тепла
- Значения коэффициента Кост
- Плотность теплового потока солнечной радиации в июле, Вт/м2
- 4.3.4.Выбор вентиляционной системы
- 4.4.Пожарная безопасность
- 4.5.Экологическая безопасность (утилизация компьютеров)
- Заключение
- Список литературы
- Введение
- Назначение и условия применения пс эт
- Состав выполняемых функций
- Требования к надежности
- Требования к составу и параметрам технических средств
- Характеристика пс эт
- Обращение к пс эт
- Входные и выходные данные пс эт
- Сообщения