Смекни!
smekni.com

Кафедра: Автоматика и Информационные Технологии

ОСНОВЫ С


ОГЛАВЛЕНИЕ

Введение

Глава 1. Основы языка Си

1.1. Алфавит

1.2. Основные конструкции Си

1.3. Ввод-вывод.

1.3.1. Вывод

1.3.2. Ввод

1.4. Базовые типы данных языка Си

1.4.1. Идентификаторы.

1.4.2. Типизированные константы

1.4.3. Переменные

1.4.3.1. Целые типы

1.4.3.2. Вещественные типы

1.4.3.3. Символьные типы

1.4.4. Тип данных строка

1.4.5. Структуры

1.4.5.1. Массивы

1.4.5.2. Записи

1.4.6 Область видимости и время жизни переменных

1.5. Основные операторы

1.6. Препроцессор

1.7. Программы. Функции

1.8. Указатели

1.9. Указатели и функции

1.10. Файлы

1.11. Дополнительные функции Си

1.11.1. Функции преобразования

Функции преобразования символьных строк: atoi(), atof(). 37с.

1.11.3. Функции, работающие со строками

1.12. Особенности программирования на языке Си

1.12.1. Модули. Многомодульное программирование

1.12.2 . Модели памяти

1.12.3 . Программирование в DOS и Windows

1.12.4 . Использование языка ассемблера в программах на Си

Глава 2. Примеры использования языка Си

2.1. Сортировка

2.2. Рекурсивные алгоритмы

2.3. Задача "Ханойские башни"

Глава 3. Основы С++

3.1. Отличия С++ от Си

3.2. Объектно-ориентированное программирование в С++

3.2.1. Классы

3.2.2. Перегрузка функций

3.2.3. Конструкторы

3.2.4. Деструкторы

3.2.5. Конструкторы с параметрами

3.2.6. Введение в наследование

3.2.7. Виртуальные функции

3.2.8. Указатели на объекты

Глава 4. Основы программирования на языке С++Builder

4.1. Характеристика С++Builder

4.2. Компоненты VCL. Свойства. События. Методы

4.2.1. Типы компонент

4.2.2. Иерархия классов VCL

4.3. Структура файлов в С++Builder

4.4. Визуальные компоненты(VCL)

4.5. Программы, управление событиями, исключения

4.6. Стратегия отладки Windows-программ

4.7. Использование компонент VCL в разработке программ

4.8. Графические компоненты.

4.9. Мультимедиа

4.10. Спрайтовая графика

4.11. Объектная технология OLE2

4.12. Библиотеки DLL.

4.13. Разработка визуальных компонент

4.14. Введение в программирование CGI

3.15. Программирование баз данных.

3.16. Пакеты

Заключение

Литература

Приложение N1

Оглавление

Введение

В 1804 году французский изобретатель Жозеф Мари Жаккар создал "программно-управляемый" ткацкий станок. Для управления станком использовались перфокарты, соединенные друг с другом в виде ленты. Деревянные шпильки "читающего устройства" станка по расположению отверстий в перфокарте определяли, какие нити следует поднять, а какие опустить для получения нужного узора.

В 1890 году в США изобретателем Германом Холлеритом разработана электромеханическая счетная машина - табулятор, управляемая перфокартами, была использована для составления таблиц с результатами переписи населения США. Основанная Холлеритом фирма по производству табуляторов впоследствии превратилась в корпорацию International Business Machines (IBM).

В 1936 году двадцатипятилетний студент Кембриджского университета англичанин Алан Тьюринг опубликовал статью "О вычислимых числах", в которой рассматривалось гипотетическое устройство ("машина Тьюринга"), пригодное для решения любой разрешимой математической или логической задачи, - прообраз программируемого компьютера.

В1941 году немецкий инженер Конрад Цузе построил действующий компьютер Z3, в котором использовалась двоичная система счисления. Программы записывались на перфоленте.

В 1945 году в высшем техническом училище Пенсильванского университета (США) физик Джон Мочли и инженер Проспер Экерт построили полностью электронную машину "Эниак". Для задания программы было необходимо вручную установить тысячи переключателей и воткнуть сотни штекеров в гнезда контактной панели.

1 июня 1945 года был разослан отчет американского математика венгерского происхождения Джона фон Неймана "Предварительный отчет о машине Эдвак", содержащий концепцию хранения команд компьютера в его собственной внутренней памяти.

21 июня 1948 года в Манчестерском университете (Великобритания) на машине "Марк-1" выполнена первая в мире хранимая в памяти машины программа - поиск наибольшего сомножителя заданного числа.

В 1949 году под руководством Мориса Уилкса создан компьютер "Эдсак". Проектировщики "Эдсака" ввели систему мнемонических обозначений, где каждая машинная команда представлялась одной заглавной буквой, и автоматизировали настройку подпрограмм на определенное место в памяти. Морис Уилкс назвал мнемоническую схему и библиотеку подпрограмм собирающей системой (assembly system) - отсюда слово "ассемблер".

В 1949 году в Филадельфии (США) под руководством Джона Мочли создан "Краткий код" - первый примитивный интерпретатор языка программирования.

В 1951 году в фирме Remington Rand американская программистка Грейс Хоппер разработала первую транслирующую программу. Хоппер назвала ее компилятором (compiler - компоновщик).

В 1957 году на 20-м этаже штаб-квартиры фирмы IBM на Мэдисон-авеню в Нью-Йорке родился язык Фортран (FORmula TRANslation - трансляция формул). Группой разработчиков руководил 30-летний математик Джон Бэкус. Фортран - первый из "настоящих" языков высокого уровня.

В 1972 году 31-летний специалист по системному программированию из фирмы Bell Labs Деннис Ритчи разработал язык программирования Си.

В 1984 году французский математик и саксофонист Филип Кан основывает фирму Borland International.

Далее появился диалект языка Си фирмы Borland.

Первоначально Си был разработан как язык для программирования в операционной системе Unix.

Вскоре он стал распространяться для программистов-практиков. В конце 70-х были разработаны трансляторы Си для МикроЭВМ для операционной системой СР/M.

После появления IBM PC стали появляться и компиляторы Си (для этого компьютера их сейчас более 20).

В 1983 г. Американский Институт Стандартов (ANSI) сформировал Технический Комитет X3J11, для создания стандарта языка Си. Появившийся на рынке язык Си++ корпорации Borland подчиняется большинству требований стандарта.

По сути своей Си является языком функций. Программирование на Си, осуществляется путем написания функций и обращения к библиотечным функциям. Большинство функций возвращают некоторые значения, которые могут использоваться в других операторах.

Среди множества достоинств языка Си нужно отметить основные:


- универсальность (используется почти на всех существующих ЭВМ);

- компактность и универсальность кода;

- быстрота выполнения программ;

- гибкость языка;

- высокую структурированность.


Глава 1. Основы языка Си

1.1. Алфавит

Алфавит языка состоит из следующих символов:

Заглавные и строчные латинские буквы A-Z, a-z и символ подчеркивания. Цифр от 0 до 9. Специальных символов + - * / = > < . ; , : [ ] { } ( ) # $.

Символы пробел, табуляция, перевод строки, возврат каретки называются пробельными.

Программа на Cи++ представляет собой последовательность ACSII-символов, представляющих собой ее исходный текст.

1.2. Основные конструкции Си

Рассмотрим простую программу печати на экране фразы "Привет от ЭВМ"

#include <stdio.h>

main()

// программа

{

printf("Привет от ЭВМ&bsol;n");

}

Рассмотрим структуру программы

Cи– программа
# Директивы препроцессора
Main
Операторы
Функция 1( )
Операторы
Функция n ( )
Операторы
Описания
Присваивания
Функции
Управления
Пустые

Команда #include подключает файл stdio.h к нашей программе. В файле содержится сведения о функциях ввода-вывода.

Файл с именем stdio.h содержит информацию о вводе-выводе.

Символ # указывает, что прежде чем транслировать программу необходимо включить в нее функции из файла stdio.h - это так называемая препроцессорная обработка, которая осуществляет некоторую предварительную обработку текста программы перед началом компиляции.

Строка main() содержит название функции, с которой всегда начинается программа. Пустые скобки обозначают, что эта функции, но она без параметров.

После символов // стоят комментарии (для одной строки), (комментариями также называются символы, стоящие между /* и */).

Фигурные скобки {} отмечают начало и конец тела программы или функции. Они также применяются для объединения нескольких операторов программы в блок.

В строке printf ("Привет от ЭВМ&bsol;n") содержится стандартная функция печати Си. Строка символов, заключенная в скобки (аргумент), является информацией, передаваемой функции printf() из нашей главной функции main(). Когда выполнение функции будет завершено, управление вернется обратно в исходную программу. Символ &bsol;n - обозначает перевод строки на новую строку после печати.

Рассмотрим следующий пример - написать программу перевода метров в сантиметры.

#include <stdio.h>

#include <conio.h>

main()

{

int I;

int J;

int C;

printf("M? &bsol;n");

scanf("%d",&I);

J=100*I;

printf(" В %d Мсодержится %d cm&bsol;n", I,J);

C=getch();

}

В данной программе определены две целочисленные переменные I и J.

Введена функция scanf("%d",&I); которая позволяет вводить десятичное число с клавиатуры и значение присвоить переменной I, далее по команде J=100*I; идет вычисление4.

Следующая строка printf(" В %d М содержится %d cm&bsol;n", I,J); печатает фразу. На место первого %d (d- целая переменная) ставится значение I, на место второго %d ставится значение J.

Функция getch() позволяет задержать изображение на экране и требует любого символа, чтобы закончить работу.

Рассмотрим еще пример. Напишем функцию и вызовем ее из нашей программы.

#include <stdio.h>

#include <conio.h>

supervisor()

{

printf("Вы меня вызывали?&bsol;n");

}

main()

{

char C;

printf("Явызываюфункциюsupervisor.&bsol;n");

supervisor();

printf("Да. Посмотрите, кто из студентов спит и разбудите их.&bsol;n");