Статья
Версия для печати
Обсудить на форуме
Урок С (4). Первые программы.


Предыдущий урок ---- Следующий урок


В этом уроке мы напишем первую, простую программу на С. Для того, чтобы написать ее осознанно, нам понадобятся некоторые знания о переменных, функции main и командах ввода и вывода.

О переменных мы немного говорили в уроке 2 (там, где идентификаторы и оператор присваивания). Об остальном еще не говорили.

Итак, что нужно знать и помнить:

1. С - язык регистрозависимый.
Что это значит? Это значит, что он различает символы заглавные и прописные. Следовательно, идентификатор aaa и идентификатор Ааа (или ААА) это РАЗНЫЕ идентификаторы.

2. Переменная в программировании- это кусочек компьютерной памяти.
Он имеет определенную длину, которая зависит от того, какие значения вы хотите записывать и хранить в этой области памяти. Разные данные требуют разного места. Все данные разделены на типы данных, которые обязательно должны указываться при создании переменной. (Нужно же компьютеру знать сколько места резервировать под ваши нужды!). О типах данных, встречающихся в С поговорим позже, а сейчас будем использовать только один из типов: целочисленный. Кроме того, переменная-это область памяти, имеющая имя. Именно по этому имени к переменной обращается программа. Программисту не нужно знать где в компьютере будет находиться область памяти, отведенная данной переменной, достаточно знать ее имя.

3. Объявление переменной.
Итак, прежде чем пользоваться переменной, мы должны выделить под нее соответствующее количество памяти и дать этой области памяти имя. Это делается посредством строки, которая называется объявлением переменной. Выглядит она так:
Код:
int name;
где int это тип переменной (длина выделенной памяти, или лучше написать объем), name-имя переменной, которое вы для нее придумали, ;-обязательное окончание оператора в С/С++.

Если вы хотите объявить сразу несколько переменных одного типа, вы можете сделать это одной строкой, где имена переменных будут писаться через запятую:
Код:
int name1, name2,name3;
А можете использовать три строки- и то и другое правильно.
Код:
int name1;
int name2;
int name3;
После того, как мы объявили переменную, ей можно пользоваться, то есть, присваивать ей значения.

4.Присваивание значения какой-либо переменной происходит во время исполнения программы. Его надо писать отдельно от объявления,

Код:
int x;
x=0;

Можно положить значение в переменную в той же строке:
Код:
int x=0;
но в таком случае это называется инициализацией и выполняется эта строка на этапе компиляции, когда компилятор не только отводит место в памяти, но и заполняет его значением.

5.Написание кода первой программы.
Итак, мы создали новый файл. Теперь пишем в нем следующее:
Код:
#includeiostream.h
int main()
{
cout << "Люди! Это моя первая программа!!!";
return 0;
}

Рассмотрим теперь-что это мы тут такое изобразили:
#includeiostream - мы подключили файл, который позволит вводить данные с клавиатуры или выводить данные на экран. Во всех программах, в которых есть консольный ввод и вывод необходимо писать эту строку. В данной программе мы будем только выводить данные на эран.
int main() -это основная функция программы. Функция - это действие. В ней вы должны описать, указать, запрограммировать что именно будет делать ваша программа. И делать это вы будете с помощью операторов.

Программа может содержать несколько написанных вами функций, но функция с именем main в ней должна быть обязательно (для консольной программы, для визуальных это решается по другому). Основная функция означает, что именно с нее начинается выполнение программы, даже если вы написали ее не первой по порядку.
()- пустые скобки: скобки обязательно должны быть у любой функции- в них пишутся параметры (данные, которые должна функция иметь для своей работы), если таких параметров нет, пишем пустые скобки, как в данном случае. int  перед словом main означает, что из функции будут получены какие-то данные, так называемое возвращаемое значение  и будут они целыми числами (int). О функциях подробнее мы будем говорить позже.

Скобки {} заключают в себя последовательность операторов (блок). В данном случае, операторов, описывающих что должна делать функция main. Такая последовательность называется телом функции.
{ - открывающая скобка, после нее идет первый оператор, после того, как написан последний оператор тела,
ставится закрывающая скобка - }.
cout - так мы выводим на экран информацию на монитор. - это оператор вывода, что такое cout подробно разберем позже.

Дальше, сразу после оператора вывода должна идти информация, которую мы хотим увидеть на экране. Если это текст, как в нашем примере, он берется в кавычки. Вся строка- это уже оператор, поэтому не забудем поставить в конце его точку с запятой!
Следующая строка (следующий оператор) написан здесь для того, чтобы дать понять, что программа сработала успешно. Чуть выше мы говорили, что функция, перед именем которой написано int должна возвращать целое число. return 0; значит, что в случае нормального завершения программы она возвратит целое число 0.

Обратите внимание!
  • После строк с директивами препроцессора символ ; НЕ ставится.
  • После открывающих фигурных скобок символ ; НЕ ставится.
  • После закрывающих фигурных скобок символ ; чаще всего не ставится, но есть случаи, которые сейчас мы разбирать не будем, когда он здесь необходим.

Далее: запустите программу на выполнение. Для этого нажмите Ctrl+F9 (Если вы пользуетесь Borland C++3.11  или, как мне справдливо подсказывают, любой другой компилятор Turbo или Borland компании Borland). ПРАВИЛЬНО! А теперь начинайте ругаться, что у вас ничего не вышло! Потому что вы ничего не увидели. На самом деле- вышло. Но чтобы увидеть на экране что именно у вас получилось,

---------------------------------вар 1---------------
нажмите Alt+F5

---------------------------------вар 2---------------
добавьте еще одну директиву препроцессора и ещеодну строку после оператора вывода . Код станет таким:
Код:
#includeiostream.h
#includeconio.h
int main()
{
cout << "Люди! Это моя первая программа!!!";
getch();
return 0;
}

Вы добавили функцию getch(); здесь она нужна, чтобы можно было увидеть изменения, происходящие на экране. Вообще-то у нее есть иное назначение, но здесь она работает именно так. И в директивах подключили файл, который эту функцию содержит.
-----------------------------------

Теперь- попробуйте запустить программу несколько раз. Сколько раз запустите, столько раз на экране повторится ваш текст, становясь друг за другом в одну строку.
Что нужно сделать, чтобы каждый вызов текста начинался с новой строки? Измените  строку вывода вот так:
Код:
	cout << "Люди! Это моя первая программа!!!\n";

Символы "\n" дают переход на новую строку.
Запустите программу несколько раз подряд. теперь ваш текст выстраивается в несколько строк одна под другой. Но! За один запуск ваша программа должна писать всего одну строку! А у вас на экране получается много. Как этого избежать? Добавьте еще одну директиву препроцессора, а сразу после первой фигурной скобки еще одну функцию
Код:
#includeconio.h
int main()
{
clrscr();

и далее продолжайте как и было. Эта функция будет очищать экран в каждый запуск программы. Посмотрите - что теперь получилось.

Давайте попробуем написать другую простую программу, в которой мы присвоим целочисленной переменной какое-нибудь значение, а после выведем его на экран.
Код:
#includeiostream
#includeconio.h

int main()
{
int x;
x=10;
cout << x;
return 0;
}

Вывод на экран нескольких числовых переменных. Чтобы удобно было разбираться, я буду писать код, а слева от него номера строчек по порядку. ( В окне Borland C++ номера строчек можно увидеть внизу окна- прямо на рамке окна слева есть две цифры в таком формате:  9:1. певая цифра номер строки, вторая количество символов от левого края строки до курсора)
Код:
1	#includeiostream.h
2 #includeconio.h
3
4 int main()
5 {
6 int x,y;
7 x=10;
8 y=222;
9 cout << x\ny;
10 return 0;
11 }

Итак: строка 6- объявляем сразу 2 переменные целочисленного типа строки 7 и 8 -присваиваем им значения (Строки 6-8 можно написать немного по другому: в одной итой же строке объявить переменную и сразу проинициализировать ее:
Код:
	int x=10;
int y=222;

строка 9- выводим на экран значение переменной х, переходим на новую строку и выводим значение переменной у. Операторы << используем для каждой переменной и текстовой части. Вместо текста
\n для перехода на новую строку  можно использовать слово endl (рассмотрим позже)- конец строки. Тогда строка 9 может выглядеть так: cout << xendl << yendl;


Задания.
1.Напишите программу в которой объявите 3 целочисленные переменные. Присвойте 2 из них значения (любые по вашему выбору). Третьей присвойте результат суммирования первых двух. Суммируйте с помощью обычного математического оператора +: х1+х2 Выведите на экран следующие строки:
  Первое слагаемое : ___
   Второе слагаемое: ___
   Сумма:___

Вместо прочерков у вас на экране должны отражаться реальные цифры используемые и полученные вашей программой.
2. Придумайте сами программу, которая бы использовала все, что вы узнали из этого урока.
Версия для печати
Обсудить на форуме