Ebook C++ Programming Tutorial And Instructions For Practical Sessions

C++ Programming tutorial
C++ Programming tutorial

Download

THÔNG TIN TÀI LIỆU

Nhà xuất bản Deptartment of Physics
Tác giả Christopher Lester
Số trang 119
Ngày xuất bản 2013
File PDF

NỘI DUNG TÀI LIỆU
1 Introduction
1.1 Aims of the Computing Course
1.2 Organisation of Laboratory Sessions
1.3 The Six Pieces Of Submitted Work (“SESSIONS”) . . . . . . . . . . . . . . . . . 6
1.4 Why self assessment? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.5 Assessment deadlines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.6 Collaboration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.7 Copying . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.8 Feedback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2 Introduction 10
2.1 What is a computer program? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2 The C++ Programming Language . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3 Editing, compiling and executing a simple program 10
3.1 A simple C++ program to add two numbers . . . . . . . . . . . . . . . . . . . . . 10
3.2 Overview of program structure and syntax . . . . . . . . . . . . . . . . . . . . . . 11
3.3 The development environment and the development cycle . . . . . . . . . . . . . . 13

4 INSTRUCTIONS FOR PRACTICAL SESSION 1 14
4.1 Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.2 Getting started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.3 Computing exercise – editing, compiling and executing a simple program that adds
numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.4 Exploring compiler error messages . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.5 Compiler warnings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.6 Makefiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.7 Practice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.8 Assessment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.9 Instructions for submitting your self-assessed work . . . . . . . . . . . . . . . . . . 21

5 Variables and constants 25
5.1 Variable types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
5.2 Declaration of a variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
5.3 Storage of variables in computer memory . . . . . . . . . . . . . . . . . . . . . . . 26

6 Assignment of variables 26
6.1 Assignment statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
6.2 Arithmetic expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
6.3 Precedence and nesting parentheses . . . . . . . . . . . . . . . . . . . . . . . . . . 28
6.4 Initialisation of variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
6.5 Expressions with mixed variable types . . . . . . . . . . . . . . . . . . . . . . . . 28
6.6 Declaration and initialisation of symbolic constants . . . . . . . . . . . . . . . . . 29

7 Simple input and output 29
7.1 Printing to the screen using output stream . . . . . . . . . . . . . . . . . . . . . . 30
7.2 Input of data from the keyboard using input stream . . . . . . . . . . . . . . . . . 30

8 Control Statements 31
8.1 Boolean expressions and relational operators . . . . . . . . . . . . . . . . . . . . . 31
8.2 Compound boolean expressions using logical operators . . . . . . . . . . . . . . . 31
8.3 The IF selection control statement . . . . . . . . . . . . . . . . . . . . . . . . . . 31
8.4 The IF/ELSE selection control statement . . . . . . . . . . . . . . . . . . . . . . . 32
8.5 ELSE IF multiple selection statement . . . . . . . . . . . . . . . . . . . . . . . . . 33
8.6 SWITCH multiple selection statement . . . . . . . . . . . . . . . . . . . . . . . . 35
8.7 The WHILE repetition control statement . . . . . . . . . . . . . . . . . . . . . . . 37
8.8 Increment and decrement operators . . . . . . . . . . . . . . . . . . . . . . . . . . 38
8.9 The FOR repetition control statement . . . . . . . . . . . . . . . . . . . . . . . . 38
8.10 The DO. . . WHILE repetition control statement . . . . . . . . . . . . . . . . . . . 40

9 INSTRUCTIONS FOR PRACTICAL SESSION 2 41
9.1 Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
9.2 Computing Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
9.3 Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
9.4 Assessment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

10 INSTRUCTIONS FOR PRACTICAL SESSION 3 44
10.1 Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
10.2 Computing Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
10.3 Assessment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

11 Functions 49
11.1 Function definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
11.2 Example of function definition, declaration and call . . . . . . . . . . . . . . . . . 50
11.3 Function header and body . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
11.4 Function declaration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
11.5 Function call and execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
11.6 Function arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
11.7 Another example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
11.8 Passing by value or reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

12 Math library and system library built-in functions 57
12.1 Mathematical functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
12.2 Random numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
12.3 How can I find out what library a function is in? . . . . . . . . . . . . . . . . . . . 59

13 INSTRUCTIONS FOR PRACTICAL SESSION 4 61
13.1 Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
13.2 Computing Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
13.3 The bisection method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
13.4 Notes on algorithm and implementation . . . . . . . . . . . . . . . . . . . . . . . 62
13.5 Assessment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
13.6 ‘Have I done enough?’ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

14 Arrays 66
14.1 Declaration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
14.2 Array elements and indexing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
14.3 Assigning values to array elements . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
14.4 Passing arrays to functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
14.5 Character arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
14.6 Multi-dimensional arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
14.7 Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
14.8 Enumerated constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

15 Reading and writing to files 74

16 Direct allocation of arrays with “new” 76

17 Modularizing 77

18 Structures and packages 81

19 Formatted output 85

20 Notes concerning the remaining SESSIONS 5, 6 and 7. 86

21 INSTRUCTIONS FOR PRACTICAL SESSION 5 : “PLANET” 87
21.1 Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
21.2 Task . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
21.3 Ideas for what to do . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
21.4 What to hand in . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

22 INSTRUCTIONS FOR PRACTICAL SESSION 6 : “BONKERS” 91
22.1 Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
22.2 Task . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
22.3 Ideas for what to do . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
22.4 What to hand in . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

23 INSTRUCTIONS FOR PRACTICAL SESSION 7 : “RECURSION” (optional!) 95
23.1 Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
23.2 Recursion exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

Be the first to comment

Leave a Reply

Your email address will not be published.

*