goals of this course introduction to the programming language c learn how to program learn...
TRANSCRIPT
![Page 1: Goals of this course Introduction to the programming language C Learn how to program Learn ‘good’ programming practices](https://reader036.vdocuments.mx/reader036/viewer/2022083005/56649f295503460f94c43442/html5/thumbnails/1.jpg)
Goals of this course
• Introduction to the programming language C
• Learn how to program
• Learn ‘good’ programming practices
![Page 2: Goals of this course Introduction to the programming language C Learn how to program Learn ‘good’ programming practices](https://reader036.vdocuments.mx/reader036/viewer/2022083005/56649f295503460f94c43442/html5/thumbnails/2.jpg)
Programming
What is computer programming?
• Representation of a task or algorithm in a computer language.
What is an algorithm?
• A sequence of directions for accomplishing a task.
![Page 3: Goals of this course Introduction to the programming language C Learn how to program Learn ‘good’ programming practices](https://reader036.vdocuments.mx/reader036/viewer/2022083005/56649f295503460f94c43442/html5/thumbnails/3.jpg)
Example of an Algorithm
The algorithm for calculating the arithmetic mean(i.e., the average) of a set of numbers is1. add all the numbers together2. divide this sum by the number of numbers
In mathematical terms this is written as
![Page 4: Goals of this course Introduction to the programming language C Learn how to program Learn ‘good’ programming practices](https://reader036.vdocuments.mx/reader036/viewer/2022083005/56649f295503460f94c43442/html5/thumbnails/4.jpg)
Levels of Abstraction
Suppose a student is asked to come to the front of the class
• high-level – stand, walk to front
• mid-level – stand, turn 90◦ to the right, walk 15 feet, turn 90◦ to the left, walk 10 feet
• low-level – contract specific muscles in a specific order
• lowest-level – you think about walking, initiating many electrochemical reactions
![Page 5: Goals of this course Introduction to the programming language C Learn how to program Learn ‘good’ programming practices](https://reader036.vdocuments.mx/reader036/viewer/2022083005/56649f295503460f94c43442/html5/thumbnails/5.jpg)
Levels of Abstraction cont.
Computer languages that correspond to these levels of abstraction:
• high-level – perl, python, matlab
• mid-level – C
• low-level – assembly language
• lowest-level – machine code
![Page 6: Goals of this course Introduction to the programming language C Learn how to program Learn ‘good’ programming practices](https://reader036.vdocuments.mx/reader036/viewer/2022083005/56649f295503460f94c43442/html5/thumbnails/6.jpg)
Analyzing a Problem
Computers understand concrete steps, not abstract concepts.
To determine the concrete steps involved in solving a problem, we may
• Represent the problem using pseudocode
• Work through the process using a simpler or smaller version of the problem
![Page 7: Goals of this course Introduction to the programming language C Learn how to program Learn ‘good’ programming practices](https://reader036.vdocuments.mx/reader036/viewer/2022083005/56649f295503460f94c43442/html5/thumbnails/7.jpg)
Analyzing a Problem cont.
Example: You must sort 1000 numbers in ascending order.
Simpler version: Sort 3, 2, 4, 1 in ascending order
Pseudocode:
![Page 8: Goals of this course Introduction to the programming language C Learn how to program Learn ‘good’ programming practices](https://reader036.vdocuments.mx/reader036/viewer/2022083005/56649f295503460f94c43442/html5/thumbnails/8.jpg)
Basic Concepts
Much of programming consists of the following:
• Storing and updating information – Variables and Statements
Example: store the answer given by a user
• Making decisions – ConditionalsExample:if temperature > 150 degrees
print ‘‘It’s too hot!’’
• Repeating certain tasks – LoopsExample: calculate the first 1000 prime numbers
![Page 9: Goals of this course Introduction to the programming language C Learn how to program Learn ‘good’ programming practices](https://reader036.vdocuments.mx/reader036/viewer/2022083005/56649f295503460f94c43442/html5/thumbnails/9.jpg)
Basics of CExample Code
#include<stdio.h> #define PI 3.14159
/* Finds the area and circumference of circle with radius r */ main ( void ) { double radius, /* radius of circle */ circumference, /* circumference of circle */ area; /* area of circle */
/* get radius of circle */ printf( “Please enter radius: “ ); scanf( “%lf”, &radius );
/* compute area and circumference */ area = PI * radius * radius; circumference = 2 * PI * radius;
/* display the result */ printf(“The area of the circle is %f and its circumference is %f\n”,
area, circumference); } /* main */
![Page 10: Goals of this course Introduction to the programming language C Learn how to program Learn ‘good’ programming practices](https://reader036.vdocuments.mx/reader036/viewer/2022083005/56649f295503460f94c43442/html5/thumbnails/10.jpg)
Basics of CForm of a Simple C Program
Preprocessor directives
main ( void )
{
declarations
executable statements
}
![Page 11: Goals of this course Introduction to the programming language C Learn how to program Learn ‘good’ programming practices](https://reader036.vdocuments.mx/reader036/viewer/2022083005/56649f295503460f94c43442/html5/thumbnails/11.jpg)
Basics of CPreprocessor Directive
#include <standard header file>
The C language includes only a minimal set of operations
Many useful functions and symbols are contained in libraries
Each library has a standard header file which has a name ending in .h
The #include instruction gives a program access to the corresponding library
Example: #include <stdio.h>
• gives access to (among others) the library functions scanf and printf which allow reading input from the keyboard and writing to the monitor
![Page 12: Goals of this course Introduction to the programming language C Learn how to program Learn ‘good’ programming practices](https://reader036.vdocuments.mx/reader036/viewer/2022083005/56649f295503460f94c43442/html5/thumbnails/12.jpg)
Basics of CPreprocessor Directive
#define NAME constant_value
This tells the preprocessor to replace every instance of NAME with the constant_value.
Makes the program easier to read, write, and maintain.
Example:
#define PI 3.14159
#define NUM_STUDENTS 85
#define OZ_PER_POUND 16
![Page 13: Goals of this course Introduction to the programming language C Learn how to program Learn ‘good’ programming practices](https://reader036.vdocuments.mx/reader036/viewer/2022083005/56649f295503460f94c43442/html5/thumbnails/13.jpg)
Basics of CFunction main
Every C program has a main function
Program execution begins with main function
main ( void ) is the main function heading
{ } braces are used to enclose the body of the function
![Page 14: Goals of this course Introduction to the programming language C Learn how to program Learn ‘good’ programming practices](https://reader036.vdocuments.mx/reader036/viewer/2022083005/56649f295503460f94c43442/html5/thumbnails/14.jpg)
Basics of CDeclarations
Declarations tell the compiler to set aside space for variables
Types are associated with the variables
The declaration:
double radius;
– tells the compiler space is needed for a variable named radius, and that it will be used to store doubles (reals).
![Page 15: Goals of this course Introduction to the programming language C Learn how to program Learn ‘good’ programming practices](https://reader036.vdocuments.mx/reader036/viewer/2022083005/56649f295503460f94c43442/html5/thumbnails/15.jpg)
Basics of CDeclarations and Data Types
General Syntax of a variable declaration:
type variable_list;
examples:
int count;
double radius,
area,
circumference;
char initial, code;
int for integers
double for real numbers
char for individual characters
![Page 16: Goals of this course Introduction to the programming language C Learn how to program Learn ‘good’ programming practices](https://reader036.vdocuments.mx/reader036/viewer/2022083005/56649f295503460f94c43442/html5/thumbnails/16.jpg)
Basics of CReserved Words and Standard
Identifiers
Reserved words have special meaning in C and cannot be used for anything else in the program
Must be lower case
Examples: int, double, void, return
Standard identifiers also have a special meaning in C, but they can be redefined by the programmer (though it is not a good idea).
Examples: printf, scanf
![Page 17: Goals of this course Introduction to the programming language C Learn how to program Learn ‘good’ programming practices](https://reader036.vdocuments.mx/reader036/viewer/2022083005/56649f295503460f94c43442/html5/thumbnails/17.jpg)
Basics of CUser-Defined Identifiers
Users create their own identifiers to name the variables and other items in the program (e.g. to name functions other than main)
Rules for creating user-defined identifiers:may contain only letters, digits, underscorecannot begin with a digitcannot contain spacescannot be reserved wordshould not be a standard identifier
Correct: Incorrect:
sum sum#1
hours_worked hours worked
R2D2 2R2D
MyVal My-Val
goodint int
![Page 18: Goals of this course Introduction to the programming language C Learn how to program Learn ‘good’ programming practices](https://reader036.vdocuments.mx/reader036/viewer/2022083005/56649f295503460f94c43442/html5/thumbnails/18.jpg)
Basics of CExecutable Statements
Executable statements tell the computer to take action during the running of the program
Statements are terminated by a semicolon
Examples:
• Assignment
area = PI * radius * radius;
• Input function
scanf( “%lf”, &radius );
• Output function
printf(“The area of the circle is %f and its circumference is %f\n”,area, circumference);
![Page 19: Goals of this course Introduction to the programming language C Learn how to program Learn ‘good’ programming practices](https://reader036.vdocuments.mx/reader036/viewer/2022083005/56649f295503460f94c43442/html5/thumbnails/19.jpg)
Basics of CComments
Comments are used to document programs
Syntax: /* text of comment */
Listed in the program but ignored by the compiler
Can go across lines, until terminating */ is written
Programs should begin with comments (This is called the Header Section). They should contain at least:
your namedue datelab numberlab sectionlab instructors namebrief description of the program
Comments should be used throughout to document the declaration of variables and main algorithm steps