Sie sind auf Seite 1von 27

Input Output Functions in C

Header File
• A header file is a file with extension .h which
contains C function declarations and macro
definitions to be shared between several source files.
• There are two types of header files:
– the files that the programmer writes and
– the files that comes with your compiler.
• You request to use a header file in your program by
including it with the C preprocessing
directive #include
Header File
• Including a header file is equal to copying the content
of the header file but we do not do it because it will
be error-prone and it is not a good idea to copy the
content of a header file in the source files, especially if
we have multiple source files in a program.
• A simple practice in C or C++ programs is that we keep
all the constants, macros, system wide global
variables, and function prototypes in the header files
and include that header file wherever it is required.
Purposes of Header files
• System header files declare the interfaces to parts of
the operating system.
– You include them in your program to supply the definitions
and declarations you need to invoke system calls and
libraries.
• Your own header files contain declarations for
interfaces between the source files of your program.
– Each time you have a group of related declarations and
macro definitions all or most of which are needed in several
different source files, it is a good idea to create a header file
for them.
Standard Library
• The C standard library is a standardized collection of
header files and library routines used to implement
common operations, such as input/output and character
string handling.
• Unlike other languages (such as COBOL, Fortran, and PL/I)
C does not include built-in keywords for these tasks, so
nearly all C programs rely on the standard library to
operate.
• The C Standard Library is a set of C built-in functions,
constants and header files like <stdio.h>, <stdlib.h>,
<math.h>, etc.
• This library will work as a reference manual for C
programmers.
Syntax
• In linguistics, syntax is the set of rules,
principles, and processes that govern the
structure of sentences in a given language,
specifically word order and punctuation.
• In computer science, the syntax of a computer
language is the set of rules that defines the
combinations of symbols that are considered
to be a correctly structured document or
fragment in that language.
Semantics
• Semantics is the study of the meaning of language.
• It also deals with varieties and changes in the meaning of words,
phrases, sentences and text.
• In programming language theory, semantics is the field concerned
with the rigorous mathematical study of the meaning of  programming
languages.
• It does so by evaluating the meaning of syntactically legal
strings defined by a specific programming language, showing the
computation involved.
• In such a case that the evaluation would be of syntactically illegal
strings, the result would be non-computation.
• Semantics describes the processes a computer follows when executing
a program in that specific language.
• This can be shown by describing the relationship between the input
and output of a program, or an explanation of how the program will
execute on a certain platform, hence creating a model of computation.
Difference between syntax and semantics
• Syntax is about the structure or the grammar of the language.
• It answers the question: how do I construct a valid sentence? All
languages, even English and other human (aka "natural")
languages have grammars, that is, rules that define whether or
not the sentence is properly constructed.
• Here are some C language syntax rules:
– separate statements with a semi-colon
– enclose the conditional expression of an IF statement inside parentheses
– group multiple statements into a single statement by enclosing in curly
braces
– data types and variables must be declared before the first executable
statement
Difference between syntax and semantics
• Semantics is about the meaning of the sentence.
• It answers the questions: is this sentence valid? If so, what does the sentence mean?
• For example:
– x++; // increment
– foo(xyz, --b, &qrs); // call foo
• are syntactically valid C statements. But what do they mean? Is it even valid to attempt to
transform these statements into an executable sequence of instructions? These questions are
at the heart of semantics.
• Consider the ++ operator in the first statement. First of all, is it even valid to attempt this?
• If x is a float data type, this statement has no meaning (according to the C language rules) and
thus it is an error even though the statement is syntactically correct.
• If x is a pointer to some data type, the meaning of the statement is to "add sizeof(some data
type) to the value at address x and store the result into the location at address x".
• If x is a scalar, the meaning of the statement is "add one to the value at address x and store
the result into the location at address x".
• Finally, note that some semantics cannot be determined at compile-time and must therefore
must be evaluated at run-time. In the ++ operator example, if x is already at the maximum
value for its data type, what happens when you try to add 1 to it? Another example: what
happens if your program attempts to dereference a pointer whose value is NULL?
• In summary, syntax is the concept that concerns itself only whether or not the sentence is
valid for the grammar of the language . Semantics is about whether or not the sentence has a
valid meaning.
Types of Operations

Operation

Input Output
Input/Output operations

 I/O operation in C language is performed through set of library


function supplied with complier.
 There are set of header file which provides various library
function
 A common used header file in C programming is stdio.h .
 It is called standard input output header file.
 The set of library functions that perform input-output operation
is known as standard input/output library (stdio.h)
 Inside this header file there are two common functions.
– printf() and scanf()
Reading a Character
• getchar();

• Accepts any character keyed in including


– return (enter)
– tab space

• Ex:
char variable_name;
variable_name=getchar();
Writing a Character
• putchar(var_name);

• Displays char represented by var_name on the


terminal

• Ex:
char c=getchar();
putchar(c);
scanf()
• This function is used for input purpose. This function is
used to read some data from the keyboard and store it
in the variable.
• Syntax: scanf(“control string”, address of the
variable);
• Ex:-
• int x; /* Declaration of an integer variable */
• scanf(“%d”, &x); /* Input from keyboard for the
variable x */
• printf(“%d”, x); /* To print the value of the variable x */
scanf()
• Each variable must have a field specification
• For each field specification there must be
variable address
• The scanf reads until
– A white space is found in numeric specification
– the maximum number of characters have been read
– An error is detected
– The end of file is reached
Conversion Specifications
•The format specifier or the Conversion specification used by the
printf() and scanf() function specifies the type and size of data.
•Each format specifier must begin with a % sign .
Specifier meaning
%c a single character
%d or %i decimal integer
%f or %e or %g floating point number
%lf long range floating point (double)
%Lf long double
%h short int
%s string
%u unsigned decimal integer
%o octal integer
%x hexadecimal
%[…] Read a string of words
Examples
• int marks;
– scanf(“%d”,&marks);
• int basic,da;
– scanf(“%d%d”,&basic,&da);
• float x;
– scanf(“%f”,&x);
• double y;
– scanf(“%lf”,&y);
N.B
 The modifier h can be used before conversion specifications d,i,o,u,x to
specify short integer.
 The modifier l can be used before them to specify a long integer.
 The modifier l can be used before conversion specification f,e,g to specify
double .
 The modifier L can be used before f,e,g to specify long double.

Example:
%ld
%hd
%Lf
%hx
printf()
• This function is used for output purpose. This
function takes an argument and display it in
the console.
• syntax: printf(“format specifier”, variable);
• Ex: printf(“Hello”); /* Used to display the
string Hello*/
Examples
• printf(“Programming in C”);
• printf(“\n”);
• printf(“%d”,x);
• printf(“x=%d\n”,x);
• printf(“The value of a is %d”,a);

• printf does not supply new line automatically.


Thus ‘\n’ is used
Integer Examples
• printf(“%d”,9678);
9 6 7 8
• printf(“%6d”,9678);
9 6 7 8
• printf(“%2d”,9678);
9 6 7 8
• printf(“%-6d”,9678);
9 6 7 8
• printf(“%06d”,9678);
0 0 9 6 7 8
Real Examples

• Syntax: %w.pf
– w indicates the number of digits used for display
– p indicates the number of digits to be displayed
after decimal
– Let y=98.7654;
• printf(“%7.4f”,y);
9 8 . 7 6 5 4
• printf(“%7.2f”,y);
9 8 . 7 7
• printf(“-7.2f”,y);
9 8 . 7 7
String Examples
• Syntax: %w.ps
– w specifies width of field
– p specifies only first p characters of string are
displayed

• Ex:
– char a[20]=“Hello World”;
– printf(“%s”,a);
H e l l o W o r l d
Statements
In a C program instructions are written in the form of
statements.
Statements can be categorized as :
i. Expression statements
ii. Compound statements
iii. Selection statements( if, if.. .else, switch)
iv. Iterative statements (for, while, do…while)
v. Jump Statements(goto, continue, break, return)
vi. Label statements(case, default, label statement
used in goto)
Comments
• Comments are used for increasing readability of
the program.
• They explain the purpose of the program and are
helpful in understanding the program.
• Comments are written inside /* and */ (Multiline
comment)
• We can write comments anywhere in a program.
Example:
/* This is a C program to calculate simple interest*/
Example 1
/*This program prints Hello World*/
#include<stdio.h>
main()
{
printf(“Hello World”);
}
Example 2
/*This program calculates area of a rectangle*/
#include<stdio.h>
main()
{
float length,breadth,area;
printf(“Enter length: ”);
scanf(“%f”,&length);
printf(“Enter breadth: ”);
scanf(“%f”,&breadth);
area=length*breadth;
printf(“Area of rectangle is: %f”,area);
}

Das könnte Ihnen auch gefallen