Introduction to C Programming. Chih-Wei Tang ( 唐之瑋 ) Department of Communication Engineering National Central University JhongLi, Taiwan

Similar documents
Chapter 2 - Introduction to C Programming

C: How to Program. Week /Mar/05

Chapter 1 & 2 Introduction to C Language

SEQUENTIAL STRUCTURE. Erkut ERDEM Hacettepe University October 2010

2/29/2016. Definition: Computer Program. A simple model of the computer. Example: Computer Program. Data types, variables, constants

Fundamentals of Programming. Lecture 3: Introduction to C Programming

Programming for Engineers Introduction to C

Data types, variables, constants

Chapter 2: Overview of C. Problem Solving & Program Design in C

Fundamentals of Programming Session 4

Introduction to Programming

Chapter 1 Introduction to Computers and C++ Programming

Introduction to C# Applications

Features of C. Portable Procedural / Modular Structured Language Statically typed Middle level language

Introduction to C++ Programming. Adhi Harmoko S, M.Komp

Chapter 2, Part I Introduction to C Programming

Full file at C How to Program, 6/e Multiple Choice Test Bank

Fundamental of Programming (C)

c) Comments do not cause any machine language object code to be generated. d) Lengthy comments can cause poor execution-time performance.

Programming Fundamentals (CS 302 ) Dr. Ihsan Ullah. Lecturer Department of Computer Science & IT University of Balochistan

Structured Program Development

ANSI C Programming Simple Programs

Introduction to C++ Programming Pearson Education, Inc. All rights reserved.

Variables Data types Variable I/O. C introduction. Variables. Variables 1 / 14

Lecture 3 Tao Wang 1

LESSON 1. A C program is constructed as a sequence of characters. Among the characters that can be used in a program are:

1 EEE1008 C Programming

CHAPTER 1.2 INTRODUCTION TO C++ PROGRAMMING. Dr. Shady Yehia Elmashad

UNIT - I. Introduction to C Programming. BY A. Vijay Bharath

6.096 Introduction to C++ January (IAP) 2009

IT 374 C# and Applications/ IT695 C# Data Structures

Introduction to Programming

Università degli Studi di Bologna Facoltà di Ingegneria. Principles, Models, and Applications for Distributed Systems M

Programming and Data Structures

A Fast Review of C Essentials Part I

IS 0020 Program Design and Software Tools

Basic Elements of C. Staff Incharge: S.Sasirekha

CSc 10200! Introduction to Computing. Lecture 2-3 Edgardo Molina Fall 2013 City College of New York

ET156 Introduction to C Programming

C Program Control. Chih-Wei Tang ( 唐之瑋 ) Department of Communication Engineering National Central University JhongLi, Taiwan

Introduction to C Programming

Fundamentals of Programming

12/22/11. Java How to Program, 9/e. Help you get started with Eclipse and NetBeans integrated development environments.

Intro to Computer Programming (ICP) Rab Nawaz Jadoon

Programming in C++ 4. The lexical basis of C++

Creating a C++ Program

Programming - 1. Computer Science Department 011COMP-3 لغة البرمجة 1 لطالب كلية الحاسب اآللي ونظم المعلومات 011 عال- 3

DEPARTMENT OF MATHS, MJ COLLEGE

Introduction to the C Programming Language

BITG 1233: Introduction to C++

Laboratory 2: Programming Basics and Variables. Lecture notes: 1. A quick review of hello_comment.c 2. Some useful information

Course Outline. Introduction to java

C OVERVIEW. C Overview. Goals speed portability allow access to features of the architecture speed

Programming. C++ Basics

Assoc. Prof. Dr. Marenglen Biba. (C) 2010 Pearson Education, Inc. All rights reserved.

C OVERVIEW BASIC C PROGRAM STRUCTURE. C Overview. Basic C Program Structure

C Language, Token, Keywords, Constant, variable

Functions. Angela Chih-Wei Tang ( 唐之瑋 ) Department of Communication Engineering National Central University JhongLi, Taiwan.

Data Types and Variables in C language

C Structures, Unions, Bit Manipulations, and Enumerations

Binghamton University. CS-211 Fall Syntax. What the Compiler needs to understand your program

BLM2031 Structured Programming. Zeyneb KURT

Character Set. The character set of C represents alphabet, digit or any symbol used to represent information. Digits 0, 1, 2, 3, 9

Introduction to C# Applications Pearson Education, Inc. All rights reserved.

Fundamental Data Types. CSE 130: Introduction to Programming in C Stony Brook University

Computer Science & Information Technology (CS) Rank under AIR 100. Examination Oriented Theory, Practice Set Key concepts, Analysis & Summary

C - Basic Introduction

UNIT IV 2 MARKS. ( Word to PDF Converter - Unregistered ) FUNDAMENTALS OF COMPUTING & COMPUTER PROGRAMMING

Variables in C. Variables in C. What Are Variables in C? CMSC 104, Fall 2012 John Y. Park

Chapter 2, Part III Arithmetic Operators and Decision Making

Copyright 1999 by Deitel & Associates, Inc. All Rights Reserved.

Lecture 02 C FUNDAMENTALS

Computer System and programming in C

Arithmetic Operators. Binary Arithmetic Operators. Arithmetic Operators. A Closer Look at the / Operator. A Closer Look at the % Operator

BIL 104E Introduction to Scientific and Engineering Computing. Lecture 1

2.1. Chapter 2: Parts of a C++ Program. Parts of a C++ Program. Introduction to C++ Parts of a C++ Program

Preview from Notesale.co.uk Page 6 of 52

The component base of C language. Nguyễn Dũng Faculty of IT Hue College of Science

Objectives. Chapter 2: Basic Elements of C++ Introduction. Objectives (cont d.) A C++ Program (cont d.) A C++ Program

Chapter 2: Basic Elements of C++

Chapter 2: Basic Elements of C++ Objectives. Objectives (cont d.) A C++ Program. Introduction

Unit 3. Operators. School of Science and Technology INTRODUCTION

These are reserved words of the C language. For example int, float, if, else, for, while etc.

BBM 101 Introduc/on to Programming I Fall 2014, Lecture 3. Aykut Erdem, Erkut Erdem, Fuat Akal

UEE1302 (1102) F10: Introduction to Computers and Programming

DECLARATIONS. Character Set, Keywords, Identifiers, Constants, Variables. Designed by Parul Khurana, LIECA.

CS102: Variables and Expressions

INTRODUCTION 1 AND REVIEW

C Fundamentals & Formatted Input/Output. adopted from KNK C Programming : A Modern Approach

Input/Output Week 5:Lesson 16.1

B.V. Patel Institute of Business Management, Computer & Information Technology, Uka Tarsadia University

Overview. - General Data Types - Categories of Words. - Define Before Use. - The Three S s. - End of Statement - My First Program

Expressions and Data Types CSC 121 Spring 2015 Howard Rosenthal

BASIC ELEMENTS OF A COMPUTER PROGRAM

Lecture 3. More About C

Introduction to Python Programming

Basics of Programming

Fundamentals of C. Structure of a C Program

2. Numbers In, Numbers Out

CS113: Lecture 3. Topics: Variables. Data types. Arithmetic and Bitwise Operators. Order of Evaluation

Transcription:

Introduction to C Programming Chih-Wei Tang ( 唐之瑋 ) Department of Communication Engineering National Central University JhongLi, Taiwan

Outline Printing texts Adding 2 integers Comparing 2 integers C.E., NCU, Taiwan 2

Printing a Line of Text 1 /* Fig. 2.1: fig02_01.c 2 A first program in C */ 3 #include <stdio.h> 4 5 /* function main begins program execution */ 6 int main() 7 { 8 printf( "Welcome to C!\n" ); 9 10 return 0; /* indicate that program ended successfully */ 11 12 } /* end function main */ Test Welcome to C! Comments 1. Text surrounded by /* and */ is ignored by computer 2. Used to describe program C.E., NCU, Taiwan 3

Printing a Line of Text Details (1/3) #include <stdio.h> Preprocessor directive int main() Tells computer to load contents of a certain file <stdio.h> allows standard input/output operations C++ programs contain one or more functions, exactly one of which must be main Parenthesis used to indicate a function int means that main "returns" an integer value Braces ({ and }) indicate a block The bodies of all functions must be contained in braces C.E., NCU, Taiwan 4

Printing a Line of Text Details (2/3) printf( "Welcome to C!\n" ); Instructs computer to perform an action Specifically, prints the string of characters within quotes (" ") Entire line called a statement All statements must end with a semicolon (;) Escape character (\) Indicates that printf should do something out of the ordinary \n is the newline character C.E., NCU, Taiwan 5

Escape Sequences Escape Sequence Description \n Newline. Position the cursor at the beginning of the next line. \t Horizontal tab. Move the cursor to the next tab stop. \a Alert. Sound the system bell. \\ Backslash. Insert a backslash character in a string. \" Double quote. Insert a double quote character in a string. Fig. 2.2 Some common escape sequences. C.E., NCU, Taiwan 6

Printing a Line of Text Details (3/3) return 0; A way to exit a function return 0, in this case, means that the program terminated normally Right brace } Indicates end of main has been reached Linker When a function is called, linker locates it in the library Inserts it into object program If function name is misspelled, the linker will produce an error because it will not be able to find function in the library C.E., NCU, Taiwan 7

Printing on 1 Line with Separate printf 1 /* Fig. 2.3: fig02_03.c 2 Printing on one line with two printf statements */ 3 #include <stdio.h> 4 5 /* function main begins program execution */ 6 int main() 7 { 8 printf( "Welcome " ); 9 printf( "to C!\n" ); 10 11 return 0; /* indicate that program ended successfully */ 12 13 } /* end function main */ C.E., NCU, Taiwan 8

Printing on Multiple Lines 1 /* Fig. 2.4: fig02_04.c 2 Printing multiple lines with a single printf */ 3 #include <stdio.h> 4 5 /* function main begins program execution */ 6 int main() 7 { 8 printf( "Welcome\nto to\nc! C!\n" ); 9 10 return 0; /* indicate that program ended successfully */ 11 12 } /* end function main */ C.E., NCU, Taiwan 9

Outline Printing texts Adding 2 integers Comparing 2 integers C.E., NCU, Taiwan 10

1 /* Fig. 2.5: fig02_05.c 2 Addition program */ 3 #include <stdio.h> 4 Adding Two Integers 5 /* function main begins program execution */ 6 int main() 7 { 8 int integer1; /* first number to be input by user */ 9 int integer2; /* second number to be input by user */ 10 int sum; /* variable in which sum will be stored */ 11 12 printf( "Enter first integer\n" n" ); /* prompt */ 13 scanf( "%d", &integer1 ); /* read an integer */ 14 15 printf( "Enter second integer\n" n" ); /* prompt */ 16 scanf( "%d", &integer2 ); /* read an integer */ 17 18 sum = integer1 + integer2; /* assign total to sum */ 19 20 printf( "Sum is %d\n" n", sum ); /* print sum */ 21 22 return 0; /* indicate that program ended successfully */ 23 24 } C.E., /* NCU, end Taiwan function main */ 11

Adding Two Integers Results Test Enter first integer 45 Enter second integer 72 Sum is 117 C.E., NCU, Taiwan 12

Adding Two Integers Details (1/3) int integer1, integer2, sum; variables: locations in memory where a value can be stored int : the variables can hold integers (-1, 3, 0, 47) Variable names (identifiers) integer1, integer2, sum letters, digits (cannot begin with a digit) and underscores( _ ) case sensitive Definitions appear before executable statements If an executable statement references and undeclared variable it will produce a syntax (compiler) error C.E., NCU, Taiwan 13

Adding Two Integers Details (2/3) scanf( "%d", &integer1 ); Obtains a value from the user scanf uses standard input (usually keyboard) This scanf statement has two arguments %d - indicates data should be a decimal integer &integer1 - location in memory to store variable When executing the program the user responds to the scanf statement by typing in a number pressing the enter (return) key C.E., NCU, Taiwan 14

Adding Two Integers Details (3/3) = (assignment operator) Assigns a value to a variable Is a binary operator (has two operands) sum = variable1 + variable2; sum gets variable1 + variable2; Variable receiving value on left printf( "Sum is %d\n", sum ); Similar to scanf %d means decimal integer will be printed sum specifies what integer will be printed Calculations can be performed inside printf statements printf( "Sum is %d\n", integer1 + integer2 ); C.E., NCU, Taiwan 15

Memory Concepts Variables Variable names : locations in the computer's memory Every variable has (1)name (2)type (3)size (4)value Whenever a new value is placed into a variable, it replaces (and destroys) the previous value Reading variables from memory does not change them integer1 45 sum 117 integer2 72 C.E., NCU, Taiwan 16

The Architecture of The Machine C.E., NCU, Taiwan 17

Arithmetic Calculations Use * for multiplication and / for division Integer division truncates remainder 7 / 5 evaluates to 1 Modulus operator(%) returns the remainder 7 % 5 evaluates to 2 C.E., NCU, Taiwan 18

Arithmetic Arithmetic Operators C operation Arithmetic operator Algebraic expression C expression Addition + f + 7 f + 7 Subtraction - p c p - c Multiplication * bm b * m Division / x / y x / y Modulus % r mod s r % s C.E., NCU, Taiwan 19

Operator Precedence Some arithmetic operators act before others (i.e., multiplication before addition) Use parenthesis when needed Example: Find the average of three variables a, b and c Do not use: a + b + c / 3 Use: (a + b + c ) / 3 C.E., NCU, Taiwan 20

Arithmetic Rules of Operator Precedence Operator(s) Operation(s) Order of evaluation (precedence) () Parentheses Evaluated first. If the parentheses are nested, the expression in the innermost pair is evaluated first. If there are several pairs of parentheses on the same level (i.e., not nested), they are evaluated left to right. *, /, or % Multiplication,Division, Modulus + or - Addition Subtraction Evaluated second. If there are several, they are evaluated left to right. Evaluated last. If there are several, they are evaluated left to right. C.E., NCU, Taiwan 21

Order in Which A Second-Degree Polynomial Is Evaluated Step 1. y = 2 * 5 * 5 + 3 * 5 + 7; (Leftm ost multip lic ation) 2 * 5 is 10 Step 2. y = 10 * 5 + 3 * 5 + 7; 10 * 5 is 50 (Leftm ost multip lic ation) Step 3. y = 50 + 3 * 5 + 7; (Multip lic ation before ad dition) 3 * 5 is 15 Step 4. y = 50 + 15 + 7; (Leftm ost ad dition) 50 + 15 is 65 Step 5. y = 65 + 7; (Last a dd ition) 65 + 7 is 72 C.E., NCU, Taiwan 22 Step 6. y = 72; (Last op era tio n p la ce 72 in y) 22

Outline Printing texts Adding 2 integers Comparing 2 integers C.E., NCU, Taiwan 23

Decision Making: Equality & Relational Operators (1/2) Executable statements Perform actions (calculations, input/output of data) Perform decisions May want to print "pass" or "fail" given the value of a test grade if control statement If a condition is true, then the body of the if statement executed 0 is false, non-zero is true Control always resumes after the if structure Keywords Special words reserved for C C.E., NCU, Cannot Taiwan be used as identifiers or variable names 24

Decision Making: Equality & Relational Operators (2/2) Standard algebraic equality operator or relational operator Equality Operators C equality or relational operator Example of C condition = == x == y Meaning of C condition x is equal to y Relational Operators!= x!= y x is not equal to y > > x > y < < x < y >= >= x >= y <= <= x <= y x is greater than y x is less than y x is greater than or equal to y x is less than or equal to y C.E., NCU, Taiwan 25

1 /* Fig. 2.13: fig02_13.c 2 Using if statements, relational 3 operators, and equality operators */ 4 #include <stdio.h> 5 6 /* function main begins program execution */ 7 int main() 8 { 9 int num1, /* first number to be read from user */ 10 int num2; /* second number to be read from user */ 11 12 printf( "Enter two integers, and I will tell you\n" ); 13 printf( "the relationships they satisfy: " ); 14 15 scanf( "%d%d", &num1, &num2 ); /* read two integers */ 16 17 if ( num1 == num2 ) { 18 printf( "%d is equal to %d\n" n", num1, num2 ); 19 } /* end if */ 20 21 if ( num1!= num2 ) { 22 printf( "%d is not equal to %d\n" n", num1, num2 ); 23 } /* end if */ 24 C.E., NCU, Taiwan 26

25 if ( num1 < num2 ) { 26 printf( "%d is less than %d\n" n", num1, num2 ); 27 } /* end if */ 28 29 if ( num1 > num2 ) { 30 printf( "%d is greater than %d\n" n", num1, num2 ); 31 } /* end if */ 32 33 if ( num1 <= num2 ) { 34 printf( "%d is less than or equal to %d\n" n", num1, num2 ); 35 } /* end if */ 36 37 if ( num1 >= num2 ) { 38 printf( "%d is greater than or equal to %d\n" n", num1, num2 ); 39 } /* end if */ 40 41 return 0; /* indicate that program ended successfully */ 42 43 } /* end function main */ Compare Two Integers C.E., NCU, Taiwan 27

Compare Two Integers Results Test 1: Test 2: Enter two integers, and I will tell you the relationships they satisfy: 22 12 22 is not equal to 12 22 is greater than 12 22 is greater than or equal to 12 Enter two integers, and I will tell you the relationships they satisfy: 7 7 7 is equal to 7 7 is less than or equal to 7 7 is greater than or equal to 7 C.E., NCU, Taiwan 28

C s Reserved Keywords Keywords auto double int struct break else long switch case enum register typedef char extern return union const float short unsigned continue for signed void default goto sizeof volatile do if static while Fig. 2.15 C s reserved keywords. C.E., NCU, Taiwan 29