- •Программирование на языке c
- •Ознакомление со средой разработки. Консольная программа на языке c
- •Основные теоретические сведения
- •Пример простейшей программы
- •Комментарии
- •Типы и описания
- •Основные типы
- •Производные Типы
- •Выражения и операторы
- •Выражения
- •Стандартный ввод и вывод Функции getchar и putchar
- •Форматный вывод - функция printf
- •Форматный ввод - функция scanf
- •Оператор возврата – return
- •Оператор условия - if
- •Операторы цикла Оператор цикла с предусловием - while
- •Оператор цикла с постусловием – do…while
- •Оператор цикла - for
- •Оператор прерывания выполнения операторов - break
- •Оператор продолжения выполнения – continue
- •Ход работы
- •Задание
- •Варианты задания
- •Содержание отчета
- •Литература
Программирование на языке c
Лабораторная работа 1
Ознакомление со средой разработки. Консольная программа на языке c
Цель: Научиться работать в интегрированной среде разработки Dev C++, создавать простейшие консольные приложения, повторить синтаксис и принципы создания программ языка C.
Основные теоретические сведения
Программа, разработанная в среде Dev C++, является проектом, состоящим из следующих основных файлов:
Файла проекта *.dev, который содержит имя будущей программы, списки всех необходимых модулей и все настройки компилятора и линковщика;
Одного или нескольких модулей *.c, *.cpp – текстовых файлов, написанных на языке C или C++, один из которых содержит основную функцию main (или WinMain);
Файлов заголовков (включаемых файлов) *.h, *.hpp, содержащих обычно описания типов данных и прототипов функций;
Файла(ов) ресурсов *.res (скомпилированных), *.rc (исходных), содержащих необходимые ресурсы проекта (иконки, картинки, и др.);
Пример простейшей программы
Пример файла программы на языке C, производящей расчет по закону Ома приведен ниже:
//---------------------------------------------------------------------------
#include <stdio.h>
//---------------------------------------------------------------------------
#define I 555
#define R 5.5
#pragma argsused
int main(int argc, char* argv[])
{
printf("Zakon Oma: U=I*R\n");
printf("I = %d; R = %f\n",I,R);
printf("U = %f\n",I*R);
return 0;
}
//---------------------------------------------------------------------------
Его можно условно разделить на три области:
Область включаемых файлов;
Область объявлений глобальных определений (макросов), переменных, функций;
Область основной функции main.
Область включаемых файлов содержит команды препроцессора на включение файлов-заголовков (здесь включается файл работы со стандартным вводом/выводом - #include <stdio.h>), после окончания включения стандартных включаемых файлов следует команда прекращения кэширования файлов заголовков.
Далее записаны команды препроцессора для определения значений тока и сопротивления путем макроподстановок (#define I 555 и #define R 5.5), содержанием которых и исчерпывается область глобальных объявлений.
Перед основной функцией программы идет команда компилятору подавить вывод предупреждения о неиспользовании аргументов функции (#pragma argsused), которая служит для подавления сообщения о том, что аргументы функции main argc и argv не использованы в тексте функции. Сама основная функция состоит из трех функций форматированного вывода printf, определенных во включаемом файле stdio.h и оператора return, возвращающего 0 – признак успешного выполнения программы. Первая из них служит для вывода заголовка, оканчивающегося символом перехода на новую строку (\n), вторая – выводит значения I и R, третья – результат расчета.
Более подробную информацию по каждому из операторов можно получить в среде Borland C++ Builder, установив курсор на этот оператор и нажав F1 или справочной системе Microsoft Development Network.
Для успешного выполнения работы необходимы следующие справочные сведения, изученные в курсе программирования. Нижеследующие разделы «Комментарии», «Типы и описания», «Выражения и операторы», «Основная функция программы – main», «Стандартный ввод – вывод», «Оператор возврата – return», «Оператор условия – if», а также «Операторы цикла» повторяют курс «Программирование» и приведены здесь в качестве материала для повторения его, а также в качестве справочника.