8.02.2554

เนื้อหาการประชุมครั้งที่10
ทบทวนเนื้อหา(สรุป)

คำสั่ง printf
ใช้ในการแสดงข้อความที่ต้องการแสดงผ่านหน้าจอ
เช่นต้องการแสดงข้อความ
Hello how are you ?
ต้องพิมพ์
printf(" Hello how are you ? ") ;
แต่ในการแสดงผลของตัวเลขจะต้องใช้การเก็บค่าตัวแปรเข้ามาช่วยโดยที่
รหัสควบคุมรูปแบบการแสดงผลค่าของตัวแปรออกทางหน้าจอ
%d = แสดงผลค่าเลขจำนวนเต็ม มีค่า -32,768 ถึง 32767
%f = แสดงผลค่าเลขที่เป็นทศนิยม มีค่า 3.4E+ ถึง-15
%c = แสดงผลค่าตัวอักษร มีค่า -128ถึง127
%s = แสดงผลค่าอักษรและข้อความมากกว่า 1 ตัว

คำสั่งscanf
ใช้ในการรับข้อมูลโดยสามารถรับข้อมูลได้ทุกประเภท ไม่ว่าจะเป็นจำนวนเต็ม ทศนิยม อักขระ หรือข้อความ
ตัวอย่าง
main()
{
.
.
printf(" Enter x : ");
scanf("%d",&x);
.
.

}

การแสดงผลทำงาน
Enter x : (กรอกข้อมูล)

การสร้างตัวแปรสร้างโดยใช้กฎดังนี้

1. ชื่อต้องขึ้นต้นด้วยตัวอักษรหรือเครื่องหมาย _ (เส้นใต้) เครื่องหมายอื่นใช้ไม่ได้

2. ภายในชื่อไม่มีการเว้นวรรค อาจใช้เครื่องหมาย _ ขั้นระหว่างตัวอักษรให้ดูเหมือนเว้นวรรคได้

3. ถัดจาตัวแรกอาจเป็นตัวอักษร ตัวเลข หรือเครื่องหมาย _ก็ได้

4. ความยาวของชื่อไม่จํากัด แต่จะนําตัวอักษรไปเปรียบเทียบความแตกต่าง เพียง 32 ตัวแรกเท่านั้น

5. ตัวอักษรตัวเล็กและตัวอักษรตัวใหญ่ภาษาซีจะถือว่าต่างกัน หรือจะพูดว่า “ชื่อจะเป็น Case-Sensitive”

6. การตั้งชื่อควรหลีกเลี่ยงชื่อที่มีตัวแรกเป็นเครื่องหมาย _เพราะชื่อชนิดนี้มีใช้อยู่มากในการตั้งชื่อตัวแปรของโปรแกรมระบบ (System Variables) อาจจะตรงกันได้โดยไม่ได้ตั้งใจ จะทําให้โปรแกรมทํางานผิดพลาดได้

7.ชื่อ ที่ตั้งขึ้นจะต้องไม่ตรงกับคําสงวน (Reserved Words) หรือบางทีเรียกว่า Keywords เพราะคําสงวนเหล่านี้ได้ถูกใช้เป็นชื่อคําสั่งหรือชื่อของฟังก์ชันในตัวภาษา อยู่แล้ว จะได้ชื่อที่ซํ้ากันอีกไม่ได้

สร้างตัวแปร และกำหนดค่า การรับค่า
ตัวอย่าง
main()
{
int age ;
char sex;
float grade ;

age =20 ; (การกำหนดค่า)
sex = 'm' ;

printf ("Enter grade ="); (รับค่าอะไร)
scanf ("%f",&grade); (การรับค่า)
}
การตั้งสมการคำนวน
การตั้งสมการจะแตกต่างกับคณิตศาสตร์นิดหน่อยโดย
เครื่องหมาย
ความหมาย
ตัวอย่าง
+
บวก
3+2 การบวกเลข 3 บวกกับ 2 ได้ผลลัพธ์คือ 5
-
ลบ
3 - 2 การลบเลข 3 ลบกับ 2 ได้ผลลัพธ์คือ 1
*
คูณ
2*3 การคูณเลข 3 บวกกับ 2 ได้ผลลัพธ์คือ 6
/
หาร
15/2 การหาร 15 หารกับ 2 ได้ผลลัพธ์คือ 7
%
หารเอาเศษ
15%2การหารเอาเศษ 15 หารกับ 2 ได้ผลลัพธ์คือ 1
++

เพิ่มค่าขึ้น 1 โดย
a++ จะนำค่าของ a ไปใช้ก่อนแล้วจึงเพิ่มค่าของ a ขึ้น 1


++a จะเพิ่มค่าของ a ขึ้น 1 ก่อนแล้วจึงนำค่าของ a ไปใช้

b=a++;
จะมีความหมายเทียบเท่ากับ 2 บรรทัดต่อไปนี้
b=a;
a=a+1;


b=++a;
จะมีความหมายเทียบเท่ากับ 2 บรรทัดต่อไปนี้
a=a+1;
b=a;
--
ลดค่า 1 โดย
a-- จะนำค่าของ a ไปใช้ก่อน แล้วจึงลดค่าของ a ลง 1


--a จะลดค่าของ a ลง 1 ก่อน แล้วจึงนำค่าของ a ไปใช้

b=a--;
จะมีความหมายเทียบเท่ากับ 2 บรรทัดต่อไปนี้
ิb=a;
a=a-1;

b=--a;
จะมีความหมายเทียบเท่ากับ 2 บรรทัดต่อไปนี้
a=a-1;
b=a;




การสร้างfunctionมี
4 รูปแบบ
1. ฟังก์ชันที่ไม่มีการคืนค่ากลับ และไม่มีการรับค่าพารามิเตอร์
void functionName (void)
{
.
ชุดคำสั่ง
.
}

2. ฟังก์ชันที่ไม่มีการคืนค่ากลับ แต่มีการรับค่าพารามิเตอร์
void functionName (พารามิเตอร์ตัวที่1,…….,พารามิเตอร์ตัวที่ n)
{
ชุดคำสั่ง
}


3. ฟังก์ชันที่มีการคืนค่ากลับ แต่ไม่มีการรับค่า
void functionName (void)
{
ชุดคำสั่ง
return ผลการทำงาน;
}


4. ฟังก์ชันที่มีการคืนค่ากลับ และมีการรับค่าพารามิเตอร์
void functionName (พารามิเตอร์ตัวที่1,…….,พารามิเตอร์ตัวที่ n)
{
ชุดคำสั่ง
return ผลการทำงาน;
}

การทำเงื่อนไข
เครื่องหมายในการเปรียบเทียบ
เครื่องหมาย
ความหมาย
ตัวอย่าง
>
มากกว่า
a > b a มากกว่า b
>=
มากกว่าหรือเท่ากับ
a >= b a มากกว่าหรือเท่ากับ b
<
น้อยกว่า
a < b a น้อยกว่า b
<=
น้อยกว่าหรือเท่ากับ
a <= b a น้อยกว่าหรือเท่ากับ b
==
เท่ากับ
a == b a เท่ากับ b
!=
ไม่เท่ากับ
a != b a ไม่เท่ากับ b
เปรียบเทียบค่าทางตรรกะ( และ หรือ ไม่)
เครื่องหมาย
ความหมาย
ตัวอย่าง
&&
และ
x < 60 && x > 50 กำหนดให้ x มีค่าในช่วง 50 ถึง 60
||
หรือ
x == 10 || x == 15 กำหนดให้ x มีค่าเท่ากับตัวเลข 2 ค่า คือ 10 หรือ 15
!
ไม่
x = 10 !x กำหนดให้ x ไม่เท่ากับ 10


คำสั่งifและelse
if (การเปรียบเทียบ)
สิ่งที่ต้องการให้ทำเมื่ิอผลการเปรียบเทียบเป็นจริง
else
สิ่งที่ต้องการให้ทำเมื่ิอผลการเปรียบเทียบเป็นเท็จ

การทำซ้ำมีคำสั่ง3คำสั่ง
1. คำสั่ง for มีการกำหนดรอบที่แน่นอน
for ( เงื่อนไข )
for (count=0;count<10;count++ )
2. คำสั่ง while มีการไม่กำหนดรอบที่แน่นอน
while ( เงื่อนไข )
{
กลุ่มคำสั่งที่ต้องการทำซ้ำ
}
3. คำสั่ง do…while มีการไม่กำหนดรอบที่แน่นอนและทำคำสั่งใน{}ก่อน
do
{
กลุ่มคำสั่ง
}

while ( เงื่อนไข )
{
กลุ่มคำสั่งที่ต้องการทำซ้ำ
}

ข้อมูลจาก
คู่มือเขียนโปรแกรมCด้วยภาษาซี
ตารางมาจาก
http://www.lks.ac.th/kuanjit/c_page02.htm

7 ความคิดเห็น:

  1. ไม่ระบุชื่อ3 สิงหาคม 2554 เวลา 00:18

    โปรแกรมสูตรคุณแม่ต่างๆ โดยรับค่าตัวเลขแม่สูตรคูณแม่นั้นเข้ามา

    #include"stdio.h"
    int main(void)
    {
    int i,n,b;
    i=1;
    printf("Please enter number : ");
    scanf("%d",&n);
    for(i=1;i<=12;i++)
    {
    b=n*i;
    printf("%d x %d = %d\n",n,i,b);
    }
    return 0;
    }


    แสดงผล
    Please enter number : 5
    5x1=5
    5x2=10
    5x3=15
    5x4=20
    5x5=25
    5x6=30
    5x7=35
    5x8=40
    5x9=45
    5x10=50
    5x11=55
    5x12=60


    (หัสรา วัจนะรัตน์ 5401011620542)

    ตอบลบ
  2. วีรศักดิ์ ดังชนกนันท์3 สิงหาคม 2554 เวลา 18:22

    #include
    int main(void)
    {
    int count, n;

    printf("Enter integer :");
    scanf("%d",&n);

    count = 0;
    printf("\n\n");

    while(count<n)
    {
    printf("\t%d",count);
    count++;
    }
    }

    แสดงผล

    Enter integer : 5
    0 1 2 3 4

    ตอบลบ
  3. #include

    int main(void)
    {
    int A = 1, B = 2,C = 7;

    A += B * 5;
    C = B++ - 3;

    while(B >= 3)
    {
    for (A = 0; A < B; A++)
    {
    C = B - 1;
    A = C-- + B;
    }
    B--;
    }
    printf("\n\tA = %d\n",A);
    printf("\n\tB = %d\n",B);
    printf("\n\tC = %d",C);
    return 0;
    }
    ผลที่ได้
    A = 6
    B = 2
    C = 1
    (นาย เบญจพล ศรีสันติธรรม 54-010116-2059-3๗

    ตอบลบ
  4. ไม่ระบุชื่อ5 สิงหาคม 2554 เวลา 00:09

    ทบทวน do while
    #include"stdio.h"
    int main (void)
    {
    int i = 0;
    do
    {
    printf("Enter positive : ");
    scanf("%d",&i);
    }
    while(i>0);
    return 0;
    }
    ผล
    5
    5
    8
    -9

    นายประวีร์ แสงทอง 54-01016-2032-1

    ตอบลบ
  5. ไม่ระบุชื่อ5 สิงหาคม 2554 เวลา 10:24

    #include
    int main ()
    {
    int flag,row,col,row1,count=1;
    printf("Input number flag: ");
    scanf("%d",&flag);
    for(row=flag; row!=0; row--)
    {
    for(col=1; col<=flag; col++)
    {
    if(row<=col)
    {
    printf("*");
    if(row==col)
    {
    for(row1=count;row1!=0;row1--)
    printf("*");
    }
    }
    else
    printf(" ");
    }
    printf("\n");
    count++;
    }
    }
    ผลถ้าเราใส่เลข3
    **
    ****
    ******
    (นาย ปลวัชร เปรมสิริอำไพ 54-010116-2033-0)

    ตอบลบ
  6. #include
    float average(float a,float b,float c);
    int main(void)
    {
    int i;
    float sum,a,b,c;
    printf("Please enter your score A B C=\t\n");
    scanf("%f%f%f",&a,&b,&c);
    sum=average(a,b,c);
    printf("Average is = %f\n",sum);
    if(sum>a)
    printf("A lower mean\n");
    else
    printf("A over mean\n");
    if(sum>b)
    printf("B lower mean\n");
    else
    printf("B over mean\n");
    if(sum>c)
    printf("C lower mean\n");
    else
    printf("C over mean\n");
    return 0;
    }
    float average(float a,float b,float c)
    {
    float sum=0;
    sum=(a+b+c)/3;
    return sum;
    }
    ศราวุฒิ คำเมือง 54-010116-2049-6

    ตอบลบ
  7. #include"stdio.h"
    int main(void)
    {
    int i,n,b;
    i=1;
    printf("Please enter number : ");
    scanf("%d",&n);
    for(i=1;i<=12;i++)
    {
    b=n*i;
    printf("%d x %d = %d\n",n,i,b);
    }
    return 0;
    }


    แสดงผล
    Please enter number : 10
    10x1=10
    10x2=20
    10x3=30
    10x4=40
    10x5=50
    10x6=60
    10x7=70
    10x8=80
    10x9=90
    10x10=100
    10x11=110
    10x12=120
    (นายอาภากร กัณหา 54-010116-2062-3)

    ตอบลบ