Line 2: Line 2:
  
  
Put your page content here . . .
+
Lecture 3
 +
 
 +
Lecture 3 – 1/17/2012
 +
 
 +
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)
 +
 
 +
argv element#
 +
 
 +
0            . /     a     r     g   s     \0      (What is stored in row 0)
 +
 
 +
1            d             a     t     a   \0                (What is stored in row 1)
 +
 
 +
....
 +
 
 +
 
 +
• The first argument is always the name of the command
 +
• Several spaces count only as 1 space separating the arguments
 +
 
  
 
[[Category:ECE264Spring2012Yung-Hsiang Lu]]
 
[[Category:ECE264Spring2012Yung-Hsiang Lu]]

Revision as of 11:12, 22 January 2012

Rhea Section for ECE 264 Professor Yung-Hsiang Lu, Spring 2012

Lecture 3

Lecture 3 – 1/17/2012

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)

argv element#

0 . / a r g s \0 (What is stored in row 0)

1 d a t a \0 (What is stored in row 1)

....


• The first argument is always the name of the command • Several spaces count only as 1 space separating the arguments

Alumni Liaison

Ph.D. 2007, working on developing cool imaging technologies for digital cameras, camera phones, and video surveillance cameras.

Buyue Zhang