Diese Präsentation wurde erfolgreich gemeldet.
Die SlideShare-Präsentation wird heruntergeladen. ×

C programming session7

Nächste SlideShare
C programming  session6
C programming session6
Wird geladen in …3

Hier ansehen

1 von 59 Anzeige

Weitere Verwandte Inhalte

Andere mochten auch (20)


Ähnlich wie C programming session7 (20)

Weitere von Keroles karam khalil (20)


Aktuellste (20)

C programming session7

  1. 1. C_Programming Part 7 ENG. KEROLES SHENOUDA 1
  2. 2. Macros Vs Functions No Macro Function 1 Macro is Preprocessed Function is Compiled 2 No Type Checking Type Checking is Done 3 Code Length Increases Code Length remains Same – 5 Speed of Execution is Faster Speed of Execution is Slower 6 Before Compilation macro name is replaced by macro value During function call , Transfer of Control takes place 7 Useful where small code appears many time Useful where large code appears many time 8 Generally Macros do not extend beyond one line Function can be of any number of lines 2
  3. 3. ANSI C  ANSI C, ISO C and Standard C refer to the successive standards for the C programming language published by the American National Standards Institute (ANSI) and the International Organization for Standardization (ISO). Historically, the names referred specifically to the original and best-supported version of the standard (known as C89 or C90). Software developers writing in C are encouraged to conform to the standards, as doing so aids portability between compilers.  C89  C90  C95  C99 3
  4. 4. Preprocessor Test for C95 compatibility 4
  5. 5. Constant in C  constant can be used to represent as fixed values in a C program  Constants refers to the fixed values that do not change during the execution of a program 5 1.const float pie =3.147; 2.const int radius =4; 3.const char c = 'A'; 4.const char name[] = “C Course";
  6. 6. Constant using const keyword C programming:  When declaring a const variable, it is possible to put const either before or after the type: that is, both int const a= 15; Or const int x= 15; 6
  7. 7. Declare constant  const keyword are used for declare a constant. 7 gives error you can't modify const
  8. 8. 8
  9. 9. Structure in C  Structure is a user defined data type which hold or store heterogeneous data item or element in a singe variable. It is a Combination of primitive and derived data type.  Why Use Structure in C  In C language array is also a user defined data type but array hold or store only similar type of data, If we want to store different-different type of data in then we need to defined separate variable for each type of data.  Example: Suppose we want to store Student record, then we need to store....  Student Name  Roll number  Class  Address 9
  10. 10. Why Use Structure in C Example [without Structure] 10 It is clear that code size is huge with respect to the problem complexity. Also the storage of the single employee information in different arrays complicates many operations like entering, sorting and printing
  11. 11.  Structures are used to collect related variables in one place. In this example all employee information can gathered in one place. This will simplify any further operation over the collected data, because all information items are treated as a single entity, called a Structure. Following format is used to define an employee structure, which is used to collect all employee information in one place. 11
  12. 12. Structure 12 Structure is a complex data type consisting of a set of members/attributes. Each attribute can have any data type. It can be int, float, short…its. It can be single value or array. It can be const or variable. Also, structures may hold another structure (nested structure). Programmers are free to define as many structures as the program required. Each structure must be labeled with a unique label called Structure Name. Structure Name can be used as a new data type, it can be used to define variables, it can be used to define arrays and it can be passed to a functions.
  13. 13. Defining and Using Structure Variables 13 In above example a variable X is defined from the data type (SEmployee). (X) variable contains the following members (m_Name, m_BirthDateYear, m_BirthDateMonth, m_BirthDateDay, m_Salary). In this example a values is assigned to each member of (X) variable, then all members‟ values is printed.
  14. 14. Copying Structure Variable Contents to another Variable 14
  15. 15. Employee Sort with Structures Sort with Ages 15
  16. 16. Employee Sort with Structures Sort with Ages 16 The code (SEmployee employees[ 100]) means that defining an array of 100 variable of type (struct SEmployee)
  17. 17. Employee Sort with Structures Sort with Ages 17
  18. 18. Employee Sort with Structures Sort with Ages 18
  19. 19. With Structure Vs without Structure 19
  20. 20. Initializing Structure Variables 20
  21. 21. Nested Structure Definition As mentioned before, it is applicable to define structure members with any data type, even other structures type. Structure 21 Nested Structure
  22. 22. Nested Structure 22
  23. 23. Employee Sort with Nested Structures 23
  24. 24. Employee Sort with Nested Structures 24
  25. 25. Employee Sort with Nested Structures 25
  26. 26. Employee Sort with Nested Structures 26
  27. 27. Using Structures with Functions Read and Print Employee and Date Values using Functions 27
  28. 28. Using Structures with Functions Read and Print Employee and Date Values using Functions 28
  29. 29. Using Structures with Functions Read and Print Employee and Date Values using Functions 29
  30. 30. Write A program Adding Two Complex Numbers using Structure And Function 30
  31. 31. 31
  32. 32. 32
  33. 33. 33
  34. 34. enum  An enumeration is a user-defined data type that consists of integral constants. To define an enumeration, keyword enum is used. 34 Here, name of the enumeration is flag. And, const1, const2,...., constN are values of type flag. By default, const1 is 0, const2 is 1 and so on. You can change default values of enum elements during declaration (if necessary).
  35. 35. Enumerated Type Declaration  When you create an enumerated type, only blueprint for the variable is created. Here's how you can create variables of enum type.  Here, a variable check of type enum boolean is created.  Here is another way to declare same check variable using different syntax. 35
  36. 36. Example: Enumeration Type 36 output
  37. 37. Why enums are used in C programming?  1. Enum variable takes only one value out of many possible values. Example to demonstrate it, 37 It's because the size of an integer is 4 bytes. This makes enum a good choice to work with flags. You can accomplish the same task using structures. However, working with enums gives you efficiency along with flexibility.
  38. 38. Why enums are used in C programming?  More readable Here, we have added italics to our design. Note, only code for italics is written inside if statement. 38 You can accomplish almost anything in C programming without using enumerations. However, they can be pretty handy in certain situations. That's what differentiates good programmers from great programmers.
  39. 39. Example: Personal Data using Enum 39
  40. 40. Unions 40
  41. 41. Using Union 41  Following example illustrates how to combine the three data types (int, float, double) in one overlapped data type. Programmer is responsible on supplying and retrieving the data correctly. If integer data is supplied, integer data must be retrieved.
  42. 42. 42
  43. 43. 43
  44. 44. 44
  45. 45. Difference between union and structure 45
  46. 46. Difference between union and structure The primary difference can be demonstrated by this example: 46
  47. 47. Difference between union and structure The primary difference can be demonstrated by this example:  1. More memory is allocated to structures than union  The amount of memory required to store a structure variable is the sum of memory size of all members.  But, the memory required to store a union variable is the memory required for the largest element of an union. 2. Only one union member can be accessed at a time 47
  48. 48. Scope/Lifetime  Variable “scope” refers to part of the program that may access the variable ▫ Local, global, etc… • Variable “lifetime” refers to time in which a variable occupies memory • Both determined by how and where variable is defined 48
  49. 49. Storage classes  In C language, each variable has a storage class which decides scope, visibility and lifetime of that variable. The following storage classes are most oftenly used in C programming,  Automatic variables  External variables  Static variables  Register variables  49
  50. 50. Automatic variables  A variable declared inside a function without any storage class specification, is by default an automatic variable. They are created when a function is called and are destroyed automatically when the function exits. Automatic variables can also be called local variables because they are local to a function. By default they are assigned garbage value by the compiler. 50
  51. 51. External or Global variable  A variable that is declared outside any function is a Global variable. Global variables remain available throughout the entire program. One important thing to remember about global variable is that their values can be changed by any function in the program. 51 Here the global variable number is available to all three functions.
  52. 52. extern keyword The extern keyword is used before a variable to inform the compiler that this variable is declared somewhere else. The extern declaration does not allocate storage for variables. 52
  53. 53. Problem when extern is not used 53
  54. 54. Example Using extern in same file 54
  55. 55. Static variables  A static variable tells the compiler to persist the variable until the end of program. Instead of creating and destroying a variable every time when it comes into and goes out of scope, static is initialized only once and remains into existence till the end of program. A static variable can either be internal or external depending upon the place of declaraction. Scope of internal static variable remains inside the function in which it is defined. External static variables remain restricted to scope of file in each they are declared.  They are assigned 0 (zero) as default value by the compiler. 55
  56. 56. Static variables 56
  57. 57. Register variable  Register variable inform the compiler to store the variable in register instead of memory. Register variable has faster access than normal variable. Frequently used variables are kept in register. Only few variables can be placed inside register.  NOTE : We can never get the address of such variables.  Syntax : 57
  58. 58. Volatile Type Qualifier 58
  59. 59. References 59  The Case for Learning C as Your First Programming Language  A Tutorial on Data Representation  std::printf, std::fprintf, std::sprintf, std::snprintf…..  C Programming for Engineers, Dr. Mohamed Sobh  C programming expert.  fresh2refresh.com/c-programming  C programming Interview questions and answers  C – Preprocessor directives