Introduction:
for Statement:
The ‘for’ statement is a somewhat general while that lets us place the initialization and increment portions of a loop into a single statement all along with the test. The common form of the for is
for( initialization; expression; increment ) statement
The meaning is precisely:
initialization; while( expression ) { statement increment; }
This slightly more elaborate illustration adds up the elements of an array:
sum = 0; for( i=0; i<n; i++)sum = sum + array[i];
In the ‘for’ statement, the initialization can be left out when you want, however the semicolon has to be there. The increment is as well optional. It is not followed by the semicolon. The second clause, the test, works in similar way as in the while: if the expression is true (that is, not zero) do another loop, or else get on with the next statement. Since with the while, the for loop might be done zero times. If the expression is left out, it is taken to be for all time true, therefore,
for( ; ; ) ... while( 1 ) ...
are both infinite loops.
You valor ask why we employ a for as it is so much like a while. (You may too ask why we use a while because...) The for is generally preferable as it keeps the code where it is employed and sometimes removes the requirement for compound statements, as in this code that zeros a 2-dimensional array:
for( i=0; i<n; i++ ) for( j=0; j<m; j++ ) array[i][j] = 0;Functions; Comments:
Assume that we want, as part of a big program, to count the occurrences of the ASCII characters in some input text. Let us as well map illegal characters (such with value>127 or <0) into one pile. As this is presumably an isolated portion of the program, good practice dictates making it a separate function. Here is one method:
main( ) { int hist[129]; /* 128 legal chars + 1 illegal group*/ ... count(hist, 128); /* count the letters into hist */ printf( ... ); /* comments look like this; use them */ ... /* anywhere blanks, tabs or newlines could appear */ } count(buf, size) int size, buf[ ]; { int i, c; for( i=0; i<=size; i++ ) buf[i] = 0; /* set buf to zero */ while( (c=getchar( )) != '\0' ) { /* read til eof */ if( c > size || c < 0 ) c = size; /* fix illegal input */ buf[c]++; } return; } We know many instances of calling a function; therefore let us concentrate on how to define one. As count has two arguments, we require declaring them, as shown, giving their types, and in the case of buf, the fact which it is an array. The declarations of arguments go among the argument list and the opening `{'. There is no requirement to specify the size of the array buf, for it is defined exterior of count.
The return statement merely says to go back to calling routine. However, we could have omitted it, as a return is implied at the end of a function.
What if we required count to return a value, state the number of characters read? The return statement permits for this too:
int i, c, nchar; nchar = 0; ... while( (c=getchar( )) != '\0' ) { if( c > size || c < 0 ) c = size; buf[c]++; nchar++; } return(nchar);
Any expression can emerge in the parentheses. Here is a function to evaluate the minimum of two integers:
min(a, b) int a, b; { return( a < b ? a : b ); }
To copy a character array, we write the function:
strcopy(s1, s2) /* copies s1 to s2 */ char s1[ ], s2[ ]; { int i; for( i = 0; (s2[i] = s1[i]) != '\0'; i++ ); }
As is frequently the case, all the work is completed by the assignment statement embedded in the test portion of the for. Again, the declarations of arguments s1 and s2 omit the sizes, since they do not matter to strcopy.
There is a subtlety in function usage that can trap the unsuspecting FORTRAN programmer. Simple variables (that is, not arrays) are passed in C by ‘call by value’, that means that the called function is given a copy of its arguments, and does not know their addresses. This makes it unfeasible to modify the value of one of the real input arguments.
There are two methods to out of this problem. One is to make special arrangements to pass to the function, the address of a variable rather than its value. The other is to make the variable a global or an external variable that is known to each function by its name.
Latest technology based Programming Languages Online Tutoring Assistance
Tutors, at the www.tutorsglobe.com, take pledge to provide full satisfaction and assurance in Programming Languages help via online tutoring. Students are getting 100% satisfaction by online tutors across the globe. Here you can get homework help for Programming Languages, project ideas and tutorials. We provide email based Programming Languages help. You can join us to ask queries 24x7 with live, experienced and qualified online tutors specialized in Programming Languages. Through Online Tutoring, you would be able to complete your homework or assignments at your home. Tutors at the TutorsGlobe are committed to provide the best quality online tutoring assistance for Programming Languages Homework help and assignment help services. They use their experience, as they have solved thousands of the Programming Languages assignments, which may help you to solve your complex issues of Programming Languages. TutorsGlobe assure for the best quality compliance to your homework. Compromise with quality is not in our dictionary. If we feel that we are not able to provide the homework help as per the deadline or given instruction by the student, we refund the money of the student without any delay.
tutorsglobe.com mechanism of hearing assignment help-homework help by online ear tutors
tutorsglobe.com mycoplasma assignment help-homework help by online medical bacteriology tutors
Manufacture of Sulphuric acid and Sulphates tutorial all along with the key concepts of Manufacture of Sulphuric Acid, Contact Process, Manufacture of Sulphates
tutorsglobe.com pitcher assignment help-homework help by online leaf modification tutors
Limitations of Job Costing - It is state that it is too time consuming and needs detailed record keeping. This creates the method more expensive.
Avail round the clock Heat and properties of matter Assignment Help from PhD tutors to score A++ at affordable rates.
Functions of the Cell Membranes tutorial all along with the key concepts of Differential Permeability of Membranes, Facilitated Diffusion, Active Transport, Bypassing Membrane Transport, Movement of Ions across Membranes, Cellular Communication
tutorsglobe.com comparison of live and killed vaccines assignment help-homework help by online vaccines tutors
metals-transition metals tutorial all along with the key concepts of electronic configuration of 1st transition series metals, physical properties of transition metals, chemical reactivity, variable oxidation states, complex ion formation, alloy
tutorsglobe.com factoring assignment help-homework help by online working capital management tutors
Waveguides tutorial all along with the key concepts of Rectangular waveguide, Transmission of waves in a pair of parallel conducting, poynting vector, Transverse Magnetic (TM) waves
Move ahead with first-class Project Management Assignment Help service to score top grades at competitive prices!
Vegetative Structure of Seed Plants-Stem tutorial all along with the key concepts of Major functions of stems, Stem Structure, Dicot stems, Gymnosperm stems and Economic significance of Stems
www.tutorsglobe.com free tutorials on system development life cycle method, systems analysis methods- it is a step-by-step, structured process for the development of a system. this process draws upon the engineering approach to the analysis and solution of complex problems.
Rotational Spectroscopy tutorial all along with the key concepts of Principle of Rotational Spectroscopy, Understanding the Rotational Spectrum, Classification of Molecules Based on Rotational Behaviour
1937822
Questions Asked
3689
Tutors
1468433
Questions Answered
Start Excelling in your courses, Ask an Expert and get answers for your homework and assignments!!