กำหนดตัวแปร x 10 ข้อใดใช้ฟังก์ชันแสดงผลในการแสดงค่าตัวแปร x ไม่ถูกต้อง

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

        

กำหนดตัวแปร x 10 ข้อใดใช้ฟังก์ชันแสดงผลในการแสดงค่าตัวแปร x ไม่ถูกต้อง
  การรับข้อมูลจากแป้นพิมพ์ด้วยฟังก์ชัน scanf();

             ฟังก์ชันนี้อยู่ใน header ไฟล์ชื่อ stdio.h เป็นฟังก์ชันสำหรับรับข้อมูลมาจากแป้นพิมพ์ ที่สามารถรับข้อมูลได้ทุกประเภทไม่ว่าจะเป็นชนิด char , short , int , long , float , double , string โดยมีรูปแบบการเรียกใช้ดังนี้ 

                  scanf("ตัวแทนตัวแปร",&ชื่อตัวแปร);

             โดยที่...

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

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

ตารางแสดงตัวแทนตัวแปรตามชนิดของข้อมูล

ตัวแทนตัวแปร

ชนิดตัวแปร

%d

    ตัวเลขจำนวนเต็ม (int)

%f

    ตัวเลขทศนิยม (float)

%c

    ตัวอักขระ (char)

%ld

    ตัวเลขจำนวนเต็มแบบยาว (long)

     

กำหนดตัวแปร x 10 ข้อใดใช้ฟังก์ชันแสดงผลในการแสดงค่าตัวแปร x ไม่ถูกต้อง
 ตัวอย่างที่ 1  การใช้ฟังก์ชัน scanf เพื่อรับข้อมูลมาจากแป้นพิมพ์เพื่อรับชื่อและนามสกุล
 

1

#include <stdio.h>

2

#include <conio.h>

3

int main()

4

{

5

       char name[15],lname[20];

// ให้ตัวแปร name และ lname เป็น
   string

6

       printf("Input your name and lname : ");

// แสดงข้อความ Input your name 
   and lname :

7

       scanf("%s%s",name,lname)    ;

//รอรับข้อมูลจากแป้นพิมพ์เพื่อเก็บไว้
   ที่ตัวแปร name และ lname

8

       printf("\n\n\n");

// ขึ้นบรรทัดใหม่จำนวน 3 บรรทัด

9

       printf("Hello khun %s",name);

// แสดงข้อความ Hello khun ตามด้วย
   ข้อมูลในตัวแปร name ที่ %s

10

       printf("   ");

// แสดงช่องว่าง

11

       printf("%s",lname);

// แสดงข้อมูลในตัวแปร lname ณ 
   ตำแหน่ง %s

12

       getch();

// ฟังก์ชัน getch() ใช้หยุดดูผลจนกว่า
   กดแป้นพิมพ์ใดๆ

13

       return 0;

// คืนค่า 0 ให้ฟังก์ชัน main เพื่อ
   บอกว่าโปรแกรมทำงานสมบูรณ์

14

}

           

กำหนดตัวแปร x 10 ข้อใดใช้ฟังก์ชันแสดงผลในการแสดงค่าตัวแปร x ไม่ถูกต้อง
  ความหมายของการแสดงผล

                 การแสดงผลหมายถึง การสั่งให้คอมพิวเตอร์นำข้อมูลและผลลัพธ์ที่มีอยู่ในหน่วยความจำ ไปแสดงผลออกที่อุปกรณ์แสดงผล (Output device) ของคอมพิวเตอร์ การแสดงผลที่อุปกรณ์แสดงผลอาจมีเพียงอุปกรณ์เดียว หรือหลาย ๆ อุปกรณ์พร้อมกันก็ได้ เช่น แสดงผลที่จอภาพ เครื่องพิมพ์ ลำโพง แผ่นดิสก์เป็นต้น

           

กำหนดตัวแปร x 10 ข้อใดใช้ฟังก์ชันแสดงผลในการแสดงค่าตัวแปร x ไม่ถูกต้อง
  การแสดงผลข้อมูลด้วยฟังก์ชัน printf

                  ฟังก์ชันที่ใช้ในการแสดงผลข้อมูลออกทางจอภาพคือ printf() ซึ่งเป็นฟังก์ชันที่อยู่ใน   ไฟล์ stdio.h การเรียกใช้ฟังก์ชันนี้จะต้องทำการ preprocessor ด้วยการสั่ง   #include <stdio.h> ก่อนเสมอ ฟังก์ชัน printf มีหน้าที่หลักคือ แปลงข้อมูลในลักษณะของเลขฐานสอง (binary) ที่คอมพิวเตอร์ ประมวลผลได้ ให้อยู่ในรูปแบบ ที่มนุษย์เข้าใจ ก่อนแสดงผลข้อมูลออกทางจอภาพ

                  

กำหนดตัวแปร x 10 ข้อใดใช้ฟังก์ชันแสดงผลในการแสดงค่าตัวแปร x ไม่ถูกต้อง
  รูปแบบของฟังก์ชัน printf()

                         printf("string_format",data_list);

                    เมื่อ  string_format คือ ส่วนที่ใช้ควบคุมลักษณะการแสดงผล นิยมเขียนอยู่ในเครื่องหมาย   ".... " สิ่งที่อยู่ในเครื่องหมาย  "......." อาจเป็น สตริง หรือข้อความที่ต้องการแสดงผล ซึ่งอาจเป็นข้อความธรรมดา เช่น Hello, world หรืออาจจะเป็นสัญลักษณ์ที่ใช้เป็นตัวแทนชนิดของข้อมูลต่าง ๆ ที่เรียกว่า format code โดยฟังก์ชันจะแสดงค่าที่อยู่ในตัวแปรที่กำหนดโดย data_list

data_list คือข้อมูลที่จะแสดงผล ซึ่งอาจเป็นค่าคงที่ ตัวแปร หรือนิพจน์ใด ๆ โดยถ้ามีมากกว่าหนึ่งตัวให้คั่นด้วยเครื่องหมาย , (comma) 

                  

กำหนดตัวแปร x 10 ข้อใดใช้ฟังก์ชันแสดงผลในการแสดงค่าตัวแปร x ไม่ถูกต้อง
  การใช้ฟังก์ชัน printf() ร่วมกับอักขระควบคุม

                     อักขระควบคุม เป็นอักขระที่ใช้ในการควบคุมการแสดงผลข้อความ โดยลักษณะของอักขระคบคุมจะใช้เครื่องหมาย  \  (Back slash) นำหน้า และตามด้วยตัวอักษร  ในการควบคุมซึ่งมีรายละเอียดตามตารางด้านล่างนี้ ส่วนการใช้งานอักขระควบคุม จะต้องพิมพ์อักขระควบคุมภายใต้เครื่องหมาย  "    "  ของฟังก์ชัน  printf()

ตัวอักขระควบคุม

ความหมาย

\n

    ขึ้นบรรทัดใหม่

\t

    กำหนด TAB 1ครั้ง(8 อักขระ)

\a

    แสดงเสียง

\\

    แสดงเครื่องหมาย  \

\?

    แสดงเครื่องหมาย  ?

\'

    แสดงเครื่องหมาย  '

\"

    แสดงเครื่องหมาย  "


 
       

กำหนดตัวแปร x 10 ข้อใดใช้ฟังก์ชันแสดงผลในการแสดงค่าตัวแปร x ไม่ถูกต้อง
 ตัวอย่างที่ 6  แสดงการบวกเลขจำนวนเต็มสองจำนวนแล้วแสดงผล
 

1

#include  <stdio.h>

//นำ header file ชื่อ stdio.h เข้ามาใช้งาน

2

#include  <conio.h>

// นำ header file ชื่อ conio.h เข้ามาใช้งาน

3

int   main()

// ฟังก์ชัน main

4

{

// เริ่มต้นบล๊อกของฟังก์ชัน main

5

     int   x=10;

// กำหนด 10 ให้กับตัวแปร x ซึ่งเป็นชนิด
   จำนวนเต็ม

6

     int   y=4;

// กำหนด 4 ให้กับตัวแปร y ซึ่งเป็นชนิด
   จำนวนเต็ม

7

     printf("%d + %d = %d\n",x,y,x+y);

// แสดงตัวเลข ณ ตำแหน่ง %d ทั้งสามตัว
   ตามลำดับ

8

     getch();

// รอกดแป้น พิมพ์ใดๆ เพื่อดูผลบนจอภาพ

9

     return 0;

// คืนค่า 0 ให้ฟังก์ชัน main

10

}

// จบบล๊อกของฟังก์ชัน main


           จากตัวอย่างบรรทัดที่ 7 คือ printf("%d + %d = %d\n",x,y,x+y); นำมาขยายความได้ดังนี้   

กำหนดตัวแปร x 10 ข้อใดใช้ฟังก์ชันแสดงผลในการแสดงค่าตัวแปร x ไม่ถูกต้อง

ภาพแสดงการทำงานของฟังก์ชัน printf 

           จากภาพด้านบน  ถ้าตัวแปร x เก็บค่า 10 และตัวแปร y เก็บค่า 4 เมื่อฟังก์ชันทำงาน จะให้ค่าในตัวแปร x ไปแสดงในของ control คือ %d ( %d เป็น control เพื่อแสดงผลจำนวนเต็ม หรือ decimal) ตัวแรก และนำค่าในตัวแปร b ไปแสดงใน control คือ %d ตัวที่สอง และนำค่าของนิพจน์ x+y คือ 14 ไปแสดงใน control คือ %d ตัวที่สาม ซึ่งจะทำให้ได้ผลลัพธ์ดันี้   10 + 4 = 14

        

กำหนดตัวแปร x 10 ข้อใดใช้ฟังก์ชันแสดงผลในการแสดงค่าตัวแปร x ไม่ถูกต้อง
 ตัวอย่างที่ 7 การใช้ฟังก์ชัน printf เพื่อแสดงตัวแปรชนิด string และค่าคงที่ string
 

1
2
3
4
5

6

7
8
9

10

11

#include <stdio.h>
#include <conio.h>
int main()
{
      char name[25]="This is C language.";

      printf("%s \n",name);

      printf("\n");
      printf("This is C Compiler.");
      getch();

      return 0;

}

  // ให้ "This is C language." เก็บในตัวแปร
   name
// แสดงค่าของตัวแปร name ณ ตำแหน่ง
   ของ %s
// \n คือการขึ้นบรรทัดใหม่
// แสดงข้อความ This is C Compiler.
// ฟังก์ชัน getch() ใช้หยุดดูผลจนกว่าจะ
   กดแป้นพิมพ์ใดๆ
// คืนค่า 0 ให้ฟังก์ชัน main เพื่อบอกว่า 
   โปรแกรมทำงานสมบูรณ์

     

กำหนดตัวแปร x 10 ข้อใดใช้ฟังก์ชันแสดงผลในการแสดงค่าตัวแปร x ไม่ถูกต้อง
 ผลที่ได้จากการ Run

This is C language. 

This is C compiler.

        

กำหนดตัวแปร x 10 ข้อใดใช้ฟังก์ชันแสดงผลในการแสดงค่าตัวแปร x ไม่ถูกต้อง
 ตัวอย่างที่ 8  การใช้ฟังก์ชัน printf เพื่อแสดงตัวแปรชนิด char และ
                                   การใช้ Tab คือ \t

 

1
2
3
4
5

6

7
8

#include <stdio.h>
#include <conio.h>
int main()
{
      char ch2='A',ch2='B',ch3='C',ch4='D'; printf("This program show character\n");  printf("=====================\n");
      printf("%c\t%c\t%c\t%c\n",ch2,ch2,ch3,ch4);
 

// A B C D เก็บในตัวแปร
   ch2,ch2,ch3,ch4 ตามลำดับ
// แสดงข้อความ This program
   show character
// ขีดเส้นคู่ยาว ๆ
//%c ใช้แสดงข้อมูล char 
   ส่วน \t เป็นการใช้ Tab

9
10

11 
12

      printf("=====================\n"); 
      getch();

      return 0;
}

// ขีดเส้นคู่ยาว ๆ
// ฟังก์ชัน getch() ใช้หยุดดูผล
    จนกว่ากดแป้นพิมพ์ใดๆ
// คืนค่า 0 ให้ฟังก์ชัน main

     

กำหนดตัวแปร x 10 ข้อใดใช้ฟังก์ชันแสดงผลในการแสดงค่าตัวแปร x ไม่ถูกต้อง
 ผลที่ได้จากการ Run


This program show character
==========================
A         B         C         D
==========================
 


 
       

กำหนดตัวแปร x 10 ข้อใดใช้ฟังก์ชันแสดงผลในการแสดงค่าตัวแปร x ไม่ถูกต้อง
 ตัวอย่างที่ 9  การใช้ฟังก์ชัน printf เพื่อแสดงตัวแปรชนิด float
 

1
2
3
4
5

6

7
8

9
10

#nclude <stdio.h>
#include <conio.h>
int main()
{
       float x=55.0;

       float y=10.0;

       float z=x/y;
       printf("This program show real 
                  number\n");

       printf("================\n");
       printf("%f / %f = %f\n",x,y,z);

 

// นำ 55.0 ซึ่งเป็นจำนวน
   จริง ไปเก็บที่ตัวแปร x
// นำ 10.0 ซึ่งเป็นจำนวน
    จริง ไปเกบนที่ตัวแปร y
// นำ x/y ไปเก็บที่ตัวแปร z
// แสดงข้อความ This
    program show real
    number
// ขีดเส้นคู่ยาว
// แสดง ค่า x y z ตาม
   ตำแหน่ง %f ทั้งสามตัว
   ตามลำดับ

11 
12 

       printf("================\n"); 
       getch();

// ขีดเส้นคู่ยาว
// ฟังก์ชัน getch() ใช้หยุด
   ดูผลจนกว่ากดแป้น
   พิมพ์ใด ๆ

13
14

  return 0;
}

// คืนค่า 0 ให้ฟังก์ชัน main

     

กำหนดตัวแปร x 10 ข้อใดใช้ฟังก์ชันแสดงผลในการแสดงค่าตัวแปร x ไม่ถูกต้อง
 ผลที่ได้จากการ Run


This program show real number
==========================
55.000000 / 10.000000 = 5.50000
==========================

 


กำหนดตัวแปร x 10 ข้อใดใช้ฟังก์ชันแสดงผลในการแสดงค่าตัวแปร x ไม่ถูกต้อง
   การควบคุมพื้นที่การแสดงผล

            ตากปกติในการแสดงผลข้อมูลคอมไพเลอร์จะเตรียมขนาดความยาวของข้อมูลให้พอดีกับข้อมูลที่ต้องการแสดงเช่นต้องการแสดงข้อความ COMPUTER ซึ่งมีขนาดความยาว 8 ตัวอักษร คอมไพเลอร์ก็จะแสดงผลข้อความให้พอดีกับข้อความที่แสดงคือ 8 ตัวอักษรพอดี ดังนี้

กำหนดตัวแปร x 10 ข้อใดใช้ฟังก์ชันแสดงผลในการแสดงค่าตัวแปร x ไม่ถูกต้อง

             เพื่อให้การแสดงผลเป็นไปตามที่ผู้เขียนโปรแกรมต้องการ ในภาษาซี สามารถกำหนดขนาดความยาวของการแสดงผลได้ตามต้องการ เช่น ต้องการแสดง ข้อความ COMPUTER ด้วยขนาดความยาว 12 ตัวอักษร โปรแกรมจะแสดงข้อความชิดด้านขวาของความยาวของพื้นที่ที่จองไว้แสดงผล โดยจะเว้นพื้นที่ว่างด้านซ้ายไว้อีก 4 ตัวอักษรดังรูป

กำหนดตัวแปร x 10 ข้อใดใช้ฟังก์ชันแสดงผลในการแสดงค่าตัวแปร x ไม่ถูกต้อง

             วิธีการกำหนดความยาวของการแสดงผลทำได้โดยการใส่ตัวเลขลงไปหลังเครื่องหมาย % ใน format_string ซึ่งสามารถนำไปใช้ได้กับข้อมูลทั้งชนิด char string int หรือ float ดังตารางดังนี้

ตารางแสดงการควบคุมพื้นที่การแสดงผลแบบชิดขวา

ตัวอย่างคำสั่ง

ความหมาย

     printf("%6d",234); แสดงตัวเลข 234 ออกทางจอภาพ ด้วยขนาดความยาว 6 ตัวอักษร แล้วจะเหลือช่องว่างด้านซ้ายอีก 3 ตัวอักษร
     printf("%15s","Thungsong"); แสดงข้อความ Thungsong ออกทางจอภาพด้วยขนาดความยาว 15 ตัวอักษร แล้วจะเหลือช่องว่างทางซ้าย 6 ตัวอักษร
     printf("%10c",'A'); แสดงตัวอักขระ A ออกทางจอภาพด้วยขนาดความยาว 10 ตัวอักษรแล้วจะเหลือช่องว่างทางซ้าย 9 ตัวอักษร
     printf("%10.2f",375.5); แสดงเลขทศนิยมด้วยขนาด 10 ตัวอักษรพร้อมทศนิยม 2 ตำแหน่ง จะเหลือช่องว่างด้านซ้าย 4 ตัวอักษร ( เลข 375.50 มีขนาด 6 ตัว รวมจุดทศนิยมด้วย)

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

ตารางแสดงการควบคุมพื้นที่การแสดงผลแบบชิดซ้าย

ตัวอย่างคำสั่ง

ความหมาย

     printf("%-6d",234); แสดงตัวเลข 234 ออกทางจอภาพ ด้วยขนาดความยาว 6 ตัวอักษรแล้วจะเหลือช่องว่างด้านขวาอีก 3 ตัวอักษร
     printf("%-15s","Thungsong"); แสดงข้อความ Thungsong ออกทางจอภาพด้วยขนาดความยาว 15 ตัวอักษรแล้วจะเหลือช่องว่างทางขวา 6 ตัวอักษร
     printf("%-10c",'A'); แสดงตัวอักขระ A ออกทางจอภาพด้วยขนาดความยาว 10 ตัวอักษรแล้วจะเหลือช่องว่างทางขวา 9 ตัวอักษร
     printf("%-10.2f",375.5); แสดงเลขทศนิยมด้วยขนาด 10 ตัวอักษรพร้อมทศนิยม 2 ตำแหน่ง จะเหลือช่องว่างด้านขวา 4 ตัวอักษร

กำหนดตัวแปร x 10 ข้อใดใช้ฟังก์ชันแสดงผลในการแสดงค่าตัวแปร x ไม่ถูกต้อง
  การควบคุมตำแหน่งตัวเลขหลังจุดทศนิยม

             การแสดงผลตัวเลขที่เป็นจำนวนจริง หรือเลขที่มีทศนิยม ถ้าไม่มีการกำหนดค่าใด ๆ เมื่อใช้รหัสควบคุมรูปแบบ %f   (format_string) คอมไพเลอร์ก็จะแสดงด้วยทศนิยม 6 ตำแหน่งดังตัวอย่างต่อไปนี้

ตารางแสดงการแสดงผลข้อมูลแบบเลขทศนิยมโดยไม่กำหนดขนาดการแสดงผล

ตัวอย่างคำสั่ง

ความหมาย

     printf("%f",123.6);   คอมไพเลอร์จะแสดงผลออกมาเป็น 123.600000
     printf("%f",-23.656);   คอมไพเลอร์จะแสดงผลออกมาเป็น -23.656000
     printf("%f",5.0);   คอมไพเลอร์จะแสดงผลออกมาเป็น 5.000000
     printf("%f",-6.5);   คอมไพเลอร์จะแสดงผลออกมาเป็น -6.500000

             ในกรณีที่ต้องการให้แสดงผลเลขจำนวนจริงด้วยขนาดความกว้างและเลขทศนิยมตามที่ต้องการนั้นจะต้องระบุตัวเลขเข้าไปหลังเครื่องหมาย % ใน string_fomat ด้วยเลขและทศนิยม เช่น %6.2f  หรือ %8.4f ดังต่อไปนี้

ตารางแสดงการแสดงผลข้อมูลแบบเลขทศนิยมโดยกำหนดขนาด
การแสดงผลและทศนิยม

ตัวอย่างคำสั่ง

ความหมาย

     printf("%8.2f",123.6);   คอมไพเลอร์จะแสดงผลออกมาเป็น 123.60 มีช่องว่างด้านซ้าย 2 ตัวอักษร
     printf("%8.4f",-23.656);   คอมไพเลอร์จะแสดงผลออกมาเป็น -23.6560 ไม่มีช่องว่างด้านซ้าย 2 ตัวอักษร
     printf("%10.1f",5.0);   คอมไพเลอร์จะแสดงผลออกมาเป็น 5.0 มีช่องว่างด้านซ้าย 8 ตัวอักษร
     printf("%8.3f",-6.5);   คอมไพเลอร์จะแสดงผลออกมาเป็น -6.500 มีช่องว่างด้านซ้าย 2 ตัวอักษร


 
       

กำหนดตัวแปร x 10 ข้อใดใช้ฟังก์ชันแสดงผลในการแสดงค่าตัวแปร x ไม่ถูกต้อง
 ตัวอย่างที่ 10  การแสดงผลเลขทศนิยม
 

1
2
3
4
5

6

7

8

9


#include <stdio.h>
#include <conio.h>
int main()
{
     
 printf("012345678901234567890\n");

      printf("%10.3f\n",579.5);

      getch();

      return 0;

}

// แสดงเลข
    012345678901234567890
    เพื่อบอกตำแหน่ง
// แสดงเลขขนาด 10 ช่อง
   ทศนิยม 3 ตำแหน่ง
// ฟังก์ชัน getch() ใช้หยุด
   ดูผลจนกว่ากดแป้นพิมพ์
   ใดๆ
// คืนค่า 0 ให้ฟังก์ชัน main
   เพื่อบอกว่า โปรแกรม
   ทำงานสมบูรณ์

     

กำหนดตัวแปร x 10 ข้อใดใช้ฟังก์ชันแสดงผลในการแสดงค่าตัวแปร x ไม่ถูกต้อง
 ผลที่ได้จากการ Run


012345678901234567890

579.500