Lecture 3, ECE264 – 1/17/2012 - John Ribeiro
In class quiz – Know 3 or more classmates, their names, hometown, interests, career goals (submitted at the end of class)
Reminder
• Exercise 1 due this coming Friday (January 20th)
• Write Programs in EE206
• Check blackboard everyday
• Submit your signature on the class policy sheet given the first day of class
• Office Hours:
o Tuesday and Friday after class in MSEE222, open door policy. You can discuss any topic.
Today’s Programs
• Review of simple C programs
• Programming in Linux
• Maze files and rules
• Arc and argv
• Program to read characters in a file
• Function calls
• Practice how to write a program that can find 26 English characters and tell which ones appear the most often (ignore cases)
• Challenge: Write a program that can generate valid mazes
In Linux…
• mkdir → makes a new directory (folder)
o EX: mkdir ECE264
• ls → lists the files in the directory
o EX: ls
• cd → changes the directory
o EX: cd Exercises
• File → determines what type of file you are dealing with
o EX: file prog1 (returns a ‘.c’ file type)
• emacs/vi filename.c → creates a file and puts it into a text editor of choice
NOTE: Make sure never to have space in file name
• What is used to compile programs?
o Linux: gcc prog1.c -o prog1
o Translation: Compiler Human Readable Name of Output file Machine Readable
o Linux: ./(no space)ex1 data
o Translation: Run Machine Readable and use a text file called data
Example 1:
a =1
b=2
if(a>b)
printf(“…”);
a = 5
What is the value of ‘a’ here? a = 5.
• In the statement above, it doesn’t matter what is inside the if statement because ‘a’ is later redefined to be a OUTSIDE the if statement
• Always remember to use brackets with all logic statements
• No “end” in C (as in MATLAB if statements)
Indexing
• In C, index always begins with 0
int arr[6];
for( c = 0; c < 6; c++)
{
c will be 0,1,2,3,4,5
}
It is wrong to do the following:
int arr[6];
for( c = 0; c <= 6; c++)
{
c will be 0,1,2,3,4,5,6 ERROR: INDEX OUT OF RANGE
}
Inputting a string
• scanf(“%s”, str);
• printf(“%s”, str);
Maze program:
• Each wall is one layer thick
• Always one exit, one start
• Always one solution
• Pathways are on * in length
argc and argv
• Same as for function arguments,
int add( int a , int b)
• But instead,
Int main ( int argc , char *argv[] )
(# of arguments, array of each argument)
• The first argument is always the name of the command
• Several spaces count only as 1 space separating the arguments