Программирование линейных алгоритмов 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Программирование линейных алгоритмов



Структура программы.

Любая программа на языке С состоит из одной и более функций, одна из которых должна иметь имя main, и именно ей передаётся управление из операционной системы.

Функция – это коллективное имя для некоторой группы описаний и операторов, заключённых в фигурные скобки { } и являющихся телом функции.

В общем виде программа имеет следующую структуру:

#<Директивы препроцессора>

main()

{

< тело функции main>

}

function1()

{

< тело функции function1>

}

function2()

{

< тело функции function2>

}

...

Директивы препроцессора.

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

Управление процессом обработки текста исходного файла осуществляется с помощью директив (команд) препроцессора. Включение директив может происходить в любом месте текущего файла, однако, существует соглашение, что включение происходит в начале файла.

Каждая директива записывается с начала строки, первым непробельным символом должен быть знак диез (#). Все директивы препроцессора исполняются до компиляции и в тексте файла, поступающего на вход компилятора, не присутствуют.

 

2.2.1 Включение в текст программы внешнего файла.

Самой важной для программиста директивой препроцессора, несомненно, является директива # include. С её помощью препроцессор даёт распоряжение включить файл, указанный в качестве аргумента в текущий файл. В большинстве случаев включается так называемый файл-заголовок, который содержит объявления, символьные константы, макросы и/или определения типов. Включение файла-заголовка может происходить в любом месте текущего файла, однако, существует соглашение, включение происходит в начале файла. Использование файла-заголовка целесообразно для программы, состоящей из нескольких исходных файлов.

Включение текста внешнего файла в исходный файл осуществляется директивой # include.

Форматы записи директивы:

1)

# include <имя файла>   

#include <math.h>

Препроцессор заменяет эту строку содержимым файла math.h. Угловые скобки означают, что файл math.h будет взят из некоторого стандартного каталога. Текущий каталог не просматривается.

Стандартно подключаемые библиотеки:

<stdio.h> ввода/вывода;

<conio.h> интегрированная среда;

<stdlib.h> стандартных функций;

<math.h> математическая;

<sting.h> работа со строками символов;

<time.h> определение дат и времени;

<graphics.h> графическая.

 

2)

 # include “имя файла”

Имя файла должно удовлетворять требованиям к именам DOS (допустима обратная наклонная черта). Поиск осуществляется сначала в том каталоге, в котором находится текущий исходный файл, а в случае неудачи – в стандартно каталоге. 

#include “ABC”

Препроцессор заменяет эту строку содержимым файла ABC.

3)

# include “диск:\каталог\имя файла”

Компилятор осуществляет поиск только по указанному пути.

#include “C:\prog\tools\typen.h”

 

2.2.2 Включить определение.

С помощью директивы препроцессора # define определяется макрос. Макроопределение имеет следующую форму:

 

#define <имя_ макроса> последовательность_лексем           

 или

#define <идентификатор (параметр_1, параметр_2,… параметр_N,)> <блок_текста

                                                                                                                             замены>

Директива # define указывает препроцессору на то, что в тексте программы <идентификатор> (макрос) должен быть заменён на <блок_текста_замены>.

#define PI 3.1416

#defineMAX_INT 32767

Идентификаторы PI и MAX_INT заменяются препроцессором на соответствующие им числовые константы.

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

  

 При второй форме записи директивы # define препроцессор осуществляет замену <идентификатора> блоком текста замены с подстановкой фактических параметров вместо формальных, определённых в директиве. Формальные параметры в блоке текста замены показывают те места, куда должны быть подставлены фактические.

#define summa(x,y) (x+y)

выражение в тексте программы summa(2,3) заменяется текстом summa(2+3)

 

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

Идентификаторы используются для обозначения имён переменных, функций и типов данных.

Идентификаторы состоят из прописных и строчных букв латинского алфавита, цифр и символов подчёркивания. Длина идентификатора не ограничена, но только первые 32 являются значимыми.

Прописные и строчные буквы рассматриваются как различные буквы (index, Index, INDEX- разные идентификаторы). Нельзя использовать зарезервированные слова.

 

Константы.

Константа это такое данное в программе, которое в процессе работы программы не меняет своё значение.

Константы обычно обозначаются большими буквами (LOWER, UPPER, STEP).

Язык С поддерживает целые, длинные, с плавающей точкой, символьные и строковые константы.

1) Целые константы

Десятичные цифры 0-9 (первая цифра ≠0) 12 111 956 1007

8-ричные  цифры 0-7 (начинаются с 0)  012 0111 0956 01007

16-ричные цифры 0-9, буквы A-F (начинаются с 0 x или 0 X) 0х12=18, 0Х12=18,

                                                                                                       0х2f=47

2) Длинные целые константы явно определяются латинской буквой l или L, стоящей после константы. 12 L, 012 l, 0x12 l

3) Константы с плавающей точкой всегда представляются числом с плавающей точкой двойной точности, т.е. имеющих тип double.

Общийвид mmmm.nnnn E xx, любая часть может быть опущена.

Пример: 345.=345        3.1459  1.2Е5 = 120000 307е-5

4) Символьные константы – состоят из одного символа кода ASCII, заключённого в апострофы.
Всегда тип int – целые 'а', '\', '7'

Специальные управляющие символы:

‘\ n’ – новая строка;

‘\r’ - возврат каретки;

‘\t’ - горизонтальная табуляция;

‘\v ’ вертикальная табуляция.

 

5) Строковые константы – состоит из последовательности символов кодов ASCII, заключённых в кавычки («как, например, эта»). Она располагается обязательно на одной строке. Для продолжения символьной последовательности на новой строке необходимо использовать символ новой строки ‘\ n’.

    Всегда тип char.

Пример1: char *p=”Это пример того как С“

                        ” будет автоматически \n выполнять конкатенацию“

                        ”длинных строк \n делая наглядным общий вид программы “;

                 puts(p);

Типы данных.



Поделиться:


Последнее изменение этой страницы: 2020-12-09; просмотров: 65; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.222.117.109 (0.013 с.)