EECE.2160 ECE Application Programming

Slides:



Advertisements
Similar presentations
1 Lecture 2  Input-Process-Output  The Hello-world program  A Feet-to-inches program  Variables, expressions, assignments & initialization  printf()
Advertisements

C Programming Lecture 4 : Variables , Data Types
CMSC 104, Version 9/011 Introduction to C Topics Compilation Using the gcc Compiler The Anatomy of a C Program 104 C Programming Standards and Indentation.
ECE Application Programming Instructors: Dr. Michael Geiger & Nasibeh Nasiri Fall 2015 Lecture 2: Basic C program structure Data in C: Data types,
 2007 Pearson Education, Inc. All rights reserved. A Simple C Program 1 /* ************************************************* *** Program: hello_world.
Sudeshna Sarkar, IIT Kharagpur 1 Programming and Data Structure Sudeshna Sarkar Lecture 3.
Chapter 1 slides1 What is C? A high-level language that is extremely useful for engineering computations. A computer language that has endured for almost.
Introduction to C Topics Compilation Using the gcc Compiler
C++ First Steps.
ECE Application Programming
CSCE 206 Structured Programming in C
Programming what is C++
User-Written Functions
CIS3931 – Intro to JAVA Lecture Note Set 2 17-May-05.
Prof: Dr. Shu-Ching Chen TA: Samira Pouyanfar Spring 2017
ECE Application Programming
Chapter 2 Introduction to C++ Programming
CSC201: Computer Programming
ECE Application Programming
CSE 220 – C Programming C Fundamentals.
EECE.2160 ECE Application Programming
ECE Application Programming
ECE Application Programming
Chapter 2 - Introduction to C Programming
ECE Application Programming
EECE.2160 ECE Application Programming
ECE Application Programming
Chapter 2 - Introduction to C Programming
By: Syed Shahrukh Haider
ASST. Prof. Dr. Hacer Yalım Keleş
I/O in C Lecture 6 Winter Quarter Engineering H192 Winter 2005
Chapter 2 - Introduction to C Programming
Introduction to CS Your First C Programs
Chapter 2 - Introduction to C Programming
File I/O in C Lecture 7 Narrator: Lecture 7: File I/O in C.
Govt. Polytechnic,Dhangar
Introduction to C Topics Compilation Using the gcc Compiler
Chapter 2 - Introduction to C Programming
Programming Fundamentals Lecture #3 Overview of Computer Programming
C Programming Getting started Variables Basic C operators Conditionals
EECE.2160 ECE Application Programming
Introduction to C Topics Compilation Using the gcc Compiler
ECE Application Programming
EECE.2160 ECE Application Programming
EECE.2160 ECE Application Programming
EECE.2160 ECE Application Programming
EECE.2160 ECE Application Programming
EECE.2160 ECE Application Programming
Chapter 2 - Introduction to C Programming
EECE.2160 ECE Application Programming
EECE.2160 ECE Application Programming
EECE.2160 ECE Application Programming
EECE.2160 ECE Application Programming
EECE.2160 ECE Application Programming
EECE.3220 Data Structures Instructor: Dr. Michael Geiger Spring 2019
EECE.2160 ECE Application Programming
EECE.2160 ECE Application Programming
EECE.2160 ECE Application Programming
Introduction to C Topics Compilation Using the gcc Compiler
EECE.2160 ECE Application Programming
Introduction to C Programming
EECE.2160 ECE Application Programming
EECE.2160 ECE Application Programming
EECE.2160 ECE Application Programming
EECE.2160 ECE Application Programming
EECE.2160 ECE Application Programming
EECE.2160 ECE Application Programming
EECE.2160 ECE Application Programming
Administrative things
EECE.2160 ECE Application Programming
Presentation transcript:

EECE.2160 ECE Application Programming Instructors: Dr. Michael Geiger & Peilong Li Spring 2016 Lecture 2: Basic C program structure Data in C: Data types, constants, and variables

ECE Application Programming: Lecture 2 Lecture outline Announcements/reminders Sign up for the course discussion group Program 1 due Wednesday, 1/27 10 points: e-mail Dr. Geiger for shared Dropbox folder 10 points: introduce yourself to your instructor 30 points: complete simple C program Today’s lecture Basic C program structure Comments Data types Constants Visual Studio demo 4/30/2019 ECE Application Programming: Lecture 2

ECE Application Programming: Lecture 1 Our first C program #include <stdio.h> int main() { printf("Hello World!\n"); return 0; } 4/30/2019 ECE Application Programming: Lecture 1

ECE Application Programming: Lecture 1 Our first C program # 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 #include <stdio.h> int main() { printf("Hello World!\n"); return 0; } 4/30/2019 ECE Application Programming: Lecture 1

ECE Application Programming: Lecture 1 Our first C program 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 () #include <stdio.h> int main() { printf("Hello World!\n"); return 0; } 4/30/2019 ECE Application Programming: Lecture 1

ECE Application Programming: Lecture 1 Our first C program { } 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. #include <stdio.h> int main() { printf("Hello World!\n"); return 0; } 4/30/2019 ECE Application Programming: Lecture 1

ECE Application Programming: Lecture 1 Our first C program 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. #include <stdio.h> int main() { printf("Hello World!\n"); return 0; } Every statement must end with a ";". Preprocessing directives do not end with a ";" (but must end with a return). 4/30/2019 ECE Application Programming: Lecture 1

ECE Application Programming: Lecture 1 Our first C program 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 #include <stdio.h> int main() { printf("Hello World!\n"); return 0; } 4/30/2019 ECE Application Programming: Lecture 1

ECE Application Programming: Lecture 1 Our first C program 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. #include <stdio.h> int main() { printf("Hello World!\n"); return 0; } 4/30/2019 ECE Application Programming: Lecture 1

Variations #1 of first program #include <stdio.h> int main() { printf("Hello"); printf("there"); printf("World!"); return 0; } 4/30/2019 ECE Application Programming: Lecture 1

Variations #2 of first program #include <stdio.h> int main() { printf("Hello\n"); printf("there\n"); printf("World!\n"); return 0; } 4/30/2019 ECE Application Programming: Lecture 1

Variations #3 of first program #include <stdio.h> int main() { printf("Hello\nthere\nWorld!\n"); return 0; } 4/30/2019 ECE Application Programming: Lecture 1

Variations #4 of first program #include <stdio.h> 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. 4/30/2019 ECE Application Programming: Lecture 1

ECE Application Programming: Lecture 2 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 4/30/2019 ECE Application Programming: Lecture 2

ECE Application Programming: Lecture 2 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 4/30/2019 ECE Application Programming: Lecture 2

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

ECE Application Programming: Lecture 2 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 4/30/2019 ECE Application Programming: Lecture 2

Four Types of Basic Data Integer int Floating point (single precision) float Double Precision double Character char 4/30/2019 ECE Application Programming: Lecture 2

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

Range of Integers (Machine Dependent) unsigned signed 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) 4/30/2019 ECE Application Programming: Lecture 2

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.02e23 1.0e2 -4.23e2 +4.0e2 1.23e-4 +11.2e+7 Illegal: $54.23 6,349.70 1.0E5 4/30/2019 ECE Application Programming: Lecture 2

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 4/30/2019 ECE Application Programming: Lecture 2

ECE Application Programming: Lecture 2 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 to your Dropbox folder File name matters! 4/30/2019 ECE Application Programming: Lecture 2

ECE Application Programming: Lecture 2 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 4/30/2019 ECE Application Programming: Lecture 2

ECE Application Programming: Lecture 2 Final notes Next time Variables Operators Basic output with printf() Reminders: Sign up for the course discussion group Program 1 due Wednesday, 1/27 10 points: e-mail Dr. Geiger for shared Dropbox folder 10 points: introduce yourself to your instructor 30 points: complete simple C program 4/30/2019 ECE Application Programming: Lecture 2