- Любовные романы
- Фантастика и фэнтези
- Ненаучная фантастика
- Ироническое фэнтези
- Научная Фантастика
- Фэнтези
- Ужасы и Мистика
- Боевая фантастика
- Альтернативная история
- Космическая фантастика
- Попаданцы
- Юмористическая фантастика
- Героическая фантастика
- Детективная фантастика
- Социально-психологическая
- Боевое фэнтези
- Русское фэнтези
- Киберпанк
- Романтическая фантастика
- Городская фантастика
- Технофэнтези
- Мистика
- Разная фантастика
- Иностранное фэнтези
- Историческое фэнтези
- LitRPG
- Эпическая фантастика
- Зарубежная фантастика
- Городское фентези
- Космоопера
- Разное фэнтези
- Книги магов
- Любовное фэнтези
- Постапокалипсис
- Бизнес
- Историческая фантастика
- Социально-философская фантастика
- Сказочная фантастика
- Стимпанк
- Романтическое фэнтези
- Ироническая фантастика
- Детективы и Триллеры
- Проза
- Юмор
- Феерия
- Новелла
- Русская классическая проза
- Современная проза
- Повести
- Контркультура
- Русская современная проза
- Историческая проза
- Проза
- Классическая проза
- Советская классическая проза
- О войне
- Зарубежная современная проза
- Рассказы
- Зарубежная классика
- Очерки
- Антисоветская литература
- Магический реализм
- Разное
- Сентиментальная проза
- Афоризмы
- Эссе
- Эпистолярная проза
- Семейный роман/Семейная сага
- Поэзия, Драматургия
- Приключения
- Детская литература
- Загадки
- Книга-игра
- Детская проза
- Детские приключения
- Сказка
- Прочая детская литература
- Детская фантастика
- Детские стихи
- Детская образовательная литература
- Детские остросюжетные
- Учебная литература
- Зарубежные детские книги
- Детский фольклор
- Буквари
- Книги для подростков
- Школьные учебники
- Внеклассное чтение
- Книги для дошкольников
- Детская познавательная и развивающая литература
- Детские детективы
- Домоводство, Дом и семья
- Юмор
- Документальные книги
- Бизнес
- Работа с клиентами
- Тайм-менеджмент
- Кадровый менеджмент
- Экономика
- Менеджмент и кадры
- Управление, подбор персонала
- О бизнесе популярно
- Интернет-бизнес
- Личные финансы
- Делопроизводство, офис
- Маркетинг, PR, реклама
- Поиск работы
- Бизнес
- Банковское дело
- Малый бизнес
- Ценные бумаги и инвестиции
- Краткое содержание
- Бухучет и аудит
- Ораторское искусство / риторика
- Корпоративная культура, бизнес
- Финансы
- Государственное и муниципальное управление
- Менеджмент
- Зарубежная деловая литература
- Продажи
- Переговоры
- Личная эффективность
- Торговля
- Научные и научно-популярные книги
- Биофизика
- География
- Экология
- Биохимия
- Рефераты
- Культурология
- Техническая литература
- История
- Психология
- Медицина
- Прочая научная литература
- Юриспруденция
- Биология
- Политика
- Литературоведение
- Религиоведение
- Научпоп
- Психология, личное
- Математика
- Психотерапия
- Социология
- Воспитание детей, педагогика
- Языкознание
- Беременность, ожидание детей
- Транспорт, военная техника
- Детская психология
- Науки: разное
- Педагогика
- Зарубежная психология
- Иностранные языки
- Филология
- Радиотехника
- Деловая литература
- Физика
- Альтернативная медицина
- Химия
- Государство и право
- Обществознание
- Образовательная литература
- Учебники
- Зоология
- Архитектура
- Науки о космосе
- Ботаника
- Астрология
- Ветеринария
- История Европы
- География
- Зарубежная публицистика
- О животных
- Шпаргалки
- Разная литература
- Зарубежная литература о культуре и искусстве
- Пословицы, поговорки
- Боевые искусства
- Прочее
- Периодические издания
- Фанфик
- Военное
- Цитаты из афоризмов
- Гиды, путеводители
- Литература 19 века
- Зарубежная образовательная литература
- Военная история
- Кино
- Современная литература
- Военная техника, оружие
- Культура и искусство
- Музыка, музыканты
- Газеты и журналы
- Современная зарубежная литература
- Визуальные искусства
- Отраслевые издания
- Шахматы
- Недвижимость
- Великолепные истории
- Музыка, танцы
- Авто и ПДД
- Изобразительное искусство, фотография
- Истории из жизни
- Готические новеллы
- Начинающие авторы
- Спецслужбы
- Подростковая литература
- Зарубежная прикладная литература
- Религия и духовность
- Старинная литература
- Справочная литература
- Компьютеры и Интернет
- Блог
Язык Си - руководство для начинающих - M. УЭИТ
Шрифт:
Интервал:
Закладка:
Си — эффективный язык. Его структура позволяет наилучшим образом использовать возможности современных ЭВМ. На языке Си программы обычно отличаются компактностью и быстротой исполнения.
Си — переносимый, или мобильный, язык. Это означает, что программа, написанная на Си для одной вычислительной системы, может быть перенесена с небольшими изменениями (или вообще без них) на другую. Если модификации все-таки необходимы, то часто они могут быть сделаны путем простого изменения нескольких элементов в "головном" файле, который сопутствует главной программе. Конечно, структура большинства языков программирования подразумевает переносимость, но тот, кто переносил программу, написанную на Бейсике, с персональной ЭВМ IBM PC на машину Apple (они во многом, похожи) или пытался выполнить программу, написанную на Фортране для машины типа IBM, в системе UNIX, знает о многих возникающих при этом мучительных
РИС. 1.1. Достоинства языка Си.
проблемах. Язык Си предоставляет исключительные возможности для переноса программ. Компиляторы с данного языка реализованы почти на 40 типах вычислительных систем, начиная от- 8-разрядных микропроцессоров и кончая CRAY-1 одним из самых мощных в настоящее время суперкомпьютеров.
Си — мощный и гибкий язык (два излюбленных слова в литературе по вычислительной технике). Например, большая часть мощной и гибкой (!) операционной системы (ОС) UNIX написана на языке Си. Речь идет о компиляторах и интерпретаторах других языков, таких, как Фортран, АПЛ, Паскаль, Лисп, Лого и Бейсик. Поэтому, когда вы используете компилятор с Фортрана в системе UNIX, результирующая объектная программа в конечном счете получается с помощью некоторой программы, написанной на языке Си. Кроме того, программы, написанные на Си, используются для решения физических и технических проблем и даже для производства мультипликационных фильмов.
Си обладает рядом замечательных конструкций управления, обычно ассоциируемых с ассемблером. Если вы остановите свой выбор на Си, то сможете реализовывать свои программы с максимальной эффективностью.
Си — удобный язык. Он достаточно структурирован, чтобы поддерживать хороший стиль программирования, и вместе с тем не связывать вас смирительной рубашкой ограничений.
Кроме уже упомянутых достоинств язык Си имеет и некоторые другие. У него, безусловно, есть и ряд недостатков, но вместо того чтобы далее углубляться в это, давайте обсудим еще один вопрос.
БУДУЩЕЕ ЯЗЫКА СИ
Язык Си уже занимает доминирующее положение в мире мини-компьютеров, работающих под управлением ОС UNIX. Сейчас он распространяется на область персональных ЭВМ. Многие фирмы, производящие программное обеспечение, все чаще обращаются к Си, как к удобному языку для реализации своих проектов: программ обработки текстов, составления крупноформатных таблиц, компиляторов и т. д., поскольку известно, что Си позволяет получить компактные и эффективные программы. Что еще важнее, эти программы могут быть легко модифицированы и адаптированы к новым моделям ЭВМ.
Другой причиной, способствующей проникновению Си в программное обеспечение персональных ЭВМ, является желание пользователей, работающих в системе UNIX, отлаживать свои программы дома. Поскольку уже созданы варианты компилятора с языка Си для некоторых моделей персональных ЭВМ, пользователи имеют возможность это делать.
По нашему мнению, то, что подходит для фирм и программистов с большим опытом работы на Си, хорошо и для остальных пользователей. Все больше и больше программистов останавливают свой выбор на языке Си, чтобы воспользоваться его преимуществами. Поэтому вам совсем не обязательно быть. профессиональным программистом, чтобы следовать их примеру.
Короче говоря, Си суждено стать одним из наиболее важных языков программирования в 80-90-е годы. Он уже применяется на мини-компьютерах и персональных ЭВМ. Он используется фирмами, производящими программное обеспечение, студентами, обучающимися программированию, и различными энтузиастами. И если вы хотите работать в сфере программотехники, то один из первых вопросов, на который вы должны будете отвечать "да", — "Умеете ли вы программировать на Си?".
ИСПОЛЬЗОВАНИЕ ЯЗЫКА СИ
Си — язык "компилируемого" типа. Не огорчайтесь, если это звучит для вас пока как непонятный набор слов; вы поймете, что это значит, когда мы опишем этапы процесса создания работающей Си-программы.
Если вы привыкли использовать какой-нибудь язык программирования компилируемого типа, например Паскаль или Фортран, вам будут понятны основные этапы "сборки" программ, написанных на Си. Но если ваш опыт основан на работе с такими языками
РИС. 1.2. Области применения языка Си.
интерпретируемого типа, как Бейсик и Лого, или у вас совсем нет соответствующей подготовки, то процесс сборки может показаться вам поначалу необычным. К счастью, мы можем объяснить вам все детали этого процесса, и вы увидите, что на самом деле он достаточно понятен и прост.
Чтобы дать вам первое представление о процессе создания программы, ниже приводится упрощенная схема того, что необходимо сделать — начиная от написания программы и кончая ее выполнением.
1. Используйте "редактор текстов" для создания программы на языке Си.
2. Попытайтесь осуществить трансляцию вашей программы с помощью удобного для вас компилятора. Он проведет проверку правильности вашей программы и, если обнаружит ошибки, выдаст сообщение об этом. В противном случае компилятор выполнит перевод программы в некоторый внутренний язык ЭВМ и поместит результат в новый файл.
3. Набрав имя этого нового файла на клавиатуре дисплея, вы можете запустить вашу программу.
В некоторых вычислительных системах второй этап может быть разбитым на два или три шага, но его суть от этого не изменится. Давайте рассмотрим теперь каждый этап более подробно.
Использование текстового редактора для подготовки программы
В отличие от языка Бейсик у Си нет собственного текстового редактора. В качестве него вы можете использовать любой из редакторов общего типа, имеющихся в вашей вычислительной системе. В операционной системе UNIX, например, это чаще всего редакторы ed, ex, edit, emacs или vi. На персональном компьютере это может быть ed, edlin, Wordstar, Volkswriter или любой другой из широкого набора редакторов. При работе с некоторыми из них вам необходимо будет определить конкретную версию редактора (путем задания соответствующих параметров). Например, при использовании редактора Wordstar необходимо ввести параметр N, указывающий на отсутствие документирования.
При работе с редактором от вас потребуется, во-первых, не ошибаться, набирая текст программы на пульте дисплея, и, во-вторых, выбирать имя для файла, в который будет помещена данная программа. Правила выбора имени выглядят довольно просто: оно должно быть допустимым именем в вашей вычислительной системе и должно оканчиваться символом с. Ниже приведены два правильно построенных имени: sort.c add.c
Первая часть имени файла должна напоминать вам, что программа делает. Вторая часть (символ .c) указывает на то, что данный файл содержит текст программы, написанной на языке Си. В программировании принято называть часть имени, следующую за точкой, "расширением". Расширения используются для того, чтобы информировать вас и вычислительную систему о типе файла.
РИС. 1.3. Схема работы интерпретатора и компилятора.
Рассмотрим простой пример. Предположим, что при помощи редактора мы подготовили программу, которая приведена ниже, и поместили ее в файл с именем inform.с.
#include main() { printf (" Символ .с используется как окончание имени файла с СИ-программой. n");}
Выше приведенный текст, который мы набрали на клавиатуре дисплея, обычно называется исходным кодом (текстом); он содержится в исходном файле. Важным моментом, который необходимо сразу отметить, является то, что наш исходный файл — это начальный пункт процесса программирования, а не его конец.
Исходные файлы и выполняемые файлы
Наша замечательная программа, несмотря на свою лаконичность и простоту, для компьютера является совершенно бессмысленным набором символов, так как он "не понимает" директив типа #include или printf. Он понимает только специальный язык, называемый машинным кодом, — набор последовательностей двоичных цифр, например, 10010101 и 01101001. Если мы хотим, чтобы компьютер выполнил программу, мы должны осуществить перевод (трансляцию) нашего кода (исходного) в ее код (машинный). В результате этих действий будет получен выполняемый файл, т. е. файл, содержащий весь необходимый машинный код, требующийся компьютеру для выполнения задания.

