1. Предварительная обработка(Preprocessing) инструкций препроцессора(Preprocessor Instructions), пример: #include
.
Заголовочный файл(Header File), пример: stdio.h
, содержит объявления переменных и функций, определённых, то есть заранее скомпилированных, в библиотечном файле(Library File).
2. Прототип(Prototype) или объявление(Declaration) функции состоит из заголовка(Header), с возвращаемым типом(Function Return Type), идентификатором(Identifier) и типами принимаемых аргументов(Function Argument Type).
Определение(Definition) функции состоит из заголовка(Header) и тела(Body), с различными операторами.
int foo(int, int); //function declaration
int foo(int a, int b) { return a + b; }; //function definition
3. Синтаксические ошибки(Syntax Errors) или грамматические ошибки(Grammatical Errors) и семантические(Semantic Errors) ошибки и их отладка(Debugging) с помощью отладчика(Debugger), то есть просмотра состояния программы(Program State).
+ a b = int sum //syntax error
int sum = a * b; //semantic error
4. Ключевые слова(Keywords), например: return
, while
; и зарезервированные идентификаторы(Reserved Identifiers) начинающиеся с _
- нижнего подчёркивания: _identifier
или __identifier
.
5. Идентификаторы или имена переменных и функций(Variable and Function Identifier or Name):
- должны содержать только цифры и буквы, включая знак нижнего подчёркивания;
- не должны начинаться с цифры;
- не должны именоваться так же как и ключевые слова или зарезервированные идентификаторы;
- иметь длину в 31 или 6 символов для локальных(Local) и для внешних(Extern) идентификаторов, соответственно стандарту ANSI C.
//not valid identifiers
int x*y#!;
int 3d;
int return;
int __DATE__;
//valid identifiers
int xy;
int dimension3;
int returnValue;
int current_date;
6. Структура и пример простой программы(The Structure and Example of a Simple Program).
//это комментарии, они не влияют на выполнение программы
#include <stdio.h> //подключение заголовочного файла
//объявление функции sum()
int sum(int, int n2); //ANSI прототип функции
//в каждой программе обязательно должен быть main()
int main() //заголовок функции
{ //начало блока
int num_1 = 9, num_2 = 3; //объявление и инициализация переменных
printf("%d\n", sum(num_1, num_2)); //функция вывода в терминал из stdio.h
return 0; //оператор возврата
} //конец блока
//определение функции sum()
int sum(int a, int b) //функция sum() возвращает значение int
{ //начало тела функции
int result; //объявление переменной
result = a + b; //присваивание значения
return result; //возврат значения в main()
} //конец тела функции
Язык программирования Си 6 издание. Стивен Прата
C Primer Plus 6th edition. Stephen Prata
Top comments (0)