Lecture 1 Introduction sheet Course webpage http://csserver.evansville.edu/~hwang/f10-courses/cs215.html Handouts, assignments Supplemental resources C, C++, Java comparison Basic Unix Syllabus and schedule, textbooks CS Lab and KC-267 Wednesday, August 25 CS 215 Fundamentals of Programming II - Lecture 1 1
Outline What is Unix? Logging into Linux Basic Unix commands Programming using g++ What is C++? Library headers and namespaces Constants and types Console input and output Wednesday, August 25 CS 215 Fundamentals of Programming II - Lecture 1 2
What is Unix? Unix is an operating system that is highly configurable Linux is an open-source version of Unix. Ubuntu is a distribution of Linux CS Lab and KC-267 have clients that dual-boot Ubuntu Linux and Windows 7 Linux clients use csserver.evansville.edu for login and home directory service Unix is command-line oriented Wednesday, August 25 CS 215 Fundamentals of Programming II - Lecture 1 3
Logging into Linux - Console Wednesday, August 25 CS 215 Fundamentals of Programming II - Lecture 1 4
Logging into Linux - Putty Wednesday, August 25 CS 215 Fundamentals of Programming II - Lecture 1 5
Basic Unix Commands Changing passwords - old, new, new again yppasswd - on UE client machines passwd - on VirtualBox Creating (sub) directories (i.e., folders) mkdir <dir1> <dir2> … Example: mkdir cs215 Listing directories ls, ls -l, ls -a, ls -la Example: ls -l cs215 Wednesday, August 25 CS 215 Fundamentals of Programming II - Lecture 1 6
Basic Unix Commands Changing permissions ("change mode") chmod <mode> <name1> <name2> … Mode is three sets (owner, group, world) of three privileges (read, write, execute) Represented as 9 bits (r,w,x are 1, - is 0) in octal (base 8) Example: rwx------ is read, write, execute privileges for owner only becomes 700 Example: chmod 700 cs215 Wednesday, August 25 CS 215 Fundamentals of Programming II - Lecture 1 7
Basic Unix Commands Changing directories cd - to home directory, cd <dir> Path relative to current directory unless starts with / Examples: cd cs215 , cd /etc Also, . ("dot" - current), .. ("dot-dot" - parent), ~ ("tilde" - home) Wildcards * - 0 or more characters, e.g. project1.* ? - exactly 1 character, e.g. project?.cpp Wednesday, August 25 CS 215 Fundamentals of Programming II - Lecture 1 8
Programming Using g++ Separate text editor - emacs, vim, gedit C++ source files have extension .cpp User-defined header files still use .h Separate compiler - g++ Command line options: -Wall, -o <progname> Example: g++ -Wall -o hello hello.cpp ./<progname> is the command to run the program; default program name is a.out Separate build facility - make Wednesday, August 25 CS 215 Fundamentals of Programming II - Lecture 1 9
What is C++? C++ is a programming language based on C with objects and object-oriented constructs; on- line comparison document Focus will be on the use of classes to design and implement abstract data types Minor syntactic differences, for example Comments can start with // to end of line Always int main () , never void main () No need for void in parameter list Wednesday, August 25 CS 215 Fundamentals of Programming II - Lecture 1 10
Library Headers and Namespaces C++ library headers to not have .h extension Example: #include <iostream> C libraries have same name prefixed with 'c' Example: #include <cmath> All library names are in namespace std. Prefix names with namespace. E.g. std::cout Import names with using statements Example: using namespace std; Example: using std::cout; Wednesday, August 25 CS 215 Fundamentals of Programming II - Lecture 1 11
Constants and types Use const to define constants (not #define ) Example: const int MAX_SIZE = 80; Built-in boolean type bool with literals true and false Example: bool done = false; Library string type string defined in <string> has =, relops, +. Example: string word1 = "hot", word2 = "dog"; string word3 = word1 + word2; Wednesday, August 25 CS 215 Fundamentals of Programming II - Lecture 1 12
Console Input and Output C++ I/O is done using character stream objects Console I/O defined in <iostream> cin - ("see-in") input stream connected to keyboard cout , cerr - ("see-out", "see-err") output streams connected to screen endl - ("end-ell") newline with buffer flushing Wednesday, August 25 CS 215 Fundamentals of Programming II - Lecture 1 13
Console Input and Output Input streams use extraction operator ( >> ) <input stream> >> <variable> Skips whitespace Output streams use insertion operator ( << ) <output stream> << <expression> Both operators return the left-hand stream operand so that multiple operations may be chained together Wednesday, August 25 CS 215 Fundamentals of Programming II - Lecture 1 14
Console I/O Example int anInt; double aDouble; cout << "Enter an integer and " << "a double: " cin >> anInt >> aDouble; cout << "You entered " << anInt << " and " << aDouble << endl; Wednesday, August 25 CS 215 Fundamentals of Programming II - Lecture 1 15
In-class Exercise Write a C++ program that asks for two real numbers and displays which number is the larger one. E.g., (user input in bold) Enter two real numbers: 3.4 -7.3 The larger number is 3.4 Use a text editor to type in the program and use g++ to compile the program. Test the program. When you are confident that it works, demonstrate it to the instructor. Wednesday, August 25 CS 215 Fundamentals of Programming II - Lecture 1 16
Recommend
More recommend