Introduction to C Systems Programming. Systems Programming: Introduction to C 2 Systems Programming: 2 Introduction to C  A ‘C’ Program –Variable Declarations.

Slides:



Advertisements
Similar presentations
Introduction to C Systems Programming Concepts. Introduction to C A simple C Program A simple C Program –Variable Declarations –printf ( ) Compiling and.
Advertisements

Overview of programming in C C is a fast, efficient, flexible programming language Paradigm: C is procedural (like Fortran, Pascal), not object oriented.
What is a pointer? First of all, it is a variable, just like other variables you studied So it has type, storage etc. Difference: it can only store the.
Lecture 2 Introduction to C Programming
Introduction to C Programming
Introduction to C Programming
COMP1180 Review Date: 4 March, 2009 Time: 10:30am - 12:20pm Venue: –CS students -- FSC801C and FSC801D –IS and other students -- OEE1017 Remarks: – 1)
Primitive Variable types Basic types –char (single character or ASCII integer value) –int (integer) –short (not longer than int) –long (longer than int)
Differences between Java and C CS-2303, C-Term Differences between Java and C CS-2303, System Programming Concepts (Slides include materials from.
 2007 Pearson Education, Inc. All rights reserved Introduction to C Programming.
More on Numerical Computation CS-2301 B-term More on Numerical Computation CS-2301, System Programming for Non-majors (Slides include materials from.
Introduction to C Programming Overview of C Hello World program Unix environment C programming basics.
Data types and variables
C programming an Introduction. Types There are only a few basic data types in C. char a character int an integer, in the range -32,767 to 32,767 long.
Introduction to C Programming
Performing Computations C provides operators that can be applied to calculate expressions: example: tax is 8.5% of the total sale expression: tax =
C PROGRAMMING LECTURE 17 th August IIT Kanpur C Course, Programming club, Fall by Deepak Majeti M-Tech CSE
Introduction to C Language
Computer Science 210 Computer Organization Introduction to C.
A First Book of ANSI C Fourth Edition
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Outline Variables 1.
 2000 Prentice Hall, Inc. All rights reserved. Chapter 9 - Formatted Input/Output Outline 9.1Introduction 9.2Streams 9.3Formatting Output with printf.
Chapter 9 Formatted Input/Output. Objectives In this chapter, you will learn: –To understand input and output streams. –To be able to use all print formatting.
 For Loops › for (variable set; condition; incremental or decrement){ // loop beginning › } // loop end  While loops › while (condition) { // beginning.
Lecture 10: Reviews. Control Structures All C programs written in term of 3 control structures Sequence structures Programs executed sequentially by default.
Lecture 4 C Program Control Acknowledgment The notes are adapted from those provided by Deitel & Associates, Inc. and Pearson Education Inc.
Chapter 3 Processing and Interactive Input. 2 Assignment  The general syntax for an assignment statement is variable = operand; The operand to the right.
1 計算機程式設計 Introduction to Computer Programming Lecture01: Introduction and Hello World 9/10/2012 Slides modified from Yin Lou, Cornell CS2022: Introduction.
Hello.java Program Output 1 public class Hello { 2 public static void main( String [] args ) 3 { 4 System.out.println( “Hello!" ); 5 } // end method main.
University of Palestine software engineering department Introduction to data structures Control Statements: Part 1 instructor: Tasneem Darwish.
Introduction to C Programming Chapter 2 : Data Input, Processing and Output.
Java Programming: From Problem Analysis to Program Design, 4e Chapter 2 Basic Elements of Java.
Chapter 3 Flow Control By C. Shing ITEC Dept Radford University.
CSC141 Introduction to Computer Programming Teacher: AHMED MUMTAZ MUSTEHSAN Lecture - 6.
Java™ How to Program, Early Objects Version, 8/e © by Pearson Education, Inc. All Rights Reserved.
Sections 5.1 – 5.4 © Copyright by Pearson Education, Inc. All Rights Reserved.
Variables Symbol representing a place to store information
Chapter 1 Java Programming Review. Introduction Java is platform-independent, meaning that you can write a program once and run it anywhere. Java programs.
C Language 1 Program Looping. C Language2 Topics Program looping Program looping Relational operators / expressions Relational operators / expressions.
Department of Electronic & Electrical Engineering Lecture 3 IO reading and writing variables scanf printf format strings "%d %c %f" Expressions operators.
Sudeshna Sarkar, IIT Kharagpur 1 Programming and Data Structure Sudeshna Sarkar Lecture 3.
C Program Control September 15, OBJECTIVES The essentials of counter-controlled repetition. To use the for and do...while repetition statements.
1 Lecture 2 - Introduction to C Programming Outline 2.1Introduction 2.2A Simple C Program: Printing a Line of Text 2.3Another Simple C Program: Adding.
Chapter 4 – C Program Control
The Machine Model Memory
User Interaction and Variables
Computer Science 210 Computer Organization
ECE Application Programming
- Standard C Statements
Chapter 2 - Introduction to C Programming
Input/output.
Lecture 13 & 14.
C Basics.
Chapter 2 - Introduction to C Programming
Introduction to C Programming
Computer Science 210 Computer Organization
Chapter 5- part 2 Control Statements: Loops 2
Arrays, For loop While loop Do while loop
Chapter 2 - Introduction to C Programming
Chapter 2 - Introduction to C Programming
Chapter 4 - Program Control
Introduction to C Programming
Introduction to C Topics Compilation Using the gcc Compiler
Chapter 5 Control Statements: Loops 2
Differences between Java and C
By C. Shing ITEC Dept Radford University
Introduction to C Topics Compilation Using the gcc Compiler
More Loops Topics Relational Operators Logical Operators for Loops.
Introduction to C Programming
Presentation transcript:

Introduction to C Systems Programming

Systems Programming: Introduction to C 2 Systems Programming: 2 Introduction to C  A ‘C’ Program –Variable Declarations –printf ( )  Compiling and Running a C Program  Sizeof Program –#include  What is True in C? –if example  Another C Program –#define –scanf ( )

Systems Programming: Introduction to C 3 Systems Programming: 3 Introduction to C  Another C Program (continued) –for loop –Promotion  Other C topics –Increment and Decrement Operators –Casting –Operator Precedence –Value of Assignment Operator

Systems Programming: Introduction to C 4 Variables   Variable names correspond to memory locations in memory. Every variable has a type, a name and a value. int i; i i = 4; ( the address of i ) &i 4

Systems Programming: Introduction to C 5 printf   Two components: – –Formatting template {within quotes} – –Argument list – variables separated by commas. int main() { … printf(“%d %c\n”, i, ch);

Systems Programming: Introduction to C 6 printf Formatting template:   Argument list matches up with ‘%’   Some of the argument types: – –%d integers – –%f floating-point numbers – –%c characters int main() { … printf(“%d %f %c\n”, i, fvar, ch);

Systems Programming: Introduction to C 7 printf Width of variable printing:   %4d – decimal integers at least 4 digits wide   %5f – floating point at least 5 digits wide   %6.2f – floating point at least 6 digits wide with at least 2 after the decimal point int main() { … printf(“%4d %5f %6.2f\n”, i, fvar, f2var);

Systems Programming: Introduction to C 8 A Simple C Program /* Example of a simple C Program */ int main() { int i; i float var; char c, s; i = 2303; s c = 'C'; s = 'S'; printf("\nHello"); printf(" %c%c %d Students!!\n", c, s, i); return 0; } 2303 C S c Type declarations specify memory sizes

Systems Programming: Introduction to C 9 Compiling and Running simple %ls simple.c %gcc simple.c %ls a.out simple.c %./a.out Hello CS 2303 Students!! % Alternate Version %ls simple.c %gcc –o simple simple.c %ls simple simple.c %./simple

Systems Programming: Introduction to C 10 Systems Programming: Introduction to C sizeof operator Figure 7.17 (part 1) preprocessor directive

Systems Programming: Introduction to C 11 Systems Programming: Introduction to C sizeof operator Figure 7.17 (part 2) char 1 short 2 int 4 long 4 long long 8 float 4 double 8 long double 12 from typelen.c

Systems Programming: Introduction to C 12 Conditional Testing for ‘True’ /* check to see what conditional does with negative integers */ int main () { int i = 0; /* zero is the only value for false in C */ if (i) printf("%d = true\n", i); else printf("%d = false\n", i); i = 4; if (i) printf("Positve integer %d = true\n", i); else printf("Positive integer %d = false\n", i); i = -4; if (i) printf("Negative integer %d = true\n", i); else printf("Negative integer %d = false\n", i); return 0; } $./a.out 0 = false Positve integer 4 = true Negative integer -4 = true

Systems Programming: Introduction to C 13 #define SIZE 5 int main () { int i, start, finish; float celsius; scanf("%d", &start); finish = start + SIZE; for (i=start; i<finish; i++) { celsius = (5.0/9.0)* (i ); printf("%3d %6.1f\n", i, celsius); } return 0; } Another C Program preprocessor directive scanf needs the address use of define

Systems Programming: Introduction to C 14 #define SIZE 5 int main () { int i, start, finish; float celsius; scanf("%d", &start); finish = start + SIZE; for (i=start; i<finish; i++) { celsius = (5.0/9.0)* (i ); printf("%3d %6.1f\n", i, celsius); } return 0; } Another C Program initial value continue to loop if True after each interation

Systems Programming: Introduction to C 15 #define SIZE 5 int main () { int i, start, finish; float celsius; scanf("%d", &start); finish = start + SIZE; for (i=start; i<finish; i++) { celsius = (5.0/9.0)* (i ); printf("%3d %6.1f\n", i, celsius); } return 0; } Another C Program $./a.out example of ‘promotion’

Systems Programming: Introduction to C 16 Other C Topics Increment and decrement operators Casting operator ( type ) Operator precedence Danger :: the value of the assignment operator   Variable scope   Switch   Conditional operator ?:

Systems Programming: Introduction to C 17 Increment and decrement operators Fig Increment and decrement operators

Systems Programming: Introduction to C 18 casting   Cast is a unary operator.   Cast is often useful when an iteration index is used in mixed type arithmetic.   Later, it will be important to make sure arguments passed are properly matched between called and calling routines. Example: int total, count; float average; … average = (float) total / counter; When in doubt, be conservative and use cast to be sure!

Systems Programming: Introduction to C 19 Fig 4.16 Operator Precedence cast arithmetic boolean logical

Systems Programming: Introduction to C 20 Value of Assignment   The value of assignment is the same as the contents deposited into the variable type on the left.   Note: There are several potential dangers here – especially when the programmer creates new types!! Examples (for now): if ( i = 0 ) if ( i = 4 ) What is the problem ?? if ( i == 0) if ( i == 4)

Systems Programming: Introduction to C 21 Review/Summary This presentation covers many important C topics quickly including: – –Declaration of variable types memory allocation by type The address of a variable & –printf ( ), scanf ( ) –C arithmetic (operators, precedence, casting, promotion, assignment value) –C booleans (true and false) –if –Preprocessor directives #define, #include#define, #include –for You are now ready to due lab 1 and once we cover functions everyone should be able to due Program 1.