Introduction to Systems Programming - COMP 1002, 1402
|
|
- Denis Ryan
- 7 years ago
- Views:
Transcription
1 FUNCTION AND PROCEDURES Introduction to Systems Programming - COMP 1002, 1402
2 Outline Why Function? What is function? How to use functions? Libraries Function call Variables Scope
3 Developing Large Programs Difficult to manage large code Teams of people may be involved Easy to forget what the project is all about People may leave the company Result: Code should be well organized well commented and documented Organized in a modular form (small coherent parts)
4 Top Down Design Begin with the main problem/idea Divide it into smaller problem/ideas Further divide each small problem/idea into smaller more manageable parts. The process is termed: Divide and Conquer When to stop? When the sub-problem/idea is understood and manageable Coding rule of thumb a module is 5-30 lines (one page)
5 Top-Down Module Example
6 Functions as Modules of Code Functions are the basic modules in C Every program has a main function The main function uses other functions Each function may use other functions Functions help organize and develop code
7 Functions : Organized Development 1. Allow organized development 2. Develop and test small pieces of code 3. Functions assignable to team members 4. Permit code reusability
8 Function and Organization
9 What is a Function? A function is a module (piece of code) aimed at accomplishing a single task Note: the scope of the task or its objective may large (recall breakdown of a problem/ideas)
10 What is a Function?
11 Function Definition return_type function_name (parameter list) { local variables code statements/expressions return expression
12 Function Definition Example: The Actual function to hypotenuse. /*Function Hypotenuse */ /*Input: Two sides of a Right triangle */ /*Output: The Hypotenuse */ double hypot(double x, double y) { double hypotenuse = sqrt( x*x + y*y); return (hypotenuse);
13 Function Definition Example: The Actual function to hypotenuse. /*Function Hypotenuse */ /*Input: Two sides of a Right triangle */ /*Output: The Hypotenuse */ double hypot(double x, double y) { return (sqrt( x*x + y*y));
14 Functions main() is a function. You can declare other functions with other names. Output of the function is the return value. Inputs to the functions are the parameters. On declaration, the type of the output and inputs must be declared. int square(int x) { printf( square ); return x * x; float sum(float x, float y) { return x + y;
15 Output of functions The output (return value) of functions can be used. They can also be used as inputs to other functions. int i, j; float f; j = 2; i = 5 + square(j); j = square(square(j)); f = sum(square(3),2.0); square(2) = 4; // error i = square(j)++; // error
16 Exercise What does this program print? #include <stdio.h> int check(int m) { printf( checking\n ); if (m>50) { return 0; else { return 1; int main() { int i; for (i=2;check(i);i = square(i)) { printf( in loop %d\n, i); printf( done\n ); int square(int x) { printf( square\n ); return x * x;
17 Declaration of functions Like variables, functions have to be declared first before you can use them. You can either declare first and define later, or define first. // define the function int func1(int m) { return m+2; int main() { return func1(2); // declare the function int func1(int m); int main() { return func1(2); // define the function int func1(int m) { return m+2;
18 Parameters and Arguments The names (symbols) of the inputs to a function are called parameters. The actual values that the parameters have at run-time are called arguments. However, sometimes people use these two terms interchangeably. int func1(int m) { return m+2; int main() { return func1(2); func1 has one parameter of type int called m Within func1, can refer to the name m Call func1 with actual argument 2
19 Evaluation of arguments Arguments are always evaluated before passing them into the functions. int square(int i) { return i*i; int func1(int m) { return m+2; int main() { return func1(square(2)); 1. Entry point: main() 2. Call square with argument 2 3. square returns 4 4. Call func1 with argument 4 5. func1 returns 6 6. main returns 6 int j; void func2(int i) { i = i + 5; int main() { j = 0; func2(j); return 0; What is the value of j after calling func2?
20 Predefined/coded functions Library We have already used a few: printf ( ) scanf( ) Somebody has already written these. Note that we need not know how they work. We do need to know what the functions do and how to use them documentation
21 Libraries of Code Often languages come with libraries of code Provided free of charge Beware of Copyright issues... Use library code whenever possible software is expensive (design, coding, testing, documentation, etc).
22 Using a Standard C Library
23 Three Important C Libraries stdio - Standard IO library File manipulation, input, output Definitions and manipulations of stdin stdout and stderr. math Math Library Defines most mathematical functions needed. stdlib Standard library Memory and miscellaneous (some math here).
24 math & stdlib Math #include<math.h> sometimes requires lm as compiler option Stdlib #include<stdlib.h>
25 Some Standard Library Functions Name Parameter Returns Example sqrt double double sqrt(25.0) pow double double pow(2.0,3.0) abs int int abs(-10) fabs double double fabs(6.8) ceil double double ceil(1.7) cos double double cos(3.2) sin double double sin(3.2) log double double log(127.5)
26 Examples : ceil() and floor()
27 Examples : rand()
28 Function : Random Numbers Get next pseudo-random number int x = rand( ); /* returns value in 0 to RAND_MAX */ Note rand() always generates the same sequence of random numbers If one wants a different sequence must initialize the random functions. Initialize a new seed for the random number generator: unsigned int seed = 2990; srand(seed);
29 Nesting Function Calls int i=10; double y; y = cos( pow( (double) i, 2))); Convert i to a double (unnecessary) Compute i squared Compute cosine of i square
30 User Defined Functions Three places where a function name is used: 1. Declaration (Prototype) 2. Call (Invocation) 3. Definition (Specification)
31 Declarations (Prototypes) Inform the calling program of the function Otherwise the compiler uses implicit declaration you may get a warning implicit declaration return_type function_name (parameter list); Example: int main(void); Void is a special reserved word meaning nothing - no parameter list
32 Example of Fn. Declarations double area(double length, double width); double perimeter(int radius); Identical to: double area(double, double); double perimeter(int)
33 Functions : Calling and Data Calling function passes zero or more parameters to called function Called function returns only ONE item main passes parameters to function1 function1 passes parameters to functiona
34 Function Declarations, Calls & Definitions #include <stdio.h> void greeting (void); int main(void) { greeting( ); return 0; /* Function Prototype*/ /* Function Call*/ /* Function Definition*/ void greeting(void) { printf ("\n Hello World \n");
35 Declarations, Calls & Definitions
36 Example of Fn. Declarations Example: A function to calculate hypotenuse. #include <stdio.h> #include <math.h> /* Function Prototype */ double hypot (double x, double y); int main () { double side1, side2; printf( Enter 2 sides of Right triangle\n,); scanf( %lf%lf, &side1, &side2); printf( The hypotenuse is: %f\n, hypot(side1,side2)); return 0;
37 Using the function s declaration the compiler compares the declaration to each occurrence of the function in the program. a. Number of parameters must be the same b. Type of parameters must be the same hypotenuse = hypot(side1,side2); double hypot(double x, double y)
38 The return statement A return statement should be used even if there is nothing to return. void myfunction(.) /*ends with the statement */ return;
39 Implicit Declaration If a function definition is not available then C creates an implicit function definition function parameters and return value are an int.
40 Example of Fn. Declarations Example: A function to calculate hypotenuse. #include <stdio.h> #include <math.h> int main () { double side1, side2; printf( Enter 2 sides of Right triangle\n,); scanf( %lf%lf, &side1, &side2); printf( The hypotenuse is: %f\n, hypot(side1,side2)); return 0; C implicit declaration has the form of int hypot (int x, int y);
41 Limitation: C-No Polymorphism! C is unlike C++ and JAVA Can only declare/define a function name once per program No overloading - parameters and return type are irrelevant double hypot(int x, int y); double hypot(double x, double y); Name functions carefully (e.g. fabs, abs, labs)
42 Header Files.h files usually contain function and constant declarations Single include gives many declarations Important if functions are in another file
43 Functions : Definition
44 Function : Return Type
45 Function : Calling (Invoking)
46 Function : Calling (Invoking)
47 Functions : Parameters Parameters are always passed by value Can be viewed as passed in two ways: 1. Pass by value send a copy of the value 2. Pass by reference (address) send a copy of the address of the variable
48 Parameters : Pass by Value Copy the value: From the caller Into the formal parameter of the called This is a one-way communication.. hypotenuse = hypot(side1,side2); double hypot(double x, double y)
49 hypoteneuse = hypot(side1,side2); double hypot(double x, double y) x is a copy of side1 y is a copy of side 2 So the function can change x or y and side1 and side2 are unaffected.
50 Function Param.: Pass by Value
51 Function Parameters Copy of the value is placed on the stack Transfer of control goes to the function Function can pick the parameters off the stack Original variables are untouched by function...
52 Function : Pass by Address Instead of copying a value: Copy the memory address!!! Then work with that address. Variables containing addresses are: pointers...
53 Function: Pass by Address
54 Address and Dereference & is the address operator int a = 5; &a /* is the address to an int */ /* type is (int *) */ * Is the dereference operator int *x; /* x is a pointer to an int */ x = &a; /* use the address of variable a */ *x = 12; /* contents of x is set to 12 */
55 Address and Dereference What s wrong with the following code? #include <stdio.h> void swap(int,int ); /* swapping */ int main(void) /*calls swap function*/ { int x; int y; printf("\n enter x and y: "); scanf( %d%d,&x,&y); swap(x,y); printf("new x: %d new y: %d\n",x, y); return 0;
56 Address and Dereference Here s the function swap... void swap (int a, int b) { int temp; temp = a; a = b; b = temp; Answer: It does not swap the values because of pass by value. Solution: Use a different dangerous passing mechanism. Don t pass the values but pass the addresses.
57 Address and Dereference Why is this dangerous Modify Calling Variables #include <stdio.h> void swap (int *, int *); int main( void ) /*calls swap*/ { int x; int y; printf("\n enter x and y: "); scanf( %d%d, &x, &y); swap ( &x, &y); printf("new x: %d new y: %d\n", x, y); return 0;
58 Address and Dereference Here is the real swap It works!! void swap (int *a, int *b) { int temp; temp = *a; *a = *b; *b = temp;
59 Call by value is useful Call by value is useful double fact(int n) { double total = 1; while (n >=1) { total *=n; n--; return (total); double fact(int n) { double total = 1; for(;n >=1;n--) { total *=n; return(total);
60 Call by value is useful #include <stdio.h> double fact(int n); int main(void) { int n = 10; printf( factorial(%d)=%f \n, n, fact(n));
61 Another function We want a function to print a square? XXXXXXX XXXXXXX XXXX XXXXXXX XXX XXXX XXXXXXX XXX XXXX XXXXXXX XXX XXXX XXXXXXX XXXXXXX
62 How do we do it? Nested loops.loops inside loops int i,j; char point ='X'; int size=4; for (i=1; i<= size; i++) { for (j=1; j<= size ;j++) { printf("%c", point); printf("\n");
63 Now we have to make it a function size nothing returned drawsquare
64 /* a function that draws a square of size "howbig" */ void drawsquare (int howbig) { int i; int j; printf("\n\n"); char point ='X'; for (i=1;i<= howbig;i++) { for (j=1;j<= howbig;j++) { printf("%c", point); printf("\n"); printf("\n\n"); return;
65 void drawsquare (int size); /*function prototype */ int main(void){ int sizeofsquare; printf("type an integer size of the square\n"); scanf("%d", &sizeofsquare); drawsquare(sizeofsquare); return 0;
66 Scope and Duration Global Scope Anything defined is visible from its definition to the end of the program. Local Scope Good from their definition to the end of their block (normally a function)
67 Scope and Duration Global Variables Placed outside the functions that use them Available to all functions Global variables should be AVOIDED...
68 Local Variables Scope is extent of their block Placed on the stack Destroyed on exit from function
69
70 Static Variable Variables which are declared static are visible only within their code segment (file or local block) Local variable is modified with static then: Variable exists from program beginning to end Only available in the function or file Initialized with 0 Functions can only be declared static visibility is only within the file
71 Example Write a program that calculates the factorial of an input integer number
72 QUESTIONS? 72
Sources: On the Web: Slides will be available on:
C programming Introduction The basics of algorithms Structure of a C code, compilation step Constant, variable type, variable scope Expression and operators: assignment, arithmetic operators, comparison,
More informationChapter 5 Functions. Introducing Functions
Chapter 5 Functions 1 Introducing Functions A function is a collection of statements that are grouped together to perform an operation Define a function Invoke a funciton return value type method name
More informationThe C Programming Language course syllabus associate level
TECHNOLOGIES The C Programming Language course syllabus associate level Course description The course fully covers the basics of programming in the C programming language and demonstrates fundamental programming
More informationCP Lab 2: Writing programs for simple arithmetic problems
Computer Programming (CP) Lab 2, 2015/16 1 CP Lab 2: Writing programs for simple arithmetic problems Instructions The purpose of this Lab is to guide you through a series of simple programming problems,
More informationKITES TECHNOLOGY COURSE MODULE (C, C++, DS)
KITES TECHNOLOGY 360 Degree Solution www.kitestechnology.com/academy.php info@kitestechnology.com technologykites@gmail.com Contact: - 8961334776 9433759247 9830639522.NET JAVA WEB DESIGN PHP SQL, PL/SQL
More informationStack Allocation. Run-Time Data Structures. Static Structures
Run-Time Data Structures Stack Allocation Static Structures For static structures, a fixed address is used throughout execution. This is the oldest and simplest memory organization. In current compilers,
More informationEmbedded Systems. Review of ANSI C Topics. A Review of ANSI C and Considerations for Embedded C Programming. Basic features of C
Embedded Systems A Review of ANSI C and Considerations for Embedded C Programming Dr. Jeff Jackson Lecture 2-1 Review of ANSI C Topics Basic features of C C fundamentals Basic data types Expressions Selection
More informationarrays C Programming Language - Arrays
arrays So far, we have been using only scalar variables scalar meaning a variable with a single value But many things require a set of related values coordinates or vectors require 3 (or 2, or 4, or more)
More informationCOMP 356 Programming Language Structures Notes for Chapter 10 of Concepts of Programming Languages Implementing Subprograms.
COMP 356 Programming Language Structures Notes for Chapter 10 of Concepts of Programming Languages Implementing Subprograms 1 Activation Records activation declaration location Recall that an activation
More information16. Recursion. COMP 110 Prasun Dewan 1. Developing a Recursive Solution
16. Recursion COMP 110 Prasun Dewan 1 Loops are one mechanism for making a program execute a statement a variable number of times. Recursion offers an alternative mechanism, considered by many to be more
More informationSystem Calls and Standard I/O
System Calls and Standard I/O Professor Jennifer Rexford http://www.cs.princeton.edu/~jrex 1 Goals of Today s Class System calls o How a user process contacts the Operating System o For advanced services
More informationMemory management. Announcements. Safe user input. Function pointers. Uses of function pointers. Function pointer example
Announcements Memory management Assignment 2 posted, due Friday Do two of the three problems Assignment 1 graded see grades on CMS Lecture 7 CS 113 Spring 2008 2 Safe user input If you use scanf(), include
More informationFunctions Recursion. C++ functions. Declare/prototype. Define. Call. int myfunction (int ); int myfunction (int x){ int y = x*x; return y; }
Functions Recursion C++ functions Declare/prototype int myfunction (int ); Define int myfunction (int x){ int y = x*x; return y; Call int a; a = myfunction (7); function call flow types type of function
More information13 Classes & Objects with Constructors/Destructors
13 Classes & Objects with Constructors/Destructors 13.1 Introduction In object oriented programming, the emphasis is on data rather than function. Class is a way that binds the data & function together.
More informationHabanero Extreme Scale Software Research Project
Habanero Extreme Scale Software Research Project Comp215: Java Method Dispatch Zoran Budimlić (Rice University) Always remember that you are absolutely unique. Just like everyone else. - Margaret Mead
More informationFEEG6002 - Applied Programming 5 - Tutorial Session
FEEG6002 - Applied Programming 5 - Tutorial Session Sam Sinayoko 2015-10-30 1 / 38 Outline Objectives Two common bugs General comments on style String formatting Questions? Summary 2 / 38 Objectives Revise
More informationASCII Encoding. The char Type. Manipulating Characters. Manipulating Characters
The char Type ASCII Encoding The C char type stores small integers. It is usually 8 bits. char variables guaranteed to be able to hold integers 0.. +127. char variables mostly used to store characters
More informationHow To Port A Program To Dynamic C (C) (C-Based) (Program) (For A Non Portable Program) (Un Portable) (Permanent) (Non Portable) C-Based (Programs) (Powerpoint)
TN203 Porting a Program to Dynamic C Introduction Dynamic C has a number of improvements and differences compared to many other C compiler systems. This application note gives instructions and suggestions
More informationPART-A Questions. 2. How does an enumerated statement differ from a typedef statement?
1. Distinguish & and && operators. PART-A Questions 2. How does an enumerated statement differ from a typedef statement? 3. What are the various members of a class? 4. Who can access the protected members
More informationTime Limit: X Flags: -std=gnu99 -w -O2 -fomitframe-pointer. Time Limit: X. Flags: -std=c++0x -w -O2 -fomit-frame-pointer - lm
Judge Environment Language Compilers Language Version Flags/Notes Max Memory Limit C gcc 4.8.1 Flags: -std=gnu99 -w -O2 -fomit-frame-pointer - lm C++ g++ 4.8.1 Flags: -std=c++0x -w -O2 -fomit-frame-pointer
More informationObject Oriented Software Design II
Object Oriented Software Design II Introduction to C++ Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa February 20, 2012 G. Lipari (Scuola Superiore Sant Anna) C++ Intro February
More informationC++ Programming Language
C++ Programming Language Lecturer: Yuri Nefedov 7th and 8th semesters Lectures: 34 hours (7th semester); 32 hours (8th semester). Seminars: 34 hours (7th semester); 32 hours (8th semester). Course abstract
More informationInformatica e Sistemi in Tempo Reale
Informatica e Sistemi in Tempo Reale Introduction to C programming Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa October 25, 2010 G. Lipari (Scuola Superiore Sant Anna)
More informationMoving from CS 61A Scheme to CS 61B Java
Moving from CS 61A Scheme to CS 61B Java Introduction Java is an object-oriented language. This document describes some of the differences between object-oriented programming in Scheme (which we hope you
More informationEmbedded Programming in C/C++: Lesson-1: Programming Elements and Programming in C
Embedded Programming in C/C++: Lesson-1: Programming Elements and Programming in C 1 An essential part of any embedded system design Programming 2 Programming in Assembly or HLL Processor and memory-sensitive
More informationStorage Classes CS 110B - Rule Storage Classes Page 18-1 \handouts\storclas
CS 110B - Rule Storage Classes Page 18-1 Attributes are distinctive features of a variable. Data type, int or double for example, is an attribute. Storage class is another attribute. There are four storage
More informationParameter Passing. Standard mechanisms. Call by value-result Call by name, result
Parameter Passing Standard mechanisms Call by value Call by reference Other methods Call by value-result Call by name, result Terms Function definition where the details of the function are presented (type,
More informationPhys4051: C Lecture 2 & 3. Comment Statements. C Data Types. Functions (Review) Comment Statements Variables & Operators Branching Instructions
Phys4051: C Lecture 2 & 3 Functions (Review) Comment Statements Variables & Operators Branching Instructions Comment Statements! Method 1: /* */! Method 2: // /* Single Line */ //Single Line /* This comment
More informationChapter 13 Storage classes
Chapter 13 Storage classes 1. Storage classes 2. Storage Class auto 3. Storage Class extern 4. Storage Class static 5. Storage Class register 6. Global and Local Variables 7. Nested Blocks with the Same
More informationThe programming language C. sws1 1
The programming language C sws1 1 The programming language C invented by Dennis Ritchie in early 1970s who used it to write the first Hello World program C was used to write UNIX Standardised as K&C (Kernighan
More informationSimple C Programs. Goals for this Lecture. Help you learn about:
Simple C Programs 1 Goals for this Lecture Help you learn about: Simple C programs Program structure Defining symbolic constants Detecting and reporting failure Functionality of the gcc command Preprocessor,
More informationMicrocontroller Systems. ELET 3232 Topic 8: Slot Machine Example
Microcontroller Systems ELET 3232 Topic 8: Slot Machine Example 1 Agenda We will work through a complete example Use CodeVision and AVR Studio Discuss a few creative instructions Discuss #define and #include
More informationSemester Review. CSC 301, Fall 2015
Semester Review CSC 301, Fall 2015 Programming Language Classes There are many different programming language classes, but four classes or paradigms stand out:! Imperative Languages! assignment and iteration!
More informationC Programming Language
C Programming Language Lecture 4 (10/13/2000) Instructor: Wen-Hung Liao E-mail: whliao@cs.nccu.edu.tw Extension: 62028 Building Programs from Existing Information Analysis Design Implementation Testing
More informationComputers. An Introduction to Programming with Python. Programming Languages. Programs and Programming. CCHSG Visit June 2014. Dr.-Ing.
Computers An Introduction to Programming with Python CCHSG Visit June 2014 Dr.-Ing. Norbert Völker Many computing devices are embedded Can you think of computers/ computing devices you may have in your
More informationC++FA 5.1 PRACTICE MID-TERM EXAM
C++FA 5.1 PRACTICE MID-TERM EXAM This practicemid-term exam covers sections C++FA 1.1 through C++FA 1.4 of C++ with Financial Applications by Ben Van Vliet, available at www.benvanvliet.net. 1.) A pointer
More informationAn Incomplete C++ Primer. University of Wyoming MA 5310
An Incomplete C++ Primer University of Wyoming MA 5310 Professor Craig C. Douglas http://www.mgnet.org/~douglas/classes/na-sc/notes/c++primer.pdf C++ is a legacy programming language, as is other languages
More informationScoping (Readings 7.1,7.4,7.6) Parameter passing methods (7.5) Building symbol tables (7.6)
Semantic Analysis Scoping (Readings 7.1,7.4,7.6) Static Dynamic Parameter passing methods (7.5) Building symbol tables (7.6) How to use them to find multiply-declared and undeclared variables Type checking
More information1) The postfix expression for the infix expression A+B*(C+D)/F+D*E is ABCD+*F/DE*++
Answer the following 1) The postfix expression for the infix expression A+B*(C+D)/F+D*E is ABCD+*F/DE*++ 2) Which data structure is needed to convert infix notations to postfix notations? Stack 3) The
More informationCS 141: Introduction to (Java) Programming: Exam 1 Jenny Orr Willamette University Fall 2013
Oct 4, 2013, p 1 Name: CS 141: Introduction to (Java) Programming: Exam 1 Jenny Orr Willamette University Fall 2013 1. (max 18) 4. (max 16) 2. (max 12) 5. (max 12) 3. (max 24) 6. (max 18) Total: (max 100)
More informationC++ INTERVIEW QUESTIONS
C++ INTERVIEW QUESTIONS http://www.tutorialspoint.com/cplusplus/cpp_interview_questions.htm Copyright tutorialspoint.com Dear readers, these C++ Interview Questions have been designed specially to get
More information1 Abstract Data Types Information Hiding
1 1 Abstract Data Types Information Hiding 1.1 Data Types Data types are an integral part of every programming language. ANSI-C has int, double and char to name just a few. Programmers are rarely content
More informationCHM 579 Lab 1: Basic Monte Carlo Algorithm
CHM 579 Lab 1: Basic Monte Carlo Algorithm Due 02/12/2014 The goal of this lab is to get familiar with a simple Monte Carlo program and to be able to compile and run it on a Linux server. Lab Procedure:
More informationParameter Passing in Pascal
Parameter Passing in Pascal Mordechai Ben-Ari Department of Science Teaching Weizmann Institute of Science Rehovot 76100 Israel ntbenari@wis.weizmann.ac.il Abstract This paper claims that reference parameters
More informationGlossary of Object Oriented Terms
Appendix E Glossary of Object Oriented Terms abstract class: A class primarily intended to define an instance, but can not be instantiated without additional methods. abstract data type: An abstraction
More informationC Compiler Targeting the Java Virtual Machine
C Compiler Targeting the Java Virtual Machine Jack Pien Senior Honors Thesis (Advisor: Javed A. Aslam) Dartmouth College Computer Science Technical Report PCS-TR98-334 May 30, 1998 Abstract One of the
More informationStacks. Linear data structures
Stacks Linear data structures Collection of components that can be arranged as a straight line Data structure grows or shrinks as we add or remove objects ADTs provide an abstract layer for various operations
More informationProgramming by Contract. Programming by Contract: Motivation. Programming by Contract: Preconditions and Postconditions
COMP209 Object Oriented Programming Designing Classes 2 Mark Hall Programming by Contract (adapted from slides by Mark Utting) Preconditions Postconditions Class invariants Programming by Contract An agreement
More informationCS 111 Classes I 1. Software Organization View to this point:
CS 111 Classes I 1 Software Organization View to this point: Data Objects and primitive types Primitive types operators (+, /,,*, %). int, float, double, char, boolean Memory location holds the data Objects
More informationJava Interview Questions and Answers
1. What is the most important feature of Java? Java is a platform independent language. 2. What do you mean by platform independence? Platform independence means that we can write and compile the java
More information1 The Java Virtual Machine
1 The Java Virtual Machine About the Spec Format This document describes the Java virtual machine and the instruction set. In this introduction, each component of the machine is briefly described. This
More informationAP Computer Science Java Subset
APPENDIX A AP Computer Science Java Subset The AP Java subset is intended to outline the features of Java that may appear on the AP Computer Science A Exam. The AP Java subset is NOT intended as an overall
More informationwww.sahajsolns.com Chapter 4 OOPS WITH C++ Sahaj Computer Solutions
Chapter 4 OOPS WITH C++ Sahaj Computer Solutions 1 Session Objectives Classes and Objects Class Declaration Class Members Data Constructors Destructors Member Functions Class Member Visibility Private,
More informationMultichoice Quetions 1. Atributes a. are listed in the second part of the class box b. its time is preceded by a colon. c. its default value is
Multichoice Quetions 1. Atributes a. are listed in the second part of the class box b. its time is preceded by a colon. c. its default value is preceded by an equal sign d. its name has undereline 2. Associations
More informationThe C Programming Language
Chapter 1 The C Programming Language In this chapter we will learn how to write simple computer programs using the C programming language; perform basic mathematical calculations; manage data stored in
More informationOperator Overloading. Lecture 8. Operator Overloading. Running Example: Complex Numbers. Syntax. What can be overloaded. Syntax -- First Example
Operator Overloading Lecture 8 Operator Overloading C++ feature that allows implementer-defined classes to specify class-specific function for operators Benefits allows classes to provide natural semantics
More informationExercise 4 Learning Python language fundamentals
Exercise 4 Learning Python language fundamentals Work with numbers Python can be used as a powerful calculator. Practicing math calculations in Python will help you not only perform these tasks, but also
More informationV850E2/ML4 APPLICATION NOTE. Performance Evaluation Software. Abstract. Products. R01AN1228EJ0100 Rev.1.00. Aug. 24, 2012
APPLICATION NOTE V850E2/ML4 R01AN1228EJ0100 Rev.1.00 Abstract This document describes a sample code that uses timer array unit A (TAUA) of the V850E2/ML4 to evaluate performance of the user-created tasks
More informationC Interview Questions
http://techpreparation.com C Interview Questions And Answers 2008 V i s i t T e c h P r e p a r a t i o n. c o m f o r m o r e i n t e r v i e w q u e s t i o n s a n d a n s w e r s C Interview Questions
More informationCalling the Function. Two Function Declarations Here is a function declared as pass by value. Why use Pass By Reference?
Functions in C++ Let s take a look at an example declaration: Lecture 2 long factorial(int n) Functions The declaration above has the following meaning: The return type is long That means the function
More informationCS 241 Data Organization Coding Standards
CS 241 Data Organization Coding Standards Brooke Chenoweth University of New Mexico Spring 2016 CS-241 Coding Standards All projects and labs must follow the great and hallowed CS-241 coding standards.
More information5 Arrays and Pointers
5 Arrays and Pointers 5.1 One-dimensional arrays Arrays offer a convenient way to store and access blocks of data. Think of arrays as a sequential list that offers indexed access. For example, a list of
More informationCoding Rules. Encoding the type of a function into the name (so-called Hungarian notation) is forbidden - it only confuses the programmer.
Coding Rules Section A: Linux kernel style based coding for C programs Coding style for C is based on Linux Kernel coding style. The following excerpts in this section are mostly taken as is from articles
More informationSystem Calls Related to File Manipulation
KING FAHD UNIVERSITY OF PETROLEUM AND MINERALS Information and Computer Science Department ICS 431 Operating Systems Lab # 12 System Calls Related to File Manipulation Objective: In this lab we will be
More informationC Programming. for Embedded Microcontrollers. Warwick A. Smith. Postbus 11. Elektor International Media BV. 6114ZG Susteren The Netherlands
C Programming for Embedded Microcontrollers Warwick A. Smith Elektor International Media BV Postbus 11 6114ZG Susteren The Netherlands 3 the Table of Contents Introduction 11 Target Audience 11 What is
More informationCSE 1223: Introduction to Computer Programming in Java Chapter 2 Java Fundamentals
CSE 1223: Introduction to Computer Programming in Java Chapter 2 Java Fundamentals 1 Recall From Last Time: Java Program import java.util.scanner; public class EggBasket { public static void main(string[]
More informationJava Programming Fundamentals
Lecture 1 Part I Java Programming Fundamentals Topics in Quantitative Finance: Numerical Solutions of Partial Differential Equations Instructor: Iraj Kani Introduction to Java We start by making a few
More informationqwertyuiopasdfghjklzxcvbnmqwerty uiopasdfghjklzxcvbnmqwertyuiopasd fghjklzxcvbnmqwertyuiopasdfghjklzx cvbnmqwertyuiopasdfghjklzxcvbnmq
qwertyuiopasdfghjklzxcvbnmqwerty uiopasdfghjklzxcvbnmqwertyuiopasd fghjklzxcvbnmqwertyuiopasdfghjklzx cvbnmqwertyuiopasdfghjklzxcvbnmq Introduction to Programming using Java wertyuiopasdfghjklzxcvbnmqwertyui
More informationSenem Kumova Metin & Ilker Korkmaz 1
Senem Kumova Metin & Ilker Korkmaz 1 A loop is a block of code that can be performed repeatedly. A loop is controlled by a condition that is checked each time through the loop. C supports two categories
More informationSo far we have considered only numeric processing, i.e. processing of numeric data represented
Chapter 4 Processing Character Data So far we have considered only numeric processing, i.e. processing of numeric data represented as integer and oating point types. Humans also use computers to manipulate
More informationESPResSo Summer School 2012
ESPResSo Summer School 2012 Introduction to Tcl Pedro A. Sánchez Institute for Computational Physics Allmandring 3 D-70569 Stuttgart Germany http://www.icp.uni-stuttgart.de 2/26 Outline History, Characteristics,
More informationAs previously noted, a byte can contain a numeric value in the range 0-255. Computers don't understand Latin, Cyrillic, Hindi, Arabic character sets!
Encoding of alphanumeric and special characters As previously noted, a byte can contain a numeric value in the range 0-255. Computers don't understand Latin, Cyrillic, Hindi, Arabic character sets! Alphanumeric
More informationpublic static void main(string[] args) { System.out.println("hello, world"); } }
Java in 21 minutes hello world basic data types classes & objects program structure constructors garbage collection I/O exceptions Strings Hello world import java.io.*; public class hello { public static
More informationJAVA - METHODS. Method definition consists of a method header and a method body. The same is shown below:
http://www.tutorialspoint.com/java/java_methods.htm JAVA - METHODS Copyright tutorialspoint.com A Java method is a collection of statements that are grouped together to perform an operation. When you call
More informationKeywords are identifiers having predefined meanings in C programming language. The list of keywords used in standard C are : unsigned void
1. Explain C tokens Tokens are basic building blocks of a C program. A token is the smallest element of a C program that is meaningful to the compiler. The C compiler recognizes the following kinds of
More informationSimple C++ Programs. Engineering Problem Solving with C++, Etter/Ingber. Dev-C++ Dev-C++ Windows Friendly Exit. The C++ Programming Language
Simple C++ Programs Engineering Problem Solving with C++, Etter/Ingber Chapter 2 Simple C++ Programs Program Structure Constants and Variables C++ Operators Standard Input and Output Basic Functions from
More informationSystem.out.println("\nEnter Product Number 1-5 (0 to stop and view summary) :
Benjamin Michael Java Homework 3 10/31/2012 1) Sales.java Code // Sales.java // Program calculates sales, based on an input of product // number and quantity sold import java.util.scanner; public class
More informationSymbol Tables. Introduction
Symbol Tables Introduction A compiler needs to collect and use information about the names appearing in the source program. This information is entered into a data structure called a symbol table. The
More informationChapter 13 - The Preprocessor
Chapter 13 - The Preprocessor Outline 13.1 Introduction 13.2 The#include Preprocessor Directive 13.3 The#define Preprocessor Directive: Symbolic Constants 13.4 The#define Preprocessor Directive: Macros
More information6.S096 Lecture 1 Introduction to C
6.S096 Lecture 1 Introduction to C Welcome to the Memory Jungle Andre Kessler Andre Kessler 6.S096 Lecture 1 Introduction to C 1 / 30 Outline 1 Motivation 2 Class Logistics 3 Memory Model 4 Compiling 5
More information60-141 Introduction to Programming II Winter, 2014 Assignment 2
60-141 Introduction to Programming II Winter, 2014 Assignment 2 Array In this assignment you will implement an encryption and a corresponding decryption algorithm which involves only random shuffling of
More informationObject Oriented Software Design
Object Oriented Software Design Introduction to Java - II Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa October 28, 2010 G. Lipari (Scuola Superiore Sant Anna) Introduction
More informationBoolean Expressions, Conditions, Loops, and Enumerations. Precedence Rules (from highest to lowest priority)
Boolean Expressions, Conditions, Loops, and Enumerations Relational Operators == // true if two values are equivalent!= // true if two values are not equivalent < // true if left value is less than the
More informationIntroduction to Scientific Computing Part II: C and C++ C. David Sherrill School of Chemistry and Biochemistry Georgia Institute of Technology
Introduction to Scientific Computing Part II: C and C++ C. David Sherrill School of Chemistry and Biochemistry Georgia Institute of Technology The C Programming Language: Low-level operators Created by
More informationDatabase Programming with PL/SQL: Learning Objectives
Database Programming with PL/SQL: Learning Objectives This course covers PL/SQL, a procedural language extension to SQL. Through an innovative project-based approach, students learn procedural logic constructs
More informationUsing the RDTSC Instruction for Performance Monitoring
Using the Instruction for Performance Monitoring http://developer.intel.com/drg/pentiumii/appnotes/pm1.htm Using the Instruction for Performance Monitoring Information in this document is provided in connection
More informationMULTIPLE CHOICE. Choose the one alternative that best completes the statement or answers the question.
Exam Name MULTIPLE CHOICE. Choose the one alternative that best completes the statement or answers the question. 1) The JDK command to compile a class in the file Test.java is A) java Test.java B) java
More informationObjectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont.
Objectives To describe the services an operating system provides to users, processes, and other systems To discuss the various ways of structuring an operating system Chapter 2: Operating-System Structures
More informationJava Interfaces. Recall: A List Interface. Another Java Interface Example. Interface Notes. Why an interface construct? Interfaces & Java Types
Interfaces & Java Types Lecture 10 CS211 Fall 2005 Java Interfaces So far, we have mostly talked about interfaces informally, in the English sense of the word An interface describes how a client interacts
More informationMobile App Design Project #1 Java Boot Camp: Design Model for Chutes and Ladders Board Game
Mobile App Design Project #1 Java Boot Camp: Design Model for Chutes and Ladders Board Game Directions: In mobile Applications the Control Model View model works to divide the work within an application.
More informationIntroduction to Python
WEEK ONE Introduction to Python Python is such a simple language to learn that we can throw away the manual and start with an example. Traditionally, the first program to write in any programming language
More informationPROBLEM SOLVING SEVENTH EDITION WALTER SAVITCH UNIVERSITY OF CALIFORNIA, SAN DIEGO CONTRIBUTOR KENRICK MOCK UNIVERSITY OF ALASKA, ANCHORAGE PEARSON
PROBLEM SOLVING WITH SEVENTH EDITION WALTER SAVITCH UNIVERSITY OF CALIFORNIA, SAN DIEGO CONTRIBUTOR KENRICK MOCK UNIVERSITY OF ALASKA, ANCHORAGE PEARSON Addison Wesley Boston San Francisco New York London
More informationLecture 11 Doubly Linked Lists & Array of Linked Lists. Doubly Linked Lists
Lecture 11 Doubly Linked Lists & Array of Linked Lists In this lecture Doubly linked lists Array of Linked Lists Creating an Array of Linked Lists Representing a Sparse Matrix Defining a Node for a Sparse
More informationLecture 5: Java Fundamentals III
Lecture 5: Java Fundamentals III School of Science and Technology The University of New England Trimester 2 2015 Lecture 5: Java Fundamentals III - Operators Reading: Finish reading Chapter 2 of the 2nd
More informationCrash Course in Java
Crash Course in Java Based on notes from D. Hollinger Based in part on notes from J.J. Johns also: Java in a Nutshell Java Network Programming and Distributed Computing Netprog 2002 Java Intro 1 What is
More informationObject Oriented Software Design
Object Oriented Software Design Introduction to Java - II Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa September 14, 2011 G. Lipari (Scuola Superiore Sant Anna) Introduction
More informationExample of a Java program
Example of a Java program class SomeNumbers static int square (int x) return x*x; public static void main (String[] args) int n=20; if (args.length > 0) // change default n = Integer.parseInt(args[0]);
More informationOrganization of Programming Languages CS320/520N. Lecture 05. Razvan C. Bunescu School of Electrical Engineering and Computer Science bunescu@ohio.
Organization of Programming Languages CS320/520N Razvan C. Bunescu School of Electrical Engineering and Computer Science bunescu@ohio.edu Names, Bindings, and Scopes A name is a symbolic identifier used
More informationLecture 22: C Programming 4 Embedded Systems
Lecture 22: C Programming 4 Embedded Systems Today s Goals Basic C programming process Variables and constants in C Pointers to access addresses Using a High Level Language High-level languages More human
More informationModule 816. File Management in C. M. Campbell 1993 Deakin University
M. Campbell 1993 Deakin University Aim Learning objectives Content After working through this module you should be able to create C programs that create an use both text and binary files. After working
More information