Глава 2. Основы языка
#
2.1 Базовые концепции
#
1. Структура программы
#
Типичная программа на C++ состоит из нескольких ключевых элементов:
// Препроцессорные директивы
#include <iostream> // Подключение библиотек
// Пространство имен (необязательно)
using namespace std;
// Объявление функций (при необходимости)
void myFunction();
// Главная функция - точка входа в программу
int main() {
// Основной код программы
cout << "Hello, World!" << endl;
// Возврат значения (обычно 0 означает успешное выполнение)
return 0;
}
// Определение дополнительных функций (при необходимости)
void myFunction() {
// Тело функции
}
Ключевые элементы структуры:
#
- Препроцессорные директивы: команды, выполняющиеся до компиляции
- Пространства имен: механизм группировки кода
- Функция
main()
: обязательная точка входа в программу - Фигурные скобки
{}
: определяют блоки кода - Точка с запятой
;
: завершение инструкций
2. Типы данных
#
Целочисленные типы
#
Тип | Размер | Диапазон значений |
---|
short | 2 байта | -32 768 до 32 767 |
int | 4 байта | -2 147 483 648 до 2 147 483 647 |
long | 4 байта | -2 147 483 648 до 2 147 483 647 |
long long | 8 байт | Очень большой диапазон |
Беззнаковые целочисленные типы
#
Тип | Размер | Диапазон значений |
---|
unsigned short | 2 байта | 0 до 65 535 |
unsigned int | 4 байта | 0 до 4 294 967 295 |
unsigned long | 4 байта | 0 до 4 294 967 295 |
Типы с плавающей точкой
#
Тип | Размер | Точность |
---|
float | 4 байта | 6-7 знаков |
double | 8 байт | 15-16 знаков |
long double | 16 байт | 18-19 знаков |
Символьные типы
#
Тип | Описание | Размер |
---|
char | Один символ | 1 байт |
wchar_t | Расширенный символ | 2-4 байта |
Логический тип
#
Тип | Значения | Размер |
---|
bool | true или false | 1 байт |
Пример использования типов
#
#include <iostream>
using namespace std;
int main() {
// Целочисленные типы
int age = 30;
unsigned long population = 7800000000;
// Типы с плавающей точкой
float temperature = 36.6f;
double precise_value = 3.14159265358979;
// Символьные типы
char grade = 'A';
wchar_t unicode_symbol = L'Я';
// Логический тип
bool is_student = true;
return 0;
}
3. Переменные и константы
#
Объявление переменных
#
// Статическая типизация
int count = 10;
double price = 99.99;
char symbol = 'X';
// Автоматический вывод типа (C++11)
auto value = 42; // компилятор определит int
auto text = "Hello"; // компилятор определит const char*
Константы
#
// Константы с использованием ключевых слов
const int MAX_USERS = 100;
constexpr double PI = 3.14159;
// Определение через #define (устаревший способ)
#define MAX_BUFFER 1024
4. Область видимости переменных
#
#include <iostream>
using namespace std;
int globalVariable = 10; // Глобальная переменная
void exampleFunction() {
// Локальная переменная
int localVariable = 20;
// Можно использовать глобальную переменную
cout << "Global: " << globalVariable << endl;
}
int main() {
// Блочная область видимости
{
int blockVariable = 30;
cout << blockVariable << endl;
}
// blockVariable здесь недоступна
return 0;
}
Типы областей видимости:
#
- Глобальная: доступна во всей программе
- Локальная: доступна только внутри функции
- Блочная: доступна только внутри блока
{}
5. Литералы
#
// Целочисленные литералы
int decimal = 42; // Десятичная система
int octal = 052; // Восьмеричная система (начинается с 0)
int hexadecimal = 0x2A; // Шестнадцатеричная система
// Литералы с плавающей точкой
double pi = 3.14;
float small = 0.1f;
double scientific = 6.022e23;
// Символьные литералы
char letter = 'A';
char escape = '\n'; // Экранированный символ
// Строковые литералы
const char* message = "Hello, World!";
const char* multiline = "Строка \
может быть длинной";
// Логические литералы
bool flag = true;
bool another_flag = false;
Заключение
#
Понимание базовых типов данных, переменных и их области видимости является фундаментальным для эффективного программирования на C++. Практикуйтесь, экспериментируйте и изучайте особенности языка.