Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка Си.doc
Скачиваний:
1
Добавлен:
09.11.2019
Размер:
165.89 Кб
Скачать

Введение

Си - язык программирования высокого уровня разработанный в начале 1970-х годов сотрудниками исследовательского центра ” Bell Telephone Laboratories ” Денисом Ритчи. Первоначально язык Си был создан, для новой по тем временам операционной системе UNIX. Позднее он был перенесен на многие другие операционные системы и стал одним из самых используемых языков программирования. Дописать

Этапы написания программы

Разработка программ предложенных в данной брошюре должна состоять из следующих пунктов.

Постановка задачи. На этом этапе задача, составленная в терминах предметной области, переводится в термины наиболее близкие к программированию. Другими словами формулируется техническое задание.

Проектирование поставленной задачи. Данный пункт, включает в себя разработку и описание процессов поставленной задачи. Создание алгоритма работы программы. Разработку пользовательского интерфейса. Этот этап также определяет, сколько времени может занять тот или иной проект.

Кодирование программы. На этом этапе готовый алгоритм, переводится программистом в программный код. Ошибка многих начинающих программистов заключается в том, что они бросаются кодировать понятные им куски кода программы, пропуская первых два пункта. Это, как правило, приводит к существенному удлинению сроков написания программ. В результате на свет появляются непроработанные “кривые” программные модули исправление ошибок, в которых занимает очень много времени.

Отладка программы. Отладка предназначена для выявления и исправления существующих синтаксических ошибок. Надо отметить, что отладчик не коим образом не сможет отладить ваши смысловые ошибки. Поэтому так важно не упустить этап создания алгоритма.

Тестирование программы. Тестирование программы проверяет правильность работы программы и устойчивость ее к введению неправильных данных. Часто у программистов существует “замыленность” взгляда при тестирование своих программ. Они сами не осознавая вводят данные допустимые для ввода, где-то на бессознательном уровне понимая, что другие данные вводить нельзя. Поэтому не лишним будет отдать программу на тестирование некому постороннему лицу, чтобы он сумел объективно подойти к проблеме тестирования.

Язык Си как и все языки программирования содержит свой алфавит. Алфавит состоит из идентификаторов, символов, специальных символов, разделителей, знаков пунктуации, знаков операций, зарезервированных слов, неиспользуемых символов. Подробнее о алфавите языка программирования Си можно посмотреть [1]. Мы будем предполагать, что читатель знаком с азами программирования на языке Паскаль или Бейсик из школьного курса, однако постараемся изложить данный материал наиболее доступно.

В языке Си существуют следующие простые типы данных:

Таблица типы данных

Тип;

Представление значений в памяти;

Область величины;

char;

1 байт;

-128 до 127;

int;

зависит от реализации;

short;

2 байта;

-32768 до 32767

long;

4 байта;

-2.147.483.648 до 2.147.483.647;

unsigned char;

1 байт;

0 до 255;

unsigned;

зависит от реализации;

unsigned short;

2 байта;

0 до 65535;

unsigned long;

4 байта;

0 до 4.294.967.295;

float;

4 байта

IEEE соглашение;

double;

8 байт;

IEEE соглашение;

Наряду с простыми типами в языке Си существуют и составные типы, такие как массивы, структуры, объединения и файловый тип. Рассмотрим некоторые операции языка Си (Таблица Операции). Приведем здесь лишь операции характеризующие рассматриваемый язык. Такие общие операции как сложение умножение и т.д. присущие всем алгоритмическим языкам мы рассматривать не будем.

Таблица Операции

Операция

Наименование

!

Логическое НЕ

~

Побитовое дополнение

%

Остаток

<<

Сдвиг влево

>>

Сдвиг вправо

==

Равно

!=

Не равно

&

Побитовое И, адрес от

|

Побитовое включающее ИЛИ

^

Побитовое исключающее ИЛИ

&&

Логическое И

||

Логическое ИЛИ

'

Последовательное выполнение (запятая)

?:

Операция условного выражения

++

Инкремент

--

Декремент

=

Простое присваивание

+=

Сложение с присваиванием

-=

Вычитание с присваиванием

*=

Умножение с присваиванием

/=

Деление с присваиванием

%=

Остаток с присваиванием

>>=

Сдвиг вправо с присваиванием

<<=

Сдвиг влево с присваиванием

&=

Побитовое И с присваиванием

|=

Побитовое включающее ИЛИ с присваиванием

^=

Побитовое исключающее ИЛИ с присваиванием

Рассмотрим общую структуру программы на языке Си – она имеет следующий вид. Здесь жирным шрифтом выделены обязательные пункты.

Подключаемые файлы и библиотеки <Раздел описаний глобальных переменных> <Прототипы создаваемых функций>

<описание функций >

Точка входа в программу (функция main)

<описание функций >

Программа на языке Си начинается с подключения библиотек и специальных файлов. Начинается данные действия с символа # и ключевого слова include, далее следует название подключаемого файла заключенного между символами < > или ” ”. Если подключается файл из стандартной библиотеке языка Си, то принято его размещать между символов < >, все остальные файлы заключаются в кавычки.

#include <stdio.h>

#include ”my_file.h”

Приведем короткий список некоторых библиотек используемых в языке Си.

Таблица Типы заголовочных файлов

Заголовочный файл

Назначение

assert.h

Диагностика программы

ctype.h

Преобразование и проверка символов

errno.h

Проверка ошибок

floaf.h

Работа с числами с плавающей запятой

limits.h

Определение размеров целочисленных типов

locale.h

Поддержка интернациональной среды

math.h

Математические библиотеки

sefjmp.h

Возможности нелокальных переходов

signal.h

Отработка сигналов

stdarg.h

Поддержка функций с неопределенным числом аргументов.

stddef.h

Разное

stdio.h

Библиотека стандартов ввода/вывода

stdlib.h

Библиотека общего назначения

string.h

Функции работы со стройками символов

time.h

Функции работы с датами и временем

dos.h

Подключение Dos

После описания подключаемых файлов следует раздел описаний глобальных переменных и констант. Напомним, что константы – это выражение, которые состоят из констант знаков операций, круглых скобок и некоторых стандартных функций. Причем значение этого выражения является постоянным на всем этапе выполнения программы.

сonst <тип константы> <имя константы> = <значение>;

Глобальная переменная это переменная, которая определена и существуют на протяжение всей работы программы. Значение данной переменной доступно в любом месте программы. Пример определения констант и глобальных переменных приведен ниже.

Пример

#include <stdio.h>

const int n=4;

float pi=3.1415;

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

<тип> main (int argc, char **argv)

Здесь argc и argv два необязательных параметра, а тип определяет возвращаемый функцией результат. Эти параметры передаются из внешнего окружения. Первый параметр служит для передачи числа передаваемых строк, второй для передачи самих строк. Функция main может иметь и третий параметр, который принято называть argp, и который служит для передачи в функцию main параметров операционной системы (среды) в которой выполняется программа на языке программирования С. Однако во многих случаях функция main используется без параметров вообще.