logo search
Metod_ukazanija C_1-8

Пример выполнения задания по теме № 1

/* Блок директив препроцессору */

#include <math.h>

#include <stdio.h>

#define g 9.81

/* Объявление глобальной переменной */

float H;

/* Блок главной функции программы */

int main()

{

/* Объявление локальной переменной */

float V;

printf("\nЛабораторная работа N1 вариант N12");

printf("\n\nВыполнила студентка гр.Пд-11 Петрова Н.В.");

printf("\nВертикально вверх бросают камень со скоростью V.");

printf("\nОпределите максимальную высоту подъема камня.");

printf("\nВведите начальную скорость в м/c (от 0 до 100) V=");

scanf("%f",&V);

H=pow(V,2);

H=H/(2*g);

printf("\nМаксимальная высота подъема камня H=%5.2f м",H);

return 0;

}

Обратите внимание на то, что программа состоит из нескольких блоков, первый из которых включение (include) заголовочных файлов для обращения к библиотекам языка Си. В отличие от языка Паскаль ни одна библиотечная функция языка Си не может быть использована без указания места расположения ее прототипа. Кроме того, не забудьте, что язык Си различает регистр написания букв. Поэтому компилятор примет написание имени функции printf, но укажет, чтоprintf – это неизвестный идентификатор.

Найдите описание функций, которые относятся к используемым в программе библиотекам: математической (math), библиотеке стандартного ввода-вывода (stdio). Более пристального внимания требуют функции форматного ввода-вывода (scanf иprintf), особенно вопросы задания формата вводимых и выводимых данных, так как в Паскале выбор формата выводимых данных определял компилятор по типу переменной, а здесь выбор (как и многое другое) определяет программист. Не забудьте, что функцияscanfтребует адреса переменной.

Блок объявления главной функции, операторные скобки и локальные переменные требуют несколько более пристального внимания (опять из-за привычки к синтаксису языка Паскаль). Здесь чаще всего встречаются следующие ошибки: