1 / 31

Introduction to Programming: C

Introduction to Programming: C. Patrick J. McSweeney pjmcswee@syr.edu MW: 5 – 8:30pm. Overview. Computer Elements Hardware Software Programming Our First Program Our Second Program. Computer Hardware. Computer. Person doing Arithmetic. CPU: executes computer instructions.

brandi
Download Presentation

Introduction to Programming: C

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduction to Programming: C Patrick J. McSweeney pjmcswee@syr.edu MW: 5 – 8:30pm

  2. Overview • Computer Elements • Hardware • Software • Programming • Our First Program • Our Second Program

  3. Computer Hardware Computer Person doing Arithmetic • CPU: executes computer instructions. • RAM: Short term storage. • Hard drive: Long-term storage • I/O: Keyboard, mouse, monitor, • Brain (minus memories) • Paper to write on. • Textbook - has problems. • Eyes, hands, pencil…

  4. CPU • Central Processing Unit • Little more than a complex calculator • Repeatedly performs the same basic steps • Fetch • Decode • Execute • Even though we call this the “brain” its really quite dumb, no decision making only does what its told. • Has many registers to hold small amounts of data • Add R1 R2

  5. RAM • Random Access Memory • Form of memory • Volatile : loss of power wipes away data • Short term memory. • To run a program (saved on your hard drive). It must first be copied to RAM, to be ‘fetched’ by the CPU.

  6. Hard Drive Disk • Magnetic storage has mechanical components • Non-Volatile: Permanent storage (without power memory remains). • Large (1GB= 1 billion bytes, 1TB = 1 trillion bytes) but slow-er.

  7. I/O • Input-Output: Ways to move data into and out-from. • Monitors, keyboard, mouse, network (modem), USB devices, speakers, printer,

  8. What is a Program? • Programs are binary, executable files run by the CPU. • A program is a sequence of binary (1/0) instructions that are interpretable by a CPU. • Common program examples: Internet Explorer, Microsoft Word, PowerPoint, Excel; ITunes, etc.

  9. How do programs run? All Programs System Calls Operating System (Mac OS, Windows, Linux, Unix) Hardware

  10. What does an Operating System (OS) do? • Operating systems are special programs that have direct access to a computer’s hardware. • Operating Systems are in charge of running programs. • A program being run by the OS that needs to use hardware uses system calls.

  11. Programming Languages • Programming Languages can be divided into two different classes: • High Level Language: C (what we will be learning), Java, C++, C#, Cobol, Pascal. High level languages are designed to be “readable” for humans. • Assembly Language: Binary computer instructions for the CPU. Assembly level languages are designed to be readable to the machine.

  12. Sample Source Code

  13. Algorithm • An algorithm is a series of steps which solve a problem or perform a particular task. • Source code is an implementation of an algorithm. Algorithm for checking my email: Turn on my computer Login to my computer Open an internet browser Enter the URL for my online mail Hit enter to go there Enter my user name and password Select OK

  14. Classroom Exercise #1 • Form groups of 2 or 3 and write an algorithm for one of the following tasks: • How to make a peanut butter and jelly sandwich. • How to tie your shoelaces. • How to write a letter. • Try to get at least 10 steps. We’ll take 10 – 15 minutes.

  15. Compilers • A compiler is a program takes as input a high level language document and outputs assembly level documents. Compiler Assembly Code Source Code

  16. Linker • A linker is a program that takes assembly documents and combines them into a single executable file. Assembly Linker Executable Assembly

  17. Programming Errors • Syntax Error: An error that breaks our syntax rules is caught during compilation: “She; was I friend” • Semantics Error: An error that breaks common sense may not be caught until the program runs: “The pink nose flew to the country.”

  18. Elements of a program • Syntax: Defines the structure of a source code document. Is a set of rules that outline what are acceptable combination of symbols. • Semantics: reflects the meaning of programs. “Jack kicks a red ball.” Syntax: “Jack” “kicks” “red” Subject verb adjective “ball”. object. Semantics

  19. Classroom Exercise #2 • Get together with your groups of 2 or three and create sentences which are: • Syntactically incorrect. • Semantically incorrect, but syntactically correct.

  20. Programming Work Flow source.c source.o Start Compile Edit Source File source.exe Syntax Errors? Yes No Link Execute Correct? Done No Yes

  21. Our First Program #include <stdio.h> int main (void) { //A comment printf(“Welcome to CPS 196! \n”); return 0; } 1 2 3 4 5 6 7 File: cps196.c

  22. Dissecting our first programLine 1 1. #include <stdio.h> This is called a preprocessor directive. stdio.h tells the compiler about the printf command on line 5 in our program. As the course progresses we will learn about more preprocessors.

  23. Dissecting our first programLine 2 2. int main(void) • This marks the opening of our program. It tells the compiler that what follows between { and } is our code. • All executable programs in C will have an “int main (void)” • The “int” stands for integer. It implies that at the end of this program we will return a whole number. • The void tells the compiler that this program takes no parameters (inputs).

  24. Dissecting our first programLine 3 3. { This is the opening bracket for our program.

  25. Dissecting our first programLine 4 4. // A comment • Sometimes it is useful to write notes in our programs. • These notes are ignored by the compiler. • Usually these notes are for ourselves so we can remember what we did if we have to come back and look at our source code again.

  26. Dissecting our first programLine 5 5. printf(“Welcome to CPS 196! \n”); • The printf command displays messages to the user of our program. • printf takes a String as a parameter (input). • The string is displayed. • “\n” is a special character that means put a new line here.

  27. Dissecting our first programLine 6 6. return 0; • Here we mark the end of our program by returning an integer to the operating system. • 0 indicates a successful execution • Other integers can be used to indicate errors that may have arose.

  28. Our Second Program #include <stdio.h> int main (void) { int value; printf(“Please enter a number: ”); scanf(“%d”, &value); printf(“You entered a: %d! \n”, value); return 0; } 1 2 3 4 5 6 7 File: cps196.c

  29. What’s new? (1) int value; • “int” here again means integer (whole number). • value is a container called a variable that can hold an integer. We say that value has type integer.

  30. What’s new (2)? scanf(“%d”, &value); • “scanf” is the opposite of “printf()”. • “printf” displays a data to the screen. • “scanf()” gets input from the keyboard. • “%d” is a special character that tells scanf to try and get an integer from the keyboard. • &value is a way of saying store the result from the keyboard in variable value.

  31. Lecture 1 Terms & Concepts • Linker • Syntax & Semantics • Algorithm • General work flow • “int main(void) • “printf” • Variable • Compiler • High level language • Assembly language • Program • Operating System • CPU • RAM • Hard drive • Input/output

More Related