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

2.2. Лексемы

Из символов алфавита формируются лексемы(или элементарные конструкции) языка – минимальные значимые единицы текста в программе:

– идентификаторы;

– ключевые (зарезервированные) слова;

– знаки операций;

– константы;

– разделители (скобки, точка, запятая, пробельные символы).

Границы лексем определяются другими лексемами, такими как разделители или знаки операций, а также комментариями.

2.3. Идентификаторы и ключевые слова

Идентификатор (ID) – это имя программного объекта(константы, переменной, метки, типа, функции и т.д.). В идентификаторе могут использоваться латинские буквы, цифры и знак подчеркивания; первый символID– не цифра; пробелы внутриIDне допускаются.

Длина идентификатора определяется выбранной версией среды программирования. Например, в среде Borland C++ 6.0 идентификаторы могут включать любое число символов, из которых воспринимаются и используются только первые 32 символа. Современная тенденция – снятие ограничений длины идентификатора.

При именовании объектов следует придерживаться общепринятых соглашений:

IDпеременных и функций обычно пишутся строчными (малыми) буквами –index, max();

IDтипов пишутся с большой буквы, например,Spis,Stack;

IDконстант (макросов) – большими буквами –INDEX,MAX_INT;

– идентификатор должен нести смысл, поясняющий назначение объекта в программе, например, birth_date– день рождения,sum– сумма;

– если IDсостоит из нескольких слов, как, например,birth_date, то принято либо разделять слова символом подчеркивания, либо писать каждое следующее слово с большой буквы –birthDate.

В Си прописные и строчные буквы – различные символы. Идентификаторы Name,NAME,name– различные объекты.

Ключевые (зарезервированные) слова не могут быть использованы в качестве идентификаторов.

Список ключевых слов, определенных в стандарте ANSICи:

auto

do

goto

signed

unsigned

break

double

if

sizeof

void

case

else

int

static

volatile

char

enum

long

struct

while

const

extern

register

switch

continue

float

return

typedef

default

for

short

union

2.4. Комментарии

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

В Си комментарии ограничиваются парами символов /* и */, а в С++ был введен вариант комментария, который начинается символами // и заканчивается символом перехода на новую строку.

2.5. Простейшая программа

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

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

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

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

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

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

<функции>

В свою очередь, каждая функция имеет следующую структуру:

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

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

код функции

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

Код функции является блоком и поэтому заключается в фигурные скобки.

Функции не могут быть вложенными друг в друга.

Рассмотрим кратко основные части общей структуры программ.

Перед компиляцией программа обрабатывается препроцессором (прил. 3),который работает под управлением директив.

Препроцессорные директивыначинаются символом#, за которым следует наименование директивы, указывающее ее действие.

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

#include < ID_файла.h>

где h– расширение заголовочных файлов.

Если идентификатор файла заключен в угловые скобки (< >), то поиск данного файла производится в стандартном каталоге, если – в двойные кавычки (” ”), то поиск файла производится в текущем каталоге.

К наиболее часто используемым библиотекам относятся:

stdio.h– содержит стандартные функции файлового ввода-вывода;

math.h– математические функции;

conio.h– функции для работы с консолью (клавиатура, дисплей).

Второе основное назначение препроцессора – обработка макроопре­делений. Макроподстановка определить(define) имеет общий вид

#define ID строка

Например: #define PI3.1415927

– в ходе препроцессорной обработки программы идентификатор PIвезде будет заменяться значением 3.1415927.

Рассмотрим пример, позволяющий понять простейшие приемы программирования на языке Си:

#include <stdio.h>

void main(void)

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

printf(“ Высшая оценка знаний – 10 !”);

} // Окончание функции main

Отличительным признаком функции служат скобки ( ) после ее идентификатора, в которые заключается список параметров. Перед IDфункции указывается тип возвращаемого ею результата. Если функция не возвращает результата и не имеет параметров, указывают атрибутыvoid– отсутствие значений.

Для начала будем использовать функцию mainбез параметров и не возвращающую значения.

Код функции представляет собой набор инструкций, каждая из которых оканчивается символом «;». В нашем примере одна инструкция – функцияprintf, выполняющая вывод данных на экран, в данном случае – указанную фразу.

__________________________________________________________________

Приемы отладки в среде программирования VisualC++ 6.0 рассматриваются в прил. 5.

__________________________________________________________________