Download presentation
Presentation is loading. Please wait.
Published bySheila Morton Modified over 9 years ago
1
UniMAP Sem2-08/09 DKT121: Fundamental of Computer Programming1 Introduction to C – Part 2
2
UniMAP Sem2-08/09 DKT121: Fundamental of Computer Programming2 Outline Identifiers and reserve words Program comments Preprocessor directives Data types and type declarations Sample programming question Sample C program Operators Formatted input and output Program debugging
3
UniMAP Sem2-08/09 DKT121: Fundamental of Computer Programming3 Identifiers & Reserve Words Identifiers labels for program elements case sensitive can consists of capital letters[A..Z], small letters[a..z], digit[0..9], and underscore character _ First character MUST be a letter or an underscore No blanks Reserve words cannot be identifiers Reserve words already assigned to a pre-defined meaning eg: delete, int, main, include, double, for, if etc.
4
UniMAP Sem2-08/09 DKT121: Fundamental of Computer Programming4 Program comments Starts with /* and terminate with */ OR Character // start a line comment, if several lines, each line must begin with // Comments cannot be nested /* /* */*/
5
UniMAP Sem2-08/09 DKT121: Fundamental of Computer Programming5 Preprocessor directives An instruction to pre-processor Standard library header (p154,Deitel) E.g. #include for std input/output #include Conversion number-text vise-versa, memory allocation, random numbers #include string processing
6
UniMAP Sem2-08/09 DKT121: Fundamental of Computer Programming6 Data Types & Mem. Alloc. Data TypeDescription Size (bytes) char A single character. Internally stored as a coded integer value (refer to ASCII table ). 1 int Integer quantity. Can be represented in signed or unsigned form (with the unsigned keyword). 4 float Floating-point number. Set of real numbers.4 double A more precise version of float. Has larger dynamic range and better representation of decimal points. 8 bool Boolean representation of logic states. Can only be assigned true (1) or false (0). 1
7
UniMAP Sem2-08/09 DKT121: Fundamental of Computer Programming7 Type declarations float income; float net_income; int index =0, count =0; char ch=‘a’, ch2; const float epf = 0.1, tax = 0.05; float income, net_income; Declare and initialize Named constant declared and initialized
8
UniMAP Sem2-08/09 DKT121: Fundamental of Computer Programming8 Types of operators Types of operators are: Arithmetic operators (+, -, *, /, %) Relational operators (>, =, <=, !=) Logical operators (&&, ||) Compound assignment operator (+=, -=, *=, /=, %=) Binary operators: needs two operands Unary operators: single operand Bitwise operators: executes on bit level
9
UniMAP Sem2-08/09 DKT121: Fundamental of Computer Programming9 Sample Programming Question Write a program that calculate nett income.Your program should read income from user. Given tax rate is 10% and epf rate is 5% from income. Steps: Analyze the problem Use algorithm Convert to actual codes
10
UniMAP Sem2-08/09 DKT121: Fundamental of Computer Programming10 Sample C Program // Program name : program1.c //Programmer : Yasmin //This program reads income and calculate nett income //after epf and tax deduction #include int main(void) { float income, net_income; const float epf=0.1, tax=0.05; printf(“Enter income : “); scanf(“%f”, &income); net_income=income-(epf*income) – (tax*income); printf(“\nNett income : %5.2f”, net_income); return 0; } The terms void indicates we receive nothing from OS and return an integer to OS Variable & constant declaration begin end Return 0(int) to OS body Comments Preprocessor directives
11
UniMAP Sem2-08/09 DKT121: Fundamental of Computer Programming11 Arithmetic Operators Used to execute mathematical equations The result is usually assigned to a data storage (instance/variable) using assignment operator ( = ) E.g sum = marks1 + marks2;
12
UniMAP Sem2-08/09 DKT121: Fundamental of Computer Programming12 Arithmetic Operators C OperationArithmetic Operator Algebraic expression C expression Addition + f + 7 Subtraction - p – c p - c Multipication * bm b * m Division / x / y Remainder (Modulus) % r mod s r % s
13
UniMAP Sem2-08/09 DKT121: Fundamental of Computer Programming13 Exercise on arithmetic operators Given x = 20, y = 3 z = x % y = 20 % 3 = 2 (remainder)
14
UniMAP Sem2-08/09 DKT121: Fundamental of Computer Programming14 Relational and Logical Operators Previously, relational operator: >, =, <=, ==, != Previously, logical operator: &&, || Used to control the flow of a program Usually used as conditions in loops and branches
15
UniMAP Sem2-08/09 DKT121: Fundamental of Computer Programming15 More on relational operators Relational operators use mathematical comparison (operation) on two data, but gives logical output e.g1 let say b = 8, if (b > 10) e.g2 while (b != 10) e.g3 if(kod == 1) print(“Pegawai”); Reminder: Don’t confuse == (relational op.) with = (assignment op.)
16
UniMAP Sem2-08/09 DKT121: Fundamental of Computer Programming16 More on logical operators Logical operators are manipulation of logic e.g1 let say b=8, c=10, if ((b > 10) && (c<10)) e.g2 while ((b==8) ||(c > 10)) e.g3 if ((kod == 1) && (salary > 2213))
17
UniMAP Sem2-08/09 DKT121: Fundamental of Computer Programming17 Truth table for && (logical AND) operator exp1exp2exp1 && exp2 false truefalse truefalse true
18
UniMAP Sem2-08/09 DKT121: Fundamental of Computer Programming18 Truth table for || (logical OR) operator exp1exp2exp1 || exp2 false true falsetrue
19
UniMAP Sem2-08/09 DKT121: Fundamental of Computer Programming19 Compund assignment operator To calculate value from expression and store it in variable, we use assignment operator (=) Compound assignment operator combine binary operator with assignment operator E.g. val +=one; is equivalent to val = val + one; E.g. count = count -1; is equivalent to count -=1; count--; --count;
20
UniMAP Sem2-08/09 DKT121: Fundamental of Computer Programming20 count=count-2; count -=2; CANNOT USE count--; --count;
21
UniMAP Sem2-08/09 DKT121: Fundamental of Computer Programming21 Unary Operators Obviously operating on ONE operand Commonly used unary operators Increment/decrement { ++, -- } Arithmetic Negation { - } Logical Negation { ! } Usually using prefix notation Increment/decrement can be both a prefix and postfix
22
UniMAP Sem2-08/09 DKT121: Fundamental of Computer Programming22 Unary Operators (Eg.) Increment/decrement { ++, -- } prefix:value incr/decr before used in expression postfix:value incr/decr after used in expression Logical Negation { ! } bool isDinnerTime = true; bool isLunchTime = !isDinnerTime; val=5; printf(“%d”, ++val); Output: 6 val=5; printf(“%d”, --val); Output: 4 val=5; printf(“%d”, val++); Output: 5 val=5; printf(“%d”, val--); Output: 5
23
UniMAP Sem2-08/09 DKT121: Fundamental of Computer Programming23 Operator Precedence OperatorsPrecedence ! + -first * / %second + -third = >fourth == !=fifth &&sixth ||seventh =last
24
UniMAP Sem2-08/09 DKT121: Fundamental of Computer Programming24 Formatted Output with printf
25
UniMAP Sem2-08/09 DKT121: Fundamental of Computer Programming25 int %d float %f char %c long float %lf String %s etc Month= 12 Expense= 111.1
26
UniMAP Sem2-08/09 DKT121: Fundamental of Computer Programming26 Formatted Output with printf- cont
27
UniMAP Sem2-08/09 DKT121: Fundamental of Computer Programming27 Formatted input with scanf
28
UniMAP Sem2-08/09 DKT121: Fundamental of Computer Programming28 Formatted input with scanf- cont
29
UniMAP Sem2-08/09 DKT121: Fundamental of Computer Programming29 Program debugging Syntax error Mistakes caused by violating “grammar” of C C compiler can easily diagnose during compilation Run-time error Called semantic error or smart error Violation of rules during program execution C compiler cannot recognize during compilation Logic error Most difficult error to recognize and correct Program compiled and executed successfully but answer wrong
30
UniMAP Sem2-08/09 DKT121: Fundamental of Computer Programming30 Program debugging-syntax error snapshot
31
UniMAP Sem2-08/09 DKT121: Fundamental of Computer Programming31 Program debugging-run time error snapshot
32
UniMAP Sem2-08/09 DKT121: Fundamental of Computer Programming32 Program debugging-logic error snapshot
33
UniMAP Sem2-08/09 DKT121: Fundamental of Computer Programming33 End Introduction to C - Part 2 Q & A!
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.