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

Unit II C Fundamentals SGT

Uploaded by

try.sahilpaul
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
33 views

Unit II C Fundamentals SGT

Uploaded by

try.sahilpaul
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 71

Unit II C Fundamentals

Program Execution First C Program,


Input Output using scanf() and
printf(), Data type, Variables,
Keywords Operators and their
precedence.
S. G. Taley
• Program or Source code: A computer program, or just a
program, is a sequence of instructions, written to
perform a specified task with a computer. A computer
requires programs to function, typically executing the
program's instructions in a central processor.

• Compiler: A compiler is a special program that processes


statements written in a particular programming language
called as source code and converts them into machine
language or "machine code" that a computer's processor
uses. Compiler translates high level language programs
directly into machine language program. This process is
called compilation.
• Assembler: A program that translates assembly language
programs to low level language is called assembler. It
allows us to write symbolic instructions.
• Linker: A linker is program that combines the object
modules to form an executable program.
• Loader: It is a system program that places other
programs into memory and prepares them for execution.
It takes the lined object file and loads then into system
memory for execution i.e. into main memory. The
commonly used loaders are: bootstrap loader, absolute
loader. Relocate loader. Linking loader.
• Preprocessor: Before a C program is compiled in a
compiler, source code is processed by a program called
preprocessor. This process is called preprocessing.
C TOKENS: The smallest individual units are
known as tokens. C has six types of tokens.
1: Identifiers
2: Keywords
3: Constants
4: Strings
5: Special Symbols
6: Operators
Identifiers:
Identifiers refer to the names of variables, constants, functions
and arrays. These are user-defined names is called Identifiers.
These identifier are defined against a set of rules.

Rules for an Identifier


1. An Identifier can only have alphanumeric characters( a-z , A-Z ,
0-9 ) and underscore( _ ).
2. The first character of an identifier can only contain alphabet( a-
z , A-Z ) or underscore ( _ ).
3. Identifiers are also case sensitive in C. For example name and
Name are two different identifier in C.
4. Keywords are not allowed to be used as Identifiers.
5. No special characters, such as semicolon, period, whitespaces,
slash or comma are permitted to be used in or as Identifier.
6. C‟ compiler recognizes only the first 31 characters of an
identifiers.
Ex : Valid Invalid
STDNAME Return
SUB $stay
TOT_MARKS 1RECORD
_TEMP STD NAME.
Y2K
Keywords: A keyword is a reserved word. All keywords
have fixed meaning that means we cannot change.
Keywords serve as basic building blocks for program
statements. All keywords must be written in lowercase.
A list of 32 keywords in c language is given below:

const continue default do


double enum else extern
float for goto if
int long return register
signed short static sizeof
struct switch typedef union
unsigned void volatile while
Note: Keywords we cannot use it as a variable name,
constant name etc.
• Data Types/Types:
To store data the program must reserve space which is
done using datatype. A datatype is a keyword/predefined
instruction used for allocating memory for data. A data
type specifies the type of data that a variable can store
such as integer, floating, character etc. It used for
declaring/defining variables or functions of different
types before to use in a program.
Fundamental Data Types
These data types are also called as primary or built-in or basic data types.

Integer data type:


• Integer data type allows a variable to store numeric values.
• "int" keyword is used to refer integer data type.
• The storage size of int data type is 2 or 4 or 8 byte
• It varies depend upon the processor in the CPU that we use. If we are using 16 bit
processor, 2 byte(16 bit) of memory will be allocated for int data type. Like wise, 4
byte(32 bit) of memory for 32 bit processor and 8 byte(64 bit) of memory
• int(2 byte) can store values from -32,768 to +32,767
• int(4 byte) can store values from -2,147,483,648 to +2,147,483,647.
• If you want to use the integer value that cross the above limit, you can go for "long
int" for which the limits are very high.
Example:
int m;
long int n;

Note
• We can't store decimal values using int data type.
• If we use int data type to store decimal values, decimal values will be truncated
and we will get only whole number.
• In this case, float data type can be used to store decimal values in a variable.
Character data type
• Character data type allows a variable to store only one
character.
• Storage size of character data type is one. We can store
only one character using character data type.
• "char" keyword is used to refer character data type.

For example, 'A' can be stored using char datatype. You


can't store more than one character using char data
type.

Example:
char ch='m';
char ch='5';
Floating point data type:
Floating point data type consists of two types. They are,
– float
– double
float:
• Float data type allows a variable to store decimal values.
• Storage size of float data type is 4. This also varies depend
upon the processor in the CPU as "int" data type.
• The range for float datatype is from 3.4E-38 to 3.4E+38.
• We can use upto 6 digits after decimal using float data
type
For example, 10.456789 can be stored in a variable using
float data type.

Example: float average, percentage;


double:
• double data type is also same as float data
type which allows up to 10 digits after
decimal.
• The range for double datatype is from 1.7E-
308 to 1.7E+308 .
Example: double population, year;

void data type in C:


void is an empty data type that has no value.
This can be used in functions and pointers.
Datatype Description Memory Requirement

int Integer quantity 2 bytes


(whole numbers)

char Single character 1 byte

float Floating point number 4bytes

double Double precision floating 8 bytes


number
bool Single bit 1 bit
(true or false)
void Not return anything --

Table: List of basic data types


• The modifiers signed, unsigned, long and
short may be applied to character and integer
basic data types. However, the modifier long
may also be applied to double.
• Following is the list of all combinations of the
basic data types and modifiers along with
their size and range.
2) User-defined Data Types
1) typedef
• It represents the type definition that allows the user to
define an identifier that would represent the existing
data type.
• C provides a facility called type definition, which allows
users to define new data types that are equivalent to
existing data types. Once a user-defined data type has
been established, then new variables, arrays,
structures and so on can be declared in terms of this
new data type

Syntax new data type is defined as:


typedef type new-type;

Example: typedef int age;


enum
• An enumeration is a list of constant values.
• It is used to declare variables that can have one of the values enclosed with the
braces. These values are also called as enumeration constants.

Syntax:
emum identifier {value1, value2,.... valuen}; // definition
enum identifier v1, v2,..., vn; // declaration of variables
v1= value3;
v4 = value1; //assigning values to variables

Example:
enum colour {green, blue, red, pink}; // green, blue, red, pink are constants
// or values
enum colour flowers, leaves; // flowers and leaves are variables
flowers =red;
Leaves= green;
• Compiler automatically assigns the integer values
beginning with 0 to all enumeration constants.
i.e. in above example, green, blue, red, pink
represent the integer values 0, 1, 2, 3
respectively.
• Enumeration constants can also be explicitly
assigned.
• In the same example: {enum colour green= 10,
blue, red, pink = 25};
• Here, blue is assigned 11 and red is 12. If no value
is assigned to pink, it will take the value 13.
• Character Set
• The C character set includes letters, digits,
special characters and white spaces as
building blocks to form basic programming
elements (tokens).
• Characters are used to write tokens. These
characters are defined by Unicode character
set.
Alphabets A, B, C, ………….Y, Z
a,b,c,………………y, z
Digits 0,1,2,3,4,5,6,7,8,9
Special Symbols ~ ` ! @ # $ % ^ & * ( 0 _ + = - , + *+ ‘ “ < > ? , .
• Constants in C
• The constants in C are the read-only variables whose values cannot
be modified once they are declared in the C program. The type of
constant can be an integer constant, a floating pointer constant, a
string constant, or a character constant. In C language,
the const keyword is used to define the constants.

• What is a constant in C?
• As the name suggests, a constant in C is a variable that cannot be
modified once it is declared in the program. We can not make any
change in the value of the constant variables after they are defined.

• How to Define Constant in C?


• We define a constant in C language using the const keyword. Also
known as a const type qualifier, the const keyword is placed at the
start of the variable declaration to declare that variable as a
constant.
Variables
A variable is a name of memory location. It is used to store
data. Variables are changeable, we can change value of a
variable during execution of a program. . It can be reused
many times.
Note: Variable are nothing but identifiers.
Rules to write variable names:
1. A variable name contains maximum of 30 characters/
Variable name must be upto 8 characters.
2. A variable name includes alphabets and numbers, but it
must start with an alphabet.
3. It cannot accept any special characters, blank spaces except
under score( _ ).
4. It should not be a reserved word.

Ex : i rank1 MAX min


Student_name StudentName class_mark
Declaration of Variables :
A variable can be used to store a value of any data
type. The declaration of variables must be done before
they are used in the program. The general format for
declaring a variable.

Syntax :
data_type variable-1,variable-2,------, variable-n;

Variables are separated by commas and declaration


statement ends with a semicolon.

Ex : int x,y,z;
float a,b;
char m,n;
Assigning values to variables : values can be assigned to
variables using the assignment operator (=). The general
format statement is :
Syntax : variable = constant;
Ex : x=100;
a= 12.25;
m=‟f‟;
we can also assign a value to a variable at the time of the
variable is declared. The general format of declaring and
assigning value to a variable is :
Syntax : data_type variable = constant;
Ex ; int x=100;
float a=12.25;
char m=‟f‟;
• Example:
int a=7;
int b=3;
int c;
7 3

a b c Garbage Value
Fig: Memory

• Types of Variables in C
There are many types of variables in c:
1. local variable
2. global variable
3. static variable
• Format Specifiers in C
• The format specifier in C is used to tell the compiler about the type of
data to be printed or scanned in input and output operations. They
always start with a % symbol and are used in the formatted string in
functions like printf(), scanf, sprintf(), etc.
• The C language provides a number of format specifiers that are
associated with the different data types such as %d for int, %c for char,
etc. In this article, we will discuss some commonly used format
specifiers and how to use them.

Format Specifier Description

%c For character type.

%d For signed integer type.

%f For float type.

%lf Double

%s String
• Escape Sequence in C
• The escape sequence in C is the characters or the sequence of characters
that can be used inside the string literal. The purpose of the escape sequence
is to represent the characters that cannot be used normally using the
keyboard. Some escape sequence characters are the part of ASCII charset but
some are not.
• Different escape sequences represent different characters but the output is
dependent on the compiler you are using.
• Escape Sequence List
• The table below lists some common escape sequences in C language.
• Input / Output (I/O) Functions : In „C‟ language, two types
of Input/Output functions are available, and all input and
output operations are carried out through function calls.
Several functions are available for input / output operations
in „C‟. These functions are collectively known as the
standard i/o library.
• Input: In any programming language input means to feed
some data into program. This can be given in the form of
file or from command line.
• Output: In any programming language output means to
display some data on screen, printer or in any file.
1 : printf() : output data or result of an operation can be
displayed from the computer to a standard output device
using the library function printf(). This function is used to
print any combination of data.

Syntax : printf(“control string “, variable1, variable2, -----------,


variablen);

Ex : printf(“%d”,3977); // Output: 3977


printf(“Hello, World”); //Hello, World
printf() statement another syntax :
Syntax : printf(“fomating string”);
Formating string : it prints all the character
given in doublequotes (“ “) except formatting
specifier.

Ex : printf(“ hello “); -> hello


printf(“a”); -> a
printf(“%d”, a); -> a value
printf(“%d”); -> no display
scanf() : input data can be entered into the computer using the
standard input „C‟ library function called scanf(). This function
is used to enter any combination of input.

Syntax : scanf(“control string “,&var1, &var2,----, &varn);

The scanf() function is used to read information from the


standard input device (keyboard).

Ex : scanf(“ %d “,&a); -> hello

Each variable name (argument) must be preceeded by an


ampersand (&). The (&) symbol gives the meaning “address of
“ the variable.
// Simple C program to display "Hello World"
#include <stdio.h> // Header file for input output functions
int main() // Main function: entry point for execution
{
printf("Hello World"); // writing print statement to print hello world
return 0;
}

Output
Hello World
Operators and their precedence
Operators : An operator is a Symbol that performs an operation. An
operators acts some variables are called operands to get the
desired result.
Ex : a+b;
Where a,b are operands and + is the operator.

Types of Operator :
1) Arithmetic Operators.
2) Relational Operators.
3) Logical Operators.
4) Assignment Operators.
5). Unary Operators.
6) Conditional Operators.
7) Special Operators.
8) Bitwise Operators.
9) Shift Operators.
• Arithmetic Operations in C
• The arithmetic operators are used to perform arithmetic /
mathematical operations on operands.
• Relational Operators in C
• The relational operators in C are used for the comparison of the two
operands. All these operators are binary operators that return true or false
values as the result of comparison.
• These are a total of 6 relational operators in C
• Logical Operator in C
• Logical Operators are used to combine two or more
conditions/constraints or to complement the evaluation of the
original condition in consideration. The result of the operation of a
logical operator is a Boolean value either true or false.
• Assignment Operators
• Assignment operators are used to assign values to
variables.
• In the example below, we use the assignment operator (=)
to assign the value 10 to a variable called x:
• Example
• int x = 10;
Unary Operators
• Unary operators require only one operand.
Operator Meaning
- Unary minus
+ Unary plus
++ Increment
-- Decrement
~ Bitwise Complement
& Address of
* Indirection
! Logical not
• All unary operators are used as prefix except the
increment and decrement.
Operator Meaning

++m Pre increment. A prefix unary plus operator adds 1 to the operand
and then assigns the result to the variable on left.

m++ Post increment. A postfix unary plus operator assigns the result to
the variable on left then adds 1 to the operand.

--m Pre decrement. A prefix unary minus operator subtracts 1 from the
operand and then assigns the result to the variable on left.

m-- Post decrement. A postfix unary minus operator assigns the result to
the variable on left then subtracts 1 from the operand.

• Table: Increment and decrement operators


• Bitwise Operators

• This is a binary operator as it takes 2 operands.


• Both operands must be of same type.
• This operator is applied to each pair of bits one from either operand
independent of other bits within the operand. The least significant
within the two operands are considered first then the next least sign
bits and so on until the operator has been applied to all the bits.
• Bitwise AND Operator &
The output of bitwise AND is 1 if the corresponding bits of two operands is 1. If either bit
of an operand is 0, the result of corresponding bit is evaluated to 0.

12 = 00001100 (In Binary)


25 = 00011001 (In Binary)
Bit Operation of 12 and 25
00001100
& 00011001
------------------
00001000 = 8 (In decimal)

Bitwise OR Operator |
The output of bitwise OR is 1 if at least one corresponding bit of two operands is 1. In C
Programming, bitwise OR operator is denoted by |.

12 = 00001100 (In Binary)


25 = 00011001 (In Binary)
Bitwise OR Operation of 12 and 25
00001100
|00011001
------------------
00011101 = 29 (In decimal)
• Bitwise XOR (exclusive OR) Operator ^
• The result of bitwise XOR operator is 1 if the
corresponding bits of two operands are opposite. It
is denoted by ^.
12 = 00001100 (In Binary)
25 = 00011001 (In Binary)
Bitwise XOR Operation of 12 and 25
00001100
^ 00011001
-------------------
00010101 = 21 (In decimal)
• XOR operator(^)
• It is the Bitwise Exclusive OR operator.
• The XOR operator sets 1 in each bit position where its operands
have different bits and 0 where they are same.

• One's Complement operator(~)


• It takes only one operand thus it an unary operator.
• It inverts the bits of its operand i.e. each 1 is converted to 0 and
vice-versa.
• Example
• Decimal 10 is same as binary 0000 0000 0000 1010
• It’s one’s complement is 1111 1111 1111 0101
• Thus one’s complement of number gives entirely different
number. Hence, it is used for encrypting the files.
• Shift Operators
• C programming provides us with 2 shift operators Left shift and Right shift.
• Shift operators are used to shift the bits either to left or right.
• These operators take two operands. The first operand is the bit pattern to be
shifted and the second is an unsigned integer, a number that indicates the number
of places the bits are shifted.

• 1. Left shift operator(<<)


• This operator shifts the bits to the left.

• Example:
x<<3 shifts all bits in x, three places to the left.
If x contains the bit pattern 0110 1001, the x<<3 gives 0100 1000.
For each bit shifted to left, a zero is added to the right of the number.

• 2. Right shift operator(>>)


This operator shifts the bits to the left.

• Example:
x>>3 shifts all bits in x, three places to the right.
If x contains the bit pattern 0110 1001, the x>>3 gives 0000 1101.
For each bit shifted to right, a zero is added to the left of the number.
Right Shift Operator
Right shift operator shifts all bits towards right by certain number of specified
bits. It is denoted by >>.

212 = 11010100 (In binary)


212 >> 2 = 00110101 (In binary) [Right shift by two bits]
212 >> 7 = 00000001 (In binary)
212 >> 8 = 00000000
212 >> 0 = 11010100 (No Shift)

Left Shift Operator


Left shift operator shifts all bits towards left by a certain number of specified
bits. The bit positions that have been vacated by the left shift operator are
filled with 0. The symbol of the left shift operator is <<.

212 = 11010100 (In binary)


212<<1 = 10101000 (In binary) [Left shift by one bit]
212<<0 = 11010100 (Shift by 0)
212<<4 = 01000000 (In binary)
• Special Operators:
• 1) sizeof operator
• The sizeof operator is a special operator used to return the sizeof its operand in bytes.
• Example: int i, j;
j = sizeof(i); //It will give j= 2. Since integer occupies 2 bytes and i is an
integer.

• Program: Program to illustrate sizeof operator.


• Program to illustrate sizeof operator*/
#include<stdio.h>
void main()
{
int num;
printf("Size of "float" is %d\n", sizeof(float));
printf( "Size of ‘num' is %d\n", sizeof(num));
printf("Size of ‘char' is %d\n", sizeof(char));
printf("Size of 'A' is %d\n", sizeof('A'));
• }
• Output:
• Size of "float" is 4
• Size of 'num' is 2
• Size of "char' is 1
• Size of 'A' is 2
• Conditional Operator ( ? : )
• The conditional operator is the only ternary operator in C++.
• Here, Expression1 is the condition to be evaluated. If the
condition(Expression1) is True then we will execute and return the result
of Expression2 otherwise if the condition(Expression1) is false then we will
execute and return the result of Expression3.
• We may replace the use of if..else statements with conditional operators.

• Syntax
• operand1 ? operand2 : operand3;

Operator Meaning Example

exp1 ? exp2 :exp3 if exp1 is true then expression a=10;


exp2 is evaluated else exp3 is b = 20;
evaluated. x=(a>b)?a:b

• Table: Conditional operator


Program to illustrate Conditional operator
/*Program to illustrate Conditional operator */
#include<stdio.h>
void main()
int a=4, b=8, x;
x=(a>b?a:b);
printf(“The greatest number is %d", x);
}
Output:
The greatest number is 8
3) Compound Assignment operators
Most of the binary operators like+,* have a corresponding
assignment operator of the form op= where op is one of +, -
, *, /, %, &, |, ^. The explanation of these compound
assignment operators is given below in the table.
Consider the value i=15 for all the expressions given in the
table below.

Operator Expression Result


i+=3 i=i+3 i=18
i-=2 i=i-2 i=13
i*=4 i=i*4 i=60
i/=3 i=i/3 i=5
• Operator Precedence & Associativity
• A single expression in C may have multiple operators of different
types. The C compiler evaluates its value based on the operator
precedence and associativity of operators.
• The precedence of operators determines the order in which they
are evaluated in an expression. Operators with higher
precedence are evaluated first.
• Every operator has a precedence value. An expression
containing more than one operator is known as complex
expression. Complex expressions are executed according to
precedence of operators.
• Associativity specifies the order in which the operators are
evaluated with the same precedence in a complex
expression. Associativity is of two ways, i.e left to right and
right to left.
– Left to right associativity evaluates an expression starting from left
and moving towards right.
– Right to left associativity proceeds from right to left.
Program to Add Two Integers
#include <stdio.h>
int main()
{
int number1, number2, sum;
printf("Enter two integers: ");
scanf("%d %d", &number1, &number2);
// calculate the sum
sum = number1 + number2;
printf("%d + %d = %d", number1, number2, sum);
return 0;
}
Output
Enter two integers: 12
11
12 + 11 = 23
// C program to find the simple interest
#include <stdio.h>
int main()
{
float P = 1000, R = 1, T = 1;
// Calculate simple interest
float SI = (P * T * R) / 100;
printf("Simple Interest = %f\n", SI);
return 0;
}
Output
Simple Interest = 10.000000
Write a C program to find sum and average of three numbers.
#include <stdio.h>
int main()
{
int a=2,b=3,c=4;
int sum;
float avg;
// For Sum
sum=a+b+c;
printf("\nsum: %d",sum);
// For Average
avg=sum/3.0;
printf("\n Average of Three Numbers : %.2f",avg);
return 0;
}
Output
sum: 9
Average of Three Numbers : 3.00
Area of circle
#include <stdio.h>
int main()
{
float radius, area;
printf("Enter the radius of the circle: ");
scanf("%f", &radius);

area = 3.14159 * radius * radius;

printf("The area of the circle is: %f", area);

return 0;
}

Output
Enter the radius of the circle: 5
The area of the circle is: 78.539749
What will be the output of following program
#include<stdio.h>
main()
{
int num=1;
num+=5;
printf("num=%d\n",num);
num-=3;
printf("num=%d\n",num);
num*=2;
printf("num=%d\n",num);
num/=2;
printf("num=%d\n",num);
}

Output
num=6
num=3
num=6
num=3
What will be the output of following program
#include<stdio.h>
main()
{
int ch;
printf("Enter the character");
ch=getchar();
printf("The character was %c\n",ch);
printf("The ASCII code of %c is %d\n",ch,ch);
}
Output
Enter the characterA
The character was A
The ASCII code of A is 65

Note: The ASCII values for uppercase letters (A-Z) range from 65 to 90,
the ASCII values for lowercase letters (a-z)range from 97 to 122.
the ASCII values for numbers (0-9) 48-57
#include<stdio.h>
#include<conio.h>
main()
{
clrscr();
printf("\nprogram");
printf("\b\bscience");
printf("\rcomputer");
getch();
}
Output
program science
computer
#include<stdio.h>
main()
{
int intN=55;
int intM=10;
char X='A';
intN+=50;
printf("\n1.uploaded value of intN is %d\n",intN);
printf("2.updated value of X is %d\n",X);
X='B';
printf("3.updated value of X is %c\n",X);
intN-=8;
printf("4.updated value of intN is %d\n",intN);
intN++;
printf("5.updated value of intN is %d\n",intN);
intN=intN++ + ++intM;
printf("6.updated value of intN is:%d, intM: is %d\n",intN,intM);
}

Output
1.uploaded value of intN is 105
2.updated value of X is 65
3.updated value of X is B
4.updated value of intN is 97
5.updated value of intN is 98
6.updated value of intN is:109, intM: is 11
#include<stdio.h>
#include<conio.h>
main()
{
int ch;
clrscr();
ch=getchar();
putchar(++ch);
ch++;
putchar(ch++);
printf("\n");
putchar(ch);
--ch;
putchar(--ch);
putchar(ch);
getch();
}
Output
5
67
866
#include<stdio.h>
main()
{
int x=125,y=140, z=175;
char a='A', b='B',c='C';
x=++x+--y+z--;
y=x-- + ++y+z++;
z=--x+y+z++;
a=a++;
b+=1;
c=--c+1;
printf("\nx=%d y=%d z=%d",x,y,z);
printf("a=%c b=%c c=%c",a,b,c);
printf("a=%d b=%d c=%d",a,b,c);
}

Output
x=438 y=754 z=1367a=A b=C c=Ca=65 b=67 c=67
#include<stdio.h>
main()
{
int a,b,c,sum;
scanf("%1d%2d%3d",&a,&b,&c);
printf("sum=%d",a+b+c);
}

Output
12
3
4
sum=8
OR
1
12
123
sum=136
#include<stdio.h>
main()
{
int i=15, j=4, m, n;
m=i>9;
n=j>4&&j!=2;
printf(“m=%d n=%d”,m,n);
}
Output
m=1 n=0
#include<stdio.h>
main()
{
int x=5, m, k=1, n;
float y=2.5;
m=x*1000+y*10;
k=m/1000+x;
n=(x==y) ? k:m;
printf(“%d/n%d/n%d”,m,k,n);
}
Output
5025/n10/n5025
#include<stdio.h>
#define CUBE(x) (x*x*x)
main()
{
printf(“%d”,CUBE(4+5));
}
Output
49
Because * has a higher precedence than +, this
expression is evaluated as
(4 + (5 * 4) + (5 * 4) + 5), producing 49
#include<stdio.h>
main()
{
int a=9, b=12, c=3;
float x,y,z;
x=a-b/3+c*2-1;
y=a-b/(3+c)*(2-1);
z=a-(b/(3+c)*2)-1;
printf(“x=%f\ny=%f\nz=%f”,x,y,z);
}
Output
x=10.000000
y=7.000000
z=4.000000

You might also like