0% found this document useful (0 votes)
92 views

C Book

The document provides resources for learning C programming including books, websites, and code examples. It includes the description and link for a C programming course on YouTube by Eng. Mohamed Yousef. Sample code is provided for basic calculator programs using single and multiple source files. Books, websites, and example code are given to aid in learning C programming.

Uploaded by

Dung Huynh Xuan
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
92 views

C Book

The document provides resources for learning C programming including books, websites, and code examples. It includes the description and link for a C programming course on YouTube by Eng. Mohamed Yousef. Sample code is provided for basic calculator programs using single and multiple source files. Books, websites, and example code are given to aid in learning C programming.

Uploaded by

Dung Huynh Xuan
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 208

A

C Programming Course
Eng. Mohamed Yousef
(Slides Book)

Egypt, 2020

The link of C programming course on my youtube channel is:

https://www.youtube.com/playlist?list=PLfgCIULRQavzxY-IO2sO5Vj5x7C_tjW3R

Follow me on:

https://www.youtube.com/mohamedyousef2

https://electronics010.blogspot.com/

https://www.facebook.com/electronics010
B

Resources
Books:

 C Programming for the absolute beginner


 Beginning programming with C for dummies
 C _ how to program

Websites:

 https://www.geeksforgeeks.org/c-programming-language/
 https://www.tutorialspoint.com/cprogramming/
 https://codeforwin.org/2017/08/introduction-c-programming.html
 https://microchipdeveloper.com/tls2101:start

In addition to many scattered web pages.


/*
============================================================================
==
PROGRAM : Lab01-1
Author : Mohamed Sayed Yousef
http://electronics010.blogspot.com.eg/
Date : September 2018
Version : 1.0
Description :
============================================================================
==
*/

#define NUMB_1 -3000000000


#define NUMB_2 12.3456
#define FLAG 'T'

int main()
{
return 0;
}
/*
============================================================================
==
PROGRAM : Lab01-2
Author : Mohamed Sayed Yousef
http://electronics010.blogspot.com.eg/
Date : September 2018
Version : 1.0
Description :
============================================================================
==
*/

const signed long long int NUMB_1 = -3000000000;


const float NUMB_2 = 12.3456;
const char FLAG = 'T';

int main()
{
return 0;
}
#include <stdio.h>

int main()
{
char operator_char;
double firstNumber,secondNumber;

printf("Enter an operator (+, -, *, /): ");


scanf("%c", &operator_char);

printf("Enter two operands: ");


scanf("%lf %lf",&firstNumber, &secondNumber);

switch(operator_char)
{
case '+': // ASCII => 43
printf("%g + %g = %g",firstNumber, secondNumber, firstNumber +
secondNumber);
break;

case '-': // ASCII => 45


printf("%g - %g = %g",firstNumber, secondNumber, firstNumber -
secondNumber);
break;

case '*': // ASCII => 42


printf("%g * %g = %g",firstNumber, secondNumber, firstNumber *
secondNumber);
break;

case '/': // ASCII => 47

if(secondNumber == 0){
printf("second number is ZERO!\n");
} else {
printf("%g / %g = %g",firstNumber, secondNumber,
firstNumber / secondNumber);
}

break;

// operator doesn't match any case constant (+, -, *, /)


default:
printf("Error! operator is not correct");
}

return 0;
}
/*
============================================================================
==
PROGRAM :
Author : Mohamed Sayed Yousef
http://electronics010.blogspot.com.eg/
Date : September 2018
Version : 1.0
Description :
============================================================================
==
*/

#include <stdio.h>
#define true 1

int main(void){
int students_number = 0;
float degree = 0.0, sum = 0.0;

printf("\n Enter negative number to finish. \n");

while(true){

students_number++;

printf(" Enter student %d degree : ", students_number);


scanf("%f", &degree);

if(degree < 0) break;

sum += degree;
}

students_number--;

if(students_number != 0){
printf("\n Average student degree is : %g", sum / students_number);
}
return 0;
}
/*
============================================================================
==
PROGRAM : circle Area
Author : Mohamed Sayed Yousef
http://electronics010.blogspot.com.eg/
Date : September 2018
Version : 1.0
Description :
============================================================================
==
*/
#include <stdio.h>

float Circle_Area(float radius);

/* -----------------------------------------------------------------------
*/

int main(){
float radius = 0.0, area = 0.0;

printf("\n Enter the radius of Circle : ");


scanf("%f", &radius);

area = Circle_Area(radius);
printf(" Area of Circle : %f\n", area);

return 0;
}

/* -----------------------------------------------------------------------
*/

float Circle_Area(float radius){


return (radius * radius * 3.1416);
}

/* -----------------------------------------------------------------------
*/
#include <stdio.h>

int x = 5; // global variable

void func(int);

int main(void){
printf("\n Before function call : %d", x);

int x = 10; // local variable declaration


func(x);
printf("\n After function call : %d", x);

return 0;
}

void func(int x){


printf("\n From function : %d", x);
x = 15;
}
/*
============================================================================
==
PROGRAM : single file project
Author : Mohamed Sayed Yousef
http://electronics010.blogspot.com.eg/
Date : September 2018
Version : 1.0
Description :
============================================================================
==
*/
#include <stdio.h>

// variables
int operation = 0;
float operand1 = 0, operand2 = 0;

// constants
#define ADD 1
#define SUB 2

// prototypes
void Title(void);
void Get_User_Inputs(void);
void Add(void);
void Sub(void);

//
---------------------------------------------------------------------------
int main(){

Title();
Get_User_Inputs();

switch(operation){
case ADD: Add(); break;
case SUB: Sub(); break;
default: printf("\n Tanks");
}

return 0;
}
//
---------------------------------------------------------------------------
void Title(void){
printf("\n\t\tCalculator Program");
printf("\n\t\t==================\n");
}
//
---------------------------------------------------------------------------
void Get_User_Inputs(void){

printf("\n 1- Addition.");
printf("\n 2- Subtraction.");
printf("\n Select Operation :");
scanf("%d", &operation);

printf("\n Enter 1st operand :");


scanf("%f", &operand1);
printf(" Enter 2nd operand :");
scanf("%f", &operand2);
}
//
---------------------------------------------------------------------------
void Add(void){
printf("\n %g + %g = %g", operand1, operand2, (operand1 + operand2));
}
//
---------------------------------------------------------------------------
void Sub(void){
printf("\n %g - %g = %g", operand1, operand2, (operand1 - operand2));
}
//
---------------------------------------------------------------------------
/*
============================================================================
==
PROGRAM : multi files project
Author : Mohamed Sayed Yousef
http://electronics010.blogspot.com.eg/
Date : September 2018
Version : 1.0
Description :
============================================================================
==
*/
#include "calculator.h"

//
---------------------------------------------------------------------------
int main(){
Calculator();
return 0;
}
#ifndef CALCULATOR_H_INCLUDED
#define CALCULATOR_H_INCLUDED

extern void Calculator(void);

#endif // CALCULATOR_H_INCLUDED
/*
============================================================================
==
PROGRAM : multi files project
Author : Mohamed Sayed Yousef
http://electronics010.blogspot.com.eg/
Date : September 2018
Version : 1.0
Description :
============================================================================
==
*/
#include <stdio.h>

// variables
static int operation = 0;
static float operand1 = 0, operand2 = 0;

// constants
#define ADD 1
#define SUB 2

// prototypes
void Calculator(void);
static void Title(void);
static void Get_User_Inputs(void);
static void Add(void);
static void Sub(void);

//
---------------------------------------------------------------------------
void Calculator(void){
Title();
Get_User_Inputs();

switch(operation){
case ADD: Add(); break;
case SUB: Sub(); break;
default: printf("\n Tanks");
}
}
//
---------------------------------------------------------------------------
static void Title(void){
printf("\n\t\tCalculator Program");
printf("\n\t\t==================\n");
}
//
---------------------------------------------------------------------------
static void Get_User_Inputs(void){

printf("\n 1- Addition.");
printf("\n 2- Subtraction.");
printf("\n Select Operation :");
scanf("%d", &operation);

printf("\n Enter 1st operand :");


scanf("%f", &operand1);

printf(" Enter 2nd operand :");


scanf("%f", &operand2);
}
//
---------------------------------------------------------------------------
static void Add(void){
printf("\n %g + %g = %g", operand1, operand2, (operand1 + operand2));
}
//
---------------------------------------------------------------------------
static void Sub(void){
printf("\n %g - %g = %g", operand1, operand2, (operand1 - operand2));
}
//
---------------------------------------------------------------------------

You might also like