русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Вариации цикла for


Дата добавления: 2013-12-24; просмотров: 826; Нарушение авторских прав


Циклы

Сокращённые операторы в С

Принудительные преобразования типов

План

  1. Оператор «запятая»
  2. Принудительные преобразования типов
  3. Сокращённые операторы в С
  4. Циклы
  5. Оператор break
  6. Оператор continue
  7. Метки и goto

Оператор «запятая»

Оператор «запятая» используется для связки нескольких выражений. Левая сторона оператора «запятая» вычисляется как не выдающая значения. Значение выражения, находящегося с правой стороны, станет значением разделенного запятыми выражения. Например:

x=(y=3, y+1);

Сначала присваивается 3 переменной y, а затем 4 переменной x. Скобки нужны, поскольку оператор «запятая» имеет более низкий приоритет, чем оператор присваивания.

 

Имеется возможность заставить выражение принять определённый тип с помощью оператора принудительных преобразований. Эта операция имеет следующий вид:

 

(тип) выражение;


где тип – это один из стандартных типов данных С или определяемый пользователем тип. Например, если необходимо, чтобы выражение x/2 имело тип float (частное со знаками после запятой), следует написать:

 

(float) x / 2

 

С имеет несколько специальных сокращённых операторов, кодирующих некоторые операторы присваивания. Например:

 

х = х + 10;


может быть кратко записано как

 

x +=10;

 

В С и других языках программирования циклы позволяют выполнять набор инструкций до тех пор, пока не выполниться некоторое условие. Определены три разных оператора цикла:

 

Итерационный цикл for

 

Стандартный вид цикла for следующий:

for (инициализация_цикла; выражение-условие; список_выражений) оператор;

 

Оператор for имеет три главные части:

a. инициализация_цикла – это место, где обычно находится оператор присваивания, используемый для установки начального значения переменной цикла.



b. выражение-условие – это выражение, определяющее условие работы цикла.

c. список_выражений – это место где определяется характер изменения переменной цикла на каждой итерации.

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

 

Пример

 

#include <stdio.h>

 

int main(void)

{

int x;

for(x=1; x<=100; x++) printf(“%d ”,x);

return 0;

}

 

В данном примере x является переменной цикла, которая изменяется и проверяется на каждой итерации цикла.

Ниже приведён пример цикла for, повторяющего несколько операторов:

 

for(x=100; x!=65; x-=5) {

z = sqrt(x);

printf(“The square root of %d, %f”, x, z);

}

 

Как sqrt(), так и printf(), вызываются и выполняются пока x не равно 65.

В цикле for проверка условия выполняется в самом начале. Это означает, что код в цикле может вообще не выполняться, если условие изначально ложно.

 

 

Одна из наиболее типичных вариаций достигается с использованием оператора «запятая», тем самым позволяя иметь две или более переменных цикла.

Например, функция reverse(). Она предназначена для копирования содержимого первого строкового аргумента во второй строковый аргумент в обратном порядке.

 

void reverse(char *s, char *r)

{

int i, j;

 

for(i=strlen(s)-1, j=0; i>=0; j++, i--)

r[i]=s[j];

r[j] = '\0';

}

 



<== предыдущая лекция | следующая лекция ==>
Условный оператор if | Do/while


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.005 сек.