introduction to basic c programming 01

23
Introduction to C Workshop India Wilson Wingston Sharon [email protected]

Upload: wingston

Post on 18-May-2015

4.691 views

Category:

Education


6 download

DESCRIPTION

This presentation offers complete basic users a simple guide to the C programming Language.

TRANSCRIPT

Page 1: Introduction to Basic C programming 01

Introduction to C

Workshop IndiaWilson Wingston [email protected]

Page 2: Introduction to Basic C programming 01

Writing the first program

#include<stdio.h>int main(){

printf(“Hello”);return 0;

}

This program prints Hello on the screen when we execute it

Page 3: Introduction to Basic C programming 01

Header files

The files that are specified in the include section is called as header file

These are precompiled files that has some functions defined in them

We can call those functions in our program by supplying parameters

Header file is given an extension .h C Source file is given an extension .c

Page 4: Introduction to Basic C programming 01

Main function

This is the entry point of a program When a file is executed, the start point is

the main function From main function the flow goes as per

the programmers choice. There may or may not be other functions

written by user in a program Main function is compulsory for any c

program

Page 5: Introduction to Basic C programming 01

Comments in C

Single line comment // (double slash) Termination of comment is by pressing

enter key Multi line comment

/*…. …….*/This can span over to multiple lines

Page 6: Introduction to Basic C programming 01

Data types in C

Primitive data types int, float, double, char

Aggregate data types Arrays come under this category Arrays can contain collection of int or float

or char or double data User defined data types

Structures and enum fall under this category.

Page 7: Introduction to Basic C programming 01

Variables

Variables are data that will keep on changing

Declaration<<Data type>> <<variable name>>;int a;

Definition<<varname>>=<<value>>;a=10;

Usage<<varname>>a=a+1;//increments the value of a by 1

Page 8: Introduction to Basic C programming 01

Operators

Arithmetic (+,-,*,/,%) Relational (<,>,<=,>=,==,!=) Logical (&&,||,!) Bitwise (&,|) Assignment (=) Compound assignment(+=,*=,-=,/=,

%=,&=,|=) Shift (right shift >>, left shift <<)

Page 9: Introduction to Basic C programming 01

Variable names- Rules

Should not be a reserved word like int etc..

Should start with a letter or an underscore(_)

Can contain letters, numbers or underscore.

No other special characters are allowed including space

Variable names are case sensitive A and a are different.

Page 10: Introduction to Basic C programming 01

Input and Output

Input scanf(“%d”,&a); Gets an integer value from the user and

stores it under the name “a” Output

printf(“%d”,a) Prints the value present in variable a on the

screen

Page 11: Introduction to Basic C programming 01

Task01- I/O

Write a program to accept 3 numbers a , b and c as coefficients of the quadratic equation

ax2 + bx + c = 0

And output the solution.

Hint:1.There will be two answers for every input combination.2.Look in a math textbook for the solution formula.

Page 12: Introduction to Basic C programming 01

For loops

The syntax of for loop isfor(initialisation;condition checking;increment){

set of statements}Eg: Program to print Hello 10 timesfor(I=0;I<10;I++){

printf(“Hello”);}

Page 13: Introduction to Basic C programming 01

While loop

The syntax for while loopwhile(condn){

statements;}

Eg:a=10;while(a != 0) Output: 10987654321{

printf(“%d”,a);a--;

}

Page 14: Introduction to Basic C programming 01

Do While loop

The syntax of do while loopdo{

set of statements}while(condn);

Eg:i=10; Output:do 10987654321{

printf(“%d”,i);i--;

}while(i!=0)

Page 15: Introduction to Basic C programming 01

Task02 - loops

Write a program to identify which day ( sat – fri) a particular given date (e.g. : 3/3/2015) falls upon.

Hint: http://en.wikipedia.org/wiki/Zeller%27s_congruence

Read through the algorithm and implement it. You can make your own algorithm and get

bonus marks.

Page 16: Introduction to Basic C programming 01

Conditional statements

if (condition) {

stmt 1; //Executes if Condition is true}else{

stmt 2; //Executes if condition is false}

Page 17: Introduction to Basic C programming 01

Conditional statement

switch(var){case 1: //if var=1 this case executes

stmt;break;

case 2: //if var=2 this case executesstmt;break;

default: //if var is something else this will executestmt;

}

Page 18: Introduction to Basic C programming 01

Functions and Parameters

Syntax of functionDeclaration section<<Returntype>> funname(parameter list);Definition section<<Returntype>> funname(parameter list){

body of the function}Function CallFunname(parameter);

Page 19: Introduction to Basic C programming 01

Example function

#include<stdio.h>void fun(int a); //declarationint main(){

fun(10); //Call}void fun(int x) //definition{

printf(“%d”,x);}

Page 20: Introduction to Basic C programming 01

Task03 - Primality

Write a function to check if a given number is prime or not.

http://en.wikipedia.org/wiki/Prime_number

Try and implement at least 2 algorithms and check which one returns faster.

Use this for time stamping : http://www.chemie.fu-berlin.de/chemnet/use/info/libc/libc_17.html

Page 21: Introduction to Basic C programming 01

Arrays

Arrays fall under aggregate data type Aggregate – More than 1 Arrays are collection of data that belong

to same data type Arrays are collection of homogeneous

data Array elements can be accessed by its

position in the array called as index

Page 22: Introduction to Basic C programming 01

Arrays

Array index starts with zero The last index in an array is num – 1 where

num is the no of elements in a array int a[5] is an array that stores 5 integers a[0] is the first element where as a[4] is

the fifth element We can also have arrays with more than

one dimension float a[5][5] is a two dimensional array. It

can store 5x5 = 25 floating point numbers The bounds are a[0][0] to a[4][4]

Page 23: Introduction to Basic C programming 01

Task04 - Arrays

Produce a spiral array. A spiral array is a square arrangement of the first N2 natural numbers, where the numbers increase sequentially as you go around the edges of the array spiralling inwards.

For example, given 5, produce this array:

0 1 2 3 4

15 16 17 18 5

14 23 24 19 6

13 22 21 20 7

12 11 10 9 8