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.
si prefixes tutorial all along with the key concepts of grammatical rules for representing the si units, conversion, detailed requirements and conversion factors
theory and lecture notes of cursors and data management all along with the key concepts of cursors, data management, operations on cursors, cursor positioning. tutorsglobe offers homework help, assignment help and tutor’s assistance on cursors and data management.
Lagrange and Hamilton Formulation of Mechanics tutorial all along with the key concepts of D'Alembert's Principle, Generalized Equations of Motion, Generalized Conservative Forces, Euler-Lagrange Equations, Lagrange's Mechanics, Conservative Systems, Generalized Coordinates, Generalized Momenta, 2-D motion with time-varying constraint
tutorsglobe.com groundnut or peanut-arachis hypogea assignment help-homework help by online crop diseases and their control tutors
www.tutorsglobe.com offers organization information system homework help, assignment help, case study, writing homework help, online tutoring assistance by computer science tutors.
modern periodic law tutorial all along with the key concepts of long form of the periodic table, nomenclature of elements
Anomalous behavior of Carbon tutorial all along with the key concepts of Silica and Silicates, Structure of Silicon dioxide, Structure of tetrahedra, Mica, Asbestos, Clay, Cement, Zeolites and Silicones
tutorsglobe.com types of heavy chain assignment help-homework help by online structure and characteristics of antibodies tutors
basic concepts in biology tutorial all along with the key concepts of plant cell, animal cells, difference between plant and animal cell and cell division
tutorsglobe.com prophase assignment help-homework help by online meiosis-i tutors
tutorsglobe.com advantages of vegetative propagation assignment help-homework help by online reproduction in angiosperms tutors
tutorsglobe.com chemoautotrphic bacteria assignment help-homework help by online nutrition in bacteria tutors
TutorsGlobe.com Nucleophilic Reactions Assignment Help-Homework Help by Online Benzene & Derivatives Electrophilic Substitution Tutors
tutorsglobe.com contracts and moral hazard assignment help-homework help by online intermediate microeconomics tutors
tutorsglobe offers you accounting assistance in classroom assignments, homework help, textbooks solutions, accounting course help, online tutoring, and problems solutions, accounting tutors are available for help 24x7.
1943763
Questions Asked
3689
Tutors
1449579
Questions Answered
Start Excelling in your courses, Ask an Expert and get answers for your homework and assignments!!