Latest web development tutorials

C Stała

Stała jest stałą wartość nie zmienia się w trakcie wykonywania programu. Te wartości stałe, zwane równieżliterały.

Stałe mogą być każdy z podstawowych typów danych, takich jak wartości całkowitych, pływających stałych punktów, stałych znaków lub napisów, nie są stałymi wyliczenia.

Podobnie jak w zwykłych zmiennychna stałym poziomie, ale wartość stałą w definicji nie mogą być modyfikowane.

Integer stała

Integer stałe mogą być dziesiętnej, ósemkowej lub stałe szesnastkowe. Prefiks określona podstawa: 0x lub 0X szesnastkowym, 0 dla ósemkowej, bez przedrostka, reprezentacja domyślnej dziesiętnym.

Integer stałe mogą również wziąć przyrostka przyrostek jest połączenie U i L, U oznacza liczbę całkowitą bez znaku (unsigned), L oznacza liczbę całkowitą długą (long). Sufiks może być wielkie lub małe litery U i L w dowolnej kolejności.

Oto kilka przykładów całkowitych stałych:

212         /* 合法的 */
215u        /* 合法的 */
0xFeeL      /* 合法的 */
078         /* 非法的:8 不是八进制的数字 */
032UU       /* 非法的:不能重复后缀 */

Oto przykłady różnych typów całkowitych stałych:

85         /* 十进制 */
0213       /* 八进制 */
0x4b       /* 十六进制 */
30         /* 整数 */
30u        /* 无符号整数 */
30l        /* 长整数 */
30ul       /* 无符号长整数 */

Stałe zmiennoprzecinkowe

Zmiennoprzecinkową stała składa się z części całkowitej, separator dziesiętny i ułamkowej części składowych indeksu. Można użyć przecinka lub wykładniczy formularz do reprezentowania stałych zmiennoprzecinkowych.

Podczas korzystania z reprezentacji dziesiętnej, musi zawierać punkt dziesiętny, indeks, albo jedno i drugie. Podczas korzystania z formularza indeksu, musi zawierać część całkowitą, część ułamkową, albo jedno i drugie. Indeks jest niepodpisany e lub E wprowadzony.

Oto kilka przykładów stałych zmiennoprzecinkowych:

3.14159       /* 合法的 */
314159E-5L    /* 合法的 */
510E          /* 非法的:不完整的指数 */
210f          /* 非法的:没有小数或指数 */
.e55          /* 非法的:缺少整数或分数 */

stała znakowa

Stałe znakowe są zamknięte w apostrofach, na przykład, "x" może być przechowywany w zmiennej typuchar prosty.

Stałe znakowe mogą być zwykłym znaków (na przykład "x"), sekwencja ucieczki (na przykład '\ t') lub uniwersalny charakter (na przykład '\ u02C0 ").

W C, istnieją pewne specyficzny charakter, gdy istnieje odwrotny ukośnik przed nimi, mają szczególne znaczenie, jak jest używany do reprezentowania nowej linii (\ n) lub tabulatora (\ t) i tym podobne. W poniższej tabeli przedstawiono niektóre z tych kodem sekwencje specjalne:

转义序列含义
\\\ 字符
\' ' 字符
\"" 字符
\?? 字符
\a警报铃声
\b退格键
\f换页符
\n换行符
\r回车
\t水平制表符
\v垂直制表符
\ooo一到三位的八进制数
\xhh . . .一个或多个数字的十六进制数

Poniższy przykład pokazuje pewne sekwencje znaków ewakuacyjnych:

#include <stdio.h>

int main()
{
   printf("Hello\tWorld\n\n");

   return 0;
}

Gdy powyższy kod jest kompilowany i wykonany, że daje następujące wyniki:

Hello   World

Stałe łańcuchowe

Stała lub ciąg dosłowne jest ujęty w cudzysłów "" w. Podobny do łańcucha znaków zawierającego stałą Charakter: zwykłych znaków, sekwencje i znaków uniwersalnych.

Można wykorzystać przestrzeń jako separator, umieścić długi ciąg stałych oddziałów.

Poniższy przykład pokazuje pewne stałe ciągów znaków. Ciąg trzech następujących form wyświetlany jest taki sam.

"hello, dear"

"hello, \

dear"

"hello, " "d" "ear"

Definiowanie stałych

W języku C istnieją dwa proste sposoby definiowania stałych:

  1. Użyj#define preprocesora.
  2. Użyj słowa kluczowegoconst.

#define preprocesor

Oto definicja form stałych preprocesora #define:

#define identifier value

Rozważmy następujące konkretne przykłady:

#include <stdio.h>

#define LENGTH 10   
#define WIDTH  5
#define NEWLINE '\n'

int main()
{

   int area;  
  
   area = LENGTH * WIDTH;
   printf("value of area : %d", area);
   printf("%c", NEWLINE);

   return 0;
}

Gdy powyższy kod jest kompilowany i wykonany, że daje następujące wyniki:

value of area : 50

słowo kluczowe const

Można użyćconst deklaracji prefiksu określa rodzaj stałych w następujący sposób:

const type variable = value;

Rozważmy następujące konkretne przykłady:

#include <stdio.h>

int main()
{
   const int  LENGTH = 10;
   const int  WIDTH  = 5;
   const char NEWLINE = '\n';
   int area;  
   
   area = LENGTH * WIDTH;
   printf("value of area : %d", area);
   printf("%c", NEWLINE);

   return 0;
}

Gdy powyższy kod jest kompilowany i wykonany, że daje następujące wyniki:

value of area : 50

Należy pamiętać, że stała jest zdefiniowana jako wielkimi literami, to jest to dobra praktyka programowania.