Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпоры теория 113019.docx
Скачиваний:
0
Добавлен:
25.12.2019
Размер:
379.66 Кб
Скачать

13. Базовые элементы языка Си. Алфавит. Лексемы. Знаки операций. Литералы. Комментарии.

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

(Алфавит языка)Каждому из множества значений, определяемых одним байтом (от О до 255), в таблице знакогенератора ЭВМ ставится в соответствие символ. По кодировке фирмы IBM символы с кодами от 0 до 127, образующие пер­вую половину таблицы знакогенератора, построены по стандарту ASCII и одинаковы для всех компьютеров, вторая половина символов (коды 128 -255) может отличаться и обычно используется для размещения символов национального алфавита, коды 176 - 223 отводятся под символы псевдо­графики и коды 240 - 255 - под специальные знаки (прил. 1).

Алфавит языка Си включает:- буквы латинского алфавита и знак подчеркивания (код 95);- арабские цифры от 0 до 9;- специальные символы:+(плюс) -(минус) *(звездочка) /(дробная черта) =(равно) >(больше) <(меньше) ;(точка с запятой) &(амперсант)и тд. Пробельные символы: пробел, символы табуля­ции, перевода строки, новая страница и новая строка. (Лексемы) Из символов алфавита формируются лексемы языка - минимальные значимые единицы текста в программе: - идентификаторы;- ключевые (зарезервированные) слова;- знаки операций;- константы;- разделители (скобки, точка, запятая, пробельные символы). Границы лексем определяются другими лексемами, такими, как раз­делители или знаки операций, а также комментариями.

Знак операции - это один или более символов, определяющих дей­ствие над операндами. Внутри знака операции пробелы не допускаются. Операции делятся на унарные, бинарные и тернарные, по количеству уча­ствующих в них операндов. Литералы Когда в программе встречается некоторое число, например 21, то это число называется литералом, или литеральной константой. Константой, потому что мы не можем изменить его значение, и литералом, потому что оно буквально передает свое значение. Константа является неадресуемой величиной, хотя реально она хра­нится в памяти машины, но нет никакого способа узнать ее адрес. Каждая константа имеет определенный тип. Комментарии- не является лексемой. Внутри комментария можно использовать лю­бые допустимые на данном компьютере символы, поскольку компилятор их игнорирует. В С++ введен вариант комментария, который начинается символами // и заканчи­вается символом перехода на новую строку.

14. Виды и характеристики языков программирования. Виды программных ошибок.

Язык программирования - это множество текстов некоторого алфавита, удовлетворяющих правилам синтаксиса и задающих порядок вычислений в соответствии с правилами семантики. Первыми языками были машинные языки. Языки высокого уровня способны выразить задачу более лаконично и сжато. Такие языки как Си часто применяют для повышения эффективности программ. Основными характеристиками, позволяющими сравнивать языки программирования, являются: мощность, уровень и концептуальная целостность. Мощность характеризуется количеством и разнообразием задач, алгоритмы решения которых можно записать, используя этот язык. Самым мощным является машинный язык. Любую задачу, запрограммированную на каком-либо языке можно запрограммировать и на машинном языке. Уровень языка характеризуется сложностью решения задач с использованием этого языка. Чем проще записывается решение задач, чем более непосредственно реализуются сложные операции и понятия, чем меньше объем получаемых программ, тем выше уровень языка. Концептуальная целостность языка характеризуется свойствами совокупности понятий, служащих для описания этого языка и включает 3 взаимосвязанных аспекта: экономию понятий; ортогональность понятий; единообразие понятий; Экономия понятий -достижение максимальной мощности языка с помощью минимального числа понятий. Ортогональность - между понятиями не должно быть взаимного влияния. Единообразие понятий - единый подхода к описанию и использованию всех понятий. Обычно чем меньше мощность языка, тем выше его уровень.

Основной задачей программирования является создание правильных, а не эффективных программ. Различают универсальные и специализированные. Универсальные языки используются для решения разных задач. Специализированные языки предназначены для решения задач одного, типа. К универсальным языкам можно отнести языки Visual C++, Visual C++.Net, Visual C#.Net, Visual J#.Net, Java, Delphi, Borland C#, Borland C++ Builder. Специализированные языки, используются для написания не очень больших программ(быстро написание и малый код) А универсальные языки, используются для создания больших проектов,(уменьш. Кол во ошибок. и облегч. проектир. Прогр.)) Ошибки, допускаемые при написании программ, разделяются на син­таксические и логические. Синтаксические ошибки - нарушение формальных правил написа­ния программы на конкретном языке, обнаруживаются на этапе трансля­ции и могут быть легко исправлены. Логические ошибки - ошибки алгоритма и семантические, которые могут быть исправлены только разработчиком программы. Причина ошиб­ки алгоритма - несоответствие построенного алгоритма ходу получения конечного результата сформулированной задачи. Причина семантической ошибки - неправильное понимание смысла операторов языка.