Нижегородский государственный университет им. Н.И.Лобачевского
Опубликован: 25.11.2008 | Доступ: свободный | Студентов: 9592 / 1296 | Оценка: 4.06 / 3.66 | Длительность: 21:16:00
Лекция 2:

Структура программы на языке C

< Лекция 1 || Лекция 2 || Лекция 3 >
Аннотация: В данной лекции рассматривается структура программы на C++. Приведены основные понятия и определения, касающиеся заголовочной части программы

Продемонстрируем пример простейшей программы на языке C++, которая запрашивает у пользователя два целочисленных значения переменных a и b, анализирует их и выводит наибольшее число.

01  #include <iostream.h>
02  #include <conio.h>
03  int main(void)
04  {
05    int a,b,max;
06    cout << "a=";          //приглашение ввести значение a
07    cin >> a;              //ввод значения переменной а
08    cout << "b=";          //приглашение ввести значение b
09    cin >> b;              //ввод значения переменной b
10    if(a>b) max=a;         //если a>b то max=a
11    else max=b;            //иначе max=b
12    cout << "max="<<max;   //вывод максимального значения
13    getch();               //останов до нажатия клавиши
14    return 0;              //выход из функции
15  }

Номера, которые проставлены в начале каждой строки программы, не являются принадлежностью программы. Они введены только для упрощения ссылок на описание действия тех или иных строк. Строки 01 и 02 подключают ( include – включить) к тексту программы так называемые заголовочные ( h от header – заголовок) файлы системы. В этих файлах описаны системные функции и их аргументы. Используя эти описания, компилятор проверяет правильность вызова системных функций. В нашем случае программа использует системные функции ввода ( cin >> ) и вывода ( cout << ), описания которых находятся в заголовочном файле iostream.h, а также функцию ожидания нажатия какой-либо клавиши ( getch ), описание которой находится в заголовочном файле conio.h. Названия заголовочных файлов зачастую образовываются от каких-либо аббревиатур английских слов, их полезно научиться понимать, а не запоминать. В нашем примере: io – input/output (ввод/вывод), stream (поток), con ( console – пульт оператора, т.е. клавиатура и дисплей).

Строка 03 содержит заголовок функции main. Функция с таким названием обязана присутствовать в каждой программе на языке C, C++. Именно с нее начинается выполнение программы, она – главная (именно так переводится служебное слово main ). Предшествующее ей служебное слово int (от integerцелый) сообщает, что результатом работы функции main должно быть целое число. По возвращаемому функцией значению операционная система, запустившая программу main, может "сообразить", правильно или неправильно завершилась работа программы. По общепринятому соглашению нулевое значение, возвращаемое функцией main, свидетельствует о нормальном завершении работы программы. Служебное слово void (дословно – пустота), указанное в круглых скобках, сообщает, что у функции main аргументы отсутствуют.

Текст программы (тело функции) заключается в фигурные скобки (строки 04 и 15). В большинстве последующих строк присутствует пояснительный текст на русском языке, следующий после пары символов // – это комментарий, на содержание которого система не обращает внимания.

В строке 05 объявлены три переменные с именами a, b и max, которые могут принимать только целочисленные значения (тип – int ).

Строка 06 является первой строкой программы, которая производит некоторое действие – она выводит на дисплей сообщение, состоящее из двух символов ( a= ). Текст сообщения заключен в двойные кавычки. Строка 07 организует приостановку работы программы до тех пор, пока пользователь не наберет на клавиатуре какое-либо число и нажмет клавишу Enter. Поступившее значение будет хорошо воспринято, если оно целое, и направлено в переменную a. Точно таким же образом в строках 08 и 09 будет организован ввод значения числовой переменной b.

В строке 10 сравниваются ( if – если) текущие значения переменных a и b. Если проверяемое условие выполнено, т.е. значение переменной a больше, то оно присваивается переменной max – выполняется действие, записанное после проверки условия. В противном случае ( else – иначе) в переменную max заносится значение b.

Строка 12 выводит на дисплей два сообщения – текстовое ( max= ) и числовое (значение переменной max ).

Обращение к функции getch (строка 13) приводит к задержке на экране сообщения программы до тех пор, пока пользователь не нажмет какую-либо клавишу ( getch – от get character, дай символ).

Последняя выполняемая строка с номером 14 возвращает управление операционной системе ( return – вернуться) и выдает в качестве значения функции нулевой результат.

Обратите внимание на следующие детали. Если программа обращается к каким-либо системным функциям, то в первых ее строках обязательно должно стоять указание о подключении соответствующих заголовочных файлов. Программа может содержать более чем одну функцию, но среди них обязательно должна присутствовать функция с именем main. Каждая строка программы, содержащая какое-либо объявление или выполняемое действие, оканчивается точкой с запятой. Тело функции обязательно заключается в фигурные скобки (в Паскале аналогичные функции выполняли операторные скобки – begin и end ).

< Лекция 1 || Лекция 2 || Лекция 3 >
Alexey Ku
Alexey Ku

Попробуйте часть кода до слова main заменить на 

#include "stdafx.h" //1

#include <iostream> //2
#include <conio.h>

using namespace std; //3

Александр Талеев
Александр Талеев

#include <iostream.h>
#include <conio.h>
int main(void)
{
int a,b,max;
cout << "a=5";
cin >> a;
cout <<"b=3";
cin >> b;
if(a>b) max=a;
else max=b;
cout <<" max="<<max;
getch();
return 0;
}

при запуске в visual express выдает ошибки 

Ошибка    1    error C1083: Не удается открыть файл включение: iostream.h: No such file or directory    c:\users\саня\documents\visual studio 2012\projects\проект3\проект3\исходный код.cpp    1    1    Проект3

    2    IntelliSense: не удается открыть источник файл "iostream.h"    c:\Users\Саня\Documents\Visual Studio 2012\Projects\Проект3\Проект3\Исходный код.cpp    1    1    Проект3

    3    IntelliSense: идентификатор "cout" не определен    c:\Users\Саня\Documents\Visual Studio 2012\Projects\Проект3\Проект3\Исходный код.cpp    6    1    Проект3

    4    IntelliSense: идентификатор "cin" не определен    c:\Users\Саня\Documents\Visual Studio 2012\Projects\Проект3\Проект3\Исходный код.cpp    7    1    Проект3

при создании файла я выбрал пустой проект. Может нужно было выбрать консольное приложение?