- •Мiнiстерство аграрної політики україни миколаївський державний аграрний університет методичні вказівки
- •Миколаїв –2003
- •Введение
- •1. Понятие переменной
- •2. Арифметические операции
- •3. Логические операции
- •4. Основные операторы (ключевые слова)
- •4.1 Арифметические операторы.
- •4.2 Оператор условия if.
- •4.3. Оператор цикла for.
- •4.4. Оператор безусловного перехода goto.
- •4.5. Оператор цикла while.
- •If(условие)
- •4.6. Ключевые слова break и continue.
- •5. Основные правила составления программ.
- •5.1. Подключение необходимых библиотек языка Си.
- •5.2. Ключевое слово main().
- •Void main ()
- •5.3. Описание переменных.
- •5.4. Реализация основных математических функции в языке Си.
- •6. Массивы
- •6.1. Описание массивов.
- •6.2. Конструкция #define для объявления размерности массивов.
- •Void main()
- •6.3. Инициализация массивов при объявлении.
- •7. Функция printf().
- •7.1. Вывод на экран заданного текста.
- •7.2. Вывод на экран значений переменных.
- •8. Примеры программ.
- •8.1. Печать координат вектора превышающих заданный порог.
- •8.2. Умножение двух прямоугольных матриц.
- •Void main()
- •8.3. Разложение числа на простые множители.
- •Void main()
- •8.4. Решение физической задачи.
- •Void main()
- •9. Работа с компилятором языка си
- •9.1. Подготовка к запуску компилятора.
- •9.2. Набор текста программы и его редактирование.
- •9.3. Компиляция и отладка программы.
- •9.4. Запуск программы на исполнение.
- •10. Ввод информации в программу с экрана
- •10.1. Функция scanf().
- •Int day, year;
- •10.2. Примеры программ, использующих ввод данных с экрана. Ввод вектора с экрана.
- •Void main()
- •Ввод даты с экрана.
- •Void main()
- •Доработка программы решения физической задачи из раздела 8.4.
- •Void main()
- •11. Управление работой программы с клавиатуры.
- •11.1. Предпочтительные функции для работы с клавиатурой.
- •11.2. Программа печати кода нажатой клавиши.
- •Void main()
- •12. Создание пользовательских функций.
- •12.1. Общие правила написания пользовательских функций.
- •12.2. Пример использования пользовательских функций.
- •Void main()
- •13. Представление о графических функциях языка с.
- •13.1. Подготовка графического режима.
- •Initgraph(&graphdriver, &graphmode," ");
- •13.2. Наиболее употребляемые графические функции.
- •13.3. Примеры программ использующих графический режим. Разноцветные концентрические кольца.
- •Void main()
- •Initgraph(&graphdriver,&graphmode," ");
- •Управления движением курсора.
- •Void cursor(int dh,int iocur,int jocur,int incur,int jncur);
- •Void main()
- •Initgraph(&graphdriver,&graphmode," ");
- •Void cursor(int dh, int iocur,int jocur,int incur,int jncur)
- •14. Упражнения для самостоятельной работы.
- •15. Задачи для самостоятельного составления программ
- •15.1. Не сложные задачи.
- •15.2. Задачи средней сложности.
- •15.3. Задачи повышенной сложности.
- •16. Разбиение материала на модули
- •Список литературы
4.5. Оператор цикла while.
Синтаксис оператора:
1 форма: while (условие) оператор;
2 форма: do оператор while (условие);
В переводе с английского while означает "пока", do - "делать". Оператор while также можно записать через операторы if и goto:
1 форма:
M: if(условие)
{ оператор;
goto М;
}
2 форма:
M: оператор;
If(условие)
goto M;
Таким образом, при использовании первой формы, циклически выполняется оператор, следующий за ключевым словом while до тех пор, пока выполняется условие, заключенное в круглые скобки. При использовании второй формы, циклически выполняется оператор, следующий за ключевым словом do до тех пор, пока выполняется условие, заключенное в круглые скобки. Различия двух форм в последовательности выполнения оператора и проверки условия.
Примеры:
а) i=5; b=1;
while(i > 0) { i--; b*=a; }
В результате переменная b будет равна 5-ой степени переменной а.
б)i=5; b=1;
do { i--; b*=a; } while (i > 0);
В результате переменная b будет равна 6-ой степени переменной а.
в) while(1) оператор.
Оператор будет выполняться бесконечное число раз.
В качестве упражнения распишите по тактам выполнение первых двух примеров.
4.6. Ключевые слова break и continue.
Оператор слово break прерывает выполнение операторов циклов while и for.
Ключевое слово continue передает управление на начало циклов while или for. В переводе с английского break означает "прервать", continue -"продолжить".
Примеры:
а)
a=1; n=10;
for(i=0; i < n; i++)
if(a >= 100)
break;
else
a*=5;
Распишем по шагам выполнение этого примера:
1-ый шаг: i=0; 0 < 10 - верно, 1 >= 100 - не верно, а=1*5=5, i=0+1=1;
2-ой шаг: 1 < 10 - верно, 5 >= 100 - не верно, а=5*5=25, i=1+1=2;
3-ий шаг: 2 < 10 - верно, 25 >= 100 - не верно, а=25*5=125, i=2+1=3;
4-ый шаг: 3 < 10 - верно, 125 >= 100 - верно, управление передается оператору break, который прерывает выполнение цикла for.
б)
a=6; n=4;
for(i=0; i < n; i++)
{ a-=2;
if(a != 0)
b=1/a;
else
continue;
}
Выполнение этого примера по шагам будет выглядеть следующим образом:
1-ый шаг: i=0; 0 < 4 - верно, а=6-2=4, 4 != 0 - верно, b=1/6=0.1667, i=0+1=1;
2-ой шаг: 1 < 4 - верно, а=4-2=2, 2 != 0 - верно, b=1/4=0.25, i=1+1=2;
3-ий шаг: 2 < 4 - верно, а=2-2=0, 0 != 0 - не верно, управление передается оператору continue, который возвращает управление на начало цикла, т.е. на увеличение счетчика цикла i=2+1=3;
4-ый шаг: 3 < 4 - верно, а=0-2=-2, -2 != 0 - верно, b=1/(-2)=-0.5, i=3+1=4;
5-ый шаг: 4 < 4 – не верно, конец цикла.
5. Основные правила составления программ.
5.1. Подключение необходимых библиотек языка Си.
Подключение стандартных библиотек выполняется в самом начале программы размещением следующей строки:
#include <название библиотеки>
В переводе с английского include означает "включить".
Каждая библиотека подключается отдельной строкой. Необходимость подключения той или иной библиотеки определяется используемыми в программе стандартными функциями, например, функции выводящие информацию на экран в основном расположены в библиотеке stdio.h, математические функции в библиотеке math.h, и т.д. Для того, чтобы узнать в какой библиотеке находится функция, необходимо находясь в компиляторе языка Си, подвести курсор на имя этой функции и нажатием Ctrl-F1 вызвать по ней подсказку (help).