Presentation is loading. Please wait.

Presentation is loading. Please wait.

16.216 ECE Application Programming Instructors: Dr. Michael Geiger & Nasibeh Nasiri Fall 2015 Lecture 2: Basic C program structure Data in C: Data types,

Similar presentations


Presentation on theme: "16.216 ECE Application Programming Instructors: Dr. Michael Geiger & Nasibeh Nasiri Fall 2015 Lecture 2: Basic C program structure Data in C: Data types,"— Presentation transcript:

1 16.216 ECE Application Programming Instructors: Dr. Michael Geiger & Nasibeh Nasiri Fall 2015 Lecture 2: Basic C program structure Data in C: Data types, constants, and variables

2 Lecture outline Announcements/reminders  Sign up for the course discussion group  No lecture Monday (Labor Day)  Program 1 due Wednesday, 9/9 40 points: complete simple C program 10 points: introduce yourself to your instructor  If we’ve met previously, you still have to meet with me this semester to earn these points. Today’s lecture  Basic C program structure  Comments  Data types  Constants  Visual Studio demo 10/24/2015 ECE Application Programming: Lecture 2 2

3 3 Our first C program #include int main() { printf("Hello World!\n"); return 0; } 10/24/2015 ECE Application Programming: Lecture 1

4 4 Our first C program #include int main() { printf("Hello World!\n"); return 0; } # indicates pre-processor directive include is the directive stdio.h is the name of the file to "insert" into our program. The <> means it is part of the C development system 10/24/2015 ECE Application Programming: Lecture 1

5 5 Our first C program #include int main() { printf("Hello World!\n"); return 0; } main is the name of the primary (or main) procedure. All ANSI C programs must have a main routine named main The () indicates that main is the name of a procedure. All procedure references must be followed with () 10/24/2015 ECE Application Programming: Lecture 1

6 6 Our first C program #include int main() { printf("Hello World!\n"); return 0; } { } enclose a "block". A block is zero or more C statements. Note that code inside a block is typically indented for readability—knowing what code is inside the current block is quite useful. 10/24/2015 ECE Application Programming: Lecture 1

7 7 Our first C program #include int main() { printf("Hello World!\n"); return 0; } printf() is a "built-in" function (which is actually defined in stdio.h ). " Hello World! " is the string to print. More formally, this is called the control string or control specifier. Every statement must end with a ";". Preprocessing directives do not end with a ";" (but must end with a return). 10/24/2015 ECE Application Programming: Lecture 1

8 8 Our first C program #include int main() { printf("Hello World!\n"); return 0; } The \n is an escape character used by the printf function; inserting this character in the control string causes a “newline” to be printed—it’s as if you hit the “Enter” key 10/24/2015 ECE Application Programming: Lecture 1

9 9 Our first C program #include int main() { printf("Hello World!\n"); return 0; } The int tells the compiler our main() program will return an integer to the operating system; the return tells what integer value to return. This keyword could be void, indicating that the program returns nothing to the OS. 10/24/2015 ECE Application Programming: Lecture 1

10 10 Variations #1 of first program #include int main() { printf("Hello"); printf("there"); printf("World!"); return 0; } 10/24/2015 ECE Application Programming: Lecture 1

11 11 Variations #2 of first program #include int main() { printf("Hello\n"); printf("there\n"); printf("World!\n"); return 0; } 10/24/2015 ECE Application Programming: Lecture 1

12 12 Variations #3 of first program #include int main() { printf("Hello\nthere\nWorld!\n"); return 0; } 10/24/2015 ECE Application Programming: Lecture 1

13 13 Variations #4 of first program #include int main(){printf ("Hello\nthere\nWorld!\n");return 0;} Note while this is syntactically correct, it leaves much to be desired in terms of readability. 10/24/2015 ECE Application Programming: Lecture 1

14 Code readability Readability wouldn’t matter if:  Entire code project written by one person  All code was in same file  Same person is the only one to use the code  Code was used only for a short period of time More typically:  Projects are split—multiple programmers and files  Code usually reused Multiple users Used/adapted (hopefully) over long period of time You may reuse code... but forget what you originally wrote! Bottom line: code needs to be readable 10/24/2015 ECE Application Programming: Lecture 2 14

15 Comments C allows you to add comments to your code  Single line comments: start with //  Multi-line comments: start with /* end with */ Typical uses  Multi-line comment at start of program with Author’s name (& other info if appropriate) Date started/modified File name Description of overall file functionality  For individual code sections Single/multi-line comment for major section of code performing single function Single line comment for single line of code if that line alone is important 10/24/2015 ECE Application Programming: Lecture 2 15

16 Comment example /* 16.216 ECE Application Programming Instructor: M. Geiger 10/24/2015 hello.c: Intro program to demonstrate basic C program structure and output */ #include // Main program: prints basic string and exits int main() { printf("Hello World!\n");// Comment return 0; } 10/24/2015 ECE Application Programming: Lecture 2 16

17 Representing data in C Two major questions (for now)  What kind of data are we trying to represent? Data types  Can the program change the data? Constants vs. variables 10/24/2015 ECE Application Programming: Lecture 2 17

18 Four Types of Basic Data Integer int Floating point (single precision) float Double Precision double Character char 1810/24/2015 ECE Application Programming: Lecture 2

19 Integer Constants Any positive or negative number without a decimal point (or other illegal symbol). Legal values: 5-10+25 1000253-26351+98 Illegal values: 2,523 (comma) 6.5 (decimal point) $59 (dollar sign) 5. (decimal point) 1910/24/2015 ECE Application Programming: Lecture 2

20 20 Range of Integers (Machine Dependent) unsignedsigned char 0  255-128  +127 (8 bits) short int 0  65535-32768  + 32767 short (16 bits) int 0 to 4294967295 -2147483648  2147483647 long long int (32 bits) 10/24/2015 ECE Application Programming: Lecture 2

21 float/double Constants Any signed or unsigned number with a decimal point Legal values: 5..6+2.7 0.0-6.5+8.43.4 Legal (exponential notation): 1.624e3 7.32e-2 6.02e231.0e2 -4.23e2 +4.0e2 1.23e-4 +11.2e+7 Illegal: $54.23 6,349.70 1.0E5 2110/24/2015 ECE Application Programming: Lecture 2

22 float/double Constants Range of float (32 bits) ± 1.175494351 E – 38 ± 3.402823466 E + 38 Range of double (64 bits)  2.2250738585072014 E – 308  1.7976931348623158 E + 308 2210/24/2015 ECE Application Programming: Lecture 2

23 Assignment #1 Basic assignment to ensure you can write, run, and submit programs Write a short program that prints (each item on its own line):  Your name  Your major  Your class (i.e. freshman, sophomore, etc.)  The name and semester of this course Submit only your source (prog1_simple.c) file via e-mail to Michael_Geiger@uml.edu  File name matters! 10/24/2015 ECE Application Programming: Lecture 2 23

24 Visual Studio demo Basics of setting up project  Steps covered in detail in Program 1 spec. Xcode users: steps are very similar  Choose “Start New Project” when Xcode opens  Project type: Under list of “OS X” choices on the left, choose “Application” Choose “Command Line Tool” from the options that appear  Name your project (project name doesn’t matter) and choose a directory. Also, ensure that the type of project is set to “C” using appropriate drop-down menu  Project includes simple C file named “main.c” You can edit this file to include your own code Rename this file so the name matches the program spec 10/24/2015 ECE Application Programming: Lecture 2 24

25 Final notes Next time (Wednesday, 9/9)  Variables  Operators  Basic input/output with scanf()/printf() Reminders:  Sign up for the course discussion group  No lecture Monday (Labor Day)  Program 1 due Wednesday, 9/9 40 points: complete simple C program 10 points: introduce yourself to your instructor  If we’ve met previously, you still have to meet with me this semester to earn these points. 10/24/2015 ECE Application Programming: Lecture 2 25


Download ppt "16.216 ECE Application Programming Instructors: Dr. Michael Geiger & Nasibeh Nasiri Fall 2015 Lecture 2: Basic C program structure Data in C: Data types,"

Similar presentations


Ads by Google