Экзамен / Экзамен по информатике. ОрелГТУ / 2 СЕМЕСТР
.doc|
1 3)Пять групп символов языка СИ 1)символы,используемые для образования множеств слов и идентификаторы.В эту группу входят прописные и строчные буквы английского алфавита,а такжк символ подчёркивания.Следует отметить,что одинаковые прописные и строчные буквы считаются различными символами,т.к. имеют различные коды 2)группа прописных и строчных букв русского алфавита и арабские цифры 3)знаки нумерации и их специальные символы.Эти символы используются с одной стороны для организации процесса вычислений,а с другой для передачи компилятору определённого набора инструкций. ,.;:?’!|\/~*+-)({}<>[]#&-амперсан%^логическое не=” 4)управляющие и разделительные символы.К этой группе относятся-пробел,символы табуляции,символы перевода строки,символ возврата каретки,символ новой строки и страницы.Эти символы отделяют друг от друга объекты,определяемые пользователем,к которым относятся константы и идентификаторыПоследовательность разделительных символов рассматривается компилятором как один пробел 5)Управляющие последовательности,т.е. специальные символьные комбинации,использованные в функциях ввода и вывода информации.Они строятся на основе использования обратной дробной черты и комбинации латинских букв и цифр. \n-перевод строки \t-горизонтальная табуляция \r-возврат курсора к началу строки \\-обратная косая черта \’-апостороф \’’кавычка \0-нулевой символ \a-сигнал-звонок \b-возврат на один символ \f-прогон страницы \v-вертикальная табуляция \? –знак вопроса \ddd-восьмиричное представление любой символьной константы.d-восьмиричная цифра \xhh-шестнадцатиричное представление любой символьной константы. Если обратная дробная черта предшествует символу,не являющемуся управляющей последовательностью или цифрой,то эта черта игнорируется,а сам символ представляется как литер. 4)Константы и переменные в СИ Константы-это перечисления величин в программе неизменяемых в процессе выполнения программы. 1)Целые-это десятиричные ,восьмиричные или шестнадцатиричные числа,которые представляют целую величину в соответствующей форме. Десятичные-состоят из одной или нескольких десятичных цифр.Первая цифра не может быть нулём,а в противном случае будет восьмиричная система. Восьмиричные-состоят из обязательного нуля и одного или нескольких восьмиричных чисел. Шестнадцатиричные-начинаются с Ох,ОХ и содержат одно или несколько шестнадцатиричных чисел. Если требуется сформировать отрицательную целую константу,то используют знак минус. Каждой целой константе присваиваится тип,определяющий преобразования,которые могут производиться над константой.Для того,чтобы определить константу типа long,в конце константы ставят букву L. 2)Вещественные константы-это десятичное число,представленное виде действительной величины с десятичной точкой или экспонентой. 3)Символьные-представляются символами,заключёнными в апостроф,управляющая последовательность рассматривается как символьная последовательность.Символы строкового литерала сохраняются в области оперативной памяти,в конце каждого строкового литерала компилятор добавляет рулевой символ,представляемый как \0 в конце строки. 4)строковые-это последовательности символов,заключённые в кавычки.Все символы строки размещаются подряд,каждый символ занимает ровно 1 байт.В конце записи строковой константы компилятор помещает символ \0. Переменная –это перечисление величин в программе,изменяемых в процессе выполнения программы. 1)Целые char-цедый длиной не менее 8 бит short int-короткий целый int-целый long-длинный целый signed-знаковый целый тип unsigned-беззнаковый целый тип 2)Вещественные float-одинарной точности double-удвоенной точности long double –максимальной точности. Комментарии-это набор символов,который игнорируется компилятором.На этот набор накладываются следующие ограничения: 1)внутри набора символов,который представляет комментарий не может быть специальных символов,определяющих определяющих начало и конец комментприев. Описанием переменной определяется область видимости имени.Это значит.что имя может использоваться только в определённой части текста программы.Если имя описано в функции(локальное имя),то область видимости имени простирается от точки описания до конца блока,в котором появилось это описание.Если имя не неходится в описании функциями класса(глобальное имя),то область видимости простирается от точки описания до конца файла,в котором появилась это описание. 5)Типы данных языка СИ 1)Целые char-цедый длиной не менее 8 бит short int-короткий целый int-целый long-длинный целый signed-знаковый целый тип unsigned-беззнаковый целый тип 2)Вещественные float-одинарной точности double-удвоенной точности long double –максимальной точности.
Return-оператор возврата из функции в точку её вызова. Rerurn выражение; Return; Выражение в операторе возврата задаёт возвращаемое функцией значение.Для функции,не возвращающей никакого значения(указан тип void),выражение в операторе отсутствует.В теле такой такой функции оператор return может вообще отсутствовать.В этом случае компилятор предполагает,что оператор return находится в самом конце тела функции.Применение данного оператора допустимо и функции main().Если программист явно не поместил в функцию main() оператор return ,то компилятор поместит его в конце текста функции main().В отличие от неглавных функций,откуда возврат выполняется в вызывающую функцию,выполнение оператора return;или return выражение в функции main() приводит в завершению программы. Continue-влияет на выполнениеоператоров тела цикла.Оператор перехода к следующей итерации цикла.Continue противоположен по действию опкратору break.Он позволяет в любой точке тела цикла прервать текущую итерацию и перейти к проверке условий продрлжения цикла.Этот оператор удобен,когда от итерации к итерации изменяется последовательность выполняемых операторовтела цикла,т.е. когда тело цикла содержит ветвления. Do-оператор цикла с постусловием. Do Тело цикла While(выражение условие); В качестве выражения условия чаще всего используютотношение или логическое выражение.Если оно истинно,т.е. не равно 0,то тело цикла выполняется до тех пор,пока выражение условие не станет ложным. While-оператор цикла с предусловием While(выражение условие) Тело цикла В качестве выражения условия чаще всего используютотношение или логическое выражение.Если оно истинно,т.е. не равно 0,то тело цикла выполняется до тех пор,пока выражение условие не станет ложным. 6)Оператор-выражение,пустой оператор Любое допустимое выражение,за которым следует ; ,воспринимается как оператор.Это справедливо и дял пустого выражения,т.е. отдельный символ точка с запятой-пустой оператор.Он иногда используется как тело цикла. Операторы-выражения: I++; F(z,4)-результат определяется телом функции с именем F. While-оператор цикла с предусловием While(выражение условие) Тело цикла В качестве выражения условия чаще всего используютотношение или логическое выражение.Если оно истинно,т.е. не равно 0,то тело цикла выполняется до тех пор,пока выражение условие не станет ложным. For-оператор цикла с параметром. For(выражение 1;выражение условие;выражение 3) Тело цикла Первое и третье выражения могут состоять из нескольких выражений,разделённых запятыми. Выражение 1-действие,выполняемое до начала цикла(начальное условие для цикла,чаще всего это выражение присваивания) Выражение условие-условие окончания или продолжения цикла.Если оно истинно,то выполняется тело цикла,а затем вычисляется выражение 3.Оно задаёт необходимые для следующей итерации изменения параметров.Выражение 1 вычисляется только один раз. Break-этот оператор прекращает выполнение цикла и передаёт управление следующему за ним оператору.Необходимость применения этого оператора возникает,когда условие продолжения итераций нужно проверять не в начале и не в конце,а в середине. { операторы if(условие)break; операторы } Goto-оператор перехода.Безусловный переход. Switch-оператор-переключатель,служащий средством для организации мультиветвления. Switch(выражение) { case константа1:операторы 1; case константа2:операторы 2; default:операторы; } При выполнение этого оператора вычисляется выражение,стоящее после switch и его значение последовательно сравнивается с константами.При первом же совпадении выполняются операторы помеченные данной меткой.Если выполненные операторы не предусматривают какого-либо перехода(goto,return,break,exit),то далее выполняются операторы всех следующих вариантов,пока не появится оператор перехода или не закончится переключатель. Операторы вслед за default выполняются,если значение выражения не совпало ни с донной константой.
|
7)Массивы Массив-это группа элементов одного типа.Из объявления массива компилятор должен получить информацию о типе элементов в массиве и их количествеОбъявление массивов имеет два формата: 1)спецификатор-типа описатель[константное выражение]; 2)спецификатор-типа описатель[]; Описатель-это идентификатор массива.Спецификатор типа задаёт тип элементов,объявляемого массива.Элементами массива не могут быть функции и элементы типа void. Константное выражение в квадратных скобках задаёт количество элементов массива.Оно при объявлении массива может быть опущено в следующих случаях: 1)При объявлении массив инициализируется 2)Массив объявлен как формальный параметр функции 3)Массив объявлен как ссылка на массив явно определённый в другом месте. В языке Си определены только одномерные массивы.Но поскольку элементом массива может быть массив-можно определить и многомерные массивы,они формализуются списком константных выражений следующих за идентификатором массива.Причём каждое выражение заключается в квадратные скобки. 8)Структуры,объединения.Поля бит Структура-это составной объект,в который входят элементы любых типов за исключением функций.В отличие от массива,который является однородным объектом-структура может быть неоднородной. В структкре обязатнльно должен быть указан хотя бы один компонент Структура является рекурсивной,т.к. использует в своём собственном описании указатель на подобную структуру. Объединения- это структуры,все элементы которых имеют нулевое смещение от её начала.Объединения вводятся с помощью служебного слова union. При таком размещении разные элементы занимают в памяти один и тот же участок.Тем самым объединения обеспечивают возможность доступа к одному и тому же участку памяти с помощью переменных разного типа. Для обращения к элементу объединения используется те же конструкции,что и для обращения к элементу структуры.: Имя объединения.имя элемента (*указатель на объединение).имя элемента указатель на объединение-Юимя элемента Смысловое отличие объединения от структуры состоит в том,что записать информацию в объединение можно с помощью одного из его элементов,а выбрать данные из того же участка памяти можно с помощью другого элемента того же объединения. Объединение-это конкретный объект,которому выделено местов памяти Поля бит-элемент структуры или объединения,не встречающийся вне объектов этих типов.Они не имеют адресов и не могут объединяться в массивы.Цель-обеспечить удобный доступ к отдельным битам данных.С их помощью можно формировать объекты с длиной внутреннего представления,не кратной байту.Это позволяет плотно упакрвывать информацию,что позволяет экономить память. Описание структуры с битовыми полями может иметь такой формат: Struct{тип 1 имя поля 1:ширина поля 1; Тип 2 имя поля 2:ширина поля 2; ,,, }имя структуры; тип i–тип поля,который может быть только int,возможно со спецификатором unsigned signed . Ширина поля-целое неотрицательное десятичное число,значение которого обычно не должно превышать длины слова конкретной ЭВМ. Разрешается поле без имени,с помощью которого в структуру вводятся неиспользуемые биты. 10)Функции Функция-это совокупность объявлений и операторов,предназначенная для решения каких-либо задач.Каждая функция имеет имя,которое используется для её объявления,определения и вызова.В любой программе на СИ должна быть функция main.Именно с этой функции начинается выполнение программы.При вызове функции ей при помощи аргумента могут быть переданы некоторые значения(фактические параметры). Функция может возвращать одно значение.Возвращаемое значение обычно является результатом выполнения функции,которой возвращается в точку вызова функции.Допускается использование функций,не имеющих аргумента и не возвращающих значения. 1)определение функций-это описание действий,выполняемых функцией 2)объявление функции-это задание формы обращения к функции 3)вызов функции Определение функции задаёт тип возвращаемого значения,имя функции,типы и число формальных параметров,а также объявление переменных и операторов,называемое телом функции,определяющим действие функции. Чтобы компилятор мог проверить соответствие типов,передаваемых фактических параметров,до вызова функции нужно поместить объявление функции-прототип.В программах на СИ используются библиотечные функции,хранящиеся в библиотеках.Их прототипы описываются в заголовочных файлах,поставляемых вместе с системами программирования и включаются с помощью файла #include. Прототип-это явное объявление функции,которое прешествует определению функции. Прототип необходим когда: 1)Функция возвращает значение типа int 2)Требуется проинициализировать некоторый указатель на функцию до её определения 11)Работа с файлами В СИ файл-это логическое понятие,которое система может относить к чему угодно.Поток связывается с конкретным файлом выполнением операции «Открытие».Как только файл открывается можно обмениваться информацией между ним и программой.Закрытие выводимого потока приводит к записи его содержимого на внешние устройства. Простейшими функциями консольного ввода-вывода являются: Getchar()-печать с клавиатуры Purchar()-выводит на экран. Gets,puts-работают со строками. Функция puts занимает меньше памяти и работает быстрее,чем printf при выводе символьных переменных. Fopen(имя файла,режим)-открывает поток R+-открывает файл для чтения W+-создаёт файл для чтения и записи A+-открывает или создаёт файл для чтения или записи If(fp=fopen(“test”,”w”))==NULL{ Нельзя открыть файл. Fclose()-закрывает поток Fseek()-ищет указанный байт в потоке Fprintf()-форматированный вывод из любого потока Fscanf()-форматированный ввод из любого потока Feof()-возвращает истину,если достигает метки конца файла.Она же возвращает истин,если встретилась ошибка. Ferror()-возвращает истину,если встретилась ошибка Rewind()-должна устанавливать начальную позицию файла. FILE*-указатель на поток. 20)Работа с файлами и папками в QT Программирование для платформы QT Отличается от обычного программирования на СИ++ необходимостью использования утилиты moc.Обычно она испльзуется опосредованно через утилиту qmake. Qmake-project Qmake Qmake –o Makefile HW.pro Qmake HW.pro Maingw32-make Для работы с файлами в платформе предусмотрены следующие классы: Qdir-класс для работы с каталогами QFileDialog-класс для вызова окна выбора файла QFile-класс для работы с данными,хранящимися в файлах. QFileInfo-класс для работы с атрибутами файлов. 21)Динамически подключаемая библиотека Динамические подключаются при первом использовании каким-либо процессом,использует один ресурс для всех процессов и выгружается со всей программой,использующейи её. Процесс создания библиотек требует написания дополнительного кода. #include<QLibrary.Info> #include<QLibrary> Класс QLibrary.Info-расположение файлов в заголовках,библиотек,двоичных файлов,плагинов QT. 26)Классы QT 1)вектор-это структура данных похожая на обычный массив.Преимущество перед массивом-возможность изменять его размер. 2)список-это структура данных,представляющая собой упорядаченный набор связанных друг с другом элементов с помощью указателей.Преимущество перед вектором-более эффективные операции вставки удаления элемента в любой позиции.Недостаток-уменьшение скорости доступа к произвольному элементу. 3)словарь-хранит элементы одного типа,индексируется ключевыми значениями.Достоинство-позволяет быстро получить значение по ключевому слову. 4)стэк-реализует структуру данных по принципу LIFO. |
|

