1 / 45

C Programming

C Programming. Data Types & Variables. Data type in C program. Types of Data Type เลขจำนวนเต็ม ( Integer Number ) เลขทศนิยม ( Floating-point Number ) ตัวอักษร ( Character ) ข้อมูลไม่มีค่า ( Valueless ). Integer Number. เลขจำนวนเต็ม ที่เป็นได้ทั้งค่าบวก ลบและศูนย์

Download Presentation

C Programming

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CProgramming Data Types & Variables

  2. Data type in C program • Types of Data Type • เลขจำนวนเต็ม (IntegerNumber) • เลขทศนิยม (Floating-point Number) • ตัวอักษร (Character) • ข้อมูลไม่มีค่า (Valueless)

  3. Integer Number • เลขจำนวนเต็มที่เป็นได้ทั้งค่าบวก ลบและศูนย์ • ในภาษาซี สามารถกำหนดรูปแบบของเลขจำนวนเต็มได้ 3 รูปแบบ คือ • ระบบฐานสิบ เช่น 395 -24 เป็นต้น • ระบบฐานแปด นำหน้าด้วยเลข 0 เช่น 045 -023 เป็นต้น • ระบบฐานสิบหก นำหน้าด้วย 0x หรือ 0X เช่น 0X4F0x23A เป็นต้น

  4. Integer Number • รูปแบบของเลขจำนวนเต็ม จัดแบ่งตามขนาดของข้อมูล โดยใช้ Modifier (signed, unsigned, short, long)ได้ดังนี้- signed integer- unsigned integer- signed short integer- unsigned short integer- signed long integer- unsigned long integer

  5. Data Type(cont.)

  6. Floating-point Number • เป็นค่าตัวเลขทศนิยม ที่เป็นได้ทั้งค่าบวกและลบ • ในภาษาซี เลขทศนิยมกำหนดได้ 2 รูปแบบคือ- เลขทศนิยมปกติ เช่น 1.5 , -3.456 เป็นต้น- เลขทศนิยมแบบเลขยกกำลัง เช่น 1E+3 หมายถึง 1x103 2.45E-6 หมายถึง 2.45x10-6 0.3945E6 หมายถึง 0.3945x106 *** ตัวเลขยกกำลังต้องเป็นจำนวนเต็มเท่านั้น

  7. Floating-point Number • ในภาษาซี เลขทศนิยมจัดแบ่งตามขนาดในการจัดเก็บข้อมูลได้ 3 แบบ คือ- float-point- double- long double * ขนาดข้อมูลขึ้นอยู่กับประเภทองเครื่องคอมพิวเตอร์ที่ใช้งาน

  8. Floating-point Data Types

  9. Character Data Type • เป็นข้อมูลประเภทตัวอักษร (single character) • รูปแบบในการจัดเก็บตัวอักษรในหน่วยความจำนั้น จะถูกแทนด้วยรหัสตัวเลขของ ASCII Codeขนาด 8 บิท • The single character is enclosed within two single quotation marks. • Digits stored by enclosing them within single quotes are considered as characters and cannot be used for calculations.

  10. ASCII CODE • รหัสตัวเลขขนาด 8 บิท เพื่อแทนตัวอักษร ตัวเลข สัญลักษณ์ และเครื่องหมายต่างๆ รหัสทั้งสิ้น 256 ตัว(000–255) • รหัสลำดับที่ 1 – 32 (000 – 031) เป็นรหัสควบคุม (Escape Sequence) เช่น000 = (\0) = NULL Value007 = (\a) = Beep (Alert)008 = (\b) = Backspace009 = (\t) = tab010 = (\n) = newline (Line feed)013 = (\r) = carriage return. . . . . . . . . . . . . .

  11. ASCII CODE Table

  12. Data Typein C Language The various data types and their memory requirements

  13. Types of Datain C Language • ค่าคงที่ (Constant)เป็นค่าที่กำหนดด้วย # Pre-processing Directive ตอนต้นของโปรแกรม • ตัวแปร (Variable)2.1 ตัวแปรโลคอล (Local Variable)2.2 ตัวแปรโกลบอล (Global Variable)2.3 ตัวแปรสแตติก (Static Variable)2.4 ตัวแปรรีจิสเตอร์ (Register Variable)

  14. Constant Value • เป็นค่าที่กำหนดขึ้นเพื่อใช้งานในโปรแกรม • ไม่สามารถเปลี่ยนแปลงค่าได้ในโปรแกรม • ในภาษาซี จะต้องประกาศไว้ที่ตอนต้นของโปรแกรม ด้วย Pre-processing Directive ดังนี้#define ConstantName Value *** ตามกติกาในการเขียนโปรแกรมนั้น ชื่อของค่าคงที่ ควรเป็นตัวอักษรตัวพิมพ์ใหญ่

  15. ตัวแปร (Variable) • เป็นชื่อที่กำหนดขึ้น เพื่อใช้อ้างถึงพื้นที่ในหน่วยความจำของคอมพิวเตอร์ ในการจัดเก็บข้อมูลที่ประกาศไว้ในโปรแกรม • ข้อมูลของตัวแปรสามารถทำการเปลี่ยนแปลงค่าได้ • Variable refers to memory location where a particular value is stored. • Type of data decides the amount of memory allocated to variables. • Names assigned to variables to store a particular data help us in retrieving the data as and when required.

  16. Variables Declaration in C • All variables must be declared before they can appear or referred in executable statements. • ต้องประกาศตัวแปรก่อนมีการเรียกใช้ทุกครั้ง • การประกาศตัวแปร = การจองพื้นที่ในหน่วยความจำ เพื่อใช้จัดเก็บข้อมูลที่กำหนด และอ้างอิงถึงพื้นที่ดังกล่าวด้วยชื่อของตัวแปรที่กำหนดไว้ • การประกาศตัวแปรจะถูกประกาศไว้ที่ตอนต้นของโปรแกรมหรือฟังก์ชั่น ตามลักษณะการใช้งานของตัวแปรนั้นๆ

  17. Variables Declaration in C • รูปแบบของการประกาศตัวแปร dataType varName; dataType varName = initValue; dataType varName1; dataType varNmae2; dataType varName3, varName4, … ; dataType varName1 = initVal1, varName2 = initVal2, . . . . ;

  18. Variables Declaration in C • การประกาศตัวแปรชนิดตัวเลขจำนวนเต็ม(Integer) int num; int num1 = 100; int num2, num3, num4; int x = -10, y = 20, z = -30; int a, b; a = 5; b = 10; int a = 5, b = 10;

  19. Variables Declaration in C • การประกาศตัวแปรชนิดตัวเลขทศนิยม (floating-pointและdouble) float num; float pi = 3.141593; float x, y, z; float a = 1.234, b = -1.25e3, c = 0. ; double p, q, r; double i = -2.3, j = 0.123e-6;

  20. Variables Declaration in C • การประกาศตัวแปรชนิดตัวอักษร (Character) char ch; char c1, c2, c3; char x = ‘a’; char y = ‘1’ , z = ‘2’; char star = ‘*’;

  21. Local or Automatic Variable in C • การประกาศตัวแปรภายในบล็อกหรือภายในฟังก์ชั่นใดๆ ตัวแปรนั้นเรียกว่าตัวแปรแบบโลคอล (Local) • ตัวแปรแบบโลคอลจะคงอยู่หรือถูกเรียกใช้งาน เมื่อมีการทำงานอยู่ภายในบล็อกหรือฟังก์ชั่นที่มีการประกาศตัวแปรนั้นๆ และเมื่อจบการทำงานของบล็อกหรือฟังก์ชั่นนั้นๆ แล้ว ตัวแปรแบบโลคอลนี้จะถูกยกเลิกทันที • ตัวแปรแบบโลคอลจะถูกเรียกใช้งานได้เฉพาะภายในบล็อกหรือฟังก์ชั่นที่มีการประกาศตัวแปรนี้ไว้เท่านั้น

  22. Global Variable in C • การประกาศตัวแปรไว้ตอนต้นของโปรแกรม หรือภายนอกฟังก์ชั่น main( ) ตัวแปรนั้นเรียกว่าตัวแปรแบบโกลบอล (Global) • ตัวแปรแบบโกลบอลจะถูกเรียกใช้งานได้จากทุกที่ในโปรแกรม • ตัวแปรแบบโกลบอลจะถูกยกเลิกก็ต่อเมื่อจบการทำงานของโปรแกรม

  23. Local & Global Variable in C int num1; void main( ) { int num2; . . . . . . . . . } func( ) { int num3; . . . . . . . . . } Global Variable Local Variable

  24. Static Variables in C • การประกาศตัวแปรประเภท static static dataTypevarName; static dataTypevarName =initVal; • การใช้งานต่างๆ จะเหมือนกับตัวแปรทั่วไป แตกต่างกันที่ค่าของตัวแปรประเภท static จะยังคงอยู่ โดยจะไม่ถูกยกเลิกไปเมื่อจบการทำงานภายในภายในบล็อกหรือฟังก์ชั่นที่ประกาศนี้ไว้ใช้งาน • หากไม่กำหนดค่าเริ่มต้นให้ ค่าของตัวแปรจะมีค่าเป็น 0

  25. Static Variables in C void main( ) { sum( ); sum( ); sum( ); } sum( ) { int num = 10 , nt = 0; static int ns; nt = nt + n1; ns = ns + n1; printf(“nt = %d\tns = %d\n”,nt,ns); } Result : nt = 10 ns = 10 nt = 10 ns = 20 nt = 10 ns = 30

  26. Register Variable in C • การประกาศตัวแปรประเภทรีจิสเตอร์ (Register) registerdataType varName; registerdataType varName = initVal; • คุณลักษณะและการใช้งานเช่นเดียวกับตัวแปรทั่วไป แตกต่างตรงที่เป็นการจัดเก็บข้อมูลในหน่วยความจำรีจิสเตอร์ • รีจิสเตอร์เป็นหน่วยความจำของ Processor ซึ่งมีความเร็วในการอ่านและเขียนข้อมูลได้รวดเร็วกว่าหน่วยความจำ RAM ของระบบ • รีจิสเตอร์ภายใน Processor มีขนาดจำกัด ไม่สามารถใช้จัดเก็บข้อมูลที่มีปริมาณมากๆ ได้

  27. Operators

  28. Expression , Operand & Operator A + B A , B  Operand +  Operator A + B  Expression

  29. Operators in C • Arithmetic Operators • Unary Operators • Relational Operators • Logical Operators • Assignment Operators • Conditional Operator

  30. Arithmetic Operators • There are 5 Arithmetic operators + Addition - Subtraction * Multiplication / division % modulus(% = การหารที่ผลลัพธ์คือเศษจากการหาร)

  31. Arithmetic Operators

  32. Unary Operators There are 5 Unary operators • - Unary Minus operator • ++ Increment operator • - - Decrement operator • sizeof sizeof operator • (dataType) Data TypeCasting

  33. Unary Operators • Unary minus operatorใช้กำหนดค่าลบให้กับข้อมูลตัวเลขเช่น -5 , -12.5 เป็นต้น • Increment operatorใช้สำหรับเพิ่มค่าของข้อมูลตัวเลขขึ้นอีก 1 • Decrement operatorใช้สำหรับลดค่าของข้อมูลตัวเลขลงอีก 1 • sizeof operatorใช้สำหรับหาขนาดของข้อมูล • Data Type castingใช้สำหรับเปลี่ยนชนิดของข้อมูล

  34. Relational operators There are 6 relational operators in C • < less than • > greater than • <= less than or equal to • >= greater than or equal to • == equal to • != not equal to ผลลัพธ์ที่ได้จากการเปรียบเทียบ จะมีค่าเป็นตัวเลข คือ 0= ไม่เป็นจริง (False) 1 = เป็นจริง (True)

  35. Logical operators There are 3 logical operators • && AND operator • || OR operator • ! NOT operator

  36. Assignment operators There are 6 Assignment operators • = assignment operator • += Addition assignment • -= Subtraction assignment • *= Multiplication assignment • /= Division assignment • %= Modulus assignment

  37. Conditional Operator • The form of conditional operator _exp1_ ? _exp2_ : _exp3_ • The meaning is :if (exp1 is true) then perform exp2 else perform exp3

  38. Precedence of Operators

  39. Examples in Arithmetic Operators

  40. Examples in Arithmetic Operators 4+3*6/2–5+5 4+[3*6/2]-5+5 4+[18/2]-5+5 [4+9]-5+5 [13-5]+5 13

  41. Examples in Unary Operators • a = 1, b = ++a  a = 2 , b = 2 • a = 1, b = a++  a = 2 , b = 1 • a = 10, a += 10  a = 20 • a = 10, a /= 2  a = 5 • int a = 10; sizeof a = 2 • float b = 1.5; sizeof b = 4 sizeof (float) = 4

  42. Examples of Unary operators int a = 5, b = 2;a * b  10a / b  2 (int/int = int) (float) a / b  2.5 (float/int=float)a / (float) b  2.5 (int/float=float)

  43. Examples of Relational Operators int i = 7; float f = 5.5; char c = ‘A’;

  44. Examples of assignment operators int a = 10, b = 20;

  45. Examples of conditional Operator int a = 10; b = 20; c = 0;

More Related