Objective-C คงที่

ค่าคงที่หมายถึงค่าคงที่ซึ่งโปรแกรมไม่สามารถเปลี่ยนแปลงได้ในระหว่างการดำเนินการ ค่าคงที่เหล่านี้เรียกอีกอย่างว่าliterals.

คงสามารถใด ๆ ของชนิดข้อมูลพื้นฐานเช่นค่าคงที่จำนวนเต็มคงลอยค่าคงที่ตัวอักษรหรือตัวอักษรสตริง นอกจากนี้ยังมีค่าคงที่การแจงนับเช่นกัน

constants ได้รับการปฏิบัติเช่นเดียวกับตัวแปรทั่วไปยกเว้นว่าไม่สามารถแก้ไขค่าหลังจากนิยามได้

จำนวนเต็ม

ลิเทอรัลจำนวนเต็มสามารถเป็นค่าคงที่ทศนิยมฐานแปดหรือฐานสิบหก คำนำหน้าระบุฐานหรือรัศมี: 0x หรือ 0X สำหรับเลขฐานสิบหก, 0 สำหรับฐานแปดและไม่มีอะไรเป็นทศนิยม

ลิเทอรัลจำนวนเต็มยังสามารถมีส่วนต่อท้ายที่รวมกันของ U และ L สำหรับไม่ได้ลงนามและยาวตามลำดับ คำต่อท้ายสามารถเป็นตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็กและสามารถเรียงลำดับอย่างไรก็ได้

นี่คือตัวอย่างบางส่วนของตัวอักษรจำนวนเต็ม -

212         /* Legal */
215u        /* Legal */
0xFeeL      /* Legal */
078         /* Illegal: 8 is not an octal digit */
032UU       /* Illegal: cannot repeat a suffix */

ต่อไปนี้เป็นตัวอย่างอื่น ๆ ของตัวอักษรจำนวนเต็มประเภทต่างๆ -

85         /* decimal */
0213       /* octal */
0x4b       /* hexadecimal */
30         /* int */
30u        /* unsigned int */
30l        /* long */
30ul       /* unsigned long */

Floating-point Literals

ลิเทอรัลจุดลอยตัวมีส่วนจำนวนเต็มจุดทศนิยมส่วนเศษส่วนและส่วนเลขชี้กำลัง คุณสามารถแสดงลิเทอรัลจุดลอยตัวได้ทั้งในรูปแบบทศนิยมหรือรูปแบบเลขชี้กำลัง

ในขณะที่แสดงโดยใช้รูปแบบทศนิยมคุณต้องใส่จุดทศนิยมเลขชี้กำลังหรือทั้งสองอย่างและในขณะที่แสดงโดยใช้รูปแบบเลขชี้กำลังคุณต้องรวมส่วนจำนวนเต็มส่วนเศษส่วนหรือทั้งสองอย่าง เลขชี้กำลังที่ลงชื่อถูกนำมาใช้โดย e หรือ E

นี่คือตัวอย่างบางส่วนของตัวอักษรทศนิยม -

3.14159       /* Legal */
314159E-5L    /* Legal */
510E          /* Illegal: incomplete exponent */
210f          /* Illegal: no decimal or exponent */
.e55          /* Illegal: missing integer or fraction */

ค่าคงที่ของอักขระ

อักษรตัวอักษรจะอยู่ในเครื่องหมายคำพูดเดี่ยวเช่น 'x' และสามารถเก็บไว้ในตัวแปรง่ายๆของ char ชนิด.

อักขระลิเทอรัลสามารถเป็นอักขระธรรมดา (เช่น 'x'), ลำดับหลีก (เช่น '\ t') หรืออักขระสากล (เช่น '\ u02C0')

มีอักขระบางตัวใน C เมื่อดำเนินการโดยแบ็กสแลชซึ่งจะมีความหมายพิเศษและใช้แทนเช่นบรรทัดใหม่ (\ n) หรือแท็บ (\ t) ที่นี่คุณมีรายการรหัสลำดับการหลบหนีดังกล่าว -

ลำดับการหลบหนี ความหมาย
\\ \ อักขระ
\ ' 'ตัวละคร
\ " "ตัวละคร
\? เหรอ? ตัวละคร
\ ก แจ้งเตือนหรือกระดิ่ง
\ b Backspace
\ ฉ ฟีดรูปแบบ
\ n ขึ้นบรรทัดใหม่
\ r การกลับรถ
\ t แท็บแนวนอน
\ v แท็บแนวตั้ง
\ ooo เลขฐานแปดหนึ่งถึงสามหลัก
\ xhh . . เลขฐานสิบหกของตัวเลขตั้งแต่หนึ่งหลักขึ้นไป

ต่อไปนี้เป็นตัวอย่างในการแสดงอักขระลำดับการหลีก -

#import <Foundation/Foundation.h>

int main() {
   NSLog(@"Hello\tWorld\n\n");
   return 0;
}

เมื่อโค้ดด้านบนถูกคอมไพล์และเรียกใช้งานจะให้ผลลัพธ์ดังนี้ -

2013-09-07 22:17:17.923 demo[17871] Hello	World

ตัวอักษรสตริง

ตัวอักษรสตริงหรือค่าคงที่อยู่ในเครื่องหมายคำพูดคู่ "" สตริงประกอบด้วยอักขระที่คล้ายกับลิเทอรัลอักขระ: อักขระธรรมดาลำดับการหลีกและอักขระสากล คุณสามารถแบ่งบรรทัดยาวออกเป็นหลายบรรทัดโดยใช้ตัวอักษรสตริงและแยกออกโดยใช้ช่องว่าง

นี่คือตัวอย่างบางส่วนของตัวอักษรสตริง ทั้งสามรูปแบบเป็นสตริงที่เหมือนกัน

"hello, dear"

"hello, \

dear"

"hello, " "d" "ear"

การกำหนดค่าคงที่

มีสองวิธีง่ายๆใน C เพื่อกำหนดค่าคงที่ -

  • การใช้ #define พรีโปรเซสเซอร์

  • การใช้ const คำสำคัญ.

#define พรีโปรเซสเซอร์

ต่อไปนี้เป็นรูปแบบที่จะใช้ #define preprocessor เพื่อกำหนดค่าคงที่ -

#define identifier value

ตัวอย่างต่อไปนี้อธิบายโดยละเอียด -

#import <Foundation/Foundation.h>

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

int main() {
   int area;
   area = LENGTH * WIDTH;
   NSLog(@"value of area : %d", area);
   NSLog(@"%c", NEWLINE);

   return 0;
}

เมื่อโค้ดด้านบนถูกคอมไพล์และเรียกใช้งานจะให้ผลลัพธ์ดังนี้ -

2013-09-07 22:18:16.637 demo[21460] value of area : 50
2013-09-07 22:18:16.638 demo[21460]

คีย์เวิร์ด const

คุณสามารถใช้ได้ const คำนำหน้าเพื่อประกาศค่าคงที่ด้วยประเภทเฉพาะดังนี้ -

const type variable = value;

ตัวอย่างต่อไปนี้อธิบายโดยละเอียด -

#import <Foundation/Foundation.h>

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

   return 0;
}

เมื่อโค้ดด้านบนถูกคอมไพล์และเรียกใช้งานจะให้ผลลัพธ์ดังนี้ -

2013-09-07 22:19:24.780 demo[25621] value of area : 50
2013-09-07 22:19:24.781 demo[25621]

โปรดทราบว่าการเขียนโปรแกรมเป็นวิธีที่ดีในการกำหนดค่าคงที่ในตัวพิมพ์ใหญ่