Задайте два числа: 328 54
Операторы
Описания переменных
Директивы препроцессора
Структура программы
Любая программа на языке С состоит из одной или более "функций", являющихся основными компонентами программы. Одна из функций, с которой начинается выполнение программы, называется главной и всегда носит имя main. Остальные функции – это подпрограммы, которые могут вызываться либо из главной функции, либо из других подпрограмм. Простая программа, состоящая только из функции main, имеет следующую структуру:
main ()
}
Заголовок функции - main(). Круглые скобки после имени main как раз и указывают, что это функция. Тело функции заключается в фигурные скобки и состоит из объявлений переменных и операторов, опиcывающих процесс обработки данных.
В программу можно включать комментарии, начинающиеся с пары символов /* и заканчивающиеся парой */ (они могут быть везде, где могут быть пробелы).
Пример простой программы:
/* Программа 2.1.*/
/* Сложение двух целых чисел */
#include <stdio.h>
main ()
{ int a, b; /* объявление целочисленных переменных а и b */
printf ("Задайте два числа: "); /* вывод сообщения */
scanf ("%d %d", &a, &b); /* ввод значений а и b */
printf ("%d + %d = %d\n", a, b, a+b); /* вывод результата */
return 0;
}
При выполнении этой программы на экране появится сообщение:
Задайте два числа:
и затем программа будет ждать, пока вы не введете числа (ввести можно в той же строке, разделяя числа пробелом). Например:
Затем появится результат в виде:
328 + 54 = 382
В этой программе директива препроцессора #include <stdio.h> служит для включения в программу библиотечного файла stdio.h, содержащего объявления стандартных функций ввода/вывода, таких как printf, scanf. Тело функции main содержит три оператора вызова функций printf и scanf.
Обратите внимание, что все ключевые слова в языке Си пишутся строчными буквами, директивы препроцессора начинаются с символа #. Для наглядности принята ступенчатая форма записи программы.
Считается, что программы, работающие под управлением операционной системы MS DOS, должны вернуть системе код завершения 0 в случае успешного выполнения и любой другой в случае ненормального завершения. Поэтому функция main() заканчивается оператором возврата значения return 0;
При объявлении переменных указываются имена переменных и типы значений этих переменных:
тип_1 имя_1;
тип_2 имя_2;
Имя (идентификатор) - это последовательность латинских букв и цифр, начинающаяся с буквы. Можно использовать в имени символы подчеркивания вместо пробелов, когда имя состоит из нескольких слов. Если несколько переменных имеют один и тот же тип, то их можно описать вместе, перечислив имена через запятую:
тип имя_1, имя_2,...;
К основным типам данных относятся целые типы (int, short, long,unsigned), символьный тип (char) и вещественные типы или типы с плавающей точкой (float, double).
Примеры описаний переменных:
float x,y,z; /* вещественные числа */
double x1,x2; /* вещ. числа двойной точности */
char simv; /* символ */
int i,j; /* целые числа */
long summa; /* длинное целое */
short k1,k2; /* короткие целые */
unsigned count; /* беззнаковое целое (неотрицательное) число */
Объем памяти, занимаемой данными различных типов, зависит от типа компьютера, операционной системы и конкретной реализации языка С. Обычно значение типа char занимает 1 байт, типов int, short, unsigned – 2 байта, long, float – 4 байта, double – 8 байтов.
При описании переменной можно ее инициализировать, например:
int k = 0; /* k присваивается начальное значение 0 */
char s = 'a';
Типы используемых в программе констант определяются по их виду, например:
123 -65 - целые константы;
-34.6 3.14159.12E-5 7e4 - константы с плавающей точкой
(.12E-5=.0000012 7e4=70000.);
'A' 'a' '2' '%' - символьные константы.
Рассмотренные типы являются простыми. Более сложные структурированные типы данных, а также описание нестандартных типов данных будут рассмотрены позднее.