ถ้าต้องการประกาศตัวแปรที่ชื่อ age เพื่อรับข้อมูลซึ่งเป็นอายุของผู้ใช้งาน

การเก็บค่าในภาษา C

  • มี 2 ลักษณะคือ 

            - เก็บค่าแบบค่าคงที่(constant)
            - เก็บค่าแบบตัวแปร(variable)

           ค่าคงที่เมื่อสร้างขึ้นมาแล้วเราจะไม่สามารถเปลี่ยนแปลงแก้ไขค่าได้เลย เช่น a=20           
           การเก็บค่าแบบตัวแปรสามารถเปลี่ยนแปลงค่าเป็นอะไรก็ได้ตามที่ต้องการ เช่น char ch; 
          การสร้างตัวแปรจะต้องทราบว่าตัวแปรนั้นเก็บค่าอะไร เช่น เลขจำนวนเต็ม เลขทศนิยม ข้อความ หรือตัวอักษร เป็นต้นโดยแบ่งออกเป็นประเภทดังนี้
        Character Variable ตัวแปรที่ใช้เก็บอักขระ
        Integer Variable ตัวแปรที่ใช้เก็บเลขจำนวนเต็ม
        Float Variable ตัวแปรที่ใช้เก็บเลขจำนวนทศนิยม

Character Variable

  • แบ่งออกเป็น 2 ลักษณะ คือ 

        -Char เก็บค่า ASCII ของตัวอักษรได้ตั้งแต่ -128 ถึง 127
        -Unsigned char เก็บค่า ASCII ของตัวอักษรได้ตั้งแต่ 0-255 

  • ตัวแปรแบบ character จะใช้ในกรณีที่เราต้องการเก็บอักขระ 1 ตัว เช่น a,b หรือ c เป็นต้น สิ่งที่เราเก็บก็คือ ตัวอักษร 1 ตัว ซึ่งมีค่า ASCII อยู่ระหว่าง 0 ถึง 255 ดังนั้นถ้าเราประกาศตัวแปรแบบ char เราจะใช้ตัวแปรนั้นเก็บข้อมูลได้เป็นค่าใดค่าหนึ่งในรหัส ASCII เท่านั้น
  •  
  • วิธีประกาศตัวแปรแบบ Character เขียนได้ดังนี้
  • char ch; -128 ถึง 127
  • unsigned char c; 0 ถึง 255
  • ส่วนมากแล้วมักไม่มีความแตกต่างระหว่าง char และ unsigned char ดังนั้นจึงมักประกาศเป็น char เป็นส่วนใหญ่

Integer Variable 

  • แบ่งออกเป็น 2 ประเภท คือ 
  • int หรือ short เก็บเลขจำนวนเต็มตั้งแต่ -32,768 ถึง 32,767
  • Long เก็บเลขจำนวนเต็มตั้งแต่ -2,147,483,648 ถึง 2,147,483,647 
  • วิธีการใช้คือถ้าต้องการตัวเลขจำนวนเต็มมากกว่า 32,767 เราจะต้องประกาศตัวแปรแบบ long ถ้าน้อยกว่าก็ประกาศแบบ int ดังตัวอย่าง

                         int a,b,c;
                         int age;
                         int height;
                         long salary,money;

  • เราประกาศตัวแปร a,b,c age height แบบ int เนื่องจาก ต้องการให้เก็บค่าที่อยู่ระหว่าง -32,768 ถึง 32,767 เท่านั้น แต่ salary และ money มีโอกาสจะมีค่ามากกว่า นั้นดังนั้นจึงต้องประกาศเป็น long

 
Float Variable 

  • แบ่งออกเป็น 3 ประเภท คือ 

                    1. Float เก็บทศนิยมได้ 3.4E+/-38 (ทศนิยม 7 ตำแหน่ง)
                    2. Double เก็บทศนิยมได้ 1.7E+/-308 (ทศนิยม 15 ตำแหน่ง)
                    3. Long Double เก็บทศนิยมได้ 1.2E+/-4932 (ทศนิยม 19 ตำแหน่ง)

กฎการตั้งชื่อตัวแปร

      1.  ต้องไม่มีอักษรพิเศษใดๆ ประกอบอยู่ด้วย เช่น ! @ # $ % ^ & * (
      2.  สามารถใช้เครื่องหมาย underscore ( _ ) ได้
      3.  ชื่อตัวแปรมีตัวเลขปนอยู่ได้ แต่ต้องไม่ขึ้นต้นด้วยตัวเลข
      4.  ห้ามมีช่องว่างระหว่างชื่อ
      5.  ใช้ได้ทั้งพิมพ์เล็ก และพิมพ์ใหญ่
      6.  ชื่อเหมือนกันแต่เป็นพิมพ์เล็กพิมพ์ใหญ่ ถือว่าคนละชื่อกัน
      7.  ห้ามตั้งชื่อซ้ำกับคำสงวน เช่น char  long while do

แสดงผลออกทางหน้าจอ

          การทำงานพื้นฐานที่สึดหรือเรียกได้ว่าเป็นส่วนหนึ่งในการทำงานของทุกโปรแกรมคือ  การแสดงผลข้อมูลออกทางจอภาพ  โดยในภาษา C  นั้น  การแสดงผลข้อมูลออกทางจอสามารถทำได้ดังนี้

คำสั่ง printf

             คำสั่ง printf  ถือได้ว่าเป็นคำสั่งพื้นฐานที่สุดในการแสดงผลข้อมูลทุกชนิดออกทางหน้าจอไม่ว่าจะเป็นจำนวนเต็ม int ทศนิยม float ข้อความ string  หรืออักขระ  นอกจากนี้คำสั่งยังมีความยืดหยุ่นสูง  โดยเราสามารถกำหนดหรือจัดรูปแบบการแสดงผลให้มีระเบียบหรือเหมาะสมตามความต้องการได้อีกด้วย 
รูปแบบคำสั่ง prinft
printf ("format",variable);

format
             ข้อมูลที่ต้องการแสดงผลออกทางหน้าจอ  โดยข้อมูลนี้ต้องเขียนไว้ในเครื่องหมาย "  " ข้อมูลที่สามารถแสดงผลได้มีอยู่ 2 ประเภท คือ  ข้อความธรรมดา  และค่าที่เก็บไว้ในตัวแปร  ซึ่งถ้าเป็นค่าที่เก็บไว้ในตัวแปรต้องใส่รหัสควบคุมรูปแบบให้ตรงกับชนิดของข้อมูลที่เก็บไว้ในตัวแปรนั้นด้วย

variable

     ตัวแปรหรือนิพจน์ที่ต้องการนำค่าไปแสดงผลให้ตรงกับรหัสควบคุมรูปแบบที่กำหนดไว้
รหัสควบคุมรูปแบบการแสดงผลค่าของตัวแปรออกทางหน้าจอ  แสดงได้ดังนี้
รหัสควบคุมรูปแบบ
การนำไปใช้งาน
             %d    =     แสดงผลค่าของตัวแปรชนิดจำนวนเต็ม
             %u    =     แสดงผลค่าของตัวแปรชนิดจำนวนเต็มบวก
             %f     =     แสดงผลค่าของตัวแปรชนิดจำนวนทศนิยม
             %c    =      แสดงผลอักขระ 1 ตัว


             %s    =      แสดงผลข้อความ หรืออักขระมากกว่า 1 ตัว

ตัวอย่างการใช้คำสั่ง printf  แสดงผลข้อความธรรมดาออกทางหน้าจอ ดังนี้
                      printf("Hello Program C");
                      แสดงข้อความ Hello Program C ออกทางขอภาพ
                      printf("Lampang kunlayanee school");
                     แสดงข้อความ Lampang kunlayanee school ออกทางจอภาพ
                      printf("Lampang Thailand");
                     แสดงข้อความ Lampang Thailand  ออกทางจอภาพ

              #include <stdio.h>
              #include <conio.h>
              void main()
              {
                               clrscr();
                               prinft('Lampang Kunlayanee School\n");
                               printf("Program C\n");
                               getch();
             }

ผลลัพธ์โปรแกรม
Lampang Kunlayanee School
Program C

          ส่วนตัวอย่างการใช้คำสั่ง  printf  แสดงผลจากค่าของตัวแปรหรือนิพจน์ การคำนวณออกทางหน้าจอ  แสดงได้ดังนี้  โดยกำหนดให้
ตัวแปร  x  เก็บจำนวนเต็ม  45
printf("total value = %d",x);   แสดงข้อความ total value = 45 ออกทางจอภาพ
แสดงผลให้เป็นระเบียบด้วยอักขระควบคุมการแสดงผล

          นอกจากนี้เรายังสามารถจัดรูปแบบการแสดงผลให้ดูเป็นระเบียบมากขึ้น  อย่างเช่นขึ้นบรรทัดใหม่  หลังแสดงข้อความ  หรือเว้นระยะแท็บระหว่างข้อความ  โดยใช้อักขระควบคุมการแสดงผลร่วมกับคำสั่ง printf

อักขระควบคุมการแสดงผล  ความหมาย
                     \n ขึ้นบรรทัดใหม่
                     \t  เว้นช่องว่างเป็นระยะ 1 แท็บ (6 ตัวอักษร)
                     \r  กำหนดให้เคอร์เซอร์ไปอยู่ต้นบรรทัด
                     \f  เว้นช่องว่างเป็นระยะ 1 หน้าจอ
                     \b  ลบอักขระสุดท้ายออก 1 ตัว

          การนำอักขระควบคุมการแสดงผลมาใช้  เราต้องเขียนอักขระควบคุมการแสดงผลไว้ภายในเครื่องหมาย "  "  ดังตัวอย่าง
                     printf("Hello ... \n");   แสดงข้อความ Hello ...  แล้วขึ้นบรรทัดใหม่
                     printf("Hello...\nLampang\n");    แสดงข้อความ Hello ...แล้วขึ้นบรรทัดใหม่พร้อมกับแสดงข้อความLampang จากนั้นขึ้นบรรทัดใหม่อีกครั้ง
                     printf("Num1 = %d\tNum2 = %f\n",x,z);   แสดงข้อความ Num1 = 45  ตามด้วยการเว้นช่องว่าง 1 แท็บแล้วต่อด้วยข้อความ Num2 = 20.153

คำสั่งรับข้อมูลจากคีย์บอร์ด
          การทำงานของโปรแกรมส่วนใหญ่มักจะเป้นการเชื่อมโยงกับผู้ใช้แบบ  2  ทิศทาง  คือ  ทั้งภาคของการแสดงผลการทำงานออกทางหน้าจอ  และภาคของการรับข้อมูลจากผู้ใช้เข้ามาทางคีย์บอร์ด  เพื่อร่วมในการประมวลผลของโปรแกรม 

คำสั่ง  scanf()
          ในภาษา C  การรับข้อมูลจากคีย์บอร์ดสามารถทำได้โดยการเรียกใช้ฟังก์ชัน  scanf()  ซึ่งเป็นฟังก์ชันมาตรฐานสำหรับรับข้อมูลจากคีย์บอร์ด  โดยสามารถรับข้อมูลได้ทุกประเภท  ไม่ว่าจะเป็นจำนวนเต็ม  ทศนิยม  อักขระ หรือข้อความ 
รูปแบบคำสั่ง  scanf()
scanf("format",&variable);

format

     การใช้รหัสควบคุมรูปแบบ  เพื่อกำหนดชนิดของข้อมูลที่จะรับเข้ามาจากคีย์บอร์ด โดยรหัสควบคุมรูปแบบใช้ชุดเดียวกับคำสั่ง printf()

variable

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

ตัวอย่างการใช้งานคำสั่ง  scanf()  เพื่อรับข้อมูลจากคีย์บอร์ด
                       int speed;  สร้างตัวแปรชนิด int สำหรับเก็บค่าตัวเลขจำนวนเต็ม
                       printf("Enter wind speef : ");  แสดงข้อความให้กรอกค่าความเร็วลมเป็นจำนวนเต็ม
                       scanf("%d",&speed);  รับค่าความเร็วลมเข้ามาเก็บไว้ในตัวแปร speed
                       char answer;  สร้างตัวแปรชนิด  char สำหรับเก็บอักขระ
                       printf("Enter Figure (Y : N)  : ")  แสดงข้อความให้ป้อนอักขระ Y  หรือ N             
                       scanf("%c",&answer  รับอักขระเข้ามาเก็บไว้ในตัวแปร  answer สร้างตัวแปรสตริงสำหรับเก็บข้อความ
                       printf("Enter your name = ");  แสดงข้อความให้ป้อนชื่อ
                      scanf("%s",name  รับชื่อเข้ามาเก็บไว้ในตัวแปร name สังเกตจะไม่ใส่เครื่องหมาย & ตัวแปรชนิดข้อความ

              #include <stdio.h>
              #include <conio.h>
              void main()
             {
                                clrscr();
                                int x,y,sum;
                                printf("Enter The Length is : ");
                                scanf ("%d",&x);
                                printf("Enter The Width is : ");
                                scanf ("%d",&y);
                               sum = x*y;
                                printf("The area is :%d",sum);
                                getch();
              }

ผลลัพธ์โปรแกรม

                         Enter The Length is   : 15 
                         Enter The Width is     : 5 
                         The area is             : 75
การเขียนโปรแกรมคำนวณ
            เราสามารถคำนวณหาผลลัพทธ์ของนิพจน์คณิตศาสตร์ด้วยการเขียนโปรแกรมภาษาซี   ตัวอย่างต่อไปนี้เป็นการแสดงลำดับการประมวลผลทางคณิตศาสตร์ของนิพจน์ต่าง ๆ

                #include <stdio.h>
                #include <conio.h>
                void main()
                {
                                     clrscr();
                                     int a,b,c,d;
                                    a=(3+4)*5;
                                    b=3+4*5;
                                    c=(2+7)*4%10;
                                    d=2+7*4%10; 
                                    e=10+2*8/4*3-5;
                                    printf("(3+4)*5 =%d\n",a);
                                    printf("3+4*5 =%d\n",b);
                                    printf("(2+7)*4%10 =%d\n",c);
                                    printf("(2+7)*4%10 =%d\n",d);
                                    printf("10+2*8/4*3-5 =%d\n",e);
                                    getch();
                }

ผลลัพธ์โปรแกรม

                        (3+4)*5=35
                        3+4*5=23
                        (2+7)*4%10=6
                        2+7*4%10=10
                        10+2*8/4*3-5=17

ตัวอย่างโปรแกรมคำนวณหาผลลัพธ์จากการหาร

                #include <stdio.h>
                #include <conio.h>
                void main()
               {
                               clrscr();
                               int a,b;
                               float c;
                               a=20;
                               b=6; 
                               c=6;
                               printf("20/6 =%d\n",a/b);      /*หารเอาเฉพาะส่วน*/
                               printf("20%6 =%d\n",a%b); /*หารเอาเฉพาะเศษ*/
                               printf("20/6 =%f\n",a/c);       /*หารเอาทั้งเศษและส่วน*/ 
                               printf("20/6 =%.2f\n",a/c);   /*แสดงผลทศนิยม  2 ตำแหน่ง*/
                               getch();
               }

ผลลัพธ์โปรแกรม
               20/6=3
               20%6=2
               20/6=3.333333
               20/6=3.33