Массивы в ТС++

01.04.2011

Цель работы: Изучение приемов объявления и обращения к массивам, использования функций и директивы define при работе с массивами.

Массивы – это набор объектов одинакового типа, доступ к которым осуществляется прямо по индексу в массиве. Обращение к массивам в (Турбо) Си осуществляется и с помощью указателей .
Массивы можно описывать следующим образом:

тип_данных имя_массива [ размер массива ];

Используя имя массива и индекс, можно адресоваться к элементам массива:
имя_массива [ значение индекса ]
Значения индекса должны лежать в диапазоне от нуля до величины, на единицу меньшей, чем размер массива, указанный при его описании.
Вот несколько примеров описания массивов:

char name [ 20 ];
int grades [ 125 ];
float income [ 30 ];
double measurements [ 1500 ];

Первый из массивов ( name ) содержит 20 символов. Обращением к элементам массива может быть name [0], name [1], …,name[19].
Второй массив ( grades ) содержит 125 целых чисел. Обращением к элементам массива может быть grades [0],grades [1],…,grades[124].
Третий массив ( incom ) содержит 30 вещественных чисел. Обращением к элементам массива может быть income [0], incom[1],…,income[29].
Четвертый массив (measurements ) содержит 1500 вещественных чисел с двойной точностью. Обращением к элементам массива может быть measurements[0],measurements[1],…,measurements[1499].

/* Программа, иллюстрирующая использование массивов */
/*Файл array.с*/

#include <stdio.h>
#define size 1000
int data [size];
main ( )
{
extern float average (int a[ ], int s );
int i;
for ( i=0; i<size ; i++¬_)
data [ i ]¬¬¬¬¬¬¬¬= i;
printf ( “\nСреднее значение массива data =%f\n”,average (data,size));
}
float average (int a[ ] ,int s )
{
float sum=0.0;
int i;
for ( i=0; i<s ; i ++)
sum+=a[ i ];
return sum/s;
}

В программе заводится массив на 1000 целых чисел. При помощи функции average подсчитывается сумма элементов этого массива. Первым формальным параметром функции average является массив. В качестве второго параметра функции передается число суммируемых значений в массиве a. Обратите внимание на использование константы size (размер). Если изменяется размерность массива, задаваемая этой константой, то это не приводит к необходимости менять что-либо в самом коде программы.

Оператор цикла

01.04.2011

В Турбо Си имеются следующие конструкции, позволяющие программировать циклы: while, do while и for. Их структуру можно описать следующим образом:

while( логическое выражение)
оператор;

Цикл с проверкой условия наверху

————————————————————–
do
оператор;
while (логическое выражение);

Цикл с проверкой условия внизу

————————————————————–
for (инициализация, проверка, новое_значение)
оператор;
—————————————————————-

Операторы ветвления

01.04.2011

К операторам ветвления относятся if, if else, ?,switch и go to. Общий вид операторов ветвления следующий:

if (логическое выражение)
оператор;
——————————————————————-
if (логическое выражение)
оператор_1;
else
оператор_2;
——————————————————————-

<логическое выражение> ? <выражение_1> : <выражение_2>;
Если значение логического выражения истинно, то вычисляется выражение_1, в противном случае вычисляется выражение_2.

——————————————————————-
switch (выражение целого типа)
{
case значение_1:
последовательность_операторов_1;
break;
case значение_2:
последовательность_операторов_2;
break;
. . .
case значение_n:
последовательность_операторов_n;
break;
default:
последовательность_операторов_n+1;
}

Ветку default можно не описывать. Она выполняется, если ни одно из вышестоящих выражений не удовлетворено.
——————————————————————-

Пустой оператор

01.04.2011

Пустой оператор представляется символом (;), перед которым нет выражения. Пустой оператор используют там, где синтаксис языка требует присутствия в данном месте программы оператора, однако по логике программы оператор должен отсутствовать.
Необходимость в использовании пустого оператора часто возникает, когда действия, которые могут быть выполнены в теле цикла, целиком помещаются в заголовке цикла.

Блоки и составные операторы

01.04.2011

Любая последовательность операторов, заключенная в фигурные скобки, является составным оператором(блоком). Составной оператор не должен заканчиваться (;), поскольку ограничителем блока служит сама закрывающаяся скобка. Внутри блока каждый оператор должен ограничиваться (;).
Составной оператор может использоваться везде, где синтаксис языка допускает применение обычного оператора.

Управляющие структуры (Турбо) Си

01.04.2011

Цель работы: Изучение приемов использования операторов ветвления и операторов циклов в Турбо Си.

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

Строковые константы

10.02.2011

Строковые константы состоят из нуля или более символов, заключенных в двойные кавычки. В строковых константах управляющие коды задаются с помощью esc – последовательности. Обратный слэш используется как символ переноса текста на новую строку.
Пример описания строковых констант:

# include <stdio.h>
main( )
{
char *str1, *str2;
str1=“ Пример использования\n\n”;
str2=“строковых\
констант.\n\n”;
printf(str1);
printf(str2);
}

Программа выведет следующий текст:

Пример использования
строковых констант.

Задание: Написать и распечатать программу, выводящую на экран строковую константу и число, состоящее из цифр вашего дня рождения, заданное в виде десятичной, восьмеричной и шестнадцатеричной константы.

Управляющие коды

10.02.2011

\n Новая строка
\t Горизонтальная табуляция
\v Вертикальная табуляция
\b Возврат на символ
\r Возврат в начало строки
\f Прогон бумаги до конца страницы
\\ Обратный слэш
\’ Одинарная кавычка
\» Двойная кавычка
\а Звуковой сигнал
\? Знал вопроса
\ddd Код символа в ASCII от одной до трех восьмеричных цифр
\xhhh Код символа в ASCII от одной до трех шестнадцатеричных цифр.

Cимвольные константы

10.02.2011

Cимвольные константы заключаются в апострофы (кавычки). Все символьные константы имеют в (Турбо) Си значение типа int (целое), совпадающее с кодом символа в кодировке ASCII.
Одни символьные константы соответствуют символам, которые можно вывести на печать, другие – управляющим символам, задаваемым с помощью esc – последовательности, третьи – форматирующими символами, также задаваемым с помощью esc – последовательности.

Например:

символ » апостроф » задается как ‘\», переход на новую
строку – как ‘\’, а обратный слэш – как ‘\\’.

Каждая esc – последовательность должна быть заключена в кавычки.

Константы вещественного типа

10.02.2011

Константы с плавающей точкой (называемые вещественными) состоят из цифр, десятичной точки и знаков десятичного порядка е или Е. Ниже приведены все возможные варианты записи констант вещественного типа:

1. 2e1 .1234 .1e3
.1 2E1 1.234 0.0035e-6
1.0 2e-1 2.1e-12 .234