#include<stdio.h>
int main()
{
int a,b;
a=10;
b=2*a;
printf(“b=%d\n”,b);
return 0;
}
Программу на языке Си можно условно разделить на две части:
1. декларативную (описание);
2. императивную (исполняемую).
Часть I – директива препроцессора
#include<stdio.h>
#include – включить;
<stdio.h> – объект включения (прототипы функций стандартного ввода, вывода).
Компилятор получает директиву, ищет текст, берет копию и присоединяет ее к тексту программы.
Часть II – исполняемая.
main() – имя главной функции, т.е. выполнение программы начинается с этой функции. У функции есть имя и тело. В теле функции тоже может быть две части – декларативная и императивная.
Декларативная – int a,b;
Императивная – остальная часть тела функции.
Рассмотрим функцию вывода на стандартный терминал:
printf(“I”,II);
I – строка формата (в кавычках).
II – объекты вывода (через запятые).
%d – спецификатор вывода (целочисленное значение).
\n – управляющая последовательность, перевод курсора на начало следующей строки.
Замечание: Возможно задание в спецификаторе ширины поля:
|
|
%nd %n.mf %ne %ns
Пример: /* Элементы программы */
#include<stdio.h>
# include<windows.h> // CharToOem()
int main()
{
int iVar=56;
float fVar=45.567F;
char cStr[]=”Русский текст!!!”;
CharToOem(cStr,cStr);
printf(“iVar=%5d\tfVar=%5.2f\tfVar=%6e\n”,iVar,fVar,fVar);
printf("%25s\n",cStr);
printf("%-25s\n",cStr);
printf("%25.6s\n",cStr);
printf("%-25.6s\n",cStr);
return 0;
}
/* Нотация Windows*/
Рассмотрим элементы ”венгерской нотации” (венгерский программист фирмы Microsoft Чарльз Симони) — имена переменных начинаются со строчной буквы или букв, описывающих тип данных переменных (префикс).
Префикс | Соответствующий тип данных |
b | BOOL (целое число) |
c | Character (символ) |
i | Integer (целое число) |
p | Указатель |
s | Строка |
v | Void |
w | Word |
При работе с компилятором Visual C++ существует проблема вывода на экран букв русского алфавита. Для решения этой проблемы обычно используют функцию CharToOem(), прототип которой описан в <windows.h>
Пример: /*Использование русского текста при выводе*/
#include<stdio.h>
#include<windows.h>
int main()
{
char str[20];
CharToOem("Русский текст!!!",str);
printf("%s\n",str);
char str1[20]="Второй вариант!!!";
CharToOem(str1,str);
printf("%s\n",str);
return 0;
}