- •М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. Разбиение материала на модули
- •Список литературы
Ввод даты с экрана.
#include <stdio.h>
#include <string.h>
Void main()
{ int day=0, year=0,m=0,dmax,i;
static char month0[10];
char month[12][10]={{"январь"},{"февраль"},{"март"},
{"апрель"},{"май"},{"июнь"},
{"июль"},{"август"},{"сентябрь"},
{"октябрь"},{"ноябрь"},{"декабрь"}};
char vvod=0;
printf("Введите год:\n");
while(vvod==0)
{ vvod=scanf("%d",&year);
if(year <= 0 || year >= 5000)
{ printf("Год введен неправильно! Повторите ввод:\n");
vvod=0;
}
}
vvod=0;
printf("Введите месяц (полное русское название):\n");
while(vvod == 0)
{ vvod=scanf("%s",month0);
for(i=0;i<12&&stricmp(month0,month[i])!=0;i++);
if(i == 12)
{ printf("Месяц набран неправильно! Повторите ввод:\n");
vvod=0;
}
else m=i+1;
}
if((m <= 7 && m%2==1) || (m > 6 && m%2 == 0))
dmax=31;
else dmax=30;
if(m == 2)
if(year%4 == 0 && year%400 != 0 ) dmax=29;
else dmax=28;
vvod=0;
printf("Введите число месяца:\n");
while(vvod == 0)
{ vvod=scanf("%d",&day);
if(day <= 0 || day > dmax)
{ printf("Число набрано неправильно! Повторите ввод:\n");
if(day > dmax)
if(dmax == 31)
printf("(в месяце %s только %d день!)\n",
month0,dmax);
else
printf("(в месяце %s только %d дней!)\n",
month0, dmax);
vvod=0;
}
}
printf("Введена дата: %d %s %d.\n",day,month0,year);
}
Объем этой программы продиктован необходимостью реализации логически относительно сложного контроля вводимых в программу данных. Использованная в программе функция stricmp() обеспечивает сравнение двух строковых переменных (строковая переменная это массив символов, заканчивающийся нулем) и возвращает не нулевое значение, если строки различаются.
Доработка программы решения физической задачи из раздела 8.4.
Вначале сформулируем общие требования к программе, которые делают ее пригодной к эксплуатации:
Программа после запуска должна выводить на экран название решаемой задачи и фамилию исполнителя;
Все входные данные должны запрашиваться с полным названием вводимой величины и вводится с клавиатуры. При вводе физических величин необходимо указывать ее единицы измерения;
После печати результатов работы программа должна их сохранять на экране до нажатия любой клавиши.
#include <stdio.h>
#include <math.h>
#include <conio.h>
#define k 0.0048
Void main()
{ float Tm,Tv,Tm0,S,V,dt,tmax,t;
printf("Программа расчета изменения температуры молока \n");
printf("в бидонах при содержании на открытом воздухе. \n");
printf("Разработала студентка группы E11 Чалдомир Л. \n");
printf("Введите температуру окружающего воздуха в гр. Цельсия \n");
scanf("%f",&Tv);
printf("Введите начальную температуру молока в гр. Цельсия \n");
scanf("%f",&Tm0);
printf("Введите площадь поверхности бидона в м квадратных \n");
scanf("%f",&S);
printf("Введите объем бидона в м кубических \n");
scanf("%f",&V);
printf("Введите интервал расчета в часах \n");
scanf("%f",&tmax);
printf("Введите шаг расчета в часах \n");
scanf("%f",&dt);
// Печать заголовка таблицы:
printf("Время (часы) Температура молока в град. Цельсия \n");
for(t=0;t <= tmax;t+=dt)
{ Tm=Tv+(Tm0-Tv)*exp(-k*S*t/V);
printf(" %.1f %.2f\n",t,Tm);
}
printf("Для выхода из программы нажмите любую клавишу. \n");
getch();
}
Функция getch()из библиоьеки <conio.h> останавливает работу программы до нажатия любой клавиши. Более подробно о функциях управления работой программы с клавиатуры рассказывается в следующем разделе.