КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Структура программы на языке С
Программа на языке С имеет следующую структуру: < команды препроцессора > < определение типов > < прототипы функций > < переменные > < функции >. Рассмотрим ее на примере вычисления среднего возраста людей. // Пример 2.1 //Пример структуры программы #include <stdio.h> // Подключает функцию printf() #include <conio.h> // Подключает функции clrscr(), getch() #defineMAXLINE3 // Задает константу MAXLINE, равную 3 typedef struct // Определяет тип данных “структура” { char*name; // Поле name int age; // Поле age } list; float function_sr(); // Прототип функции list spisok[MAXLINE]={ “Петров”, 25, // Описание и “Иванов”, 27, // инициализация “Сидоров”, 29}; // переменной void main(void) // Основная функция { int i; float sr; clrscr(); printf(“Список лиц: \n”); for (i=0; i<MAXLINE; i++) printf(“%s %d лет \n”,spisok[i].name, spisok[i].age); sr = function_sr(); printf(“Средний возраст лиц %3.0f лет \n”, sr); getch(); } float function_sr() // Функция вычисления среднего { // арифметического int i; float sum=0; for(i=0; i<MAXLINE; i++) sum+=spisok[i].age; sum=sum/MAXLINE; return(sum); }
Препроцессор языка С — это программа, выполняющая обработку входных данных для другой программы. Препроцессор просматривает программу до компиляции, заменяет аббревиатуры в исходном коде на соответствующие директивы, отыскивает и подключает необходимые файлы. Директива #include <> осуществляет подключение информации из другого файла в программу. Например, для использования функций форматного ввода-вывода printf() и scanf() необходимо подключить файл stdio.h; а функций очистки экрана clrscr() и ожидания ввода символа с клавиатуры getch() — файл conio.h. Директивой #define в программе задаются константы. По соглашению программистов константы обозначаются прописными буквами. Обычно константы выносятся в отдельный файл, который можно озаглавить, например, const.h. К программе он подключается с помощью директивы #include“const.h”. Директива #define вводит также макроопределение — макрос. Например, для возведения в квадрат можно определить макрос в виде
#define square(x) ((x)*(x)).
Когда компилятор встречает в программе макрос square(x), он заменяет его на произведение ((x)*(x)). В блоке определения типов объявляют тип, который является произвольным от базового (раздел 3). Служебное слово typedefявляется необязательным. В данной программе объявлен тип struct (структура). Кроме того, язык С предусматривает типы: union (объединение) и enum (перечисление). Возможны следующие формы объявления типа:
1) typedef struct 2) struct 3) struct list { { { } list; } list; };
Поля записываются в виде: базовый_тип имя_переменной;
Язык С построен по функциональному принципу. Любая программа содержит одну основную функцию — main. Чаще всего ее тип не определен (void). Функции, имеющие базовый тип, возвращают вычисленное значение в основную программу или другую функцию. Они могут быть описаны одним из трех способов: 1-й способ: < прототип функции(й) > < блок main > < определение функции(й) > 2-й способ: < определение функции(й) > < блок main > 3-й способ: функция может быть определена во внешнем блоке, например, как sred.h. В основной программе она подключается с помощью директивы #include “sred.h” Прототип функции записывается в форме: тип_функции имя_функции([тип аргумент,...]); Аргументы и типы могут отсутствовать. Структура функций аналогична структуре программы. В разделе программы “Переменные” обычно описывают глобальные переменные, доступные для любой части программы.
Дата добавления: 2014-12-27; Просмотров: 363; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |