Конспект по Си. Простая программа сложения целых чисел.

Feb 22, 2013 11:57

К возможностям языка Си по выводу и форматированию текста мы ещё вернёмся, а пока, поскольку компьютеры изначально были созданы для вычислений,
не пора ли нам, друзья, замахнуться на Вильяма нашего Шекспира? напишем и мы осмысленную программу.
"Пусть пользу приносит!" ©

Итак,

вариант 1-й:

#include
int main ()
{
int a, b;
a=333;
b=777;
printf ("%d\n", a + b);
return 0;
}

В итоге на консоль выводится итог - в нашем случае число 1110

Что у нас новенького?

Во-первых, вводятся две переменные a и b - это очевидно: слагаемые.

Кстати, названия переменных вовсе не обязательно должны состоять из одной буквы, в больших программах удобнее давать осмысленные имена, например; slagaemoe1, slagaemoe_2, summa.
Имена переменных и констант могут состоять из латинских букв, цифр и знаков подчёркивания, другие символы(включая пробелы) недопустимы. Прописные (большие) и строчные (маленькие) буквы различаются, таким образом summa, SUMMA и Summa - разные имена.
Обязательные условия: имена должны начинаться с буквы, нельзя в этом качестве использовать ключевые слова. Остальные правила носят рекомендательный характер: например, принято использовать строчные буквы для имен переменных, а прописные - для символических констант.

Во-вторых - и это принципиальный момент! - мы впервые встречаемся с операцией присваивания.
Знак "=" - не знак равенства, как в математике, а оператор присваивания.
Разница колоссальная: в математике запись "a=a+1" является абсурдом, а в программировании - очень даже осмысленная и нужная вещь: она означает "увеличить значение переменной на единицу и присвоить новое значение той же переменной".

В-третьих, в записи "%d\n", a + b" , кроме понятной операции сложения мы сталкиваемся со странной конструкцией: "%d".
Знак процента предваряет описание формата, в данном случае имеется в виду целое десятичное число (decimal integer).
А вся строка

printf ("%d\n", a + b);

означает: "вывести на печать(консоль) в виде целого десятичного числа суммы чисел a и b".

Но каждый раз переписывать программу для вычисления суммы других чисел неудобно, поэтому изменим программу.

вариант 2-й:

#include
int main ()
{
int a, b;
printf ("Введите два числа: \n");
scanf ("%d%d", &a, &b);
printf ("%d\n", a + b);
return 0;
}

Здесь появляется функция scanf, также, как и printf, входящая в стандартную библиотеку stdio, но, в отличие от printf, выводящей данные на печать, scanf считывает данные с клавиатуры(вернее, с соответствующего ей файла).
"%d%d" означает формат двух вводимых подряд чисел, "&a, &b" - какие именно числа вводятся.

Работает программа следующим образом: после вывода на дисплей строки "Введите два числа:" вводите первое число, после него нажимаете Tab или Enter, вводите второе число и Enter.
Результат выводится на консоль.

Ещё усовершенствуем программу - пусть она станет ещё интерактивнее, и комментирует каждое число, а не просто выводит итог, как предыдущая.

вариант 3-й:

#include
void main ()
{
int a, b;
printf ("Введите два числа: \n");
scanf ("%d%d", &a, &b);
printf ("Первое слагаемое=%d\n", a);
printf ("Второе слагаемое=%d\n", b);
printf ("Сумма=%d\n", a + b);
}

P.S. Отдельная благодарность a_nalitik, подсказавшему, как обойтись без "return 0;".
Проверил в третьем варианте - работает )))

Перепост из: http://rex-lockheart.dreamwidth.org/337115.html

это интересно, язык си, linux, программирование, линукс

Previous post Next post
Up