Presentation is loading. Please wait.

Presentation is loading. Please wait.

UNIT II C PROGRAMMING BASICS Problem formulation – Problem Solving - Introduction to ‘ C’ programming –fundamentals – structure of a ‘C’ program – compilation.

Similar presentations


Presentation on theme: "UNIT II C PROGRAMMING BASICS Problem formulation – Problem Solving - Introduction to ‘ C’ programming –fundamentals – structure of a ‘C’ program – compilation."— Presentation transcript:

1 UNIT II C PROGRAMMING BASICS Problem formulation – Problem Solving - Introduction to ‘ C’ programming –fundamentals – structure of a ‘C’ program – compilation and linking processes – Constants, Variables – Data Types – Expressions using operators in ‘C’ – Managing Input and Output operations – Decision Making and Branching – Looping statements – solving simple scientific and statistical problems.

2 Problem formulation Effective problem formulation is fundamental to the success of all analysis, but particularly in Command and Control assessment because the problems are often ill-defined and complex, involving many dimensions and a rich context. Problem formulation involves decomposition of the analytic problem into appropriate dimensions such as structures, functions, mission areas. Problem formulation is an iterative process that evolves over the course of the study. It is essential even for small studies or where time is short; it will save time later and help ensure quality.

3 The problem formulation phase should identify the context of the study and aspects of the problem related issues. There is no universally acceptable approach to problem formulation. However, best practices exist that can be applied. First find out what the question is then find out what the real question is.

4 PROBLEM SOLVING When we starts reading these and wants to learn how to solve problem by using a computer, it is first of all important to understand what the problem is. We need to read the problem statement a number of times to ensure that it understands what is asked before attempting to solve the problem. Method of Problem Solving 1.Recognize and understand the problem. 2.Accumulate facts. 3.Select appropriate theory. 4.Make necessary assumptions. 5.Solve the problem. 6.Verify results.

5 Performing step 5 Solve the problem may involve a computer. The 5 steps in using a computer as a problem-solving tool 1.Develop an Algorithm and a Flowchart. 2.Write the program in a computer language. 3.Enter the program into the computer. 4.Test and' debug the program. 5.Run the program, input data, and get the results from the computer

6 Introduction to ‘ C’ programming C was developed by Dennis Ritchie at Bell laboratory in 1972 It is an upgrade version of languages B and BCPL. Features of C It is a structured programming language. It is highly portable. It is a middle level language. It is a case sensitive language. It uses Top-Down approach. It is a Free form language.etc,.

7 Steps in learning C Character Set ProgramsInstructionsTokens

8 C Character Set Execution Character Set Source Character Set Special Characters DigitsAlphabets Escape Sequence White Spaces

9 C Character Set (Cont) Source Character Set It is used to construct the statements in the program. Executable Character Set These characters are employed at the time of execution i.e. they have effects only when the program is being executed.

10 Source Character Set Lettersa to z,A to Z Digits0 to 9 Special Characters! @ # $ % ^ & * ( ) _ - + = \ | { } [ ] etc,. White SpacesBlank Space,Horizontal tab, New line, Vertical tab etc,.

11 Special characters Comma, Period or dot. Semicolon ; Colon : Apostrophe ‘ Quotation mark “ Exclamation mark ! Vertical bar | Back Slash \ Tilde ~ Underscore - Dollar $ Question mark ?

12 Ampersand & Caret ^ Asterisk * Minus- Addition+ Lesser than< Greater than> Parenthesis() Bracket[] Braces{} Percentage% Hash# Equal to= At the rate@

13 Executable Character Set CharactersEscape Sequence Back Space\b Horizontal Space\t Vertical Space\v Newline\n

14 C Tokens The smallest element in the C language is the token. It may be a single character or a sequence of characters.

15 C Tokens (Cont) C Tokens Identifiers Eg:main, avg Keywords Eg: int, for operators Eg: + - Strings Eg: “ab” spI symbol Eg: # $ % Constants Eg:17, 15.5

16 Executing a C Program Creating the Program Compilation Linking Execution

17 Executing a C Program (Cont) Enter the program in a C editor. Save the program (File  Save) or F2. Use the extension.c for saving the file. Eg: sample.c Compile the program(Compile  Compile) or Alt+F9. Run the program(Run  Run) or Ctrl+F9.

18 Executing C program using UNIX Enter the program in vi editor. Save the file using :wq Use the extension.c for saving the file. Eg: sample.c Compile the program. Eg: cc sample.c (or) gcc sample.c Run the program using a.out.

19 Structure of C program DOCUMENTATION SECTION PREPROCESSOR SECTION DEFINITION SECTION GLOBAL DECLARATION SECTION main() { Declaration part; Executable Part; } sub program section { Body of the subprogram; }

20 Documentation Section It contains the comment lines. Preprocessor Section It is used to link library files. Global Declaration Section The Global declaration section comes at the beginning of the program and they are visible to all parts of the program. Declaration Section It describes the data to be used within the function. Executable Part It contains the valid statements.

21 C Programs  C program may have many functions.  One and only one of the functions MUST BE named main.  main is the starting point for the program.  main and other functions in a program are divided into two sections, declaration section and statement section.

22 Preprocessor Directives Special instructions to the preprocessor that tells how to prepare the program for compilation E.g: include : tells the processor to include information from selected libraries known as header files e.g.

23 Comments (Program documentation) The compiler simply ignores comments when it translates the program into executable code. To identify a comments, C uses opening /* and closing */ comment tokens.

24 Comments (Cont) Comments can appear anywhere in a program. Comments are also found wherever it is necessary to explain a point about a code. Comments cannot be nested in C i.e. you cannot have comments inside comments.

25 C program /* Example program in C*/ Comments # include Preprocessor Section Global Declaration void main () { Local declaration printf (“Hello World! \n”); Statements } Output : Hello World

26 C Tokens Identifiers Keywords Constants Operators Special symbols

27 Identifiers Identifiers are names given to various program elements such as variables, functions and arrays etc,. Eg: #define N 10 #define a 15 Here N and a are user defined identifiers.

28 Rules for naming identifier First character must be alphabetic or underscore. Must consist only of alphabetic characters, digits, or underscores. Only the first 31 characters of an identifier are significant and are recognized by the compiler. Cannot use a keywords or reserved word (e.g. main, include, printf & scanf etc.). No space are allowed between the identifiers etc,. C is case sensitive, e.g. My_name  my_name.

29 Examples of Valid and Invalid Names

30 Variables Variable is an identifier that is used to represent some specified type of information. Eg: x=3 Here x is variable.

31 Keywords reserved words. Cannot be used for anything else. Examples: int while for etc,.

32 Keywords Auto register Continue Double typedef For Int Char signed Struct extern void Break return Default Else union Goto Long Const sizeof Switch Float do Case short If Enum unsigned Static While

33 Constants It is an entity whose value does not changes during the execution. Eg: x=3 Here 3 is a constant.

34 Types Numeric constants Character constant

35 Constants Character Constants Numeric Constants Real Constant Integer Constant String Constant Single Character Constant

36 Numeric constants Integer constants It is formed using a sequence of digits. Decimal- 0 to 9. Octal- 0 to 7. Hexa- 0 to 9,A to F Eg: 10,75 etc.

37 Rules for defining Integer Constant It must have at least one digit. Decimal point are not allowed. No blank space or commas are allowed. It can be either positive or negative. Etc,.

38 Numeric constants Real constants It is formed using a sequence of digits but it contain decimal point. length, height, price distance measured in real number Eg: 2.5, 5.11, etc.

39 Character constants Single character constant A character constant is a single character they also represented with single digit or a single special symbol which is enclosed in single quotes. Eg: ‘a’, ‘8’,’_’etc.

40 Character constants String constants String constant are sequence of characters enclosed with in double quote. Eg: “Hello”,”444”,”a” etc,.

41 Operators An operator is a symbol that specifies an operation to be performed on the operands. Eg: a + b + is an operator. a,b are operands.

42 Data Types  A Data type is the type of data that are going to access within the program.

43 Standard Data Types These Standard type can be used to build more complex data types called Derived Types (e.g. pointers, array, union etc.).

44 Data types Data type Size(bytes) Range Format string Char 1 -128 to 127 %c int 2 -32,768 to 32,767 %d Float 4 3.4 e-38 to 3.4 e+38 %f Double 8 1.7 e-308 to 1.7 e+308 %lf

45 integer A number without a fraction part : integral number. C supports three different sizes of the integer data type : short int int long int

46 Floating Point A floating-point type is a number with a fractional part, e.g. 56.78 Floating point numbers are stored using 4 Byte. Types Float Double long double

47 character Character are generally stored using 8 bits(1 Byte) of the internal storage. Character ASCII code value a 97(decimal) or 01100001(binary) x 120(decimal) or 01111000(binary)

48 void The void type has no values and no operations. Both the set of values and the set of operations are empty.

49 Variable’s Declaration To create a variable, you must specify the type and then its identifier : float price; int a,b; char code;

50 Entire Data types in c: Data type Size(bytes) Range Format string Char 1 128 to 127 %c Unsigned char 1 0 to 255 %c Short or int 2 -32,768 to 32,767 %i or %d Unsigned int 2 0 to 65535 %u Long 4 -2147483648 to 2147483647 %ld Unsigned long 4 0 to 4294967295 %lu Float 4 3.4 e-38 to 3.4 e+38 %f or %g Double 8 1.7 e-308 to 1.7 e+308 %lf Long Double 10 3.4 e-4932 to 1.1 e+4932 %lf

51 Types of Operator Arithmetic operator Relational operator Logical operator Assignment operator Increment or decrement operator(unary) Bitwise operator Conditional operator

52 Arithmetic operator It is used to carry out arithmetic operations like addition, subtraction etc, Eg: +, -, *, / etc,

53 Sample program #include // Header File #include int b=10; //Global Declaration void main ( ) /* main is the starting of every c program */ { int a,c; //Local Declaration clrscr( ); scanf(“%d”,&a); printf(“ \n The sum of the two values:”); c = a+b; printf(“%d”,c); getch( ); }

54 Division operator on Different Data Type OperationResultExample int/intint5/2 = 2 int/realreal5/2.0 = 2.5 real/intreal5.0/2 = 2.5 real/realreal5.0/2.0 = 2.5

55 Sample program #include void main ( ) { int a=10,b=4,c; float d=3,e; clrscr( ); c = a/b; printf(" \n value a/b is:%d",c); e = a/d; printf("\n value a/d is:%f",e); getch( ); }

56 Output value a/b is:2 value a/d is:3.333333

57 Relational operator It is used to compare two or more operands. Eg :, =, != etc,. 5 < 9 which will return 1

58 Logical operator It is used to combine the result of two or more condition. AND(&&) OR (||) NOT (!) are Logical operators. Eg: (i>10)&&(j>5). (i>10)||(j>5) etc,.

59 Sample program #include void main ( ){ int a=10,b=3,c=5,e; clrscr( ); if(a>b) // relational operator { printf(" \n a is bigger than b"); } if((a>b)&&(a>c)) //Logical operator { printf(" \n a is biggest"); } getch( ); }

60 Output a is bigger than b a is biggest

61 Assignment operator It is used to assign a value or expression etc to a variable. Eg: a =10. a = b a = b + c etc,.

62 Assignment operator(Cont) Compound operator It is also used to assign a value to a variable. Eg: x + = y means x = x + y Nested operator It is used for multiple assignment. Eg: i = j = k = 0;

63 Sample program #include int b=10; void main ( ) { int a=3,b=5; clrscr( ); a+=b; // a= a+b printf(" \n The sum of the two values:%d",a); getch( ); }

64 Output The sum of the two values:8

65 Increment or decrement operator(Unary) It is used to Increment or decrement an operand. Eg: ++x (Pre Increment), x++ (Post Increment), --x (Pre Decrement), x-- (Post Decrement).

66 Sample Program #include void main ( ) { int a=5; clrscr( ); printf(" \n Post increment Value:%d",a++); printf(" \n Pre increment Value:%d",++a); printf(" \n Pre decrement Value:%d",--a); printf(" \n Post decrement Value:%d",a--); getch( ); }

67 Output Post increment Value:5 Pre increment Value:7 Pre decrement Value:6 Post decrement Value:6

68 Bitwise operator It is used to manipulate data at bit level. Eg: a=5 i.e 0000 0101 b=4 i.e 0000 0100 Then a & b = 0000 0100 a | b = 0000 0101 etc,.

69 Sample program #include void main ( ) { int a=5,b=4,c; //char a=5,b=4,c; clrscr( ); c = a&b; printf(" \n value a&b is:%d",c); getch( ); }

70 Output value a&b is:4

71 Conditional Operator (or) Ternary Operator It is used to checks the condition and execute the statement depending on the condition. Eg: C = a > b ? a:b

72 Sample Program #include void main ( ) { int a=5,b=8,c; clrscr( ); c = a>b?a:b; //Conditional operator printf(" \n The Larger Value is%d",c); getch( ); }

73 Output The Larger Value is 8

74 Special Operator comma operator (, ) sizeof operator pointer operator (&, *) etc,.

75 #include void main ( ) { int c; clrscr( ); printf(" \n size of int is:%d",sizeof c); getch( ); }

76 Output size of int is: 2

77 Expression An expression represent data item such as variable, constant are interconnected using operators. Eg: Exp r essionC Expression a + b + c a 2 +b 2 a*a + b*b

78 Operator Precedence & Associativity The arithmetic expressions evaluation are carried out based on the precedence and associativity. The evaluation are carried in two phases. First Phase: High Priority operators are evaluated. Second Phase: Low Priority operators are evaluated.

79 PrecedenceOperator High*, /, % Low+, -

80 Example 5 - 20/4 + 3*3 – 1 = 5 - 5 + 9 – 1 = 0 + 9 – 1 = 9 – 1 = 8

81 Example 5 – (20/4) + 3*(3 – 1) = 5 - 5 + 3*2 = 5 - 5 + 6 = 6

82 Type Conversion Converting the type of an expression from one type to another type. Eg: x = (int)10.45

83 Sample Program #include void main ( ) { int c; clrscr( ); c=(int)10.45; printf("\nOutput is:%d",c); getch( ); } Output is:10

84 Input/output Function Input/Output Function Unformatted Formatted Output printf() fprintf() Input scanf() fscanf() Input getc() gets() getchar() Output putc() puts() putchar()

85 Formatted Input/output C uses two functions for formatted input and output. Formatted input : reads formatted data from the keyboard. Formatted output : writes formatted data to the monitor.

86 Formatted Input and Output

87 Standard Output The standard output file is the monitor. Like the keyboard, it is a text file. When you need to display data that is not text, it must be converted into to the text before it is written to the screen.

88 Format of printf Statement

89 Formatted Input (scanf) The standard formatted input function in C is scanf (scan formatted). scanf consists of : a format string. an address list that identifies where data are to be placed in memory. scanf ( format string, address list ); (“%c….%d…..%f…..”, &a,….&i,…..,&x…..)

90 Format of scanf Statement

91 getchar() Example #include void main() { char x; printf("enter the character:"); x=getchar(); if(islower(x)) putchar(toupper(x)); else putchar(tolower(x)); getch(); } Output: enter the character:ABC a

92 getche() Example #include void main() { char c ; clrscr(); printf("\nInput a string:"); c = getche(); printf("\nstring is:"); putch(c); getch(); } Output: Input a string:k string is:k

93 Getch() Example #include void main() { char c; clrscr(); printf("\nInput a string:"); c = getch(); printf("\nstring is:"); putch(c); getch(); } Output: Input a string: string is:h

94 getc Example #include void main() { char x; printf("enter the character:"); x=getc(stdin); if(islower(x)) putc(toupper(x),stdout); else putc(tolower(x),stdout); getch(); } Output: enter the character:abc A

95 gets() Example #include void main() { char c[80]; clrscr(); printf("Input a string:"); gets(c); printf("The string is:"); puts(c); getch(); } Output: Input a string:qwerty The string is:qwerty

96 Character Test Function It is used to test the character taken from the input. isalpha(ch) isdigit(ch) islower(ch) isupper(ch) tolower(ch) toupper(ch) etc,.

97 Decision Making It is used to change the order of the program based on condition. Categories: Sequential structure Selection structure Iteration structure Encapsulation structure

98 Decision Making (cont) Sequential structure In which instructions are executed in sequence. Selection structure In which instruction are executed based on the result of some condition. Iteration structure In which instruction are executed repeatedly. Encapsulation structure In which some compound structure are used.

99 SELECTION STRUCTURE It allows the program to make a choice from alternative paths. C provide the following selection structures IF statement IF … ELSE statement Nested IF … ELSE statement IF … ELSE ladder

100 IF Statement Syntax IF (condition is true) { Statements; } If condition False True Statements

101 Example #include void main ( ) { int a; clrscr( ); printf("\nEnter the number:"); scanf("%d",&a); if(a>10) { printf(" \n a is greater than 10"); } getch( ); }

102 Output Enter the number: 12 a is greater than 10

103 IF…ELSE Statement Syntax IF (condition) { True statements; } ELSE { False statements; } If Condition True False True statements False statements

104 #include void main ( ) { int a; clrscr( ); printf("\nEnter the number:"); scanf("%d",&a); if(a>10) { printf(" \n a is greater than 10"); } else { printf(" \n a is less than 10"); } getch( ); }

105 NESTED IF… ELSE If Condition 2 True False True statements False statements If Condition 1 False Statements True

106 NESTED IF… ELSE Syntax IF (condition1) { IF (condition2) { True statements; } ELSE { False statements; } ELSE { False statements; }

107 IF…ELSE LADDER Condition 1 Statements Condition 2 Statements Condition 3 Statements TRUE FALSE

108 IF…ELSE LADDER Syntax IF (condition1) { statements; } else if (condition2) { statements; } else if (condition3) { statements; } else { statements; }

109 Example #include void main() { int m1,m2,m3; float avg; printf("\nEnter the marks:"); scanf("%d%d%d",&m1,&m2,&m3); avg=(m1+m2+m3)/3; printf("\n The average is:%f",avg); printf("\n The Grade is:"); if(avg>=60) { printf("First class"); }

110 else if(avg>=50) { printf("Second class"); } else if(avg>=35) { printf("Thrid class"); } else { printf("Fail"); } getch(); }

111 Output Enter the marks:65 75 70 The average is:70.000000 The Grade is: First class

112 Looping It is used to execute some instructions several time based on some condition. WHILE Do…WHILE For

113 WHILE Loop Syntax. WHILE (condition) {. Body of the loop;. } Body of The loop condition False True

114 Example #include void main() { int i=1,fact=1,n; printf("\nEnter the Number:"); scanf("%d",&n); while(i<=n) { fact =fact *i; i++; // i=i+1 } printf("\n The value of %d! is:%d",n,fact); getch(); }

115 Output Enter the Number:3 The value of 3! is: 6

116 DO…WHILE Loop Syntax do { Body of the loop }while (condition); Body of The loop condition False True

117 for loop Syntax for (initialization; test condition; Increment/Decrement) { Body of the loop }

118 for loop Initialization condition False Body of the loop Inc / Decrement

119 Example #include void main() { int i,fact=1,n; printf("\nEnter the Number:"); scanf("%d",&n); for(i=1;i<=n;i++) { fact =fact *i; } printf("\n The value of %d! is:%d",n,fact); getch(); }

120 Output Enter the Number:3 The value of 3! is: 6

121 Nested for loop Syntax for (initi; cond; Inc/Dec) { for (initi; cond; Inc/Dec) { Body of the loop }

122 CASE structure Case 1 Case 2 Default case Switch

123 CASE structure Syntax switch (expression) { case constant 1: block1; break; case constant 2: block2; break;. default : default block; break; }

124 Example #include void main() { int i,n; printf("\nEnter the Number:"); scanf("%d",&n); switch(n) { case 1: { printf("\n Its in case 1"); break; }

125 case 2: { printf("\n Its in case 2"); break; } default: { printf("\n Its in default"); break; } getch(); }

126 Output Enter the Number:2 Its in case 2

127 break Statement It is used to terminate the loop When a break statement is encountered inside a loop, then the loop is terminated.

128 Loops with break Statement while(cond) { ………… if(cond) break; ………… }

129 do { ………… if(cond) break; ………… } while(cond);

130 for (initi; condt; Inc/Dec) { ………… if(cond) break; ………… }

131 Continue Statement When a continue statement is encountered inside a loop, the control is transferred to the beginning.

132 Loops with continue Statement while(cond) { ………… if(cond) continue; ………… }

133 do { ………… if(cond) continue; ………… } while(cond);

134 for (initi; condt; Inc/Dec) { ………… if(cond) continue; ………… }

135 goto Statement When a goto statement is encountered inside a loop, the control is transferred to the beginning.

136 Syntax for goto Statement label: ………… goto label; …………

137 goto label; ………… label: …………

138 Example #include void main() { int a,b,c,n; clrscr(); printf("\nEnter the value of a,b:"); scanf("%d%d",&a,&b); printf("\nMENU"); printf("\n1.ADD\n2.SUB\n3.MULTIPLY\n0.EXIT"); printf("\nEnter the choice:"); scanf("%d",&n);

139 switch(n) { case 1: c=a+b; printf("\nThe result of Addition is:%d",c); break; case 2: c=a-b; printf("\nThe result of Subtraction is:%d",c); break; case 3: c=a*b; printf("\nThe result of Multiplication is:%d",c); break; case 0: exit(0); break; } getch(); }

140 Output Enter the value of a,b:5 6 MENU 1.ADD 2.SUB 3.MULTIPLY 0.EXIT Enter the choice:1 The result of Addition is:11

141 Finding Armstrong No #include void main() { int r=0,sum=0,n,a; printf("\nEnter the number:"); scanf("%d",&n); a=n; while(n>0) { r=n%10; sum=sum+r*r*r; n=n/10; }

142 if(a==sum) { printf("\nIt is an armstrong number"); } else { printf("\nIt is not an armstrong number"); } getch(); }

143 Output Enter the number:153 It is an armstrong number

144 Sum of the Digits #include void main() { int r=0,sum=0,n; printf("\nEnter the no:"); scanf("%d",&n); while(n>0) { r=n%10; sum=sum+r; n=n/10; } printf("sum of the digits is:%d",sum); }

145 Output Enter the no:156 sum of the digits is:12

146 Reverse of a number #include void main() { int r=0,sum=0,n; printf("\nEnter the no:"); scanf("%d",&n); while(n>0) { r=n%10; sum=sum*10+r; n=n/10; } printf("Reverse of the number is:%d",sum); getch(); }

147 Output Enter the no:567 Reverse of the number is:765

148 Fibonacci Series #include void main() { int f=0,f1=-1,f2=1,n,i; printf("\nEnter the number:"); scanf("%d",&n); while(f<n) { f=f1+f2; f1=f2; f2=f; printf("\t%d",f); } getch(); }

149 Output Enter the number:5 0 1 1 2 3 5

150 Swapping #include void main ( ) { int a,b,c; clrscr( ); printf(" \nEnter the value of a:"); scanf("%d",&a); printf(" \nEnter the value of b:"); scanf("%d",&b); c=a; a=b; b=c; printf(" \nThe value of a is:%d",a); printf(" \nThe value of b is:%d",b); getch( ); }

151 Output: Enter the value of a:5 Enter the value of b:4 The value of a is:4 The value of b is:5

152 Swapping without using third variable #include void main ( ) { int a,b; clrscr( ); printf(" \nEnter the value of a:"); scanf("%d",&a); printf(" \nEnter the value of b:"); scanf("%d",&b); a=a+b; b=a-b; a=a-b; printf(" \nThe value of a is:%d",a); printf(" \nThe value of b is:%d",b); getch( ); }

153 Output: Enter the value of a:5 Enter the value of b:6 The value of a is:6 The value of b is:5

154 Quadratic Equation #include void main ( ) { int a,b,c,d,r1,r2; clrscr( ); printf(" \nEnter the value of a:"); scanf("%d",&a); printf(" \nEnter the value of b:"); scanf("%d",&b); printf(" \nEnter the value of c:"); scanf("%d",&c); d=b*b-4*a*c;

155 if(d>=0) { r1=(-b+sqrt(d))/(2*a); r2=(-b-sqrt(d))/(2*a); printf(" \nThe roots are %d,%d",r1,r2); } else { printf(" \nThe roots are imaginary"); } getch( ); }

156 Output Enter the value of a:4 Enter the value of b:5 Enter the value of c:6 The roots are imaginary


Download ppt "UNIT II C PROGRAMMING BASICS Problem formulation – Problem Solving - Introduction to ‘ C’ programming –fundamentals – structure of a ‘C’ program – compilation."

Similar presentations


Ads by Google