Вівторок, 19.03.2024, 05:21
Гость

Мішатронік

Мобільна версія | Додати у вибране  | Мій профіль | Вихід | RSS |
Меню сайту
Наше опитування
Чи працювали ви з мікроконтролером?
Всього відповідей: 5
Статистика

Онлайн всього: 1
Гостей: 1
Користувачів: 0


Выбор вариантов

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

 
  1. Выполнение последовательности операторов.
  2. Выполнение определенной последовательности операторов до тех пор, пока некоторое условие истинно.
  3. Использование проверки истинности условия для выбора между различными возможными способами действия.
 

Первая форма нам уже хорошо известна. Все наши предшествующие программы представляли собой некоторую последовательность операторов. Цикл while служит одним из примеров использования второй формы, другие способы будут рассмотрены в следующей лекции. Последняя форма делает программы гораздо более интеллектуальными, и чрезвычайно увеличивает эффективность работы компьютера

 

Оператор if

Подсчитаем число строк в файле. Это можно сделать путем счета числа символов "новая строка" в файле.

 

Пример:

 
/*подсчет строк */
#include <stdio.h>
main( )
{
 int ch;
 int line_count=0;
 while((ch = getchar( )) != EOF)
 if(ch == '\n') line_count++;
 printf("Мы насчитали %d строк. \n", line_count);
}
 

Оператор if служит указанием компьютеру увеличить значение переменной line_count на 1, если только что прочитанный символ, содержимое переменной ch, представляет собой символ "новая строка". Что происходит в случае, когда значение переменной ch не является символом "новая строка"? Тогда в цикле while производится чтение следующего символа. Операторif считается одиночным оператором, начинающимся от ключевого слова if и завершающимся символом "точка с запятой". Модифицируем программу. Подсчитаем одновременно число символов и строк в файле:

 
/* подсчет числа строк и символов */
#include <stdio.h>
int main( )
{
 int ch = 0;
 int line_count = 0;
 int char_count = 0;
 while((ch = getchar( )) != EOF) {
 char_count++;
 if(ch == '\n')
 line_count++;
 }
 printf("Мы насчитали %d символов и %d строк.\n",
 char_count, line_count);
}
 

Теперь в цикл while входят два оператора, поэтому мы использовали фигурные скобки, чтобы отметить начало и конец цикла.

 

Расширение оператора if

Простейшей формой оператора if является

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

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

 

Оператор может быть простым или составным, т. е. блоком.

 

Пример:

 
/* пример одиночного оператора и блока */
#include <stdio.h>
int main( )
{
 int i;
 i=getchar( );
 if (i > 5) 
 /* одиночный оператор*/
 printf("Значение больше 5.\n"); 
 if (i < 5) {
 /* составной оператор*/
 printf("Значение\n");
 printf(" меньше 5.\n");
 }
 return 0;
}
 

Простая форма оператора if позволяет выбрать оператор, возможно, составной, или пропустить его. Язык Си предоставляет также возможность выбрать любой из двух операторов путем использования конструкции if-else.

 

Напишем программу, заменяющую каждый символ из таблицы ASCII на следующий символ, кроме символа "новая строка".

 

Пример:

 
/* код_1*/
#include <stdio.h>
int main( )
{
 int ch;
 while ((ch=getchar( )) != EOF) {
 /* оставить символ "новая строка неизменным" */
 if (ch == '\n') 
 putchar(ch); 
 else
 /* заменить остальные символы*/
 putchar(ch + 1); 
 }
}
 

Общий вид оператора if-else выглядит следующим образом:

 
if(выражение)
 оператор
else
 оператор
 

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

 

Форма входа
Пошук
Друзі сайту
Календар
«  Березень 2024  »
ПнВтСрЧтПтСбНд
    123
45678910
11121314151617
18192021222324
25262728293031

Єдина Країна! Единая Страна!