
- •1.Структура пэвм. Размещение данных и программ в памяти пэвм. Биты, байты. Программа, машинная команда
- •2.Состав программного обеспечения технических средств. Среда программирования
- •6. Компоновка программных модулей и запись программной кодировки в целевое устройство.
- •10. Понятие алгоритмов и способы их описания
- •2.5. Графическое описание алгоритма
- •20. Вещественные типы данных (с плавающей точкой).
- •Int I; // целый тип
- •29. Оператор выбора альтернатив switch
- •33. Побитовые логические операции, операции над битами
- •34. Операции сравнения. Логические операции. Унарные операции Операции сравнения
- •39. Стандартная библиотека языка си. Вывод данных
- •41. Ввод-вывод потоками
- •42. Препроцессор. Директивы #include, #define, #if...
- •45. Структуры. Вложенные структуры
- •Int day, month, year;
- •52.Операции typedef и sizeof.
- •Void f1(int m[3][4]) {
- •70. Интерфейс программирования jtag
41. Ввод-вывод потоками
Потоки ввода/вывода используются для передачи данных в файловые потоки,
на консоль или на сетевые соединения. Потоки представляют собой объекты со-
ответствующих классов. Библиотека ввода/вывода предоставляет пользователю
большое число классов и методов и постоянно обновляется. Оболочка оперирует с вводимой и выводимой информацией посредством файлов специального вида - ``потоков (streams)''. Стандартный вывод - это файл, в который оболочка выводит результаты работы команд - по умолчанию, на экран Вашего терминала. Стандартный ввод (обычно это клавиатура) является источником данных для команд. Если команда считывает данные из стандартного ввода, она делает это до тех пор, пока Вы не введете Ctrl-d в новой строке. Если команда завершает выполнение с ошибкой, на экран обычно выводится сообщение об ошибке. Это сообщение принадлежит отдельному стандартному потоку для ошибок.
42. Препроцессор. Директивы #include, #define, #if...
Директивой препроцессора (или командной строкой препроцессора[1]) называется строка в исходном коде, которая начинается с символа # и следующего за ним ключевого слова препроцессора. Есть чётко определённый список ключевых слов:define — задаёт макроопределение (макрос) или символическую константу undef — отменяет предыдущее определение include — вставляет текст из указанного файла if — осуществляет условную компиляцию при истинности константного выражения Препроцессор Си, встречая следующие директивы:
#include "..."
или
#include <...>
полностью копирует содержимое указанного файла в файл, в котором указана эта директива, в месте вызова директивы. Эти файлы обычно (хотя скорее, всегда) содержат определение интерфейса для различных функций библиотек и типов данных, которые должны быть подключены перед их использованием; таким образом, директива #include обычно указывается в начале (заголовке) файла. По этой причине подключаемые файлы и называются заголовочными. Некоторые содержат примеры из стандартной библиотеки Си (<math.h> и <stdio.h>), обеспечивая математические функции и функции ввода-вывода соответственно
43. Одномерные массивы. Инициализация одномерных массивов. Ввод и инициализация массива символов. Индексы у одномерных массивов в языке Си начинаются с 0, а в программе одномерный массив объявляется следующим образом: <тип> < ID_массива>[размер]={список начальных значений}; где:тип – базовый тип элементов (целый, вещественный, символьный); размер – количество элементов массива. Список начальных значений используется при необходимости инициализировать данные при объявлении, он может отсутствовать. Размер массива может задаваться константой или константным выражением. Нельзя задавать массив переменного размера. Для этого существует отдельный механизм – динамическое выделение памяти. Пример объявления массива целого типа: int a[5]; В массиве «а» первый элемент: а[0], второй – а[1], … пятый - а[4].
44. Многомерные массивы. Инициализация многомерных массивов. Как уже отмечалось, в языке Си кроме одномерных массивов возможна работа с многомерными массивами. Объявление многомерного массива: <тип> < ID >[размер1][размер2]…[размерN]={{список начальных значений}, {список начальных значений},…}; Наиболее быстро изменяется последний индекс элементов массива, поскольку многомерные массивы в языке Си размещаются в памяти компьютера в последовательности столбцов. Например, элементы двухмерного массива b[3][2] размещаются в памяти компьютера в следующем порядке: b[0][0], b[0][1], b[1][0], b[1][1], b[2][0], b[2][1].
Следующий пример иллюстрирует определение массива целого типа, состоящего из трех строк и четырех столбцов, с одновременным присвоением его элементам (инициализацией) начальных значений: int a[3][4] = {{1,2,0,0},{9,-2,4,1},{-7,0,0,0}};
Если в какой-то группе { } список значений короче, то оставшимся элементам присваивается 0.