Programming in C: A Small note on Functions.

printf, getchar(),putchar() all are C functions. No fuction can be split between files. ‘main’ function returns a value ,zero if normal termination or nonzero erroneous termination. The function prototype agree with the definition and uses of the function. If the actual arguments are more than the formal arguments, the extra arguments are discarded. And if the actual arguments are smaller than the formal arguments extra formal arguments are initialized to some garbage values. Automatic variables do not retain their values from one call to the next and must be set upon each entry. Any expression may follow a return statement. To assure a high degree of portability between programs a function should generally be coded without involving any I/O operations.Function returns int as default.To assure a high degree of portability between programs, a function should generally be coded without involving any I/O operations.

If a function fails to return a value its value is certain to be garbage. We can also compile three source files using ‘cc’ command which contain the program functions.

$ gcc main.c fun1.c fun2.c

Consider the statement, x = function1() + function2();

Here the order in which the calculation, function1() may be evaluated first or function2() may. C cannot specify such an order.

Advertisements

Programming in UNIX Environment : Commands – echo, rm, whoami

Take a look to the following UNIX commands.
who am i -This command shows your user name,teletype,date and time.

whoami – Shows only user name.

In UNIX systems,

parent directory is denoted by ‘..’
current directory is denoted by ‘.’

rmdir – for remove a directory. It removes only empty directories.

About shell :

When we type the commands it goes to the shell.It is an ordinary program.

cat c* //prints all file that begins with c.

when * occurs shell takes it and it means any string of characters. Note the * is not the property of the cat command.

The echo command lists what we type.

echo word

echo ch* //lists all begin wth ch.

echo * //lists all.

rm * – removes all.

rm *.text – removes all with .text.

pr r[1234]* // prints all that begin wth r and followed by 1,2,3 or 4.

rm te[a-z] //removes all files starting with te and followed by a lower case.

You cannot make up new files using pattern matching.

ls \? or ls ‘?’ loses its meaning.

echo * // prints all.

We can redirect the output by using ‘>’. Take input from a file by using ‘>’.

ls > filelist

pr -3 <filelist // print ls in three columns.

cat file1.c file2.c > file3

cat file4.c >> file3.c

grep num.c <filelist

Programming in UNIX environment : Commands – ed, cat, ls, pr,

In UNIX environment we use a lot of commands. Some commands are explaining here.
For editing a file we use ed command.
$ed file1
no such file or…
a
Enter the text
.
w file1
q
$

When we type the command ‘ed’ and the filename, if the file does not exist, it shows a message. Type ‘a’ for appending. After adding types a ‘.’ character in the next line to indicate writing is over.Then write it into the file by typing ‘w’ and the file name.And ‘q’ to quit.
The command ‘cat’ shows the content of the file.
$cat sachin
$cat sachin num
‘pr’ instead shows the content by pages and the file name.In ‘pr -m filename’ the ‘m’ indicates the columns.
pr sachin
pr sachin num
$pr -3 sachin num
$pr -m // a set of files in parallel columns.

The ‘ls’ command lists all the files. The ls * lists all including the files in the directories.

ls DIRname
$ls *
$ls -t // list by time.
$ls -l //list by details.
$ls -lt //list by details by recent first.
$ls -u // infn abt when files were used.
$ls -ult // most recent.

Programming in C : A small note on arrays

The subscript of an array can be ‘ an expression ‘ which yields integers. Note that any reference to the array outside the declared limit would not necessarily cause an error.

If array size declared as 10 , then we declare first element to zero , as

int array [10] = {10} ;

then all elements are declared as zero automatically.

Here is an example of wrong declaration to an array.

char alpha [3] = {a,b,c} .

If you want to store alphabets into an array store its integer values ,

char alpha [3] = { ‘a’ , ‘b’ , ‘c’ }
and print them as characters.