ผมก็กะลังเรียนอ่ะนะคับ
เป็นความรู้มากมายเหมือนกกันนะ
ขอบคุณคับ
ผมก็กะลังเรียนอ่ะนะคับ
เป็นความรู้มากมายเหมือนกกันนะ
ขอบคุณคับ
ว้าวๆๆ สุดยอดครับ! กำลังมองหาที่เรียนอยู่พอดีเลยอ่ะ
ผมลองเค้าไปหาในหมวดต่างๆแต่ก้อเข้าม่ายด้ายอ่ะ
กระทู้นี้สิแหล่มเลย ไม่ต้องมีพีธีรีตอง เข้ามาก้ออ่านได้เลย :P
อืม.. ผมอยากจะทราบว่าในตำราการเรียนเนี่ย มีการสอนภาษาC มั๊ยครับ?
หรือว่าต้องศึกษากันเอาเอง เหอๆ แต่ไม่เป็นไรอย่างน้อยผมก้อมีที่เรียนแล้วหละ 55+
ขอขอบพระคุณอย่างสูง สำหรับวิชาความรู้ที่เอามาแบ่งปันกันนะครับ
C++ พัฒนามาต่อยอดมาจากภาษา C นี่แหละคับ ดังนั้น สิ่งที่ C ทำได้ C++ ทำได้ทุกอย่าง และจะเพิ่มขึ้นมาจาก C มากพอสมควรซะด้วยขอบคุณมากครับ กาลังอยากศึกษาอยู่พอดีเลย เคยเรียนแต่
ภาษาอื่น ยังไม่เคยได้ลองเรียนภาษา C เลย
ว่าแต่ภาษา C นี้จะนำไปใช้กับงานประเภทไหนซะส่วนใหญ่ละครับ
มันต่างกับ C++ มากไหมครับ
[/b]
อย่างเช่้น
- เพิ่ม STL (standard template library) ex. vecter , list , map. etc
- ปรับปรุงการเรียกใช้ memory ได้ดีขึ้น ใช้คำสั่ง new - delete ได้ แทนคำสั่งเก่าคือ malloc , free
- สร้าง class ได้ครับ อันนี้สุดยอด
- รองรับ OOP progaming (Object orien programing) หรือการโปรแกรมแบบเชิงวัตถุ
ยังมีอีกมากที่ต่างกันนะคับ ผมยกมาหมดไม่ไหว ไงก็ลองไปหาหนังสือมาลองศึกษาดูนะคับ![]()
ปล. ศัพท์อังกฤษที่ใช้เป็นศัพท์เฉพาะ ผมเรียนมาผมก็พูดทับศัพท์ไปเลย เลยไม่รู้จะแปลเป็นไทยยังไงนะคับ ^^"
thank
ก่อนอื่นก็ต้องขอขอบคุณนะครับ สำหรับ บทความดีๆ อย่างนี้
งั้นก็แสดงว่า ภาษา C++ มีความยืดหยุ่น และความหลากหลายในการเขียนโปรแกรมมากกว่า สิครับ แสดงว่า code ก็ต้องซับซ้อนมากกว่าภาษา c มากว่าด้วย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 เป็นของตัวเองเช่น
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 ตัวเองได้เท่านั้น
void start(){
printf("i = %d", value);
}
int main(int argv, char * argv[]){
int value = 9;
start();
}
[/b]
แล้วถ้าเราต้องการให้ ตัวแปรนี้ ทำงานในฟังก์ชันอื่นๆ ได้ล่ะ
เป็นคำถามที่หลายๆ คนนั้นต้องการเราจะทำได้ด้วยการส่งค่าพวกนี้ไปใหนฟังก์ชันที่เราทำงานครับเด่วจะต่อใน Post หน้าแล้วกันนะ
O
bi
con
big
ในบทนี่จะต่อจากบทที่แล้วนะครับ คือการส่งค่า parameter ผ่าน ไปให้ function อื่นๆ ได้นั้นเองครับ โดยจะให้ สังเกตดังนี้ครับ
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 ของผมจึงเขียนว่า...
start(value);
...
[/b]
สังเกตว่าผมจะต้องรู้เลยก่อนว่า value เป็นตัวแปลประเภทใหน เวลารับต้องรับ data type ของ ตัวแปล value ให้ถูก ถ้าไม่ถูกเช่น
void start(int value){
...
[/b]
อาจเกิด Error หรือ warning ตามมาได้เพราะ C เองนั้นเวลาที่เราเขียนโปรแกรมเราทำงานไกล้ๆ กับ เครื่องเลยไม่ได้มีอะไรซับซ้อนมาก(ความสนุกมันอยุ่ที่ตรงนี้แหละคัรบ คิดดูว่ารัน อยู่บน ram อ่านข้อมูลบน ram ทำอะไรก็ได้ คิคิ) Operating หลายๆ ตัว ก็ C ทั้งดุ้นเลยน่ะครับ
void start(char value){
...
[/b]
Post ต่อไปจะเขียนถึงการส่งค่าคืนนะครับ
O
bi
con
big
Post นี้เป็นการ ทำงานของ fucntion ต่อนะครับ
ตามที่เราได้เขียนมา คือเรานั้นส่งข้อมูลจาก funtion หนึ่งไปให้ อีก functino หนึ่งได้ แต่การทำงานหลายงานนั้นต้องการผลลัพท์จาก function ต่างๆ เช่นการคำนวณเป็นต้นนะครับ เราจะมาส่ง แบบนั้นกัน
จะเห็นได้ว่าเรา จะบอกด้วยนะครับว่าเราจะ return เป็น data type แบบใด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]
แล้ว เวลารับ ก็ต้องรับให้ถูกต้องด้วยint mul(int value, int cost){
...
[/b]
....
int total;
total = start(mama, mama_cost);
....
[/b]
ก็จะมีหลายๆ คำถามนะครับแล้วเราสารมารถที่ตะส่งค่ากลัยมาหลายๆตัสได้ใหม คำตแบเดียวคือไม่ได้นะครับ จะเห็นได้ว่าการเขียน function C นั้นเป็น function 1-1 ในคณิตศาสตร์นะครับ คิคิ
แต่การที่เราจะ แอบๆ รอบๆ มันก็มี นะครับ เช่นการทำ เป็น structure หรือ การส่งด้วย Pointer ครับ
อาจารย์ผมเคยบอกไว้ว่าการเขียนโปรแกรมจิงๆ คือการเอาตัวเลขมาทำงานให้ได้ แต่มี C มาเพราะเป้นชุดตัวเลขสำเร็จรูปไว้ให้ใช้
มันก็จริงใช่มะ
O
bi
con
big
เอ่อ...ผมเพิ่งหัดเขียนหนะครับ ผมลองใช้ 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
Actions : (View-Readers)
There are no names to display.