C установка IDE C структура програми C змінні C типи даних С функція printf C константи C арифметичні операції C операції порівняння і логічні операції C порозрядні операції C операції присвоювання C перетворення типів C умовні конструкції C цикли С масиви і рядки С функція scanf C препроцесор. Директива #include C #define директива C макроси C умовна компіляція C функції. Визначення та опис функцій C функції. Передача параметрів в функцію C функції. Повернення результату з функції C функції. Рекурсивні функції C область видимості змінних C зовнішні об'єкти C вказівники C вказівник. Операції з вказівниками C покажчики. Арифметика покажчиків C покажчики. Константи і покажчики C покажчики. Покажчики та масиви C покажчики. Масиви покажчиків, рядки і багаторівнева адресація C покажчики. Покажчики в параметрах функції C покажчики. Динамічна пам'ять C покажчики. Покажчик як результат функції C покажчики. Управління динамічної пам'яттю C покажчики. Покажчики на функцію C покажчики. Покажчики на функції як параметри і результати функцій C покажчики. Функції зі змінною кількістю параметрів C struct. Визначення структур C struct. Структури як елементи структур C struct. Покажчики на структури C struct. Масиви структур C struct. Структури і функції C struct. union об'єднання C struct. Бітові поля С file. Введення-виведення і робота з файлами C file. Читання і запис бінарних файлів C file. Читання і запис структур в файл C file. Читання і запис текстових файлів C file. Форматування вводу-виводу C file. Позиціонування в потоці C file. Консольне введення-виведення

C типи даних


Типи даних

У мові C визначені такі базові типи даних:

тип опис
bool логічний тип. Може приймати одне з двох значень true (істина) і false (брехня). Кількість пам'яті для цього типу точно не визначена.
char представляє один символ в кодуванні ASCII.
signed char і unsigned char представляє один символ.
int представляє ціле число.
short і unsigned short також представляють ціле число.
unsigned int представляє додатнє ціле число.
long, unsigned long також представляють ціле число.
float, double представляють дійсне число одинарної і подвійної точності з плаваючою точкою.

Діапазони значень типів даних:

Тип Розмір, байт Значення
bool 1 true або false
unsigned short int 2 від 0 до 65 535
short int 2 від -32 768 до 32 767
unsigned long int 4 від 0 до 4 294 967 295
long int 4 від -2 147 483 648 до 2 147 483 647
int (16 розрядів) 2 від -32 768 до 32 767
int (32 розряди) 4 від -2 147 483 648 до 2 147 483 647
unsigned int (16 розрядів) 2 від 0 до 65 535
unsigned int (32 розряди) 4 від 0 до 4 294 967 295
char 1 від 0 до 255
float 4 від 1.2е-38 до 3.4е38
double 8 від 2.2е-308 до 1.8е308
long double 10 від 3.4е-4932 до 3.4е+4932

Групи типів даних:

Тип змінних Типи даних
Цілі числа short , unsigned short , int , unsigned int , long , unsigned long
Дробові числа float і double .
Текст string
Один символ char

Для уточнення внутрішнього подання та діапазону значень стандартних типів мова C використовує чотири специфікатори типу:

  • short (короткий);
  • long (довгий);
  • signed (знаковий);
  • unsigned (беззнаковий).

Оголошення (створення) змінних

Змінні - це контейнери для зберігання значень даних.

Щоб створити змінну, необхідно вказати тип і привласнити йому значення:

синтаксис

type variable = value; 

Приклад

int myNum = 15;  // ініціалізована змінна з імям myNum  та значенням 15
int myNum;    // обявлена змінна myNum
myNum = 15;   // ініціалізація змінної присвоюємо її значення рівне 15
int myNum = 15;  // myNum is 15
myNum = 10;      // Now myNum is 10 - перезапис значення змінної

Константа:

const int myNum = 15;  // const - константа myNum завжди буде рівна 15
myNum = 10;            // помилка: присвоєння змінної лише для читання 'myNum'

Інші типи даних:

int myNum = 5;               // Integer (Ціле число)
double myFloatNum = 5.99;    // Floating point number (дробове число з комою)
char myLetter = 'D';         // Character (один символ)
string myText = "Hello";     // String (текст)
bool myBoolean = true;       // Boolean (true або false) 

Використання змінних

#include <stdio.h>

int main() {
  int x = 5;
  int y = 6;
  int sum = x + y;       // операція додавання двох змінних
  printf("%d \n", sum );  // 11   // вивід результату зі змінної sum 

  return 0;
}
// RESULT:
// 11
// 

Оголошення більше одної змінної з одного типу , ви можете використовувати список розділений комами:

int x = 5, y = 6, z = 50;

int result =  x + y + z;
printf("%d",result);

// RESULT:
// 61

приклад використання змінних:

#include <stdio.h>
 
int main () {
  // створюємо змінні
  int myNum = 5;               // Integer (ціле число)
  float myFloatNum = 5.99;     // Floating point number (дробове число з комою)
  double myDoubleNum = 9.98;   // Floating point number (дробове число з комою)
  char myLetter = 'D';         // Character (символ)
  bool myBoolean = true;       // Boolean (логічний тип)
  string myString = "Hello";   // String (текст, рядок, строка)
  
  return 0;
}

Науковий запис числових даних:

35e3 = 35 * (10 * 10 * 10) = 35 000 , де e3 = 103 .

#include <stdio.h>

int main () {
  float f1 = 35e3;   // 35000
  double d1 = 12E4;  // 120000

  return 0;

}

bool - це логічний тип може приймати тільки значення true або false . Коли повертається значення, true = 1 і false = 0 .

#include <stdio.h>

int main() {
  bool isCodingFun = true;
  bool isFishTasty = false;

  return 0;
}

bool значення в основному використовується для умовного тестування.

Визначимо кілька змінних:

int number = 2;
int a, b;
char c ='d';
float d = -2.1345;
double f = 3.45;

Якщо нам треба визначити кілька змінних одного типу, то ми можемо вказати їх назви після типу даних через кому: int a, b .

Однак бувають ситуації, коли необхідно точно знати розмір певного типу. І для цього в C є оператор sizeof () , який повертає розмір пам'яті в байтах, яку займає змінна:

#include <stdio.h>
 
int main(void)
{
    int number = 2;
    printf("sizeof(number) = %d \n", sizeof(number));   // 4
    return 0;
}

// RESULT:
// sizeof(number) = 4

При цьому при визначенні змінних важливо розуміти, що значення змінної не повинне виходити за ті межі, які задані для її типу. наприклад:

unsigned short int number = -65535;

Компілятор GCC при компіляції програми з цим рядком видасть помилку про те, що значення -65535 не входить в діапазон допустимих значень для типу unsigned short int .

Але як видно з перерахування типів, ряд з них, наприклад, int , може містити різні значення в залежності від платформи. У цьому випадку ми можемо отримати мінімально і максимально допустимі значення за допомогою вбудованих значень INT_MIN і INT_MAX :

#include <stdio.h>
#include <limits.h>
 
int main(void)
{
    printf("INT_MIN = %d \n", INT_MIN);
    printf("INT_MAX = %d \n", INT_MAX);
    return 0;
}

Значення INT_MIN і INT_MAX визначені в заголовку limits.h , тому його необхідно підключити за допомогою директиви include .


Наш партнер:
beta test mp3 playlist downloader