C Programming
#include <stdio.h>
int main()
{
..
..
return 0;
}
Ex:
#include <stdio.h>
int main()
{
printf(“Hello world”);
return 0;
}
Output:
Hello world
For input: scanf(“format”, variable list)
For output: printf(“format”, variable list)
Format:
%d
integer
%c
character
%f
float
%lf double
Ex: Display a rectangle on the screen
#include <stdio.h>
int main()
{
printf(“**********”);
printf(“*
*”);
printf(“*
*”);
printf(“*
*”);
printf(“**********”);
return 0;
}
Output
**********
*
*
*
*
*
*
**********
Variables
a,var1,n,i…
Type
int
float, double
char
long, short
integer
real numbers
characters
Ex: Read a number from keyboard and display its square.
#include <stdio.h>
int main()
{
int a, square;
printf(“Enter the number”);
scanf(“%d”, &a);
square=a*a;
printf(“%d”, square);
return 0;
}
a
5
Ex: Read two numbers from keyboard and display their sum.
#include <stdio.h>
int main()
{
int n1, n2, sum;
printf(“Enter 2 numbers”);
scanf(“%d %d”, &n1, &n2);
n1
n2
sum
3
5
8
sum=n1+n2;
printf(“The sum of %d and %d is %d”, n1, n2, sum);
return 0;
}
Input:
3 5
Output:
The sum of 3 and 5 is 8
Ex: User enters initials and birth year. The program must calculate
and display the age.
#include <stdio.h>
int main()
{
char name, lastname;
int birthyear, age;
name
A
lastname
birthyear
2000
S
age
22
printf(“Enter initials and birth year”);
scanf(“%c %c %d”, &name, &lastname, &birthyear);
age=2022-birthyear;
printf(“Hello %c %c! you are %d years old”, name, lastname, age);
return 0;
}
Input:
A S 2000
Output:
Hello A S! you are 22 years old
Ex: Read three values and calculate their average.
#include <stdio.h>
int main()
{
double a,b,c, aver;
a
2.0
printf(“Enter 3 values”);
scanf(“%lf %lf %lf”, &a, &b, &c);
aver=(a+b+c)/3;
printf(“average is %5.2lf”, aver);
b
3.0
c
aver
4.0
3.0
return 0;
}
Input:
200.0 300.0 400.0
Output:
average is 300.0
3.00
----300.00
-----300.457
300.46
.--
(round)
Arithmetic Operations
+
*
/
%
addition
subtraction
multiplication
division
remainder
Type conversion
Ex: Integers
15/3
17/3
3/15
0/4
4/0
5
5 5.6666..
0
0
undefined
int op int int
double op double double
double op int
double
int op double
double
Ex:
(double)16/3
16.0/3 5.3333
Ex: Read 3 integer numbers from keyboard and calculate their average.
int main()
{
int a,b,c, sum;
double aver;
a
b
printf(“Enter 3 values”);
scanf(“%d %d %d”, &a, &b, &c);
sum=a+b+c;
aver=(double)sum/3;
// or
aver=sum/3.0;
printf(“average is %5.2lf”, aver);
return 0;
}
Rules for Evaluating Expressions
1. Paranthesis rule
a=(b+c)*(d-3);
2. Operator Presedence
Unary +, *, /, %
+, a= -b;
a=b+c*d-3;
a= -b*c;
Ex:
a=πr2
PI=3.14;
area=PI*r*r;
unary 𝑎 = 𝑏 + (𝑐. 𝑑) − 3
c
aver
Ex: 𝑣 =
𝑝2−𝑝1
𝑡2−𝑡1
V = (p2-p1)/(t2-t1);
Functions
Ex: Function without parameters
#include <stdio.h>
void hello();
function prototype
int main()
{
hello();
return 0;
}
function call
void hello()
{
printf(“Hello world\n”);
}
function body
OR
#include <stdio.h>
void hello()
{
printf(“Hello world\n”);
}
int main()
{
hello();
return 0;
}
Functions
function body
function call
Ex: Function with input parameters
#include <stdio.h>
void square(double x);
function prototype
int main()
{
parameter/argument
square(5.0);
function call
return 0;
}
void square(double x)
{
printf(“x=%lf x square= %lf \n”, x, x*x); function body
}
x
5.0
Output:
x=5.0
x square= 25.0
Ex: Function with input parameters and a single result
#include <stdio.h>
double square(double x);
function prototype
int main()
{
parameter/argument
double a;
a=square(5.0);
printf(“5 square= %lf \n”, a);
return 0;
}
double square(double x)
{
double y;
y=x*x;
return y;
}
Output:
5 square= 25.0
5.0
y
x
5.0
25.
0
Ex: Function with Multiple input parameters and a single result
Y=10a+b
#include <stdio.h>
double addmult(double k, double l);
int main()
{
double a=5.0, b=7.0, y;
y= addmult (a,b);
printf(“result= %lf \n”, y);
return 0;
}
double addmult(double k, double l)
{
double w;
w=k*10+l;
//5*10+7
return w;
}
Output:
result= 57.0
b
a
7.0
5.0
l
k
7.0
5.0
w
57.
0
Library Functions
Math library
#include <math.h>
sin(x)
cos()
tan(x)
…
pow(x,y)
sqrt(x)
exp(x)
log(x)
log10(x)
fabs(x)
ceil(x)
floor(x)
x must be in radians
xy
Ex: pow(2.0, 3.0) 8.0
square root of x
Ex: sqrt(4.0) 2.0
ex
e=2.71828…
logex
log10x
|x| absolute value
ceiling
ceil(45.67) 46.0
ceil(45.23) 46.0
floor
floor(45.67) 45.0
Ex: ax2+by+c=0
Roots x1, x2
Discriminant b2-4ac
int main()
{
double a, b, c, discr, x1,x2;
…
//read the numbers here
discr=pow(b,2.0)-4*a*c;
x1= (-b + sqrt(discr))/(2.0*a);
x2= (-b - sqrt(discr))/(2.0*a);
// print…
}
Ex: a2=b2+c2-2bc.cos(t)
Calculate a.
#define PI 3.1415
a= sqrt(pow(b, 2.0) + pow(c, 2.0) – 2*b*c*cos(t*PI/180.0) );
Ex: Calculate (x2+2x)+(y2+2y)+(z2+2z)
double myfunc(double x);
int main()
{
double a,b,c, result;
scanf(“%d %d %d “, &a,&b,&c);
result=myfunc(a)+myfunc(b)+myfunc(c);
printf(“%lf”, result);
return 0;
}
double myfunc(double x)
{
double f;
f=pow(x,2.0)+2*x;
return f;
}
Ex: Write a function to calculate the maximum of two numbers and
return the maximum. Call this function to find the maximum of the
numbers entered from keyboard.
#include <stdio.h>
int maximum(int x, int y)
{
int max;
if (x>y)
{
max=x;
}
else
{
max=y;
}
return max;
}
int main()
{
int a,b;
printf (“enter a,b”);
scanf(“%d %d”, &a, &b);
printf(“the max of %d and %d is %d”, a, b, maximum(a,b));
return 0;
}
Ex: Maximum of 3 numbers
#include <stdio.h>
int maximum(int x, int y)
{
if (x>y)
return x;
else
return y;
}
int main()
{
int a,b,c,mx;
printf (“enter a,b,c”);
scanf(“%d %d %d”, &a, &b, &c);
mx=maximum(a,b);
mx=maximum(mx,c);
printf(“the max of %d %d %d is %d”, a, b, c, mx);
return 0;
}
if Statements
if (condition)
{
….
}
if (condition)
{
….
}
else
{
….
}
Variable or constant or expression
Operators
==
!=
>
>=
<
<=
equal
not equal
Logical operators
&&
||
!
AND
OR
NOT
Ex:
a>5 && a<=10
a= 6,7,8,9,10
Ex:
!(n>100)
(n<=100)
n=100,99,…
Ex:
!(0<=n && n<=100)
n=… -2,-1,101,102,…
Ex:
(0>n && n>100)
always False
(pq)’= p’q’
Ex:
x+y/2 >= a-3 && a>5
opearator
Variable or constant or expression
precedence:
1. arithmetic expressions
2. arithmetic operators
3. logical operators
Ex: Read a number from keyboard and decide if it is positive, negative
or zero.
int main()
{
int n;
printf (“enter n”);
scanf(“%d”, &n);
if (n==0)
{
printf(“zero”);
)
else
{
if(n>0)
{
printf(“positive”);
}
else
{
printf(“negative”);
}
}
return 0;
}
Ex: Find the letter grade:
80-100
60-80
40-60
<40
A
B
C
F
int main()
{
int grade;
printf (“enter grade”);
scanf(“%d”, &grade);
if(grade>=80 && grade <=100)
printf(“A”);
else
{
if(grade >=60 && grade <80)
printf(“B”);
else
{
if(grade >=40 && grade <60)
printf(“C”);
else
{
if(grade<40)
printf(“F”);
else
printf(“wrong grade”);
}
}
}
return 0;
}
Assume all data is between 0-100
if(grade>=80)
printf(“A”);
else
{
if(grade >=60)
printf(“B”);
else
{
if(grade >=40)
printf(“C”);
else
{
printf(“F”);
}
}
}
Ex:
Read two values: number of attempts (n) and score (s).
n=1
n=1
n>1
n>1
s>=50
s<50
s>=50
s<50
excellent
good
can be improved
try harder
if (n==1)
{
if(s>=50)
printf(“excellent”);
else
printf(“good”);
}
else
{
if(s>=50)
printf(“can be improved”);
else
printf(“try harder”);
}
else belongs to the last if
Ex:
if (a==5)
if(b==6)
printf(“ 5 & 6”);
else
printf(“xx”);
if (a==5)
if(b==6)
printf(“ 5 & 6”);
else
printf(“xx”);
if (a==5)
{
if(b==6)
printf(“ 5 & 6”);
else
printf(“xx”);
}
input
5 6
5 7
output
5 & 6
xx
if (a==5)
{
if(b==6)
printf(“ 5 & 6”);
}
else
printf(“xx”);
input
5 6
5 7
output
5 & 6
Ex:
char letter;
switch (letter)
{
case ‘A’: grade=100;
break;
case ‘B’: grade=80;
break;
case ‘C’: grade=60;
break;
case ‘F’: grade=0;
break;
default:
printf(“unknown grade”);
}
printf(“grade is %d”, grade);
Ex:
Write a function to calculate b2-4ac
−𝑏±√𝑏22 −4𝑎𝑐
If b2-4ac is positive calculate
2𝑎
Otherwise print “cannot be calculated”
#include <stdio.h>
#include <math.h>
double discr(double a, double b, double c)
{
return pow(b,2.0)-4*a*c;
}
int main()
{
double a,b,c, x1,x2;
printf(“enter a,b,c”);
scanf(“%lf %lf %lf”, &a, &b, &c);
if (discr(a,b,c)>0)
{
printf(“%lf %lf”,
( -b+sqrt(discr(a,b,c)) )/(2*a),
( -b-sqrt(discr(a,b,c)) )/(2*a));
}
else
printf(“cannot be calculated”);
return 0;
}
Ex: Interest calculation
Currency type:
$
‘d’
€
‘e’
TL
‘t’
Interest rates (x):
$
%1
€
%2 if amount<100
TL
%8
3% if amount>=100
Write a function to calculate a+ax
Input: amount (a), currency type
double new_amount(double a, double x)
{
return a+a*x;
}
int main();
{
double amount;
char curr;
printf(“enter amount and currency type”);
scanf(“%lf %c”, &amount, &curr);
if (curr==’d’)
printf(“%lf”, new_amount(amount, 0.01));
else
{
if (curr==’e’)
{
if( amount <100)
printf(“%lf”, new_amount(amount, 0.02));
else
printf(“%lf”, new_amount(amount, 0.03));
}
else
{
if (curr==’t’)
printf(“%lf”, new_amount(amount, 0.08));
else
printf(“%c invalid currency”, curr);
}
}
return 0;
}
switch (curr)
{
case ‘d’:
case ‘e’:
case ‘t’:
default:
}
printf(“%lf”, new_amount(amount, 0.01));
break;
if( amount <100)
printf(“%lf”, new_amount(amount, 0.02));
else
printf(“%lf”, new_amount(amount, 0.03));
break;
printf(“%lf”, new_amount(amount, 0.08));
break;
printf(“invalid currency”);
Loops
while(condition)
{
Statements
}
Ex: Print the square of 5 numbers that are entered from the keyboard.
int main()
{
int n, i;
i=0;
//counter 0,1,2,3,4
while(i<5)
{
printf(“enter n”);
scanf(“%d”, &n);
printf(“square= %d”, n*n);
i++;
//i=i+1; increment counter
}
return 0;
}
Ex: Compute the sum of 5 numbers that are entered from the keyboard.
int main()
{
int n, i, sum;
sum=0;
i=0;
//counter 0,1,2,3,4
while(i<5)
{
printf(“enter n”);
scanf(“%d”, &n);
sum=sum+n;
i++;
//i=i+1;
}
printf(“sum= %d”, sum);
return 0;
increment counter
}
Ex: Print the even numbers from 12 to 20.
int main()
{
int n;
n=12;
while(n<=20)
{
printf(“%d”, n);
n=n+2;
}
return 0;
}
n
output
12
12
14
14
16
16
18
18
20
20
22
Ex: Print the even numbers from 20 to 12.
int main()
{
int n;
n=20;
while(n>=12)
{
printf(“%d”, n);
n=n-2;
}
return 0;
}
n . . . 14 12 10
output …16 14 12
Ex: Sentinel controlled loops
Sum all numbers entered from the keyboard until -1 is entered.
-1 is the sentinel value.
int main()
{
int n, sum;
sum=0;
printf(“enter n”);
scanf(“%d”, &n);
// get data
while(n!= -1)
{
sum=sum+n;
//process data
printf(“enter n”);
scanf(“%d”, &n); //get another data
}
return 0;
}
Get data
while(sentinel value has not been encountered)
{
Process data
Get another data
}
Ex: Conditional loop
Stock contains 100 cars. Read the number of cars sold and subtract it
from the stock. If stock is less than 10, print the message “ lower
than min. stock”
int main()
{
int stock=100, n;
printf(“enter n”);
scanf(“%d”, &n);
// get data
stock=stock-n;
while(stock >= 10)
{
printf(“enter n”);
scanf(“%d”, &n);
// get data
stock=stock-n;
}
printf(“ lower than min. stock”);
return 0;
}
Ex: Flags
Read 10 numbers and sum them. If the numbers contain a negative value,
display a warning.
int main()
{
int n, i, sum, flag;
sum=0;
i=0;
flag=0;
// false
while(i<10)
{
printf(“enter n”);
scanf(“%d”, &n);
if (n<0)
flag=1;
// true
sum+=n;
// sum=sum+n;
i++;
// i=i+1;
}
if (flag==1)
printf(“ sum=%d
warning! Negative value”, sum);
else
printf(“sum=%d”, sum);
return 0;
}
Nested Loops
Ex: Find the factorial of the numbers entered from the keyboard. Exit
if a negative number is given.
int main()
{
int n, fact, i;
printf(“enter a number”);
scanf(“%d”, &n);
while(n>=0)
{
//find factorial
fact=1;
i=1;
while(i<=n)
{
fact *= i;
//fact=fact*i;
i++;
// i=i+1;
}
printf(“%d factorial is %d”, n, fact);
printf(“enter a number”);
scanf(“%d”, &n);
}
return 0;
}
Ex:
0
0
0
0
0
0
1
1
1
1
1
2
2 3
2 3 4
2 3 4 5
#include <stdio.h>
int main()
{
int row, col;
row=0;
while(row<=5)
{
col=0;
while(col<=row)
{
printf("%d ", col);
col=col+1;
}
row=row+1;
printf("\n");
}
printf("\n");
return 0;
}
Ex:
0
0 1
0 1 2
0 1 2 3
0
1
2
3
4
0
1
2
3
4
5
#include <stdio.h>
int main()
{
int row, col, nblanks, i;
row=0;
nblanks=10;
while(row<=5)
{
i=0;
while(i<nblanks)
{
printf(" ");
i++;
}
col=0;
while(col<=row)
{
printf("%d ", col);
col=col+1;
}
row=row+1;
printf("\n");
nblanks=nblanks-2;
}
printf("\n");
return 0;
}
Ex:
*
* *
* * *
* * * *
* * * * *
* * * * * *
#include <stdio.h>
int main()
{
int row, col, nblanks, i;
row=0;
nblanks=5;
while(row<=5)
{
i=0;
while(i<nblanks)
{
printf(" ");
i++;
}
col=0;
while(col<=row)
{
printf("* ");
col=col+1;
}
row=row+1;
printf("\n");
nblanks=nblanks-1;
}
printf("\n");
return 0;
}
0
You can add this document to your study collection(s)
Sign in Available only to authorized usersYou can add this document to your saved list
Sign in Available only to authorized users(For complaints, use another form )