Школа создателей компьютерных игр

BannerDrive.ru
[Главная] [С чего начать?] [Дистанционное обучение] [Статьи] [Обучалки] [Книги] [Софт] [Форум] [Ссылки] [О сайте]

Цикл For



Подпишитесь на рассылку "Создание компьютерных игр"

Рассылки Subscribe.Ru
Создание компьютерных игр

Рассылка выходит раз в месяц.


Понравился сайт? Узнайте, как помочь сайту.


Рекомендуемые книги


Андре Ламот.
Программирование трехмерных игр для Windows. Советы профессионала по трехмерной графике и растеризации


Андре Ламот.
Программирование игр для Windows. Советы профессионала


Проголосуйте за сайт в рейтинге GameTop!
(нажмите на кнопку рейтинга)

GameTop - рейтинг игровых ресурсов. Портал Rolemancer (www.rolemancer.ru)

Не забывайте, что результаты рейтинга обновляются раз в неделю. Пожалуйста, голосуйте почаще!


Статистика посещаемости

Rambler's Top100

Ввод с клавиатуры | Все обучалки раздела | Цикл For часть 2

Описание

Объясняется, что такое цикл For, и как его использовать.

Программа выводит по порядку числа в диапазоне, задаваемом пользователем.

Скачать обучалку (Visual C++ 6)

Работа программы

Исходный код


//		- "Talk to me like I'm a 3 year old!" Programming Lessons -
//
//		$Author:		Ben Humphrey	digiben@gametutorials.com
//
//		$Program:		Counting
//
//		$Description:	Prints a given number range in a for loop
//
//		$Date:			5/18/00
//

// Перевод © 2004 Евгений Казеко
// www.gamecoder.kazeko.com
// evgeniy@kazeko.com

#include <stdio.h>

void main()	// Начало нашей программы.
{
	int min=0, max=0, i=0;	
	// Мы инициализируем 3 целочисленные переменные, чтобы хранить в них
	// границы диапазона.  Мы устанавливаем их равными нулю, иначе в них
	// будут какие-нибудь сумасшедшие числа, например -858993460. Мы могли бы
	// также написать:
	//	int min=0;
	//	int max=0;
	//	int i=0;
	// Это делает то же самое, просто такая запись более подробна.

	// Теперь мы напечатаем приглашение пользователю ввести число - нижнюю границу

	printf("Input your first number to count from: ");	
	// "Введите число, с которого следует начать счет"

	// Затем мы ждем до тех пор, пока пользователь не нажмет <enter> и читаем
	// то, что введено, затем сохраняем это в переменной "min".
	// Мы используем "%d" потому что это значит, что мы читаем целое число.
	
	scanf("%d", &min);	
	// Видите знак "&"?  Это значит, что мы помещаем то, что введено 
	// по адресу переменной в память.
	// Вот как это работает, это довольно сложно. Сначала переменная создается, 
	// и когда мы говорим "создается", это значит, мы сообщаем windows что нам 
	// нужно определенное количество памяти системы.
	// Когда windows реагирует на это, она дает нам адрес ячейки памяти, 
	// в которой хранится информация этой переменной.
	// Всегда желательно использовать как можно меньше памяти. Для небольших 
	// программ, вроде нашей, это не существенно. Но когда у вас будут ОГРОМНЫЕ
	// проекты, это ОЧЕНЬ важно. Программы будут работать быстрее. Поверьте мне.
	// Итак, как правило мы используем НАИМЕНЬШЕЕ число переменных, для
	// того, чтобы сэкономить память.
	// Хорошего программиста можно определить по его программам: они работают
	// быстро и наиболее эффективно. Каждый старается достичь этого. Совершенству
	// нет предела.
	
	// А теперь мы выводим сообщение и просим ввести число - верхнюю границу.
	printf("Input your last number to count to: ");
	// "Введите число, до которого нужно считать:"
	
	// Затем мы читаем это число.
	scanf("%d", &max);



	// Здесь начинается цикл:
	for (i=min; i <= max; i++)
	// Он называется "цикл For". Вы будете очень часто его использовать.
	{
	      printf("%d\n", i);
	}
	// Вот что он делает. Он берет стартовое значение "i=min", где "i" 
	// используется как счетчик.
	// Теперь "i" равно min, например если мы ввели 10, то было бы то же самое, 
	// если бы мы написали "i=10", но мы не знаем КАКОЕ будет число, поэтому
	// мы сохраняем его в переменной min.
	// "i <= max" означает "не выходить из цикла до тех пор, пока это условие
	// не станет ложным.
	// В данном случае, "не выходить из цикла, пока i не станет больше чем max"
	// Предположим, max равно 15. Цикл прервется когда i будет равно 16 или больше.
	// Вы наверно подумали, каким образом i может стать равным 16 или больше?
	// "i" равно "min" (например 10). Следующий параметр, передаваемый в цикл "for"
	// это то место, где мы говорим что происходит с "i"
	// "i++" говорит компилятору прибавлять 1 к "i" каждый раз при выполнении
	// цикла. Это все равно что написать: "i = i + 1", просто так короче.

	// Итак, вот как записывается заголовок цикла For:
	// for(начальное значение, условие выхода, действие, которое повторяется) 
	// Вы также увидите, что у нас нет ";" после цикла "for" ...
	// Если мы поставим после него точку с запятой, цикл никогда не запустится.
	// Это потому что ";" говорит, что мы закончили с этой строкой, мы же на
	// самом деле еще НЕТ... Никогда не ставьте ";" после всего, за чем идет "{".
	// Посмотрите на "void main()" ..
	// Мы ставим "{" чтобы сказать, что все, что идет после "{", включается в цикл.


	// "Printf" работает также как и "scanf()", только вместо чтения мы печатаем и
	// переходим на следующую строку с помощью "\n"
	// В данном случае, мы используем "%d" чтобы вывести на печать число, в данном
	// случае это "i" , как мы видим из следующего параметра.
	// Все после "}" находится за пределами цикла,
	
	
	// Вам непонятно что делает цикл?  Если да, то давайте пройдем по циклу:
	// Рассмотрим наш пример, где min = 10 и max = 15. Подставим эти значения.

	//	for (i = 10, 10 <= 15, 10 + 1)
	//	{
	//	      printf("%d\n", 10);
	//	}

	// Это первое выполнение цикла, когда цикл доходит до "}", выполняется
	// третий параметр - "i++".  Теперь, i = 11, верно? Мы прибавили 1 к i
	// которое было равно 10.
	// Компилятор никогда не возвращается к первому параметру "i=min". 
	// Он нужен просто для того, чтобы начать с "i".
	// Итак, после первого выполнения цикла и добавления 1 к "i", 
	// компилятор проверяет условие в середине, чтобы узнать, следует ли 
	// продолжать цикл. Итак:
	//	"11 <= 15"  Если это истинно (TRUE), цикл выполняется снова.
	// Мы печатаем 11, затем проверяем 12 <= 15, затем печатаем 12, и т.д...
	// до тех пор, пока мы не напечатаем "15".
	// После этого выполнения цикла, 15 увеличивается на 1. i = 16
	//	"16 <= 15"  Это ложно (FALSE), поэтому программа выходит
	// из цикла за пределы "}". Так как в программе больше ничего нет, 
	// она заканчивается.

}	// Мы заканчиваем функцию "main()" и нашу программу

// Мы только что создали наш первый цикл for. Если ввести 10 и 15, вот как выглядит выполнение программы:

// Input your first number to count from: <введем 10 и нажмем ENTER>
// Input your last number to count to:	  <введем 15 и нажмем ENTER>
// 10
// 11
// 12
// 13
// 14
// 15
// Press any key to continue			


// © 2001 GameTutorials
// Перевод © 2004 Евгений Казеко
// www.gamecoder.kazeko.com
// evgeniy@kazeko.com

Скачать обучалку (Visual C++ 6)

Ввод с клавиатуры | Все обучалки раздела | Цикл For часть 2

[Главная] [С чего начать?] [Дистанционное обучение] [Статьи] [Обучалки] [Книги] [Софт] [Форум] [Ссылки] [О сайте]

Copyright © 2003-2005 Евгений Казеко. Все права защищены. E-mail: evgeniy@kazeko.com

Мы предлагаем любые вывески, наружную рекламу, световые короба - огромный опыт.; Строительство сауны Петербург; ламинат цена укладки.; голова. и града в летний период.