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

4) Переменные (в1б4, в3б16)

Переменная – именованный участок памяти, в котором хранится значение, которое должно быть изменено

программой. Все переменные перед их использованием должны быть объявлены.

В языке СИ для хранения различных данных используются переменные. Каждая переменная имеет свое имя, и ей можно присваивать различные значения. Используя переменные, можно строить различные выражения. Каждое выражения представляет собой одну или несколько переменных и числовых констант, связанных арифметическими и (или) логическими операциями. В языке СИ переменные делятся на типы. Переменная каждого типа может принимать значения из одного определенного диапазона. Например: переменная типа char — это только целые числа. В языке СИ любая переменная, прежде чем она будет использована, должна быть описана. При описании задается ее тип. В дальнейшем диапазон принимаемых значений должен строго соответствовать выбранному типу переменной. Описание переменной и задание ее типа необходимы потому, что оттранслированная с языка СИ программа выделяет для хранения значений каждой переменной определенные ресурсы памяти. Посмотрим, как выглядит строка описания переменной в программе. Она представляет собой запись следующего вида: Тип Имя. Имя переменной выбирает программист. Допускается использование только латинских букв, цифр и символа подчеркивания. Начинаться имя должно с буквы или символа подчеркивания.

5) Структура с-программы. Понятие локальных и глобальных переменных. Функция main(). Директивы препроцессора (# include и #define). Комментарии. (в1б5, в3б1)

Комментарий не явл лексемой. Внутри комментария м/исп-ть любые допустимые символы. Компилятор комментарий игнорирует. В С комментарий ограничивается парами символов (*…*). Такой комментарий м записывать в неск строк. В С++ был введен 1-строчный коммент-й, начинающийся с //.

Программа написанная на языке С состоит из одной или нескольких функций. Причем одна функция обязательно имеет имя main() –это главная функция ее назначение управление всей работой программы. Данная функция не имеет параметров и не возвращает результат, но наличие () обязательно.

Общая структура программы имеет вид:

<директива препроцессора>

<определение типов пользователей-typedef>

< описание прототипов функции >

<определение главных переменных>

<функции>

Структура функции:

<класс памяти>_<тип результата>_<имя функции> (объявление параметров)

{// начало функции

<операторы >

}// конец функции

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

#include<имя файла. h> h- расширение заголовочных файлов.

Если имя файла заключено а < > то поиск файла происходит в стандартном каталоге с этим файлом, если же в “ ”, то его поиск производится в текущем каталоге.

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

1. stdio.h-поддерживает ввод\вывод данных

2.conio.h- управляет текстовым режимом экрана. Содержит описание функций: clrscr()-очистка экрана.

getch()-ожидание ввода какого-либо символа. С помощью этой функции осуществляется задержка экрана до нажатия какой-либо клавиши.

3. math.h- содержит прототипы матем. функций.

Второе основное назначения препроцессора-это обработка макроопределений. Макроподстановка #define(определить) имеет вид:

#define идентификатор значений

Например: #define PI 3,14157……, которой определяется константой PI действует до конца программы, в ходе препроцессорной обработки программы появление в тексте идентификатора PI везде заменяется указанным значением.

Понятие локальных и глобальных переменных

Для того, чтобы определяемая функция могла выполнять какие-либо действия, она должна использовать переменные. В языке С все переменные должны быть объявлены до их использования. Объявления устанавливают соответствие имени и атрибутов переменной, функции или типа. Определение переменной вызывает выделение памяти для хранения ее значения.

Область действия переменных – правила, которые устанавливают, какие данные доступны из данного места программы.

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

Локальная переменная – переменная, объявленная внутри блока, в частности – внутри функции.

Язык С поддерживают правило: переменная может быть объявлена внутри любого блока программы.

Локальная переменная доступна внутри блока, в котором она объявлена. При выходе из блока эта переменная (и ее значение) теряется.

Глобальная переменная – переменная, объявленная вне какой-либо функции. В отличие от локальной переменной, глобальная переменная может быть использована в любом месте программы, но перед ее первым использованием она должна быть объявлена. Область видимости глобальной переменной – вся программа.

Комментарий – это набор символов, которые игнорируются компилятором, на этот набор символов, однако, накладываются следующие ограничения. Внутри набора символов, который представляет комментарий не может быть специальных символов определяющих начало и конец комментариев, соответственно (/* и */). Отметим, что комментарии могут заменить как одну строку, так и несколько. Например:

/* комментарии к программе */

/* начало алгоритма */

или

/* комментарии можно записать в следующем виде, однако надо быть осторожным, чтобы внутри последовательности, которая игнорируется компилятором, не попались операторы программы, которые также будут игнорироваться */

Неправильное определение комментариев.

/* комментарии к алгоритму /* решение краевой задачи */ */

или

/* комментарии к алгоритму решения */ краевой задачи */

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]