- •Оглавление
- •Билет 1: Понятия о структурном программировании
- •Билет 2: Моделирование стандартных управляющих структур
- •Билет 3: структура программы
- •Билет 4: организация (структура) модуля
- •Билет 5: Переменные
- •Билет 6: Система типов языка
- •Билет 7: Арифметические типы языка c
- •Билет 8: Константы
- •Билет 9: КонстантныеобъектывязыкеСи.
- •Билет 10: Константные объекты
- •Билет 11. Переменные, понятие об объекте, lvalue и rvalue выражения.
- •Билет 12. Время жизни переменных.
- •Билет 15. Операторы. Приоритет и ассоциативность операторов.
- •Билет 19: Побочные эффекты в языке Си.
- •Билет 20: Организация функций. Определение функций
- •Билет 25: Инструкция If…else. Программирование разветвлений.
- •Билет 26: Инструкция switch и организация разветвленных алгоритмов.
- •Билет 27: Циклические алгоритмы, классификация, функциональная схема
- •Билет 28: Циклические инструкции.
- •Билет 29: инструкция for и арифметические циклы
- •Билет 30: Инструкция while и do...While, интерационные циклы
- •Билет 31: Циклы с выходом. Бесконечные циклы
- •Билет 32. Организация вложенных циклов
- •Билет 33: Массивы. Определение и инициализация одномерных массивов
- •Билет 34. Массивы. Определение и инициализация двумерных массивов
- •Билет 35. Связь указателей и массивов
- •Билет 40. Указатели. Определение типизированных и нетипизированых указателей. Модель, используемая при работе с указателями. Операции с указателями.
- •Билет 41: Операции с указателями
- •Билет 42. Использование указателей для возврата из функции через параметры
- •Билет 43. Указатели на функцию. Определение. Операции. Использование в параметрах функции
- •Билет 44. Типичные ошибки при работе с массивами
- •Билет 45. Массив указателей, динамическая матрица
- •Билет 46. Понятие некорректного указателя.
- •Билет 47. Организация строк. Общие сведения
- •Билет 48. Ввод/вывод строк
- •Void funk(“Kozin”); - при этом ничего не возвращается. Данная запись используется довольно редко.
- •Билет 52. Организация динамического одномерного массива
- •Билет 53. Структуры. Определение типа структур. Определение переменных в структуре и инициализация. Операции со структурой
- •Билет 54. Обращение к полям структуры. Массивы структур
- •Билет 55. Использование структур при работе с функциями. Указатели на структуры
- •Билет 58: Файловый ввод-вывод. Символьный ввод-вывод в языке Си.
- •Синтаксис преобразования вывода
- •Билет 60: Файловый ввод-вывод. Строковый ввод-вывод в языке Си.
- •Билет 61: Файловый ввод-вывод. Блоковый ввод-вывод в языке Си.
- •Int fseek(file *f, long int колич_байт, int начало_отсчета);
Билет 6: Система типов языка
Языке "C" имеется только несколько основных типов данных:
CHAR один байт, в котором может находиться один символ из внутреннего набора символов.
INT Целое, обычно соответствующее естественному размеру целых в используемой машине.
FLOAT С плавающей точкой одинарной точности.
DOUBLE С плавающей точкой двойной точности.
Кроме того имеется ряд квалификаторов, которые можно использовать с типом
INT: SHORT (короткое), LONG (длинное) и UNSIGNED (без знака). Квалификаторы
SHORT и LONG указывают на различные размеры целых. Числа без знака
подчиняются законам арифметики по модулю 2 в степени N, где N — число битов в
INT; числа без знаков всегда положительны. Описания с квалификаторами имеют
вид:
SHORT INT X;
LONG INT Y;
UNSIGNED INT Z;
Cлово INT в таких ситуациях может быть опущено, что обычно и делается.
Количество битов, отводимых под эти объекты зависит от имеющейся машины;
Цель состоит в том, чтобы SHORT и LONG давали возможность в зависимости от
практических нужд использовать различные длины целых; тип INT отражает наиболее
"естественный" размер конкретной машины. Как вы видите, каждый компилятор
свободно интерпретирует SHORT и LONG в соответствии со своими аппаратными
средствами. Все, на что вы можете твердо полагаться, это то, что SHORT не длиннее, чем LONG.
Билет 7: Арифметические типы языка c
В языке "C" предусмотрено несколько основных типов объектов:
Объекты, написанные как символы (char). В символьных переменных можно хранить и другие величины, но реализация будет машинно-зависимой. ИМХО вряд ли можно тип char рассматривать как арифметический. Может это возможно теоретически, ведь символ это некий целый код, но логически это полный брЭд. Козину такого лучше даже не говорить ?
Можно использовать до трех размеров целых, описываемых как short int, int и long int. Длинные целые занимают не меньше памяти, чем короткие, но в конкретной реализации может оказаться, что либо короткие целые, либо длинные целые, либо те и другие будут эквивалентны простым целым.
Плавающие одинарной точности (float) и плавающие двойной точности (double) в некоторых реализациях могут быть синонимами.
Поскольку объекты упомянутых выше типов могут быть разумно интерпретированы как числа, эти типы будут называться арифметическими. Типы char и int всех размеров совместно будут называться целочисленными. Типы float и double совместно будут называться плавающими типами.
Арифметические типы:
Я существенно переделал таблицу, отформатировав её должным образом и вырезав из неё половину данных (кстати, не было указаны размеры double и float, поэтому их я поставил по типа «кажется…»):
Имя типа Диапозон Размер
Byte 0-255 Беззнаковое, 8 Бит
Int ?(-2*10^9 — 2*10^9) Знаковое, 32
Float +1.5*10^-45 - +3.4*10^38
Double +5.0*10^-324 - +1.7*10^308 8байт
Думаю, другие типы данных нам не понадобятся на экзамене.
Билет 8: Константы
Имеется несколько видов констант, которые перечислены ниже:
Целые константы. Целая константа состоит из последовательности цифр и читается восьмеричной, если начинается с нуля, или десятичной в противном случае (только сомневаюсь, что знание этого потребуется на экзамене). Последовательность цифр, которой предшествуют символы 0х или 0Х рассматривается как шестнадцатеричное целое (которые, кстати, включают в себя и буквы, как вы помните из темы «системы счисления»).
Длинные константы. Это десятичный, восьмеричные и шестнадцатеричные константы, за которыми следует l (эль маленькая) или L
Символические константы. Символьная константа это символ заключённый в одиночные кавычки, как, например: ‘x’. Значением символьной константы является численное значение этого символа в машинном представлении набора символов. Некоторые неграфические символы, одиночная кавычка и обратная косая черта могут быть представлены двумя символами в соотетствии с таблицей условных последовательностей. Например: “ \n ”, “ \’ ” и т.п.
Вещественные константы. Такая константа состоит из целой части, десятичной точки и дробной части, а так же буквы “e” или “E”. Как целая так и дробная часть являются последовательностью цифр. Либо целая, либо дробная часть (но не обе) может отсутствовать. В большинстве реализации эти константы считаются константами двойной точности. Примеры вещественных констант: 123.456, 5.61е-4
Строковые. Последовательность символов, заключённых в двойные кавычки. Например “Вот пример строковой константы” Отличие от символьных в том, что строка представляет собой массив из перечисленных элементов, в конце которого помещается ‘\0’. Таким образом, число байт, необходимых для хранения строк на 1 превышает число символов в строке (это нужно помнить).