Void main(){ }
Все действия, выполняемые внутри функции заключаются в системных скобках { } – это аналог связки begin-end в языке Паскаль. Приведем пример программы пустой программы.
Пример
#include <stdio.h>
void main(){
// … действия
}
Данная программа не производит никаких действий, однако успешно компилируется и запускается. Следует заметить, что если тип программы не void, то необходимо вернуть выходное значение с помощью комбинации return. Комбинация символов встречаемая в примере // предназначена для записи комментариев. Все, что стоит в строке после символов // будет закомментировано. Для комментирования большой части текста его заключают между символами /* */.
Внутри любой функции в том числе и функции main можно производить вызов стандартных и созданных функций, проводить арифметические и логические операции использовать ключевые слова и операторы.
Список операций и их назначение приведен в таблице операции. Все операции имеют свой приоритет. Например операции «() и []» имеет наивысший приоритет, а операция «,» самый низкий приоритет. К операциям также относятся операция условия «?:» и операция «sizeof». Операция «?:» единственная операция имеющая три операнда. Она имеет следующий вид:
(выр1)?(выр2):(выр3)
Вычисляется выражение выр1. Если это выражение имеет ненулевое значение, то вычисляется выражение выр2. Результатом операции будет значение выражения выр2. Если значение выражения равно нулю, то вычисляется выражение выр3 и его значение будет результатом операции.
Например найти наибольшее из двух чисел x и y можно следующим образом:
max=(x>y)?x:y;
Операция sizeof вычисляет целочисленное значение величины типа или выражения в байтах. Например:
sizeof(short int);
Приведем список ключевых слов используемых в языке Си.
Список ключевых слов:
auto |
double |
int |
struct |
break |
else |
long |
switch |
case |
enum |
register |
typedef |
char |
extern |
return |
union |
const |
float |
short |
unsigned |
continue |
for |
signed |
void |
default |
goto |
sizeof |
while |
do |
if |
static |
volatile |
.
Заметим, что ключевые слова не могут быть переопределены.
Практически не одна программа не обходится без функций ввода и вывода. Рассмотрим некоторые функции ввода и вывода в языке Си.
Функция printf() предназначен для форматированного вывода в стандартный поток ввода/вывода. Для ее использования необходимо подключить библиотеку ввода вывода stdio.h. Она имеет следующей набор параметров:
Int printf( const char *format, арг1, арг2, … );
Параметр «format» является управляющей последовательностью. Он имеет следующий вид:
%[флаги][ширина][.точность][размер]тип
Остальные необязательные параметры обозначенные символом арг1, арг2, … являются списком выводимых переменных. Их количество и тип задаются (определяется) в управляющей последовательности.
Флаги могут принимать одно из следующих значений приведенных в таблице Флаги, а некоторые значения типов приведены в таблице Значения типов.
Флаги
Знак |
Название знака |
Значение |
В отсутствие этого знака |
- |
дефис |
выводимое значение выравнивается по левому краю в пределах минимальной ширины поля |
по правому |
+ |
плюс |
всегда указывать знак (плюс или минус) для выводимого десятичного числового значения |
только для отрицательных чисел |
|
пробел |
помещать перед результатом пробел, если первый символ значения не знак |
Вывод может начинаться с цифры. |
0 |
ноль |
дополнять поле до ширины, указанной в поле ширина управляющей последовательности, символом 0 |
дополнять пробелами |
Значения типов
Спецификатор |
Описание |
d, i |
— десятичное знаковое число, |
o |
— восьмеричное беззнаковое число |
u |
— десятичное беззнаковое число |
x и X |
— шестнадцатеричное число, x использует маленькие буквы (abcdef), X большие (ABCDEF), |
f и F |
— числа с плавающей запятой. |
e и E |
— числа с плавающей запятой в экспоненциальной форме записи (вида 1.1e+44); |
a и A |
— число с плавающей запятой в шестнадцатеричном виде; |
c |
— вывод символа с кодом, соответствующим переданному аргументу |
s |
— вывод строки с нулевым завершающим байтом; |
p |
— вывод указателя, |
n |
— запись по указателю, переданному в качестве аргумента, количества символов, записанных на момент появления командной последовательности, содержащей n; |
Функция scanf() предназначен для форматированного ввода данных. Для ее использования также необходима библиотека ввода вывода stdio.h. Она имеет почти эквивалентный набор параметров, что и функция printf(). Единственное отличие это знак & (взятие адреса), который необходимо ставить перед вводимыми переменными. Значение этого знака заключается в том, что введенное значение записывается по адресу, по которому находятся наши переменные арг1, арг2,… .