C Programming by Mr. Mubiru Abubakari
C Programming by Mr. Mubiru Abubakari
C Programming by Mr. Mubiru Abubakari
C PROGRAMMING
LECTURE
by
Mubiru Abubakari
[email protected] | 0700615681
C Course, Programming ,
Recap
2
C is a high-level language.
C Course, Programming
Some more basics
3
Keywords
char, static, if , while, return ..................... Total= about 32
Data Types
int , char, float ...………..….. Some more later
Arithmetic Operators
+ (Plus), - (Minus), * (Multiplication), /(Division)
……….……….
Some more later
C Course, Programming
My first C program!
4
#include <stdio.h>
// program prints hello world
int main() {
printf ("Hello world!");
return 0;
}
C Course, Programming
Example 1
5
#include <stdio.h>
// program prints a number of type int
int main() {
int number = 4;
printf (“Number is %d”, number);
return 0;
}
Output: Number is 4
C Course, Programming
Example 2
6
#include <stdio.h>
// program reads and prints the same thing
int main() {
int number ;
printf (“ Enter a Number: ”);
scanf (“%d”, &number);
printf (“Number is %d\n”, number);
return 0;
}
#include <stdio.h>
int main() {
/* this program adds
two numbers */
int a = 4; //first number
int b = 5; //second number
int answer = 0; //result
answer = a + b;
}
C Course, Programming
Note
8
Errors
Compilation
Compiler generally gives the line
number at which the error is present.
Run time
C programs are sequential making
the debugging easier.
C Course, Programming
Some more Data Types
9
User Defined:
typedef: used to rename a data type
typedef int integer; can use integer to declare an int.
enum, struct, union
C Course, Programming
Some more Arithmetic Operators
10
C Course, Programming
Contd…
11
Modulus (remainder): %
example:
12%5 = 2;
Assignment by addition: +=
example:
int a=4;
a+=1; //(means a=a+1) value of a becomes 5
C Course, Programming
Contd…
12
C Course, Programming
Operator Precedence
13
Meaning of a + b * c ?
is it a+(b*c) or (a+b)*c ?
All operators have precedence over each other
*, / have more precedence over +, - .
If both *, / are used, associativity comes into
picture. (more on this later)
example :
5+4*3 = 5+12= 17.
C Course, Programming
Precedence Table
14
Highest on top
++ -- (Postfix)
++ -- (Prefix)
* / %
+ -
<< >>
< >
&
|
&&
||
C Course, Programming
Input / Output
15
& in scanf.
It is used to access the address of the variable used.
example:
scanf(%d,&a);
we are reading into the address of a.
Data Hierarchy.
example:
int value can be assigned to float not vice-versa.
Type casting.
Meaning of
Syntax
Semantics of a programming language
Find the Output:
value=value++ + value++;
Value=++value + ++value;
value=value++ + ++value;
C Course, Programming
2.2 A Simple C Program:
Printing a Line of Text
Welcome to C!
1 /* Fig. 2.1: fig02_01.c
2 A first program in C */
3 #include <stdio.h>
4
5 int main()
6 {
7 printf( "Welcome to C!\n" );
8
Comments 9
10 }
return 0;
19
2.2 A Simple C Program:
Printing a Line of Text
printf( "Welcome to C!\n" );
Instructs computer to perform an action
Specifically, prints the string of characters within quotes
(“ ”)
Entire line called a statement
All statements must end with a semicolon (;)
20
2.2 A Simple C Program:
Printing a Line of Text
return 0;
A way to exit a function
return 0, in this case, means that the program terminated
normally
Right brace }
Indicates end of main has been reached
Linker
When a function is called, linker locates it in the library
Inserts it into object program
If function name is misspelled, the linker will produce an error
because it will not be able to find function in the library
21
1 /* Fig. 2.5: fig02_05.c
2 Addition program */ Outline
3 #include <stdio.h>
4 1. Initialize
5 int main() variables
22
6 {
7 int integer1, integer2, sum; /* declaration */ 2. Input
8
9 printf( "Enter first integer\n" ); /* prompt */
2.1 Sum
10 scanf( "%d", &integer1 ); /* read an integer */
11 printf( "Enter second integer\n" ); /* prompt */
12 scanf( "%d", &integer2 ); /* read an integer */ 3. Print
13 sum = integer1 + integer2; /* assignment of sum */
14 printf( "Sum is %d\n", sum ); /* print sum */
15
16 return 0; /* indicate that program ended successfully */
17 }
29
2.6 Decision Making: Equality and
Relational Operators
Standard algebraic C equality or Example of C Meaning of C
equality operator or relational condition condition
relational operator operator
Equality Operators
= == x == y x is equal to y
not = != x != y x is not equal to y
Relational Operators
> > x > y x is greater than y
< < x < y x is less than y
>= >= x >= y x is greater than or
equal to y
<= <= x <= y x is less than or
equal to y
30
2.6 Decision Making: Equality and
Relational Operators
Keywords
auto double int struct
break else long switch
case enum register typedef
char extern return union
const float short unsigned
continue for signed void
default goto sizeof volatile
do if static while
31
1 /* Fig. 2.13: fig02_13.c
2 Using if statements, relational Outline
3 operators, and equality operators */
4 #include <stdio.h> 1. Declare
5 variables
632 int main()
7 {
8 int num1, num2; 2. Input
9
10 printf( "Enter two integers, and I will tell you\n" );
2.1 if statements
11 printf( "the relationships they satisfy: " );
12 scanf( "%d%d", &num1, &num2 ); /* read two integers */
13 3. Print
14 if ( num1 == num2 )
15 printf( "%d is equal to %d\n", num1, num2 );
16
17 if ( num1 != num2 )
18 printf( "%d is not equal to %d\n", num1, num2 );
19
20 if ( num1 < num2 )
21 printf( "%d is less than %d\n", num1, num2 );
22
23 if ( num1 > num2 )
24 printf( "%d is greater than %d\n", num1, num2 );
25
26 if ( num1 <= num2 )
27 2000printf(
Prentice
"%d Hall, Inc.
is less Allor
than equal to %d\n",
29
30 if ( num1 >= num2 ) Outline
31 printf( "%d is greater than or equal to %d\n",
3.1 Exit main
32 num1, num2 );
33
33
34 return 0; /* indicate program ended successfully */
35 }
C Course, Programming
35
THANK YOU
C Course, Programming