Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Справочный материал к лаб1 и 2.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
75.26 Кб
Скачать

Ввод-вывод в стиле с

Для начала разберём ввод/вывод в стиле языка C, а объектно-ориентированный ввод-вывод рассмотрим немного позднее.

Библиотека Си содержит богатый и разнообразный ассортимент функций ввода-вывода. Для их использования необходимо подключить файл заголовка:

#include <stdio.h>

Функция gets() читает строку с консоли и помещает её по указанному адресу. Символ возврата каретки не становится частью строки.

char s[256];

gets(s);

Функция puts() выводит на консоль аргумент-строку и символ новой строки.

Форматированный ввод/вывод.

Форматированный вывод выполняется функцией printf:

printf(“control string”,argument list);

control string – управляющая строка

argument list – список аргументов

Управляющая строка состоит из двух типов элементов. Первый тип составляется из символов, которые функция будет выводить. Второй тип содержит команды формата, которые определяют способ представления аргументов. Команда формата в начала содержит знак ‘%’, затем – код формата. Некоторые коды формата:

%с – отдельный символ

%d – десятичное

%e – научная нотация

%f – деятичное с плавающей точкой

%o – восьмеричное

%s – строка символов

%x – шестнадцатеричное

%% - %

%p – указатель

и др.

Пример:

print(“Hi %c %d %s”,’c’,10,”there!”);

получится:

Hi c 10 there!

Для форматированного ввода с консоли используется функция scanf:

scanf (“control string”,argument list);

Список аргументов должен содержать адреса переменных соответствующих типов, куда будут помещены значения.

Пример:

int count;

scanf(“%d”,&count);

Массивы

Массив объявляется путём указания после имени переменной квадратных скобок

тип имя_переменной [размерность];

Тип определяет тип элементов массива. Пример:

int s[10]; - массив из 11 целых чисел.

char mas[20]; - строка на 20 символов

Индексация элементов начинается с нуля, т.е. к элементам данного массива можно обратиться как sample[0],…,sample[9].

В C++ не выполняется проверка выхода за границы массива, поэтому при программировании нужна аккуратность.

В следующем примере массив с заполняется случайными числами в интервале [0, 99]

#include <stdlib.h>

#include <time.h>

int i, c[10]; randomize();

for(int i=0;i<10;i++) c[i]=random(100);

При объявлении массива можно его сразу инициализировать:

int a[5]={3,5,7,11,13};

Если список значений короче длины массива, то остальные элементы инициализируются нулями.

Аналогично объявляются многомерные массивы:

тип имя [size1][size2]…[sizeN]

Пример:

int t[4][10]; // объявляется двумерный массив из 40 элементов (4 строки, 10 столбцов)

обратиться к произвольному элементу массива можно так t[i][j]

!!! не перепутайте c Pascal t[i,j] –неправильная запись, но компилятор при этом ошибку не выдает (вспомним про операцию «запятая»)

Многомерные массивы также можно инициализировать:

int sqrs[5][2] =

{1,1,

2,4,

3,9,

4,16

5,25};

Если одномерный массив инициализируется при объявлении, то его размер можно не указывать – компилятор сам его подсчитает:

int a[]={1,2,3};

Многомерный массив можно рассматривать как массив, элементы которого, в свою очередь. являются массивами. Например: int a[5][10];

a[0], a[1], … ,a[4] – одномерные массивы (строки матрицы a)