Top Banner
SHREE SWAMI AATMANAND SARASWATI INSTITUTE OF TECHNOLOGY SUBJECT- CPU(2110003) TOPIC – FUNDAMENTALS OF C PREPARED BY – JAIN MOHIT(150760106064), JAYKUMAR(150760106065) UNDER– PROF. ZINAL SOLANKI
41

Cpu

Apr 12, 2017

Download

Engineering

Mohit Jain
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Cpu

SHREE SWAMI AATMANAND SARASWATI INSTITUTE OF

TECHNOLOGY

SUBJECT- CPU(2110003)

TOPIC – FUNDAMENTALS OF C

PREPARED BY – JAIN MOHIT(150760106064), JAYKUMAR(150760106065)

UNDER– PROF. ZINAL SOLANKI

Page 2: Cpu

CONTENT

• OVERVIEW OF C• C PROGRAM SKELETON• C PROGRAM STRUCTURE• HEADER FILES• MAIN FUNCTION• RUNNING A C PROGRAM• COMMANDS IN C• VARIABLE NAME RULES• INPUT/OUTPUT• OPERATORS• CHARACTERS USED IN C

Page 3: Cpu

• SPECIAL CHARACTERS• KEYWORDS• IDENTIFIERS• ESCAPE SEQUENCE• VARIABLES• BASIC DATA TYPES• CONSTANTS• I/O OPERATIONS• I/O FUNCTIONS• PROGRAMMING ERRORS• NOTES• BIBLIOGRAPHY• END PAGE

Page 4: Cpu

Overview of C

• C is developed by Dennis Ritchie• C is a structured programming language• C supports functions that enables easy

maintainability of code, by breaking large file into smaller modules

• Comments in C provides easy readability• C is a powerful language

Page 5: Cpu

• In short, the basic skeleton of a C program looks like this:

#include <stdio.h>

void main(){

statement(s);

}

C program skeleton

Preprocessor directives

Main function

Start of segment(program)

End of segment(program)

Page 6: Cpu

C Program Structure

Simple C Program

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

--other statements // Comments after double slash}

Page 7: Cpu

Header files

• The files that are specified in the include section are known 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 8: Cpu

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 9: Cpu

RUNNING A C PROGRAM

• Type a program• Save it• Compile the program – This will generate an exe file

(executable)• Run the program (Actually the exe created out of

compilation will run and not the .c file)• In different compiler we have different option for

compiling and running. We give only the concepts.

Page 10: Cpu

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 11: Cpu

Variable names- Rules

• Should not be a reserved word like int,struct 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 12: Cpu

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 13: Cpu

Operators• Arithmetic (+,-,*,/,%)• Relational (<,>,<=,>=,==,!=)• Logical (&&,||,!)• Bitwise (&,|)• Assignment (=)• Compound assignment(+=,*=,-=,/=,%=,&=,|=)• Shift (right shift >>, left shift <<)

Page 14: Cpu

CHARACTERS USED IN C

Alphabets Uppercase letters A to ZLowercase letter a to z

Numbers0 to 9

Page 15: Cpu

Special characters

+ plus , comma < less than- minus . full stop > greater than* asterisk ; semicolon = equal to / slash : colon ( open parenthesis\ back slash ' apostrophe ) close parenthesis% percent " double quote [ open bracket| vertical bar & ampersand ] close bracket~ tilde # hash { open set bracket? question mark $ dollar } close set bracket! exclamation mark ^ caret _ underscore

Page 16: Cpu

Keywords or Reserved Words

C language uses the following keywords which are not available to users to use them as variables/function names. Keywords are always written with the lower case letters. Some C compilers use more keywords which they include in their documentation or manual pages.

auto default float register struct

volatile break do for return

switch while case double goto

short typedef char else if

signed union const enum int

sizeof unsigned continue extern long

static void

Page 17: Cpu

IdentifierAn identifier is a name having a few letters , numbers and special character _(underscore). It is used to identify a variable, function, symbolic constant and so on. An identifier can be written with a maximum of 31 characters.

Example:

x2 , sum ,avg (can be used as variables)calcu_avg , matadd (can be used as function names)pi, sigma (can be used as symbolic constants)

Page 18: Cpu

Rules for naming identifiersRules Example

Can contain a mix of characters and numbers. However it cannot start with a number

H2o

First character must be a letter or underscore Number1; _area

Can be of mixed cases including underscore character XsquAremy_num

Cannot contain any arithmetic operators R*S+T

… or any other punctuation marks… #@x%!!

Cannot be a C keyword/reserved word struct; printf;

Cannot contain a space My height

… identifiers are case sensitive Tax != tax

Page 19: Cpu

Escape SequenceEscape Sequence Effect

\a Beep sound \b Backspace \f Formfeed (for printing) \n New line \r Carriage return \t Tab \v Vertical tab \\ Backslash \” “ sign \o Octal decimal \x Hexadecimal \O NULL

Page 20: Cpu

Variables

• Variable a name associated with a memory cell whose value can be change

• Variable Declaration: specifies the type of a variable– Example: int num;

• Variable Definition: assigning a value to the declared variable– Example: num = 5;

Page 21: Cpu

BASIC DATA TYPES• There are 4 basic data types :

– int– float– double– char

• int – used to declare numeric program variables of integer type– whole numbers, positive and negative– keyword: int

int number;number = 12;

Page 22: Cpu

Basic Data Types cont…• float

– fractional parts, positive and negative– keyword: float

float height;height = 1.72;

• double – used to declare floating point variable of higher precision

or higher range of numbers– exponential numbers, positive and negative– keyword: double

double valuebig; valuebig = 12E-3;

Page 23: Cpu

• char – equivalent to ‘letters’ in English language– Example of characters:

• Numeric digits: 0 - 9• Lowercase/uppercase letters: a - z and A - Z• Space (blank)• Special characters: , . ; ? “ / ( ) [ ] { } * & % ^ < > etc

– single character– keyword: char

char my_letter;my_letter = 'U';

• In addition, there are void, short, long, etc.

Basic Data Types cont…

Page 24: Cpu

Constants• Entities that appear in the program code as fixed values.• Any attempt to modify a CONSTANT will result in error.• 3 types of constants:

– Integer constants• Positive or negative whole numbers with no fractional part• Example:

– const int MAX_NUM = 10;– const int MIN_NUM = -90;

– Floating-point constants (float or double)• Positive or negative decimal numbers with an integer part, a

decimal point and a fractional part• Example:

– const double VAL = 0.5877e2; (stands for 0.5877 x 102)

Page 25: Cpu

Constants cont…– Character constants

• A character enclosed in a single quotation mark• Example:

– const char letter = ‘n’;– const char number = ‘1’;– printf(“%c”, ‘S’);

» Output would be: S

Page 26: Cpu

CONSTANT EXAMPLE – VOLUME OF A CONE

#include <stdio.h>

void main(){

const double pi = 3.412; //hence pi value cant be changeddouble h, r, b, volume;

printf(“Enter the height and radius of the cone:”);scanf(“%lf %lf”,&h, &r);

b = pi * r * r;volume = (1.0/3.0) * b * h;

printf(“\nThe volume of a cone is :%f ”, volume);}

Page 27: Cpu

Input / Output Operations

• Input operation– an instruction that copies data from an input

device into memory

• Output operation– an instruction that displays information stored in

memory to the output devices (such as the monitor screen)

Page 28: Cpu

Input / Output Functions

• A C function that performs an input or output operation

• A few functions that are pre-defined in the header file stdio.h such as :– printf()– scanf()– getchar() & putchar()– gets() & puts()

Page 29: Cpu

The printf function• Used to send data to the standard output (usually

the monitor) to be printed according to specific format.

• General format:– printf(“string literal”);

• A sequence of any number of characters surrounded by double quotation marks.

– printf(“format string”, variables);• Format string is a combination of text, conversion

specifier and escape sequence.

Page 30: Cpu

The printf function cont…

• Example:– printf(“Thank you”);– printf (“Total sum is: %d\n”, sum);

• %d is a placeholder (conversion specifier)– marks the display position for a type integer variable

• \n is an escape sequence– moves the cursor to the new line

Page 31: Cpu

The scanf function

• Read data from the standard input device (usually keyboard) and store it in a variable.

• General format:– scanf(“Format string”, &variable);

• Notice ampersand (&) operator :– C address of operator– it passes the address of the variable instead of the

variable itself– tells the scanf() where to find the variable to store

the new value

Page 32: Cpu

The scanf function cont…• Example :

int age;printf(“Enter your age: “);scanf(“%d”, &age);

• Common Conversion Identifier used in printf and scanf functions. printf scanf

int %d %dfloat %f %fdouble %f %lfchar %c %cstring %s %s

Page 33: Cpu

Common Programming Errors

• Debugging Process removing errors from a program

• Three kinds of errors :

– Syntax Error • a violation of the C grammar rules, detected during

program translation (compilation).• statement cannot be translated and program

cannot be executed

Page 34: Cpu

COMMON PROGRAMMING ERRORS CONT…

– Run-time errors• An attempt to perform an invalid operation,

detected during program execution.• Occurs when the program directs the computer to

perform an illegal operation, such as dividing a number by zero.

• The computer will stop executing the program, and displays a diagnostic message indicates the line where the error was detected

Page 35: Cpu

COMMON PROGRAMMING ERRORS CONT…

– Logic Error/Design Error• An error caused by following an incorrect algorithm

• Very difficult to detect - it does not cause run-time error and does not display message errors.

• The only sign of logic error – incorrect program output

• Can be detected by testing the program thoroughly, comparing its output to calculated results

• To prevent – carefully desk checking the algorithm and written program before you actually type it

Page 36: Cpu

Few notes on C program…• C is case-sensitive

– Word, word, WorD, WORD, WOrD, worD, etc are all different variables / expressions

Eg. sum = 23 + 7

• Comments– are inserted into the code using /* to start and */ to end a

comment– Some compiler supports comments starting with ‘//’– Provides supplementary information but is ignored by the

preprocessor and compiler • /* This is a comment */• // This program was written by Hanly Koffman

Page 37: Cpu

Few notes on C program cont…

• Reserved Words– Keywords that identify language entities such as

statements, data types, language attributes, etc.– Have special meaning to the compiler, cannot be

used as identifiers (variable, function name) in our program.

– Should be typed in lowercase.– Example: const, double, int, main, void,printf,

while, for, else (etc..)

Page 38: Cpu

Few notes on C program cont…

• Punctuators (separators)– Symbols used to separate different parts of the C

program.– These punctuators include:

[ ] ( ) { } , ; “: * #– Usage example:

Page 39: Cpu

Few notes on C program cont…

• Operators– Tokens that result in some kind of computation or

action when applied to variables or other elements in an expression.

– Example of operators:• * + = - /

– Usage example:• result = total1 + total2;

Page 40: Cpu

BIBLIOGRAPHY

• Google• Wikipedia• Reference books