- •4. Измерение информации. Единицы измерения информации.
- •5. Свойства информации. Приведите примеры.
- •6. Способы классификации информации. Приведите примеры.
- •7. Формы представления информации. Приведите примеры.
- •8. Способы кодирования данных. Приведите примеры.
- •9. Информационная система. Компоненты информационной системы.
- •10. Система счисления. Позиционная система счисления. Привести примеры представления чисел, записанных в этих системах счисления:
- •11. Система счисления. Непозиционная система счисления. Привести примеры представления чисел, записанных в этих системах счисления:
- •12. Системы счисления, применяемые при создании вычислительной техники. Примеры.
- •13. Представление чисел в двоичной системе счисления. Привести примеры.
- •14. Механические вычислительные устройства. Технические характеристики.
- •15. Принципы работы аналоговых вычислительных машин. Приведите примеры авм. Почему авм не нашли широкого применения в вычислительной технике?
- •16. Назовите первые эвм и их авторов. Какие характеристики имели первые эвм?
- •17.Принципы построения эвм, сформулированные Джоном фон Нейманом. Структурная схема эвм. Назначение узлов эвм
- •18. Поколения эвм. Технические характеристики эвм. Смена поколений эвм.
- •19. Персональный компьютер. Причины появления. Основные узлы.
- •20. Основные характеристики микропроцессоров персональных компьютеров.
- •21. Виды памяти. Технические характеристики.
- •22. Устройства визуально вывода информации. Технические характеристики.
- •23. Основные характеристики внешних запоминающих устройств.
- •24. Способы печати. Технические характеристики принтеров.
- •25. Системные шины. Их назначение и характеристики.
- •26. Способы хранения информации на оптических носителях. Их технические характеристики.
- •27. Программное обеспечение. Классификация по.
- •28. Системное по. Назначение. Классификация. Примеры.
- •29. Инструментальное программное обеспечение. Назначение. Классификация. Примеры.
- •30. Прикладное программное обеспечение. Назначение. Классификация. Примеры.
- •31. Операционная система. Назначение. Состав. Технические характеристики. Примеры.
- •32. Файловая система. Назначение. Технические характеристики. Примеры.
- •33. Антивирусное программное обеспечение. Назначение. Классификация. Примеры.
- •34. Приложения для работы с файлами. Понятие файловый менеджер. Примеры.
- •35. Текстовый процессор. Назначение. Основные операции.
- •36. Табличный процессор. Назначение. Основные операции.
- •37. Понятие алгоритма. Способы записи. Виды алгоритмов.
- •38. Блок-схема. Представления различных алгоритмов с помощью блок-схем.
- •39. Теоретические основы сжатия данных.
- •40. История языка программирования Си. Этапы развития. Привести примеры компиляторов.
- •41. Элементы программы, написанной на языке Си.
- •42. Константы языка Си.
- •43. Система типов языка Си.
- •44. Арифметические операции языка Си. Операции инкремента и декремента.
- •45. Операции отношения и логические операции языка Си.
- •46.Побитовые логические операции языка Си. Операции сдвига
- •47. Условный оператор и оператор выбора языка Си.
- •48. Циклические операторы языка Си.
- •49. Указатели языка Си.
- •51. Многомерные массивы языка Си.
- •52. Структуры языка Си.
- •53. Объединения языка Си.
- •54. Функции языка Си.
- •55. Области видимости переменных в языке Си.
- •56. Способы передачи параметров функций в языке Си.
- •57. Рекурсия в языке Си.
- •58. Указатель на функцию в языке Си.
- •59. Классы хранения переменных языка Си.
- •60. Консольный ввод/вывод данных в языке Си.
- •61. Файловый ввод/вывод данных в языке Си.
43. Система типов языка Си.
Тип(sort)- относительно устойчивая независимая совокупность элементов, которую можно выделить во всем рассматриваемом множестве. Задается либо набором допустимых значений, либо набором действий, которые можно совершить над каждой переменной типа.
Типы языка Си:
-Пустой(void)
-Скалярные типы: указатели, арифм. типы(целые и вещественные),перечисления.
-Функции
-Комбинированные типы: массивы, структуры, объединения.
Целые:
Char (8бит, -128 – 127);
Signed char(8бит, -128 – 127);
Unsigned char(8бит, 0 – 255);
Int(16 бит, -32768 – 32767);
Signed int(16, 0 – 65535);
Long(32, -2147483648 – 2147483647);
Signed short int(-32768 – 32767)
Short int(16, -32768 – 32767)
Данные плавающего типа
Для переменных, представляющих число с плавающей точкой используются следующие модификаторы типа : float, double, long double (в некоторых реализациях языка long double СИ отсутствует).
Величина с модификатором типа float занимает 4 байта. Из них 1 байт отводится для знака, 8 бит для избыточной экспоненты и 23 бита для мантиссы. Старший бит мантиссы всегда равен 1, поэтому он не заполняется, в связи с этим диапазон значений переменной с плавающей точкой приблизительно равен от 3.14E-38 до 3.14E+38.
Величина типа double занимает 8 бит в памяти. Ее формат аналогичен формату float. Биты памяти распределяются следующим образом: 1 бит для знака, 11 бит для экспоненты и 52 бита для мантиссы. С учетом опущенного старшего бита мантиссы диапазон значений равен от 1.7E-308 до 1.7E+308.
Примеры:
float f, a, b;
double x,y;
44. Арифметические операции языка Си. Операции инкремента и декремента.
Оператор - это действие или команда, которую может выполнить компьютер. Операнды - это данные, необходимые для выполнения оператора рассматриваемого языка. Программа - это запись алгоритма на языке компьютера (на языке программирования). В языке С к арифметическим операциям относятся следующие операции:
- вычитание или унарный минус;
+ сложение;
* умножение;
/ деление;
% деление по модулю;
++ увеличение на единицу; Инкремент. Префиксная: а++.
-- уменьшение на единицу; Декремент. Постфиксная: --а.
Операции сложения, вычитания, умножения и деления действуют так же, как в большинстве алгоритмических языков программирования. операции выполняются так: сначала вычисляется значение левого выражения (операнда), затем вычисляется значение выражения, стоящего справа от знака действия. Далее, в том случае, когда операнды имеют общий тип данных, этот же тип имеет и результат. Поэтому, если применяется деление "/" к целым числам, например, 11/3, то результат тоже будет целым, то есть в данном случае 3. А выражение 1/2 в этом случае будет равно нулю. Операция "%" деление по модулю дает остаток от целочисленного деления. Она может применяться к целочисленным переменным.
45. Операции отношения и логические операции языка Си.
Язык С имеет ровно шесть операции отношения.
"<" - меньше.
"<=" - меньше или равно.
">" - больше.
">=" - больше или равно.
"= =" - равно.
"!=" - не равно.
Операции отношения используются в условных выражениях. Например, простейшие условия, которые не содержат логических операций, это следующие: "a<0", "1998>2003", "b= =B", "C!=D" и так далее. Следует отметить, что относительно каждого условия решается вопрос: истинно оно или нет. В языке С отсутствует логический (boolean) тип. Поэтому при анализе истинности выражения, содержащего операции отношения, принято находить целочисленное арифметическое значение выражения. При этом считается, что истинность, то есть "true" соответствует ненулевому значению выражения. Обычно для "true" принято значение 1. Тогда 0 принимается за "false", то есть ложь.
Логические операции
Язык С имеет ровно три логические операции: это
&& или (AND);
|| или (OR);
! или (NOT).
Операция "&&" называется логическим умножением потому, что выполняется таблица истинности этой операции, очень напоминающая таблицу обыкновенного умножения из арифметики. Логическое умножение это такая операция, которая истинна тогда и только тогда, когда истинны оба входящих в нее высказывания. 1&&1=1 0&&1=0 1&&0=0 0&&0 = 0
Операция "||" называется логическим сложением потому, что выполняется таблица истинности этой операции, очень напоминающая таблицу обыкновенного сложения из арифметики. Логическое сложение это такая операция, которая истинна тогда и только тогда, когда истинно хотя бы одно из входящих в нее высказываний. 1||1=1 0||1=1 1||0=1 0||0 = 0
Операция "!" называется логическим отрицанием потому, что выполняется следующая таблица истинности. Логическое отрицание это такая операция, которая истинна тогда и только тогда, когда ложно входящее в нее высказывание и наоборот. !1=0 !0=1
Кроме трех расмотренных выше классических логических операций в языке С используется еще четвертая логическая операция: "исключающее или". Если обычно принято операцию логическое умножение обозначать как "X AND Y", операцию логическое сложение как "X OR Y", а логическое отрицание как "NOT X", то операцию "исключающее или" обозначают как "X XOR Y". В языке С нет знака логической операции XOR. Однако, она может быть реализована с помощью операций AND, OR и NOT. Покажем теперь таблицу истинности этой новой логической операции в языке С. 1XOR1=0 0XOR1=1 1XOR0=1 0XOR0=0 Отсюда видно, что, если оба входящих в выражение высказывания истинны или оба ложны, то результат будет в этом случае ложным. То есть, как бы отрицается утверждение: оба высказывания имеют одинаковый смысл истинности. Напротив, если оба высказыва ния имеют разный смысл истинности, то в результате операции "исключающее или" это отрицается. Поэтому и выходит, что результат будет равен истине.
Приоритет выполнения логических операций. Логические операции и операции отношения имеют более низкий приоритет, чем арифметические операции. Это значит, что выражение 200>120+50 равносильно выражению 200>(120+50). Принято следующее старшинство операций отношения и логических операций: ! - самая старшая из логических операций Далее старшинство операций распределяется так: > < >= <= Затем уже идут операции: == != и самая младшая операция - это ||. Использование скобок делает выражение более понятным и удобным для чтения. Условные и логические выражения часто используются в операторе условного перехода if и в других операторах. Если при вычислении операции X && Y первое выражение X окажется нулевым (то есть ложным), то значение второго выражения Y никак не повлияет на результат. Поэтому можно игнорировать второе выражение. Аналогично обстоит дело и с оператором ||. Так, если значение первого операнда ненулевое, то значение второго операнда так же не влияет на результат. Потому он так же не вычисляется и игнорируется. Поэтому нужно учитывать этот факт и не изменять во втором операторе какую-либо переменную, пользуясь операцией ++.