Introduction to C Zhengwei Yang CSC2100 Data Structures Tutorial 1.

Slides:



Advertisements
Similar presentations
C Language.
Advertisements

Programming Languages and Paradigms The C Programming Language.
Making Choices in C if/else statement logical operators break and continue statements switch statement the conditional operator.
Structures in C.
Kernighan/Ritchie: Kelley/Pohl:
Winter2015 COMP 2130 Intro Computer Systems Computing Science Thompson Rivers University C: Advanced Topics.
Computer Science 1620 Loops.
Introduction to Systems Programming - Recitation Omer Kotlicki Two instances: 1.Tuesdays 15:00-16:00; Kitot Wednesdays.
CSSE221: Software Dev. Honors Day 27 Announcements Announcements Projects turned in? Projects turned in? The 2 required Angel surveys are due by 9 pm tonight.
Function with Output Parameters 4 We have seen that functions can return a single value or no value (void return type) 4 It is quite often useful to be.
C. About the Crash Course Cover sufficient C for simple programs: variables and statements control functions arrays and strings pointers Slides and captured.
PHYS 2020 Making Choices; Arrays. Arrays  An array is very much like a matrix.  In the C language, an array is a collection of variables, all of the.
C Programming Language tutorial Powered by:-
CMSC 104, Version 8/061L22Arrays1.ppt Arrays, Part 1 of 2 Topics Definition of a Data Structure Definition of an Array Array Declaration, Initialization,
Functions in C. Function Terminology Identifier scope Function declaration, definition, and use Parameters and arguments Parameter order, number, and.
Pointers CSE 2451 Rong Shi.
© Janice Regan, CMPT 128, Jan CMPT 128: Introduction to Computing Science for Engineering Students C File Input and Output Checking input for errors.
Structs. Structures We already know that arrays are many variables of the same type grouped together under the same name. Structures are like arrays except.
C Programming Tutorial – Part I CS Introduction to Operating Systems.
Introduction to C Tom Chao Zhou CSC2100B Data Structures Tutorial 1.
CSC 2400 Computer Systems I Lecture 5 Pointers and Arrays.
#include int main(void) { printf("Hello, world!\n"); return 0; } entry point called on program start only one main( ) in any program # for preprocessor.
C Programming Lecture 10-1 : Array & Pointer. Character Array String A sequence of characters The last character should be ‘\0’ that indicates “the end.
19&20-2 Know how to declare pointer variables. Understand the & (address) and *(indirection) operators. Dynamic Memory Allocation Related Chapter: ABC.
CS 376b Introduction to Computer Vision 01 / 23 / 2008 Instructor: Michael Eckmann.
CECS 130 EXAM 1.  int main() { printf (“%c %c \n", 'a', 65); printf ("%d %ld\n", 1977, L); printf (" %10d \n", 1977); printf ("%010d \n", 1977);
CSC141- Introduction to Computer programming Teacher: AHMED MUMTAZ MUSTEHSAN Lecture – 21 Thanks for Lecture Slides:
1 CSC2100B Data Structure Tutorial 1 Online Judge and C.
CSC 143A 1 CSC 143 Introduction to C++ [Appendix A]
DATA STRUCTURE & ALGORITHMS Pointers & Structure.
Copyright ©: Nahrstedt, Angrave, Abdelzaher1 C Basics Tarek Abdelzaher and Vikram Adve.
Chapter 8 Arrays. A First Book of ANSI C, Fourth Edition2 Introduction Atomic variable: variable whose value cannot be further subdivided into a built-in.
Lecture 15: Course Review BJ Furman ME 30 16MAY2011.
BY ILTAF MEHDI (MCS, MCSE, CCNA)1. INSTRUCTOR: ILTAF MEHDI (MCS, MCSE, CCNA, Web Developer) BY ILTAF MEHDI (MCS, MCSE, CCNA)2 Chapter No: 04 “Loops”
CPS120 Introduction to Computer Science Exam Review Lecture 18.
1 CSC103: Introduction to Computer and Programming Lecture No 17.
Pointers. Addresses in Memory Everything in memory has an address. C allows us to obtain the address that a variable is stored at. scanf() is an example.
CC213 Programming Applications Week #2 2 Control Structures Control structures –control the flow of execution in a program or function. Three basic control.
C Tutorial - Pointers CS 537 – Introduction to Operating Systems.
LINKED LISTS.
Winter 2009 Tutorial #6 Arrays Part 2, Structures, Debugger
MT262A Review.
A bit of C programming Lecture 3 Uli Raich.
2008/11/19: Lecture 18 CMSC 104, Section 0101 John Y. Park
C Programming Tutorial – Part I
Quiz 11/15/16 – C functions, arrays and strings
EDUSITE Introduction to C manjari2707.wordpress.com.
BY GAWARE S.R. COMPUTER SCI. DEPARTMENT
C programming language
Arrays in C.
CS111 Computer Programming
Administrative things
Programming in C Input / Output.
LINKED LISTS.
Arrays, Part 1 of 2 Topics Definition of a Data Structure
Programming in C Input / Output.
Yuanming Yu CSC2100B Data Structures Tutorial 1
CS1100 Computational Engineering
بنام خدا زبان برنامه نویسی C (21814( Lecture 11 Pointers
Arrays, Part 1 of 2 Topics Definition of a Data Structure
B. Ramamurthy University at Buffalo
Arrays, Part 1 of 2 Topics Definition of a Data Structure
Arrays, Part 1 of 2 Topics Definition of a Data Structure
Arrays, Part 1 of 2 Topics Definition of a Data Structure
Programming in C Input / Output.
Programming Languages and Paradigms
2008/11/19: Lecture 18 CMSC 104, Section 0101 John Y. Park
Arrays, Part 1 of 2 Topics Definition of a Data Structure
Arrays, Part 1 of 2 Topics Definition of a Data Structure
Getting Started With Coding
Presentation transcript:

Introduction to C Zhengwei Yang CSC2100 Data Structures Tutorial 1

Outline Information Introduction to C – Basics – If Statement – Loops – Functions – Switch case – Pointers – Structures – File I/O 2

Information Your TA Team: – Zhang Hongyi hyzhang AT cse.cuhk.edu.hk Rm 1024 – Chen Cheng ccheng AT cse.cuhk.edu.hk Rm 1024 – Yang Zhengwei zwyang AT cse.cuhk.edu.hk Rm

Information Course Information: Web Page: – / /2014 Tutorial Page: – /2014/tutorial /2014/tutorial Anti-plagiarism Policy: – 4

Information Assignment – There will be both written and programming parts in assignments. Written part: submit to the assignment box in 10/F SHB. Programming part: via Online Judge systems. (Will be introduced next week) – You will receive your login Id for CSC2100 online judge via your account. (A few days later). Keep it safe and do not disclose it. 5

Introduction to C Basics If Statement Loops Functions Switch case Pointers Structures File I/O 6

7

Introduction to C: Basics /*a simple program that has variables*/ #include int main() { int x; //(32 bits) char y; //(8 bits) float z; //(32 bits) double t; //(64 bits) printf(“hello world…\n”); test = 1; //wrong, The variable declaration must appear first return 0; } 8

Introduction to C: Basics //reading input from console #include int main() { int num1; int num2; printf( "Please enter two numbers: " ); scanf( "%d %d", &num1,&num2 ); printf( "You entered %d %d", num1, num2 ); return 0; } 9

Introduction to C: if statement #include int main() { int age; /* Need a variable... */ printf( "Please enter your age" ); /* Asks for age */ scanf( "%d", &age ); /* The input is put in age */ if ( age < 100 ) { /* If the age is less than 100 */ printf ("You are pretty young!\n" ); /* Just to show you it works... */ } else if ( age == 100 ) { /* I use else just to show an example */ printf( "You are old\n" ); } else { printf( "You are really old\n" ); /* Executed if no other statement is*/ } return 0; } 10

Introduction to C: Loops(for) #include int main() { int x; /* The loop goes while x < 10, and x increases by one every loop*/ for ( x = 0; x < 10; x++ ) { /* Keep in mind that the loop condition checks the conditional statement before it loops again. consequently, when x equals 10 the loop breaks. x is updated before the condition is checked. */ printf( "%d\n", x ); } return 0; } 11

Introduction to C: Loops(while) #include int main() { int x = 0; /* Don't forget to declare variables */ while ( x < 10 ) { /* While x is less than 10 */ printf( "%d\n", x ); x++; /* Update x so the condition can be met eventually */ } return 0; } 12

Introduction to C: Loops(do while) #include int main() { int x; x = 0; do { /* "Hello, world!" is printed at least one time even though the condition is false*/ printf( "%d\n", x ); x++; } while ( x != 10 ); return 0; } 13

Introduction to C: Loops(break and continue) #include int main() { int x; for(x=0;x<10;x++) { if(x==5) { break; } printf("%d\n",x); } return 0; } #include int main() { int x; for(x=0;x<10;x++) { if(x==5) { continue; } printf("%d\n",x); } return 0; }

#include //function declaration, need to define the function body in other places void playgame(); void loadgame(); void playmultiplayer(); int main() { int input; printf( "1. Play game\n" ); printf( "2. Load game\n" ); printf( "3. Play multiplayer\n" ); printf( "4. Exit\n" ); printf( "Selection: " ); scanf( "%d", &input ); switch ( input ) { case 1: /* Note the colon, not a semicolon */ playgame(); break; //don't forget the break in each case case 2: loadgame(); break; case 3: playmultiplayer(); break; case 4: printf( "Thanks for playing!\n" ); break; default: printf( "Bad input, quitting!\n" ); break; } return 0; } switch case 15

Introduction to C: function #include //function declaration int mult ( int x, int y ); int main() { int x, y; printf( "Please input two numbers to be multiplied: " ); scanf( "%d", &x ); scanf( "%d", &y ); printf( "The product of your two numbers is %d\n", mult( x, y ) ); return 0; } //define the function body //return value: int //utility: return the multiplication of two integer values //parameters: take two int parameters int mult (int x, int y) { return x * y; } 16

Introduction to C: pointer variables Pointer variables are variables that store memory addresses. Pointer Declaration: – int x, y = 5; – int *ptr; – /*ptr is a POINTER to an integer variable*/ Address operator &: – ptr = &y; – /*assign ptr to the MEMORY ADDRESS of y.*/ Dereference operator *: – x = *ptr; – /*assign x to the int that is pointed to by ptr */ 17

Introduction to C: pointer variables 18

Introduction to C: pointer variables 19

#include //swap two values void swap(int* iPtrX,int* iPtrY); void fakeswap(int x, int y); int main() { int x = 10; int y = 20; int *p1 = &x; int *p2 = &y; printf("before swap: x=%d y=%d\n",x,y); swap(p1,p2); printf("after swap: x=%d y=%d\n",x,y); printf(" \n"); printf("before fakeswap: x=%d y=%d\n",x,y); fakeswap(x,y); printf("after fakeswap: x=%d y=%d",x,y); return 0; } 20 void swap(int* iPtrX, int* iPtrY) { int temp; temp = *iPtrX; *iPtrX = *iPtrY; *iPtrY = temp; } void fakeswap(int x,int y) { int temp; temp = x; x = y; y = temp; }

Introduction to C: Array Array is a fixed size, sequenced collection of elements of the same data type, with index starts with zero  Array declaration: int a[4];  Array initialization: int a[4] = {3,4,5,6};  Assignment to and from array element a[0] = 3; value = a[1]; 21

Introduction to C: Array Use pointer to access Array int *ptr = a; // int a[4] in the last slides. Let’s set a[1] to 1 ptr[1] = 1; *(ptr+1) = 1; // we could use ptr+i to get the address of (i-1)th element in one array int i = 3; ptr2 = a; ptr = ptr + i; // Ok if i is smaller than the array size i = ptr - ptr2; // Ok, i = 3 ptr = ptr + ptr2; // Wrong! It’s forbidden 22

Introduction to C: struct #include //group things together struct database { int id_number; int age; float salary; }; int main() { struct database employee; employee.age = 22; employee.id_number = 1; employee.salary = ; printf(“Employeee No.%d is %d and his salary is %f\n”, employee.id_number, employee.age, employee.salary); // Output: Employee No.1 is 22 and his salary is return 0; } 23

#include int main() { FILE *ifp, *ofp; char *mode = "r"; char outputFilename[] = "out.list"; char username[9]; int score; ifp = fopen("in.list", mode); if (ifp == NULL) { fprintf(stderr, "Can't open input file in.list!\n"); exit(1); } ofp = fopen(outputFilename, "w"); if (ofp == NULL) { fprintf(stderr, "Can't open output file %s!\n", outputFilename); exit(1); } while (fscanf(ifp, "%s %d", username, &score) == 2) { fprintf(ofp, "%s %d\n", username, score+10); } fclose(ifp); fclose(ofp); return 0; } mode: r - open for reading w - open for writing (file need not exist) a - open for appending (file need not exist) r+ - open for reading and writing, start at beginning w+ - open for reading and writing (overwrite file) a+ - open for reading and writing (append if file exists) File I/O 24