C overview
This presentation is the property of its rightful owner.
Sponsored Links
1 / 23

C++ overview PowerPoint PPT Presentation


  • 105 Views
  • Uploaded on
  • Presentation posted in: General

C++ overview. CS113. Computer. I/O. CPU. RAM. Memory (HD). From you to computer. a.cpp : … x=5; …. a.obj. Linker. C++ pre-proc + compiler. a.exe. C++ program. What you write. The rest is commentary. Comments Line comment: // … “ Block ” (multi-line) comment: /* … */

Download Presentation

C++ overview

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


C overview

C++ overview

CS113


Computer

Computer

I/O

CPU

RAM

Memory

(HD)

Gene Itkis CS112


From you to computer

From you to computer

a.cpp:

x=5;

a.obj

Linker

C++ pre-proc

+ compiler

a.exe

Gene Itkis CS112


C program

C++ program

What you write


The rest is commentary

The rest is commentary

  • Comments

    • Line comment: //…

    • “Block” (multi-line) comment: /*…*/

      //this is a comment to the end of the line

      str = “this line is not a comment”;

      /*and this too will be ignored

      by the the computer*/

      printf (“%s”, str);

Gene Itkis CS112


Wrappers

Wrappers

  • Headers

    #include <iostream>

    • Inserts the text from file iostream.h into the program

    • Header files can be your own “common blocks” or system dependent (come with the system

Gene Itkis CS112


Headers

Headers

header.h:

int x;

char c;

a.cpp:

//main file

int x;

char c;

x = 5;

c = ‘a’;

a.cpp:

//main file

#include <header>

x = 5;

c = ‘a’;

Gene Itkis CS112


The main thing

The main thing

int main()

{…

… // the program

}

Gene Itkis CS112


Finally objects

Finally, Objects

  • Constants

    • 1, 27, -97

    • 3.14, 6.02e23

    • ‘a’, ‘1’

    • true, false

    • “hello”, “123)(*^@#, - string”

Gene Itkis CS112


Creating objects

Creating Objects

  • Integers

    • int x, y = -5;

    • long i, j;// usually same as int

    • short k;// -215 to 215–1

  • Reals

    • float p=3.14;

    • double zp=3.1415926535897932384;

    • double avogadro=6.02e23;// = 6.02*1023

Gene Itkis CS112


More types of objects

More types of objects

  • Alphanumericals

    • char c=‘a’;

    • string s=“this is a @#& string”, ps;

  • Boolean

    • bool there_is_God = true, agnostic;

      In the above examples, note

    • multiple variables in one declaration

    • initialization

Gene Itkis CS112


Object names

Object names

  • NO keywords (reserved words)

    • Names of types

    • Other C++ constructs

  • Variable names

    • Just about any alphanumeric string: x1_Z

      • Except keywords, some special chars, etc.

    • Use descriptive names

Gene Itkis CS112


Existing objects operators

Existing objects: Operators

  • Assignment

    • x=x+5;// general: object = expr;

  • Arithmetic operators

    • The usual: -, -, +, *, /

      • x-z ; x = -5

    • Less usual: % //remainder

      • 14/3// quotient = 4

      • 14%3// remainder = 14 mod 3 = 2

Gene Itkis CS112


Who s first

Who’s first

  • Precedence (highest first)

    • -(negation)

    • * / %

    • + –

Gene Itkis CS112


Shorthand

Shorthand

  • x++// x = x+1

  • x += y;// x = x+y

  • x *= y;// x = x*y

  • x /= --y;// x = x/(y-1)// and y = y-1

  • Do NOT over(ab)use shorthand

    • a source of bugs and confusion

    • last 2 examples above are bad style

Gene Itkis CS112


Conversions

Conversions

  • Implicit conversion – to more complex:

    • int + long// long + long

    • int + double// double + double

    • BUT 14/4 –> 3 !!!

  • Explicit conversion

    • i = int(3.14);// i=3

    • i= static_cast<int>(3.14)// i=3, more C++

Gene Itkis CS112


Conversions1

Conversions

  • More explicit conversions

    • int i=14, j=4, r;double x;r=i/j;// r=3x=double(i)/j;// x=3.5

Gene Itkis CS112


Char integrity

Char integrity

  • Character object represented by integer

    char c=‘a’;c++;// c=‘b’c -= 32;// c=‘B’int i= c-16;// i=2c=‘5’;int j=c-’0’;// j=5string s, h=“hello”, b=“ “,w=“world”;s=h+b+w; //s=“hello world”

Gene Itkis CS112


Being logical but bool ish

Being logical but boolish

  • Operators

    • and (&&), or (||), not (!)

  • Binary arithmetic

    • Bit-wise

      • And: &

      • Or: |

      • Not: ~

      • XOR: ^

      • Shift: << , >>

    • We’ll see examples of these later

Gene Itkis CS112


Bool s bin s

Bools & Bins

  • Examples

    • bool learn=true, miss_test, fail;int mask=0xF0F0, donts, bits=0x1234;miss_test = !learn;fail = !learn || miss_test;mask = ~mask;donts = bits & (~bits);bits = bits & mask;

    • Result: fail=false; mask=0x0F0F; donts=0x0; bits=0x0204

Gene Itkis CS112


When to store

When to store

  • string s = “now”; // compile time init

  • s = “now”;// run time assignment

  • Watch out for using un-initialized objects!

Gene Itkis CS112


Re cap objects

Re-cap Objects

  • “Pre-existing” (atomic):

    • Constants

    • Types

    • Operators

  • Yours

    • Variables

  • Can now write very simple programs

    • Calculators, converters, etc

Gene Itkis CS112


Where to now

Where to now?

  • More objects

    • New kinds – classes

    • New “operators”– functions

  • Flow control

    • Conditionals

      • if/else

    • Iteration

      • while, do … while, for

      • Iteration with functions: recursion

Gene Itkis CS112


  • Login