Язык Си и разработка программ
В 1972 году сотрудник фирмы Bell Labs Денис Ритчи создал язык Си во время совместной деятельности с Кеном Томпсоном над операционной системой UNIX. Прообразом Си послужил язык Би, разработанный Томпсоном.
Со временем язык Си становится одним из наиболее мощных и популярных языков. Причиной этого являются следующие достоинства:
Си - современный язык. Его структура побуждает программиста использовать в своей работе методы: нисходящее проектирование, структурное программирование и модульную структура программ.
Си - эффективный язык. Программы на Си отличаются компактностью и быстротой исполнения. Си – переносимый или мобильный язык, т.е. программа перенесена с небольшими изменениями (или вообще без них) на другую.
На Си программа, написанная для одной вычислительной системы, может быть перенесена с небольшими изменениями (или вообще без них) на другую.
Си – мощный и гибкий язык. Например, большая часть операционной системы UNIX написана на Си (компиляторы и трансляторы других языков: Фортран, АПЛ, Паскаль, Лого, Бейсик).
Программы, написанные на Си, используются для решения задач различных уравнений. Си обладает рядом мощных конструкций ассемблера.
Си - удобный язык. Он слишком структурирован и вместе с тем, не слишком ограничивает свободу программиста.
Си – язык компилирующего типа.
Чтобы заставить компьютер выполнить что-нибудь полезное, необходимо составить соответствующую программу.
Программа - это последовательность инструкций, реализующих алгоритм, набор предписаний, однозначно определяюший содержание и последовательность выполнения операций для решения задачи.
Например:чтобы вычислить значение простейшего выражения а=b+cd, где b, c и d могут принимать целочисленные значения, допустим в интервале от 0 до 100, необходимо выполнить следующие инструкции:
1. Ввести значение b, c и d.
2. Умножить с на d и сохранить значение произведения, например в f.
3. Сложить b cо значением полученного произведения и результат присвоить а.
4. Вывести результат вычисления значения.
На языке Си эта программа будет выглядеть следующим образом:
# include <stdio.h> //подключение файла описания стандартных
//программ ввода/вывода.
// символ «//» - признак строчного комментария.
void main (void ) //заголовок головной функции программы.
{ int a,b,c,d,f; //объявление переменных целого типа.
scanf (“%d %d %d“,&b,&c,&d); //вызов функции ввода данных scanf, и передача
// ей параметров: строки управления вводом. (в кавычках) и списка
//адресов переменных, задаваемых через запятую. Функция принимает и
//присваивает значение переменным при их поступлении с клавиатуры.
f=c*d; //вычисление произведения и сохраняет результат в f.
a= b+f ; //вычисляется сумма и заносится в a.
printf(“%d“, a); //вызов стандартной функции распечатки
//данных. Распечатывается значение переменной a, со
//спецификацией %d , т.е. как целое число.
}
Если данная программа подготовлена для выполнения, то пользователю остается:
· запустить программу на выполнение;
· при остановке (ожидание ввода) ввести через пробел значения b_c _d, например, набрать числа через пробел: (10 25 18) и нажать клавишу ВВОД (Enter);
· получить на экране дисплея результат (просмотреть можно, нажав ALT+F5 или используя меню windopw->user screen);
Но для подготовки программы необходимо (рис.4.1.):
· составить ее в одном из языков программирования;
· транслировать ее в стандарте одного из языков программирования;
· связать с необходимыми вспомогательными программами и функциями;
· загрузить в оперативную память;
· и, наконец, выполнить и получить результаты.
запись на диск
Рис.4.1.Схема процесса компиляции
Как правило, разработка таких программ осуществляется на основе инструментальных языков и систем программирования, к которым относятся:
· ассемблеры и макроассемблеры;
· трансляторы с языков высокого уровня;
Дата добавления: 2016-04-14; просмотров: 624;