Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C
การเขียนโปรแกรม C
  1. กฎขอบเขตตัวแปร (Scope Rules) ในภาษา C

    ในภาษา C ขอบเขต (scope) คือบริเวณของโปรแกรมที่ตัวระบุหรือตัวแปรเข้าถึงได้โดยตรง แบ่งเป็น 2 ประเภทหลักตัวแปรกล로บอล (Global Variables)ประกาศนอกฟังก์ชันทุกฟังก์ชัน คงค่าตลอดการทำงานของโปรแกรม เข้าถึงได้จากทุกส่วนตัวอย่าง#include <stdio.h> int s; int main() { int a = 15; int b = 20; s

  2. คำสำคัญ register ในภาษา C

    ตัวแปร register แจ้งคอมไพเลอร์ให้เก็บตัวแปรในรีจิสเตอร์ CPU แทนหน่วยความจำหลัก ตัวแปรที่ใช้บ่อยจะเข้าถึงได้เร็วขึ้น ไม่สามารถ取得ที่อยู่ (address) ของตัวแปร register ได้ขอบเขต (Scope): ภายในฟังก์ชัน (local)ค่าเริ่มต้น (Default value): ค่าขยะ (garbage value)อายุการใช้งาน (Lifetime): จนจบบล็อกที่ประกาศต

  3. เปรียบเทียบ puts() และ printf() สำหรับพิมพ์สตริงใน C

    ฟังก์ชัน puts() และ printf() ประกาศใน stdio.h ใช้ส่งข้อความไปยังเอาต์พุตสตรีม แต่มีการใช้งานและไวยากรณ์ต่างกันputs()พิมพ์สตริงพร้อมเพิ่มตัวขึ้นบรรทัดใหม่ (\n) อัตโนมัติ ง่ายกว่าและรวดเร็วกว่า printf()รูปแบบไวยากรณ์puts(string);หากไม่ต้องการขึ้นบรรทัดใหม่ ใช้ fputs(string, stdout)ตัวอย่าง#include <

  4. การใช้งาน %n ใน printf()

    ในภาษา C %n เป็นตัวระบุรูปแบบพิเศษ ทำให้ printf() บันทึกจำนวนตัวอักษรที่พิมพ์ไปแล้ว (ก่อน %n) ลงในตัวแปรที่ชี้โดยอาร์กิวเมนต์ที่ตรงกัน ไม่ได้พิมพ์อะไรออกมา ต้องใช้ printf() อีกครั้งเพื่อแสดงค่าตัวอย่าง#include <stdio.h> int main() { int s; printf(The value of %ns : , &s); print

  5. วิธีพิมพ์เครื่องหมาย % ด้วย printf()

    โดยทั่วไป printf() ใช้พิมพ์ข้อความพร้อมค่าตัวแปร หากต้องการพิมพ์เครื่องหมาย % เป็นข้อความ ต้องใช้ %% (คู่น้อย) % เดียวจะไม่พิมพ์อะไรและไม่แสดงข้อผิดพลาดตัวอย่าง#include <stdio.h> int main() { printf(%); printf(%%); getchar(); return 0; }ผลลัพธ์%วิธีอื่นๆ#include <stdio.h>

  6. ฟังก์ชัน printf(), sprintf() และ fprintf() ใน C

    printf()พิมพ์ข้อความและค่าตัวแปรไปยังสแตนดาร์ดเอาต์พุต (stdout)รูปแบบไวยากรณ์printf(const char *str, ...);ตัวอย่าง#include <stdio.h> int main() { int a = 24; printf(Welcome! \n); printf(The value of a : %d, a); getchar(); return 0; }ผลลัพธ์Welcome! The value of a : 24sprint

  7. ความแตกต่างระหว่าง getc(), getchar(), getch() และ getche()

    ฟังก์ชันทั้งหมดอ่านตัวอักษรจากอินพุตและคืนค่าเป็นจำนวนเต็ม ใช้ค่า EOF สำหรับกรณีผิดพลาดgetc()อ่านตัวอักษรเดียวจากสตรีมอินพุต คืนค่า EOF หากล้มเหลวรูปแบบไวยากรณ์int getc(FILE *stream);ตัวอย่าง#include <stdio.h> int main() { char val; printf(Enter the character: \n); val = getc(stdin

  8. ฟังก์ชัน strcpy() ใน C/C++

    ฟังก์ชัน strcpy() ใช้คัดลอกสตริงต้นทางไปยังสตริงปลายทาง ประกาศใน string.h (C) หรือ cstring (C++) คืนตัวชี้ไปยังสตริงปลายทางรูปแบบไวยากรณ์char* strcpy(char* dest, const char* src);จุดสำคัญคัดลอกสตริงทั้งหมด แทนที่สตริงปลายทางเดิม (ไม่ได้ต่อท้าย)ไม่เปลี่ยนแปลงสตริงต้นทางตัวอย่าง#include <stdio.h>

  9. ฟังก์ชัน strcmp() ใน C/C++

    ฟังก์ชัน strcmp() ใช้เปรียบเทียบสตริงสองตัวแบบเล็กซิโคกราฟิก (lexicographically) ตัวอักษรทีละตัว ประกาศใน string.hรูปแบบไวยากรณ์int strcmp(const char *leftStr, const char *rightStr);คืนค่า 3 แบบ:0 - สตริงทั้งสองเหมือนกันทุกตัวอักษร 0 - ตัวอักษรที่ต่างกันแรกของสตริงซ้ายมีค่า ASCII มากกว่า< 0 - ตัวอัก

  10. Float และ Double ในภาษา C

    Floatfloat เป็นชนิดข้อมูลสำหรับจำนวนจริง 32 บิต (IEEE 754 single precision) มีความแม่นยำประมาณ 6 ตำแหน่งทศนิยมรูปแบบไวยากรณ์float variable_name;ตัวอย่าง#include <stdio.h> #include <string.h> int main() { float x = 10.327; int y = 28; printf(The float value : %f\n, x); pri

  11. คำสั่ง Goto ใน C/C++

    คำสั่ง goto เป็นคำสั่งกระโดด (jump statement) ใช้กระโดดจากจุดหนึ่งไปยังอีกจุดหนึ่งในฟังก์ชันเดียวกัน ไม่แนะนำให้ใช้ เพราะทำให้โค้ดซับซ้อน ยากต่อการติดตามและแก้ไขรูปแบบไวยากรณ์goto label; ... label: statement;ตัวอย่าง#include <stdio.h> int main() { int a = 10; LOOP: do { if

  12. คำสั่ง Continue ใน C/C++

    คำสั่ง continue ใช้ข้ามการทำงานรอบปัจจุบันของลูป ไปรอบถัดไปทันที ทำงานตรงข้ามกับ breakรูปแบบไวยากรณ์continue;ตัวอย่าง#include <stdio.h> int main() { int a = 50; do { if (a == 55) { a = a + 1; continue; } printf(Value of a: %d\n, a);

  13. คำสั่ง Break ใน C/C++

    คำสั่ง break ใช้หยุดการทำงานของลูปทันทีเมื่อพบเงื่อนไขที่กำหนด โปรแกรมจะกระโดดไปทำงานคำสั่งถัดไปหลังลูป ใช้ใน switch เพื่อจบแต่ละ case ด้วยรูปแบบไวยากรณ์break;ตัวอย่าง#include <stdio.h> int main() { int a = 50; while (a < 60) { if (a == 55) { break; }

  14. เปรียบเทียบ For Loop และ While Loop ในภาษา C

    For Loopลูป for ใช้เมื่อทราบจำนวนรอบการทำงานล่วงหน้า ประกอบด้วย 3 ส่วน: ค่าเริ่มต้น, เงื่อนไข, และการเพิ่ม/ลดค่ารูปแบบไวยากรณ์for (init; condition; increment) { statement(s); }ตัวอย่าง#include <stdio.h> int main() { int a = 5; for (int i = 0; i <= 5; i++) { printf(Value of

  15. แปลงสตริงเป็นตัวพิมพ์ใหญ่ในภาษา C

    ตัวอย่างโปรแกรม= a && s[i] <= z) { s[i] = s[i] - 32; } } printf(\nString in Upper Case = %s, s); return 0; }ผลลัพธ์Enter a string : hello world! String in Upper Case = HELLO WORLD!คำอธิบายโปรแกรมประกาศอาร์เรย์ตัวอักษร s[100] สำหรับเก็บสตริงที่ผู้ใช้ป้อน ใช้ลูป for วนล

  16. อาร์เรย์ (Arrays) ในภาษา C

    อาร์เรย์คือการรวบรวมข้อมูลชนิดเดียวกันไว้ในหน่วยความจำที่ติดกัน ตำแหน่งแรกคือดัชนี 0 และตำแหน่งสุดท้ายคือขนาดลบ 1รูปแบบไวยากรณ์type array_name[array_size];การกำหนดค่าเริ่มต้นtype array_name[array_size] = { elements of array };ตัวอย่าง#include <stdio.h> int main() { int a[5]; int i, j;

  17. สตริง (Strings) ในภาษา C

    สตริงคืออาร์เรย์ของตัวอักษรที่จบด้วยตัวอักษร null (\0) คอมไพเลอร์จะวาง \0 ไว้ท้ายสตริงโดยอัตโนมัติความแตกต่างระหว่างอาร์เรย์ทั่วไปกับสตริงคือ อาร์เรย์ทั่วไปไม่มี \0 ท้ายอาร์เรย์รูปแบบไวยากรณ์char myStr[size];myStr: ชื่อสตริงsize: ขนาดของสตริงการกำหนดค่าเริ่มต้นchar myStr[size] = string; char myStr[s

  18. วิธีใช้ Enum ใน C/C++

    Enum (Enumeration) เป็นชนิดข้อมูลที่ผู้ใช้กำหนดเอง (user-defined datatype) ใช้กำหนดชื่อให้กับค่าคงที่จำนวนเต็ม ทำให้โปรแกรมอ่านและบำรุงรักษาง่ายขึ้น ใช้คำสำคัญ enum ในการประกาศรูปแบบไวยากรณ์enum enum_name { const1, const2, ... };มีสองวิธีประกาศตัวแปรแบบ enum:enum week { sunday, monday, tuesday, wedn

  19. ฟังก์ชัน iswlower() ใน C/C++

    ฟังก์ชัน iswlower() ตรวจสอบว่าตัวอักษรกว้าง (wide character) เป็นตัวพิมพ์เล็ก (lowercase) หรือไม่ ประกาศอยู่ใน cwctype (C++) หรือ ctype.h (C)คืนค่า 0 หากไม่ใช่ตัวพิมพ์เล็ก และคืนค่าที่ไม่ใช่ 0 หากเป็นตัวพิมพ์เล็กรูปแบบไวยากรณ์int iswlower(wint_t ch)ตัวอย่าง#include <cwctype> #include <iostr

  20. ฟังก์ชัน towupper() ใน C/C++

    ฟังก์ชัน towupper() แปลงตัวอักษรกว้าง (wide character) ให้เป็นตัวพิมพ์ใหญ่ (uppercase) ประกาศอยู่ใน cwctype (C++) หรือ ctype.h (C) หากตัวอักษรเป็นตัวพิมพ์ใหญ่อยู่แล้ว จะไม่มีการเปลี่ยนแปลงรูปแบบไวยากรณ์wint_t towupper(wint_t ch)ตัวอย่าง#include <cwchar> #include <cwctype> #include <io

Total 1447 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:3/73  20-คอมพิวเตอร์/Page Goto:1 2 3 4 5 6 7 8 9