Site hosted by Angelfire.com: Build your free website today!
 

 


 
 


 

Массивы в Си

Чтобы объявить одномерный массив, надо написать какого типа данные будут в нем храниться, потом имя массива, потом в квадратных скобках размер массива.
Не помню - знаешь ли ты что такое массив вообще или нет. По любому нелишне будет напомнить, что это хранилище данных одного типа. Если в переменной типа int можно было хранить только одно целое число, то в массиве типа int можно их хранить столько, сколько, какова размерность массива.
Пример :
int a[20];

это объявление массива, в котором может храниться до 20 чисел.
Чтобы достать из /записать в массив элемент, надо указать в квадратных скобках после имени массива его номер :
a[5]=123;
printf("a[12]=%d\n",a[12]);

Нумерация элементов начинается с нуля.

Вопрос на сообразительность : если в массиве 20 элементов (как в примере выше), то какой номер у последнего элемента ?


Цикл For

Не буду грузить тебя сложными вариантами использования цикла for. Для начала будем считать, что с помощью него ты можешь последовательно менять значение переменной от одного числа до другого с определенным шагом. Пример :
int i;
for(i=0;i<10;i++){
}
внутри оператора for три выражения через точку с запятой, после идет «тело цикла».
1ое выражение - инициализация. Выполняется один раз в начале цикла. 2ое - условие выполнения цикла. Цикл крутится, пока оно верно. 3е - выполняется в конце каждого цикла.
здесь переменная i получает вначале значение ноль, потом с шагом 1 пробегает все числа до 9. Когда оно достигает 10, то цикл прекращается. При этом каждый раз выполняется «тело цикла» - то, что находится в фигурных скобках. (как видишь сейчас там ничего нет :-) Когда i становится 10, то цикл завершается и выполнение переходит к следующей команде, которая стоит после цикла. Таким образом можно, например, вывести на экран все целые числа от 0 до 10:

1 #include <stdio.h>
2 void main(void){
3 int i;
4 for(i=0;i<11;i++){
5 printf("%d\n",i);
6 }
7 }

Как это работает :
Когда программа попадает на строчку 4 в i заностится 0 (инициализация). Потом проверяеся условие (i<11). Оно верно (0<11) и тогда первый раз выполняется тел цикла - здесь одна строка 5. На экран выводится содержимое переменной i, т.е. 0.
После выполнения тела, выполняется третья команда из опрератора for на 4й строке - i++.
Значение i увеличивется на 1. Далее проверяется устловие цикла. Оно опять верно (1<11) и выполняется тело цикла. Потом опять i увеличивается и проверяется устловие. Потом выполняется тело цикла и т д
Нас интерисут момент, когда i достикает значения 10. При этом условие продолжения цикла верно и число 10 выводится на экран. Потом i увеличивается и вот тут условие уже не выполняется (11<11) и цикл завершается и продолжается выполнение программы. Больше команд в программе нет - пожтому вся программа на этом завершается.


Задачи:
1. программа должна создавать массив на 100 элементов и заполнять его числами начиная от 100 и до 1 по убывающей.

Если окажется слишком просто - сообщай. Я добавлю сложности ! :-) :-)


Заглавна Форум Компилатори за C++