ผมก็กะลังเรียนอ่ะนะคับ
เป็นความรู้มากมายเหมือนกกันนะ
ขอบคุณคับ
Printable View
ผมก็กะลังเรียนอ่ะนะคับ
เป็นความรู้มากมายเหมือนกกันนะ
ขอบคุณคับ
ว้าวๆๆ สุดยอดครับ! กำลังมองหาที่เรียนอยู่พอดีเลยอ่ะ
ผมลองเค้าไปหาในหมวดต่างๆแต่ก้อเข้าม่ายด้ายอ่ะ
กระทู้นี้สิแหล่มเลย ไม่ต้องมีพีธีรีตอง เข้ามาก้ออ่านได้เลย :P
อืม.. ผมอยากจะทราบว่าในตำราการเรียนเนี่ย มีการสอนภาษาC มั๊ยครับ?
หรือว่าต้องศึกษากันเอาเอง เหอๆ แต่ไม่เป็นไรอย่างน้อยผมก้อมีที่เรียนแล้วหละ 55+
ขอขอบพระคุณอย่างสูง สำหรับวิชาความรู้ที่เอามาแบ่งปันกันนะครับ
C++ พัฒนามาต่อยอดมาจากภาษา C นี่แหละคับ ดังนั้น สิ่งที่ C ทำได้ C++ ทำได้ทุกอย่าง และจะเพิ่มขึ้นมาจาก C มากพอสมควรซะด้วยQuote:
ขอบคุณมากครับ กาลังอยากศึกษาอยู่พอดีเลย เคยเรียนแต่
ภาษาอื่น ยังไม่เคยได้ลองเรียนภาษา C เลย
ว่าแต่ภาษา C นี้จะนำไปใช้กับงานประเภทไหนซะส่วนใหญ่ละครับ
มันต่างกับ C++ มากไหมครับ
[/b]
อย่างเช่้น
- เพิ่ม STL (standard template library) ex. vecter , list , map. etc
- ปรับปรุงการเรียกใช้ memory ได้ดีขึ้น ใช้คำสั่ง new - delete ได้ แทนคำสั่งเก่าคือ malloc , free
- สร้าง class ได้ครับ อันนี้สุดยอด
- รองรับ OOP progaming (Object orien programing) หรือการโปรแกรมแบบเชิงวัตถุ
ยังมีอีกมากที่ต่างกันนะคับ ผมยกมาหมดไม่ไหว ไงก็ลองไปหาหนังสือมาลองศึกษาดูนะคับ B)
ปล. ศัพท์อังกฤษที่ใช้เป็นศัพท์เฉพาะ ผมเรียนมาผมก็พูดทับศัพท์ไปเลย เลยไม่รู้จะแปลเป็นไทยยังไงนะคับ ^^"
thank
ก่อนอื่นก็ต้องขอขอบคุณนะครับ สำหรับ บทความดีๆ อย่างนี้
งั้นก็แสดงว่า ภาษา C++ มีความยืดหยุ่น และความหลากหลายในการเขียนโปรแกรมมากกว่า สิครับ แสดงว่า code ก็ต้องซับซ้อนมากกว่าภาษา c มากว่าด้วยQuote:
C++ พัฒนามาต่อยอดมาจากภาษา C นี่แหละคับ ดังนั้น สิ่งที่ C ทำได้ C++ ทำได้ทุกอย่าง และจะเพิ่มขึ้นมาจาก C มากพอสมควรซะด้วย
อย่างเช่้น
- เพิ่ม STL (standard template library) ex. vecter , list , map. etc
- ปรับปรุงการเรียกใช้ memory ได้ดีขึ้น ใช้คำสั่ง new - delete ได้ แทนคำสั่งเก่าคือ malloc , free
- สร้าง class ได้ครับ อันนี้สุดยอด
- รองรับ OOP progaming (Object orien programing) หรือการโปรแกรมแบบเชิงวัตถุ
ยังมีอีกมากที่ต่างกันนะคับ ผมยกมาหมดไม่ไหว ไงก็ลองไปหาหนังสือมาลองศึกษาดูนะคับ[/b]
ผมเข้าใจถูกใช้ไหมครับ แล้วถ้า ในปัจจุบันแล้ว โปรแกรมที่ออกมาใหม่ๆ จะตอบสนองความต้องการของผู้ในด้าน หน้าตาและการโต้ตอบของโปรแกรมด้วยแล้ว ... C++ จะดีกว่าภาษา C มากไหมครับ
เอออีกเรื่องหนึ่งนะครับ มันยังมีภาษา C# ออกมาด้วย ใครที่รู้ช่วยอธิบายหน่อยนะครับ ว่าตัวไหนดีกว่า กัน ระหว่าง C++ กับ C# ครับ
เพราะผมลองเขียน C# แล้วมันเหมือนกับการเอาภาษา Basic เข้ามาร่วมด้วยครับ งงดี
หุหุ ใหนๆ ก็มีคนเปิดประเด็นเรื่อง ภาษา C แล้ว ผมซึ่งเป็นเด็กใหม่เลยขอมาแบ่งความรู้แล้วกันนะคัรบ
จากที่มีคนได้พูดถึงพื้นฐานของ C ไปแล้วตอนนี้เราจะมาเริ่มเขียนโปรแกรมนะครับ
สิ่งที่ผมจะแชร์เป็นเทคนิคนะครับอาจไม่เรียงกัน แบบเริ่มต้น ไปถึง advance จะปนๆ ไปเรื่อยๆนิดนึง
ผมเองนั้นจะเริ่มด้วยการเขียน function แล้วกันนะครับ
Function ในภาษา C นั้นบางคนเรียก subroutine, procedure ในบางคนนะครับซึ่งต่างๆ นานา เหล่านี้จะหมายความถึงโปรแกรมย่อยนั่นเอง โดยใน function นั้นจะเป็นโปรแกรมย่อยซึ่งมี enviroment เป็นของตัวเองเช่น
Quote:
void start(){
printf("Hello World!!\n");
}
int main(int argv, char * argv[]){
start();
}
[/b]
เมื่อเราทำการรันโปรแกม โปรแกรมจะเริ่มทำงานที่ function main ก่อนเมื่อมาถึง start(); ใน function main ก็จะไปเรียก function start ทำงาน
ต่อไปเป็นการ Test เรื่อง environment นะครับ การที่เราจะรู้ได้ว่าใช้ enviroment ซึ่งในโปรแกรมจะหมายถึง ตัวแปรที่เราจะนำมาใช้ได้นะครับจะแยกออกจากกัน เช่น
จะไม่สามารถทำได้นะครับ การที่เราสร้าง ตัวแปรออกมา ในที่นี้คือตัวแปร value จะสามารถใช้ได้ภายใน function ตัวเองได้เท่านั้นQuote:
void start(){
printf("i = %d", value);
}
int main(int argv, char * argv[]){
int value = 9;
start();
}
[/b]
แล้วถ้าเราต้องการให้ ตัวแปรนี้ ทำงานในฟังก์ชันอื่นๆ ได้ล่ะ
เป็นคำถามที่หลายๆ คนนั้นต้องการเราจะทำได้ด้วยการส่งค่าพวกนี้ไปใหนฟังก์ชันที่เราทำงานครับเด่วจะต่อใน Post หน้าแล้วกันนะ
ในบทนี่จะต่อจากบทที่แล้วนะครับ คือการส่งค่า parameter ผ่าน ไปให้ function อื่นๆ ได้นั้นเองครับ โดยจะให้ สังเกตดังนี้ครับ
Quote:
void start(int value){
int mama = 5;
printf("mama = % Bath.", mama);
}
int main(int argc, char * argv[]){
int value = 8;
start(value);
}
[/b]
สังเกตุได้จากสีนะครับสีเขียวนั้นเราคงเดาได้นะครับว่า มันคือ data type นั้นเองแปลเป็นไทยแบบตรงตัวคือรูปแบบของข้อมูลนั่นเองนะคัรบ
การที่เราต้องบอกข้อมูลที่จะต้องรับเพราะ C นั้นมีคุณสมบัติอย่างนึงที่ programmer คนควรจะมีคือเราต้องรู้ว่าที่ส่งไปคืออะไรแล้วรับข้อมูลนั้นให้ถูก(ง่ายๆคือเขียนให้ถูกต้องหมด)
สีเหลืองคือ ชื่อของ function ที่เราตั้งขึ้นมาอยู่ใน scope ที่ว่าเป็นอังขระไม่มีตัวเลขนำหน้าเป็นตัวแรกครับ ข้อแม้พวกนี้คราวหลังจะเอามาให้ดูครับถ้าไม่ลืม
คราวนี้มาถึงสีฟ้า ซึ่งเป้นจุดเด่นในหมวดนี้นะครับ สีฟ้านี้คือชื่อของ agument นั้นเองครับ จะเห็นว่าผมเขียนว่า
ซึ่งผมจะหมายถึงเรียก function start โดยส่ง ตัวแปล value ไปนั่นเอง ดังนั้น function start ของผมจึงเขียนว่าQuote:
...
start(value);
...
[/b]
สังเกตว่าผมจะต้องรู้เลยก่อนว่า value เป็นตัวแปลประเภทใหน เวลารับต้องรับ data type ของ ตัวแปล value ให้ถูก ถ้าไม่ถูกเช่นQuote:
void start(int value){
...
[/b]
อาจเกิด Error หรือ warning ตามมาได้เพราะ C เองนั้นเวลาที่เราเขียนโปรแกรมเราทำงานไกล้ๆ กับ เครื่องเลยไม่ได้มีอะไรซับซ้อนมาก(ความสนุกมันอยุ่ที่ตรงนี้แหละคัรบ คิดดูว่ารัน อยู่บน ram อ่านข้อมูลบน ram ทำอะไรก็ได้ คิคิ) Operating หลายๆ ตัว ก็ C ทั้งดุ้นเลยน่ะครับQuote:
void start(char value){
...
[/b]
Post ต่อไปจะเขียนถึงการส่งค่าคืนนะครับ
Post นี้เป็นการ ทำงานของ fucntion ต่อนะครับ
ตามที่เราได้เขียนมา คือเรานั้นส่งข้อมูลจาก funtion หนึ่งไปให้ อีก functino หนึ่งได้ แต่การทำงานหลายงานนั้นต้องการผลลัพท์จาก function ต่างๆ เช่นการคำนวณเป็นต้นนะครับ เราจะมาส่ง แบบนั้นกัน
จะเห็นได้ว่าเรา จะบอกด้วยนะครับว่าเราจะ return เป็น data type แบบใดQuote:
int mul(int value, int cost){
return (value*cost);
}
int main(int argc, char * argv[]){
int mama = 4;
int mama_cost = 5;
int total;
total = start(mama, mama_cost);
printf("mama %d song each song = %d Bath\n",mama ,mama_cost);
printf("Total = %d Bath\n",total );
}
[/b]
แล้ว เวลารับ ก็ต้องรับให้ถูกต้องด้วยQuote:
int mul(int value, int cost){
...
[/b]
Quote:
....
int total;
total = start(mama, mama_cost);
....
[/b]
ก็จะมีหลายๆ คำถามนะครับแล้วเราสารมารถที่ตะส่งค่ากลัยมาหลายๆตัสได้ใหม คำตแบเดียวคือไม่ได้นะครับ จะเห็นได้ว่าการเขียน function C นั้นเป็น function 1-1 ในคณิตศาสตร์นะครับ คิคิ
แต่การที่เราจะ แอบๆ รอบๆ มันก็มี นะครับ เช่นการทำ เป็น structure หรือ การส่งด้วย Pointer ครับ
อาจารย์ผมเคยบอกไว้ว่าการเขียนโปรแกรมจิงๆ คือการเอาตัวเลขมาทำงานให้ได้ แต่มี C มาเพราะเป้นชุดตัวเลขสำเร็จรูปไว้ให้ใช้
มันก็จริงใช่มะ
เอ่อ...ผมเพิ่งหัดเขียนหนะครับ ผมลองใช้ VC++ 2008 ครับ คอมไฟล์แล้วมันก็ Error อ่ะครับ ดูโค๊ดแล้วก็ถูกหมดนะครับ
ไม่รู้ว่าโปรแกรมมันซับซ้อนไปหรือเปล่าครับ (เพราะเห็นโปรแกรมสามารถสร้างส่วนของ Header เองได้ด้วย)
แล้วผมก็ไม่สามารถเรียก Header ของ stdio.h ได้อ่ะครับ หรือว่าต้องลงตัวเสริมอะไรหรือปล่าวครับ
ถ้าไม่ได้จริงๆคงต้องซื้อหนังสือมาอ่านแล้วหละครับ
"กระทู้นี้ดีมากครับ จะศึกษาต่อไปครับ"
ขอบคุณมากมากครับสำหรับ ประวัติความเป็นมาขอบ C , C++ ผมก็เพิ่งเรื่มต้นเรียน C เหมือนกันครับ
อ่านไปด้วยทำไปด้วยสนุกดีเหมือนกัน ที่สำคัญได้แก้ข้อผิดพลาดด้วยตัวเอง แค่ผิดแค่เครื่องหมาย นั่งไล่อยู่ตั่งนาน
กว่าจะได้ เส้นผมบังภูเขาจริงๆ ไม่ลองไม่รู้ ถึงไม่สะดวกเหมือน Windows ก็ตาม
""""""""""Title"""""""""""""
#include"stdio.h"
main()
{
int a;
float b;
a=50;
b=10.583;
printf("a=%d\n",a );
printf("b=%f\n",b );
printf("a=%05d\n",a );
printf("b=%10.4f\n",b );
printf("b=%-10.4f\n",b );
}
""""""""""""""ผลลัพท์""""""""""""
a=50
b=10.583000
a=00050
b=10.5830
b=10.5830