Язык c список команд

Справочник по языку C++ C++ Language Reference

Общие сведения о современных методиках программирования C++ см. в статье Добро пожаловать в C++. For an overview of Modern C++ programming practices, see Welcome Back to C++.

Для быстрого поиска ключевого слова или оператора обращайтесь к следующим таблицам: See the following tables to quickly find a keyword or operator:

в этом разделе In This Section

Лексические соглашения Lexical Conventions
Основные лексические элементы программ на C++: токены, комментарии, операторы, ключевые слова, знаки пунктуации, литералы. Fundamental lexical elements of a C++ program: tokens, comments, operators, keywords, punctuators, literals. Кроме того, трансляция файлов, приоритет и ассоциативность операторов. Also, file translation, operator precedence/associativity.

Основные понятия Basic Concepts
Область, компоновка, запуск и завершение программы, классы хранения и типы. Scope, linkage, program startup and termination, storage classes, and types.

Встроенные типы Фундаментальные типы, встроенные в компилятор C++, и их диапазоны значений. Built-in types The fundamental types that are built into the C++ compiler and their value ranges.

Стандартные преобразования Standard Conversions
Преобразование типов между встроенными типами. Type conversions between built-in types. Кроме того, арифметические преобразования и преобразования между типами указателей, ссылочными типами и типами указателей на члены. Also, arithmetic conversions and conversions among pointer, reference, and pointer-to-member types.

Объявления и определения Объявление и определение переменных, типов и функций. Declarations and definitions Declaring and defining variables, types and functions.

Выражения Expressions
Типы выражений, семантика выражений, справочные разделы по операторам, приведению типов и операторам приведения, сведения о типах времени выполнения. Types of expressions, semantics of expressions, reference topics on operators, casting and casting operators, run-time type information.

Лямбда-выражения Lambda Expressions
Метод программирования, с помощью которого неявно определяется класс объекта функции и создается объект функции этого типа класса. A programming technique that implicitly defines a function object class and constructs a function object of that class type.

Операторы Statements
Операторы выражений, пустые операторы, составные операторы, операторы выбора, операторы итераций, операторы перехода и операторы объявления. Expression, null, compound, selection, iteration, jump, and declaration statements.

Классы и структуры Classes and structs
Вводные сведения о классах, структурах и объединениях. Introduction to classes, structures, and unions. Кроме того, функции элементов, Специальные функции элементов, элементы данных, битовые поля, this указатель, вложенные классы. Also, member functions, special member functions, data members, bit fields, this pointer, nested classes.

Объединения Unions
Определяемые пользователем типы, в которых все члены совместно используют одно и то же расположение в памяти. User-defined types in which all members share the same memory location.

Производные классы Derived Classes
Одиночное и множественное наследование, virtual функции, несколько базовых классов, абстрактные классы, правила области. Single and multiple inheritance, virtual functions, multiple base classes, abstract classes, scope rules. Кроме того, __super __interface Ключевые слова и. Also, the __super and __interface keywords.

Перегрузка Overloading
Перегруженные операторы, правила перегрузки операторов. Overloaded operators, rules for operator overloading.

Обработка исключений Exception Handling
Обработка исключений в C++, структурированная обработка исключений (SEH), ключевые слова, используемые при написании операторов обработки исключений. C++ exception handling, structured exception handling (SEH), keywords used in writing exception handling statements.

См Templates
Спецификации шаблонов, шаблоны функций, шаблоны классов, typename ключевое слово, шаблоны и макросы, шаблоны и смарт-указатели. Template specifications, function templates, class templates, typename keyword, templates vs. macros, templates and smart pointers.

Обработка событий Event Handling
Объявление событий и обработчиков событий. Declaring events and event handlers.

Встроенный ассемблер Inline Assembler
Использование языка ассемблера и C++ в __asm блоках. Using assembly language and C++ in __asm blocks.

Поддержка COM компилятором Compiler COM Support
Справочник по характерным для систем Microsoft классам и глобальным функциям, используемым для поддержки типов модели COM. A reference to Microsoft-specific classes and global functions used to support COM types.

Расширения Майкрософт Microsoft Extensions
Расширения Майкрософт для C++. Microsoft extensions to C++.

Нестандартное поведение Nonstandard Behavior
Сведения о нестандартном поведении компилятора Microsoft C++. Information about nonstandard behavior of the Microsoft C++ compiler.

Возвращение к C++ Welcome Back to C++
Общие сведения о современных методиках программирования на C++ для написания безэффективных и правильных программ. An overview of modern C++ programming practices for writing safe, correct and efficient programs.

Справочные сведения о сборке C/C++ C/C++ Building Reference
Параметры компилятора, параметры компоновщика и другие средства сборки. Compiler options, linker options, and other build tools.

Справочник по препроцессору C/C++ C/C++ Preprocessor Reference
Справочный материал по прагма-директивам, директивам препроцессора, предопределенным макросам и препроцессору. Reference material on pragmas, preprocessor directives, predefined macros, and the preprocessor.

Библиотеки Visual C++ Visual C++ Libraries
Список ссылок на начальные страницы ссылок для различных библиотек Microsoft C++. A list of links to the reference start pages for the various Microsoft C++ libraries.

Источник

Когда мы рассматриваем программу на C ++, ее можно определить как коллекцию объектов, которые обмениваются данными посредством вызова методов друг друга. Давайте теперь кратко рассмотрим, что означает класс, объект, методы и мгновенные переменные.

Структура программы на C ++

Компилировать и выполнять программу на C ++

Точки с запятой и блоки в C ++

В C ++ точка с запятой является терминатором утверждения. То есть каждое отдельное утверждение должно заканчиваться точкой с запятой. Он указывает конец одного логического объекта. Например, следующие три разных утверждения:

Блок представляет собой набор логически связанных операторов, которые окружены открывающимися и закрывающимися фигурными скобками. Например:

C ++ не распознает конец строки как терминатор. По этой причине не имеет значения, где вы указываете оператор в строке. Например:

Идентификаторы C ++

Вот несколько примеров приемлемых идентификаторов:

Ключевые слова C ++

Следующий список показывает зарезервированные слова в C ++. Эти зарезервированные слова не могут использоваться как константные или переменные или любые другие имена идентификаторов.

asm else new this
auto enum operator throw
bool explicit private true
break export protected try
case extern public typedef
catch false register typeid
char float reinterpret_cast typename
class for return union
const friend short unsigned
const_cast goto signed using
continue if sizeof virtual
default inline static void
delete int static_cast volatile
do long struct wchar_t
double mutable switch while
dynamic_cast namespace template

Триграфы

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

Все компиляторы не поддерживают триграфы, и им не рекомендуется использовать их из-за их запутанного характера.

Пробел в C ++

Строка, содержащая только пробелы, возможно с комментарием, называется пустой строкой, и компилятор C ++ полностью игнорирует ее.

Заявление 1

В приведенном выше утверждении должен быть по крайней мере один пробельный символ (обычно пробел) между int и age, чтобы компилятор мог их отличить.

Заявление 2

В приведенном выше утверждении 2 никакие пробельные символы не нужны между фруктами и =, или между = и яблоками, хотя вы можете включать некоторые, если хотите, для удобства чтения.

Источник

Краткий справочник по языку Си

Начнём с комментариев…

// Однострочный комментарий

/*
Многострочный комментарий
*/

Булевые типы

true — верно
false — не верно

Подключение файлов с помощью #include

Файлы в будут подключаться из стандартной библиотеки.
Свои файлы необходимо подключать с помощью « двойных кавычек «.

Функции

Объявление функций должно происходить в .h-файлах или в начале .c-файла.

Точка входа в программу – это функция main(). Работа программы начинается с неё, вне зависимости от места расположения в коде.

Для вывода в консоль используется printf

%d – означает, что будем выводить целое число

\n переводит указатель на новую строчку

int обычно имеет длину 4 байта

short имеет длину 2 байта

char имеет длину 1 байт

Одиночные символы заключаются в одинарные кавычки

long как правило занимает от 4 до 8 байт
long long занимает как минимум 64 бита

float это 32-битное число с плавающей точкой (дробное число)

double это 64-битное число с плавающей точкой

Целые типы могут быть беззнаковыми

sizeof(T) возвращает размер переменной типа Т в байтах
sizeof(object) возвращает размер объекта object в байтах.

Если аргуметом sizeof будет выражение, то этот аргумент вычисляется во время компиляции кода (кроме динамических массивов)

size_t это беззнаковый целый тип который использует как минимум 2 байта для записи размера объекта

Выведет строку «sizeof(a++) = 4, где a = 1» (на 32-битной архитектуре)

Можно задать размер массива при объявлении

Можно обнулить массив при объявлении

Индексация массива происходит также как и в других Си-подобных языках

Массивы изменяемы, как и другие переменные

Массив может быть объявлен динамически, размер не обязательно рассчитывать при компиляции

Вывод программы (в зависимости от архитектуры) будет таким:

Строка – это просто массив символов, оканчивающийся нулевым (NUL (0x00)) байтом, представляемым в строке специальным символом ‘\0’. Его не нужно вставлять в строку, компилятор всё сделает сам.

%s — означает, что будем выводить строку

напечатает 0
17, 18, 19 и 20-ый байты, тоже будут равны нулю

Если между одинарными кавычками есть символ – это символьный литерал, но это тип int, а не char (по историческим причинам).

Операторы

Переменные можно объявлять через запятую

== — равно
!= — не равно (символ ! — отрицание, применяется в разных конструкциях)
>, = — больше или равно

В Си, нет булевого типа, вместо него используется int. 0 это false, всё остальное это true.

! — отрицание
&& — логическое И
|| — логическое ИЛИ

Структуры ветвления

if — если
else if — иначе если
else — иначе

Цикл с предусловием

while — выполняется пока выражение не примет значение false

Цикл с постусловием

do while — код выполнится хотя бы один раз

Условие проверяется в конце цикла, а не в начале, так что код в теле цикла будет выполнен по крайней мере один раз.

for — Цикл будет работать до тех пор, пока i

Форматирование вывода

Каждое выражение в Си имеет тип, но можно привести один тип к другому.

Целые типы могут быть приведены к вещественным и наоборот.

Указатели

Для того чтобы объявить указатель, который будет ссылаться на переменную, необходимо сначала получить адрес этой переменной. Чтобы получить адрес памяти переменной (её расположение в памяти), нужно использовать знак & перед именем переменной. Это позволяет узнать адрес ячейки памяти, в которой хранится значение переменной. Эта операция называется — операция взятия адреса и выглядит вот так:

В третьей строке использовалась операция взятия адреса, мы взяли адрес переменной var и присвоили его указателю ptrVar.

Рассмотрим программу, которая наглядно покажет всю мощь указателей:

Указатель – это переменная которая хранит адрес в памяти.
При объявлении указателя указывается тип данных переменной на которую он будет ссылаться.
Можно получить адрес любой переменной, а потом работать с ним.

Используйте & для получения адреса переменной.

Для объявления указателя нужно поставить * перед именем.

Для того, чтобы получить знаечние по адресу, напечатайте * перед именем.

Вы также можете изменять значение, на которое указывает указатель.

Массивы

Используются для большого количества однотипных данных.

Строки это массивы символов, но обычно они представляются как указатели на первый элемент массива.
Хорошей практикой считается использование `const char *’ при объявлении строчного литерала. При таком подходе литерал не может быть изменён.

Функции

Синтаксис объявления функции:
(аргументы)

Приставка void означает, что функция ничего не возвращает

Типы и структуры определяемые пользователем

typedef — используется для задания стандартным типам своих названий

Структуры — это просто коллекция данных, память для которых выделяется последовательно.

sizeof(struct rectangle) == sizeof(int) + sizeof(int) – не всегда верно из-за особенностей компиляции.

Можно применить typedef к структуре, для удобства.

Если структура большая, то (чтоб не копировать) её можно получить «по указателю».

Указатели на функции

Во время исполнения, функции располагаются по известным адресам в памяти.
Указатель на функцию может быть использован для непосредственного вызова функции.
Однако синтаксис может сбивать с толку.

Пример использования str_reverse по указателю

Первая программа на Си — «Hello World»

Создать в любом текстовом редакторе файл hello world.c

Всё выше описаное, можно смело применять в программировании Arduino.

Источник

Поделиться с друзьями
admin
Оцените автора
( Пока оценок нет )
Как переводится?
Adblock
detector
Trigraph Replacement
??= #
??/ \
??’ ^
??( [
??) ]
. |
?? >
??-