กฏการตั้งชื่อและคำสงวน
กฎการตั้งชื่อ
ชื่อประกอบขึ้นจากตัวอักขระ ตัวเลข และขีดเส้นใต้ เท่านั้น
ชื่อจะขึ้นต้นด้วยตัวอักขระ และขีดเส้นใต้เท่านั้น
ตัวพิมพ์ใหญ่ ตัวพิมพ์เล็ก ถือเป็นอักขระคนละตัวกัน
ความยาวไม่เกิน 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;
รหัสแอสกี
รูปแบบของภาษา
โครงสร้างของภาษาซีมีลักษณะดังนี้ โดยโปรแกรมจะทำงานจากบรรทัดบนลงไปตามลำดับ
#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;
}