กฏการตั้งชื่อและคำสงวน
กฎการตั้งชื่อ
- ชื่อประกอบขึ้นจากตัวอักขระ ตัวเลข และขีดเส้นใต้ เท่านั้น
- ชื่อจะขึ้นต้นด้วยตัวอักขระ และขีดเส้นใต้เท่านั้น
- ตัวพิมพ์ใหญ่ ตัวพิมพ์เล็ก ถือเป็นอักขระคนละตัวกัน
- ความยาวไม่เกิน 31 ตัว
- ชื่อจะต้องไม่ซ้ำกับคำสงวน
คำสงวน
auto double int struct break else long switch case enum register typedef char extern return union const float short unsigned continue for signed void default goto sizeof volatile do if static while
ตัวอย่างการตั้งชื่อตัวแปร
int num1; int num2 = 10; int num3,num4,num5; char c; char d = ‘A’; char e,f,g; float real; float real2 = 10.9872; float real3,real4,real5;
รหัสแอสกี
ชนิดของข้อมูล (Data Type)
ชื่อชนิดข้อมูล | หน่วยความจำ | ขอบเขตข้อมูล |
char | 1 ไบต์ | อักขระ 1 ตัว หรือเลขจำนวนเต็ม -128 – 127 |
short | 2 ไบต์ | เลขจำนวนเต็ม -32768 – 32767 |
int | 2 หรือ 4 ไบต์ | เลขจำนวนเต็ม -32768 – 32767 หรือ -2147483648 – 2147483647 |
long | 4 ไบต์ | เลขจำนวนเต็ม -2147483648 – 2147483647 |
float | 4 ไบต์ | 1.2E-38 – 3.4E+38 (6 ตำแหน่ง) |
double | 8 ไบต์ | 2.3E-308 – 1.7E+308 (15 ตำแหน่ง) |
unsigned int | 2 หรือ 4 ไบต์ | เลขจำนวนเต็ม 0 – 65535 หรือ 0 – 4294967295 |
long double | 10 ไบต์ | 3.4E-4932 – 1.1E+4932 (18 ตำแหน่ง) |
อักขระพิเศษ (Escape Character)
อักขระพิเศษที่ใช้แสดงผลลัพธ์ | อักขระพิเศษที่ใช้ในการแสดงผล | ||
รูปแบบ | ความหมาย | รูปแบบ | ความหมาย |
%c | อักขระ | \n | ขึ้นบรรทัดใหม่ |
%d | จำนวนเต็ม | \t | เว้น 1 แท็บ |
%i | จำนวนเต็ม | \0 | ค่าว่าง |
%f | จำนวนจริง | \\ | พิมพ์ \ |
%s | ข้อความหรือสายอักขระ | \’ | พิมพ์ ‘ |
%o | เลขฐานแปด | \” | พิมพ์ “ |
%x | เลขฐานสิบหก | %% | พิมพ์ % |
%u | ตัวเลขแบบไม่คิดเครื่องหมาย | ||
%e | ตัวเลขแบบเอ็กซ์โปเนนเชียล | ||
%ld | จำนวนเต็มชนิด long | ||
%hd | จำนวนเต็มชนิด short | ||
%lf | จำนวนจริงชนิด double | ||
%Lf | จำนวนจริงชนิด long double |
รูปแบบของภาษา
โครงสร้างของภาษาซีมีลักษณะดังนี้ โดยโปรแกรมจะทำงานจากบรรทัดบนลงไปตามลำดับ
#include<library file> // preprocessor int main(){ //ฟังก์ชันหลักของภาษาจะประกอบไปด้วยการประกาศตัวแปรและคำสั่ง <การประกาศตัวแปร> <คำสั่งต่างๆ> return <ค่าที่ต้องการส่งกลับ>; }
มักจะเขียนในรูปแบบดังต่อไปนี้
#include<stdio.h> #include<conio.h> int main(){ การประกาศตัวแปร และคำสั่งต่างๆ getch(); return 0; }
คำสั่งการแสดงผล และรูปแบบการแสดงผลลัพธ์
- printf(“ข้อความหรืออักขระพิเศษ”,ตัวแปร, …);
- putc(‘อักขระ’ หรือตัวแปร char ,stdout);
- putchar(‘อักขระ’ หรือตัวแปร char);
- puts(“ข้อความ” หรือตัวแปรสตริง);
ลองบันทึกผลลัพธ์จากโปรแกรมตัวอย่างเหล่านี้
ตัวอย่าง 1 int main(){#include<stdio.h> printf("Hello first program\n"); printf("number = %d\n",100); printf("num2 = %f\n",10.234); printf("char is %c\n",'A '); printf("string = %s\n","I love C"); return 0; } ตัวอย่าง 2 #include<stdio.h> int main(){ printf("num1 = %10d\n",100); printf("num2 = %-10d\n",100); printf("num3 = %10.2f\n",10.234567); printf("num4 = %-10.2f\n",10.234567); return 0; } ตัวอย่าง 3 #include<stdio.h> #include<conio.h> int main(){ char a[10]="POSN"; char b='M'; puts("Programming is easy"); puts(a); putchar('S');putchar('\t'); putc('A',stdout);putc(b,stdout); putc('\n',stdout); getch(); return 0; }
คำสั่งรับค่า
กรณีตัวเลข
scanf(“อักขระพิเศษ”,&ตัวแปร, ...);
กรณีตัวแปรอักขระ
scanf(“อักขระพิเศษ”,&ตัวแปร, ...); ตัวแปร = getchar(); ตัวแปร = getc(stdin); ตัวแปร = getche(); ตัวแปร = getch();
กรณีตัวแปรสตริง
scanf(“อักขระพิเศษ”,ตัวแปร, ...); gets(“ข้อความ”หรือตัวแปรสตริง);
ลองบันทึกผลลัพธ์จากโปรแกรมตัวอย่างต่อไปนี้ดูนะครับ
ตัวอย่างที่ 4 เมื่อป้อนตัวเลข 4 จำนวน
#include<stdio.h> int main(){ int num1,num2; float num3,num4; scanf("%d",&num1); scanf("%d",&num2); scanf("%f",&num3); scanf("%f",&num4); printf("num1 = %d\nnum2 = %d\n",num1,num2); printf("num3 = %f\nnum4 = %.2f\n",num3,num4); return 0; }
ตัวอย่างที่ 5 เมื่อป้อนตัวเลข 4 จำนวน
#include<stdio.h> int main(){ int num1,num2; float num3,num4; scanf("%d%d",&num1,&num2); scanf("%f%f",&num3,&num4); printf("num1 = %d\nnum2 = %d\n",num1,num2); printf("num3 = %-9.3f\nnum4 = %10.2f\n",num3,num4); return 0; }
ตัวอย่างที่ 6 เมื่อป้อนอักขระ 1 ตัว
#include<stdio.h> int main(){ char c; c=getc(stdin); putc(c,stdout); return 0; }
ตัวอย่างที่ 7 เมื่อป้อนอักขระ 1 ตัว
#include<stdio.h> int main(){ char c; c=getchar(); putchar(c); return 0; }
ตัวอย่างที่ 8 เมื่อป้อนอักขระ 1 ตัว
#include<stdio.h> int main(){ char c; c=getche(); putchar(c); return 0; }
ตัวอย่างที่ 9 เมื่อป้อนอักขระ 1 ตัว
#include<stdio.h> int main(){ char c; c=getch(); putchar(c); return 0; }
ตัวอย่างที่ 10 เมื่อป้อนอักขระ 1 ตัว
#include<stdio.h> int main(){ char a; scanf("%c",&a); printf("%c\n",a); return 0; }
ตัวอย่างที่ 11 เมื่อป้อนอักขระ 1 ตัว
#include<stdio.h> int main(){ char a; scanf("%c",&a); printf("%d\n",a); return 0; }
ตัวอย่างที่ 12 เมื่อป้อนตัวเลขในช่วง 65-90 , 97-122
#include<stdio.h> int main(){ char a; scanf("%d",&a); printf("%c\n",a); return 0; }
ตัวอย่างที่ 13 เมื่อป้อนข้อความ เช่น ชื่อนามสกุล
#include<stdio.h> int main(){ char str[50]; scanf("%s",str); printf("%s\n",str); return 0; }
ตัวอย่างที่ 14 เมื่อป้อนข้อความ เช่น ชื่อนามสกุล
#include<stdio.h> int main(){ char str[50]; gets(str); printf("%s\n",str); return 0; }
Once we accept our limits, we go beyond them.
เมื่อเรายอมรับในข้อจำกัดของตัวเอง แสดงว่าเราได้ก้าวล่วงข้อจำกัดนั้นไปแล้ว
อัลเบิร์ต ไอน์สไตน์
เครื่องหมายการคำนวณและตรรกะ
เครื่องหมาย = เป็นการกำหนดค่าให้กับตัวแปร โดยที่ด้านขวาของเครื่องหมาย = จะเป็นตัวแปรเท่านั้น
a = 10; b = a; c = a+b;
กลุ่มเครื่องหมาย +-*/% โดยที่ เครื่องหมาย % จะใช้ได้เฉพาะจำนวนเต็มเท่านั้น
ตัวอย่างที่ 15
#include<stdio.h> int main(){ int a,b; scanf("%d%d",&a,&b); printf("%d+%d = %d\n",a,b,a+b); printf("%d-%d = %d\n",a,b,a-b); printf("%d*%d = %d\n",a,b,a*b); printf("%d/%d = %d\n",a,b,a/b); printf("%d%%%d = %d\n",a,b,a%b); return 0; }
ตัวอย่างที่ 16
#include<stdio.h> int main(){ int a,b,c; scanf("%d%d%d",&a,&b,&c); printf("%d+%d*%d = %d\n",a,b,c,a+b*c); printf("%d/%d*%d = %d\n",b,a,c,b/a*c); printf("%d-%d+%d = %d\n",c,a,b,c-a+b); return 0; }
กลุ่มเครื่องหมาย += -= *= /= %= โดยที่ เครื่องหมาย % จะใช้ได้เฉพาะจำนวนเต็มเท่านั้น
ตัวอย่างที่ 17
#include<stdio.h> int main(){ int a=100; printf("a+=20 : %d\n",a+=20); printf("a-=20 : %d\n",a-=20); printf("a*=20 : %d\n",a*=20); printf("a/=20 : %d\n",a/=20); printf("a%%=3 : %d\n",a%=3); return 0; }
ตัวอย่างที่ 18
#include<stdio.h> int main(){ int a=10,b; scanf("%d",&b); printf("a+=b : %d\n",a+=b); printf("a-=b : %d\n",a-=b); printf("a*=b : %d\n",a*=b); printf("a/=b : %d\n",a/=b); return 0; }
กลุ่มเครื่องหมาย ++ —
ตัวอย่างที่ 19
#include<stdio.h> int main(){ int a=10; printf("a = %d\n",a); printf("a++ = %d\n",a++); printf("a = %d\n",a); a=10; printf("a = %d\n",a); printf("++a = %d\n",++a); printf("a = %d\n",a); return 0; }
ตัวอย่างที่ 20
#include<stdio.h> int main(){ int a=5; printf("a = %d\n",a); printf("a-- = %d\n",a--); printf("a = %d\n",a); a=5; printf("a = %d\n",a); printf("--a = %d\n",--a); printf("a = %d\n",a); return 0; }
กลุ่มเครื่องหมาย == != > < >= <=
ตัวอย่างที่ 21
#include<stdio.h> int main(){ int a,b; scanf("%d%d",&a,&b); printf("a==b : %d\n",a==b); printf("a!=b : %d\n",a!=b); printf("a>b : %d\n",a>b); printf("a>=b : %d\n",a>=b); printf("a<b : %d\n",a<b); printf("a<=b : %d\n",a<=b); return 0; }
กลุ่มเครื่องหมาย && || !
ตัวอย่างที่ 22
#include<stdio.h> int main(){ int a,b; scanf("%d%d",&a,&b); printf("a==b&&a>=b : %d\n",a==b&&a>=b); printf("a!=b||a<b : %d\n",a!=b||a<b); printf("!a : %d\n",!a); printf("!b : %d\n",!b); return 0; }
No Comments