Page MenuHomec4science

week2.html
No OneTemporary

File Metadata

Created
Sat, May 4, 21:12

week2.html

This file is larger than 256 KB, so syntax highlighting was skipped.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="chrome=1" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<title>talk slides</title>
<!-- Loading the init_reveal macro -->
<!-- Load and configure reveal -->
<script src="js-markdown-extra.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<!-- General and theme style sheets -->
<link rel="stylesheet" href="reveal.js/css/reveal.css">
<link rel="stylesheet" href="reveal.js/css/theme/simple.css" id="theme">
<!-- Loading the mathjax macro -->
<!-- Load mathjax -->
<script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML"></script>
<!-- MathJax configuration -->
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
tex2jax: {
inlineMath: [ ['$','$'], ["\\(","\\)"] ],
displayMath: [ ['$$','$$'], ["\\[","\\]"] ],
processEscapes: true,
processEnvironments: true
},
// Center justify equations in code and markdown cells. Elsewhere
// we use CSS to left justify single line equations in code cells.
displayAlign: 'center',
"HTML-CSS": {
styles: {'.MathJax_Display': {"margin": 0}},
linebreaks: { automatic: true }
}
});
</script>
<!-- End of mathjax configuration -->
<!-- Get Font-awesome from cdn -->
<link rel="stylesheet" href="//netdna.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.css">
<!-- End of reveal parts -->
<style type="text/css">
.reveal {
font-size: 16px;
}
.reveal h1 {
font-size: 200%;
}
.reveal h2 {
font-size: 150%;
}
.text_cell_render {
text-align: left;
}
a.anchor-link:link {
text-decoration: none;
visibility: hidden;
}
.slide {
}
div.slide{
border-style: solid;
border-width: 2px;
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: center;
margin-top: 5px;
margin-bottom: 5px;
padding: 100px;
width: 1000px;
}
/*******************************
** highing tpart
*******************************/
.highlight_text {
color: blue;
}
.highlight-base {
color: #000;
}
.highlight-variable {
color: #000;
}
.highlight-variable-2 {
color: #1a1a1a;
}
.highlight-variable-3 {
color: #333333;
}
.highlight-string {
color: #BA2121;
}
.highlight-comment {
color: #408080;
font-style: italic;
}
.highlight-number {
color: #080;
}
.highlight-atom {
color: #88F;
}
.highlight-keyword {
color: #008000;
font-weight: bold;
}
.highlight-builtin {
color: #008000;
}
.highlight-error {
color: #f00;
}
.highlight-operator {
color: #AA22FF;
font-weight: bold;
}
.highlight-meta {
color: #AA22FF;
}
.highlight-def {
color: #00f;
}
.highlight-string-2 {
color: #f50;
}
.highlight-qualifier {
color: #555;
}
.highlight-bracket {
color: #997;
}
.highlight-tag {
color: #170;
}
.highlight-attribute {
color: #00c;
}
.highlight-header {
color: blue;
}
.highlight-quote {
color: #090;
}
.highlight-link {
color: #00c;
}
.highlight .hll { background-color: #ffffcc }
//.highlight { background: #f8f8f8; }
.highlight .c { color: #408080; font-style: italic } /* Comment */
.highlight .err { border: 1px solid #FF0000 } /* Error */
.highlight .k { color: #008000; font-weight: bold } /* Keyword */
.highlight .o { color: #666666 } /* Operator */
.highlight .ch { color: #408080; font-style: italic } /* Comment.Hashbang */
.highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #BC7A00 } /* Comment.Preproc */
.highlight .cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */
.highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */
.highlight .cs { color: #408080; font-style: italic } /* Comment.Special */
.highlight .gd { color: #A00000 } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .gr { color: #FF0000 } /* Generic.Error */
.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
.highlight .gi { color: #00A000 } /* Generic.Inserted */
.highlight .go { color: #888888 } /* Generic.Output */
.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.highlight .gt { color: #0044DD } /* Generic.Traceback */
.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #008000 } /* Keyword.Pseudo */
.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #B00040 } /* Keyword.Type */
.highlight .m { color: #666666 } /* Literal.Number */
.highlight .s { color: #BA2121 } /* Literal.String */
.highlight .na { color: #7D9029 } /* Name.Attribute */
.highlight .nb { color: #008000 } /* Name.Builtin */
.highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */
.highlight .no { color: #880000 } /* Name.Constant */
.highlight .nd { color: #AA22FF } /* Name.Decorator */
.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */
.highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #0000FF } /* Name.Function */
.highlight .nl { color: #A0A000 } /* Name.Label */
.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #19177C } /* Name.Variable */
.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mb { color: #666666 } /* Literal.Number.Bin */
.highlight .mf { color: #666666 } /* Literal.Number.Float */
.highlight .mh { color: #666666 } /* Literal.Number.Hex */
.highlight .mi { color: #666666 } /* Literal.Number.Integer */
.highlight .mo { color: #666666 } /* Literal.Number.Oct */
.highlight .sa { color: #BA2121 } /* Literal.String.Affix */
.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */
.highlight .sc { color: #BA2121 } /* Literal.String.Char */
.highlight .dl { color: #BA2121 } /* Literal.String.Delimiter */
.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
.highlight .s2 { color: #BA2121 } /* Literal.String.Double */
.highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */
.highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
.highlight .sx { color: #008000 } /* Literal.String.Other */
.highlight .sr { color: #BB6688 } /* Literal.String.Regex */
.highlight .s1 { color: #BA2121 } /* Literal.String.Single */
.highlight .ss { color: #19177C } /* Literal.String.Symbol */
.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #0000FF } /* Name.Function.Magic */
.highlight .vc { color: #19177C } /* Name.Variable.Class */
.highlight .vg { color: #19177C } /* Name.Variable.Global */
.highlight .vi { color: #19177C } /* Name.Variable.Instance */
.highlight .vm { color: #19177C } /* Name.Variable.Magic */
.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */
</style>
</head>
<body>
<div class="reveal">
<div class="slides">
<section><section>
<div class="slide" style="float: left"><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<h1 id="--git-pull-upstream-master--"><center> <span style="color:red"> git pull upstream master </span> </center><a class="anchor-link" href="#--git-pull-upstream-master--">&#182;</a></h1>
</div>
</div></div>
</section><section>
<div class="slide" style="float: left"><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<h1><center> Answer questions from <br> the previous session</center></h1>
</div>
</div></div>
</section></section><section><section>
<div class="slide" style="float: left"><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<h1 id="Programmation">Programmation<a class="anchor-link" href="#Programmation">&#182;</a></h1><ul>
<li>How is working/what is a computer ?</li>
<li>What is a program ? </li>
</ul>
</div>
</div><div class="fragment" style="width: 100%;float: left"><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<ul>
<li>Animation with 3 people: <ul>
<li>One central memory</li>
<li>One program memory</li>
<li>One arithmetic logic unit</li>
</ul>
</li>
</ul>
</div>
</div></div></div>
</section><section>
<div class="slide" style="float: left"><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<ul>
<li>First program:
<pre><code> *0 = 1
*1 = 2</code></pre>
</li>
</ul>
</div>
</div><div class="fragment" style="width: 100%;float: left"><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<ul>
<li>Second program:
<pre><code>1: *1 = 0
2: *2 = 0
3: *0 = *1 &gt;= 4
4: if *0 goto 8
5: *2 = *2 + *1
6: *1 = *1 +1
7: goto 3
8: END</code></pre>
</li>
</ul>
</div>
</div></div></div>
</section><section>
<div class="slide" style="float: left"><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="Assembly-language">Assembly language<a class="anchor-link" href="#Assembly-language">&#182;</a></h3><p>An assembly language:</p>
<ul>
<li>low-level programming language</li>
<li>strong (generally one-to-one) correspondence between the language
and the computer <em>code instructions</em>.</li>
</ul>
<p><a href="http://en.wikipedia.org/wiki/Assembly_language">wikipedia: assembly language</a></p>
</div>
</div><div class="fragment" style="width: 100%;float: left"><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="High-level-language">High level language<a class="anchor-link" href="#High-level-language">&#182;</a></h3><ul>
<li>strong abstraction from the details of the computer</li>
</ul>
<p><a href="http://en.wikipedia.org/wiki/High-level_programming_language">wikipedia: High level programming language</a></p>
</div>
</div></div></div>
</section><section>
<div class="slide" style="float: left"><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<p>Examples of Compiled language:</p>
</div>
</div><div class="fragment" style="width: 100%;float: left"><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<ul>
<li>Fortran</li>
<li>C</li>
<li>C++</li>
<li>Java</li>
</ul>
</div>
</div></div><div class="fragment" style="width: 100%;float: left"><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<p>Examples of interpreted language:</p>
</div>
</div></div><div class="fragment" style="width: 100%;float: left"><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<ul>
<li>python</li>
<li>perl</li>
<li>matlab</li>
</ul>
</div>
</div></div></div>
</section></section><section><section>
<div class="slide" style="float: left"><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<h1><center> Compilation and linking <br> C++ </center></h1>
</div>
</div></div>
</section><section>
<div class="slide" style="float: left"><div class="split" style="width: 45%;padding: 2.5%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<h2 id="Compiler">Compiler<a class="anchor-link" href="#Compiler">&#182;</a></h2><ul>
<li>A computer program transforming source code (in the
source language) into another computer language (the target
language)</li>
</ul>
<p><a href="http://en.wikipedia.org/wiki/Compiler">wikipedia: compiler</a></p>
</div>
</div><div class="split" style="width: 45%;padding: 2.5%; float: left">
<div class="cell border-box-sizing code_cell rendered">
<div class="output_area">
<div class="output_html rendered_html output_subarea ">
<img src="data:image/png;base64,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"width="300px"/>
</div>
</div>
</div>
</div><div class="fragment" style="width: 100%;float: left"><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<h2 id="GNU-C++-compiler:-g++">GNU C++ compiler: g++<a class="anchor-link" href="#GNU-C++-compiler:-g++">&#182;</a></h2>
<pre><code>g++ -Wall -c source_file.cc</code></pre>
<ul>
<li>This will produce a file object <em>source_file.o</em></li>
<li><span style="color:red"> "-Wall" </span> to output all warnings and errors</li>
<li>Multiple files with multiple symbols.</li>
</ul>
</div>
</div></div></div>
</section><section>
<div class="slide" style="float: left"><div class="full" style="width: 100%; float: left">
<div class="cell border-box-sizing code_cell rendered">
<div class="output_area">
<div class="output_html rendered_html output_subarea ">
<img src="data:image/png;base64,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"width="400px"/>
</div>
</div>
</div>
</div><div class="fragment" style="width: 100%;float: left"><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<center> <span style="font-weight:bold"> Question</span>: What are the addresses when files are separated ?</center>
</div>
</div></div></div>
</section><section>
<div class="slide" style="float: left"><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<h2 id="Linker-or-Link-editor-(wikipedia:-linker)">Linker or Link editor (<a href="http://en.wikipedia.org/wiki/Linker_(computing%29">wikipedia: linker</a>)<a class="anchor-link" href="#Linker-or-Link-editor-(wikipedia:-linker)">&#182;</a></h2><ul>
<li>takes one or more object files (generated by a compiler)</li>
<li>combines them into a single executable program.</li>
</ul>
</div>
</div><div class="full" style="width: 100%; float: left">
<div class="cell border-box-sizing code_cell rendered">
<div class="output_area">
<div class="output_html rendered_html output_subarea ">
<img src="data:image/png;base64,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"width="400px"/>
</div>
</div>
</div>
</div><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<div class="highlight"><pre><span></span>g++ object1.o object2.o object3.o -o <span class="nb">exec</span>
</pre></div>
</div>
</div></div>
</section><section>
<div class="slide" style="float: left"><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<h1 id="A-first-C++-program">A first C++ program<a class="anchor-link" href="#A-first-C++-program">&#182;</a></h1><h2 id="Open-the-file-'hello.cpp'">Open the file 'hello.cpp'<a class="anchor-link" href="#Open-the-file-'hello.cpp'">&#182;</a></h2>
</div>
</div></div>
</section><section>
<div class="slide" style="float: left"><div class="full" style="width: 100%; float: left">
<div class="cell border-box-sizing code_cell rendered">
<div class="output_area">
<div class="output_html rendered_html output_subarea output_execute_result">
<style>
.hll { background-color: #ffffcc }
.c { color: #408080; font-style: italic } /* Comment */
.err { border: 1px solid #FF0000 } /* Error */
.k { color: #008000; font-weight: bold } /* Keyword */
.o { color: #666666 } /* Operator */
.ch { color: #408080; font-style: italic } /* Comment.Hashbang */
.cm { color: #408080; font-style: italic } /* Comment.Multiline */
.cp { color: #BC7A00 } /* Comment.Preproc */
.cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */
.c1 { color: #408080; font-style: italic } /* Comment.Single */
.cs { color: #408080; font-style: italic } /* Comment.Special */
.gd { color: #A00000 } /* Generic.Deleted */
.ge { font-style: italic } /* Generic.Emph */
.gr { color: #FF0000 } /* Generic.Error */
.gh { color: #000080; font-weight: bold } /* Generic.Heading */
.gi { color: #00A000 } /* Generic.Inserted */
.go { color: #888888 } /* Generic.Output */
.gp { color: #000080; font-weight: bold } /* Generic.Prompt */
.gs { font-weight: bold } /* Generic.Strong */
.gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.gt { color: #0044DD } /* Generic.Traceback */
.kc { color: #008000; font-weight: bold } /* Keyword.Constant */
.kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
.kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
.kp { color: #008000 } /* Keyword.Pseudo */
.kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
.kt { color: #B00040 } /* Keyword.Type */
.m { color: #666666 } /* Literal.Number */
.s { color: #BA2121 } /* Literal.String */
.na { color: #7D9029 } /* Name.Attribute */
.nb { color: #008000 } /* Name.Builtin */
.nc { color: #0000FF; font-weight: bold } /* Name.Class */
.no { color: #880000 } /* Name.Constant */
.nd { color: #AA22FF } /* Name.Decorator */
.ni { color: #999999; font-weight: bold } /* Name.Entity */
.ne { color: #D2413A; font-weight: bold } /* Name.Exception */
.nf { color: #0000FF } /* Name.Function */
.nl { color: #A0A000 } /* Name.Label */
.nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
.nt { color: #008000; font-weight: bold } /* Name.Tag */
.nv { color: #19177C } /* Name.Variable */
.ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
.w { color: #bbbbbb } /* Text.Whitespace */
.mb { color: #666666 } /* Literal.Number.Bin */
.mf { color: #666666 } /* Literal.Number.Float */
.mh { color: #666666 } /* Literal.Number.Hex */
.mi { color: #666666 } /* Literal.Number.Integer */
.mo { color: #666666 } /* Literal.Number.Oct */
.sa { color: #BA2121 } /* Literal.String.Affix */
.sb { color: #BA2121 } /* Literal.String.Backtick */
.sc { color: #BA2121 } /* Literal.String.Char */
.dl { color: #BA2121 } /* Literal.String.Delimiter */
.sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
.s2 { color: #BA2121 } /* Literal.String.Double */
.se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
.sh { color: #BA2121 } /* Literal.String.Heredoc */
.si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
.sx { color: #008000 } /* Literal.String.Other */
.sr { color: #BB6688 } /* Literal.String.Regex */
.s1 { color: #BA2121 } /* Literal.String.Single */
.ss { color: #19177C } /* Literal.String.Symbol */
.bp { color: #008000 } /* Name.Builtin.Pseudo */
.fm { color: #0000FF } /* Name.Function.Magic */
.vc { color: #19177C } /* Name.Variable.Class */
.vg { color: #19177C } /* Name.Variable.Global */
.vi { color: #19177C } /* Name.Variable.Instance */
.vm { color: #19177C } /* Name.Variable.Magic */
.il { color: #666666 } /* Literal.Number.Integer.Long */
</style>
<div class="highlight"><pre><span></span><span class="cp">#include</span> <span class="cpf">&lt;iostream&gt;</span><span class="cp"></span>
<span class="kt">int</span> <span class="nf">main</span><span class="p">(</span><span class="kt">int</span> <span class="n">argc</span><span class="p">,</span> <span class="kt">char</span> <span class="o">*</span><span class="n">argv</span><span class="p">[])</span> <span class="p">{</span>
<span class="cm">/* This is a comment */</span>
<span class="c1">// Print &quot;Hello World&quot; to the screen</span>
<span class="n">std</span><span class="o">::</span><span class="n">cout</span> <span class="o">&lt;&lt;</span> <span class="s">&quot;Hello World</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">;</span>
<span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
<span class="p">}</span>
</pre></div>
</div>
</div>
</div>
</div></div>
</section><section>
<div class="slide" style="float: left"><div class="full" style="width: 100%; float: left">
<div class="cell border-box-sizing code_cell rendered">
<div class="output_area">
<div class="output_html rendered_html output_subarea output_execute_result">
<style>
.hll { background-color: #ffffcc }
.c { color: #408080; font-style: italic } /* Comment */
.err { border: 1px solid #FF0000 } /* Error */
.k { color: #008000; font-weight: bold } /* Keyword */
.o { color: #666666 } /* Operator */
.ch { color: #408080; font-style: italic } /* Comment.Hashbang */
.cm { color: #408080; font-style: italic } /* Comment.Multiline */
.cp { color: #BC7A00 } /* Comment.Preproc */
.cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */
.c1 { color: #408080; font-style: italic } /* Comment.Single */
.cs { color: #408080; font-style: italic } /* Comment.Special */
.gd { color: #A00000 } /* Generic.Deleted */
.ge { font-style: italic } /* Generic.Emph */
.gr { color: #FF0000 } /* Generic.Error */
.gh { color: #000080; font-weight: bold } /* Generic.Heading */
.gi { color: #00A000 } /* Generic.Inserted */
.go { color: #888888 } /* Generic.Output */
.gp { color: #000080; font-weight: bold } /* Generic.Prompt */
.gs { font-weight: bold } /* Generic.Strong */
.gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.gt { color: #0044DD } /* Generic.Traceback */
.kc { color: #008000; font-weight: bold } /* Keyword.Constant */
.kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
.kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
.kp { color: #008000 } /* Keyword.Pseudo */
.kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
.kt { color: #B00040 } /* Keyword.Type */
.m { color: #666666 } /* Literal.Number */
.s { color: #BA2121 } /* Literal.String */
.na { color: #7D9029 } /* Name.Attribute */
.nb { color: #008000 } /* Name.Builtin */
.nc { color: #0000FF; font-weight: bold } /* Name.Class */
.no { color: #880000 } /* Name.Constant */
.nd { color: #AA22FF } /* Name.Decorator */
.ni { color: #999999; font-weight: bold } /* Name.Entity */
.ne { color: #D2413A; font-weight: bold } /* Name.Exception */
.nf { color: #0000FF } /* Name.Function */
.nl { color: #A0A000 } /* Name.Label */
.nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
.nt { color: #008000; font-weight: bold } /* Name.Tag */
.nv { color: #19177C } /* Name.Variable */
.ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
.w { color: #bbbbbb } /* Text.Whitespace */
.mb { color: #666666 } /* Literal.Number.Bin */
.mf { color: #666666 } /* Literal.Number.Float */
.mh { color: #666666 } /* Literal.Number.Hex */
.mi { color: #666666 } /* Literal.Number.Integer */
.mo { color: #666666 } /* Literal.Number.Oct */
.sa { color: #BA2121 } /* Literal.String.Affix */
.sb { color: #BA2121 } /* Literal.String.Backtick */
.sc { color: #BA2121 } /* Literal.String.Char */
.dl { color: #BA2121 } /* Literal.String.Delimiter */
.sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
.s2 { color: #BA2121 } /* Literal.String.Double */
.se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
.sh { color: #BA2121 } /* Literal.String.Heredoc */
.si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
.sx { color: #008000 } /* Literal.String.Other */
.sr { color: #BB6688 } /* Literal.String.Regex */
.s1 { color: #BA2121 } /* Literal.String.Single */
.ss { color: #19177C } /* Literal.String.Symbol */
.bp { color: #008000 } /* Name.Builtin.Pseudo */
.fm { color: #0000FF } /* Name.Function.Magic */
.vc { color: #19177C } /* Name.Variable.Class */
.vg { color: #19177C } /* Name.Variable.Global */
.vi { color: #19177C } /* Name.Variable.Instance */
.vm { color: #19177C } /* Name.Variable.Magic */
.il { color: #666666 } /* Literal.Number.Integer.Long */
</style>
<div class="highlight"><pre><span></span>#include &lt;iostream&gt;
int main(int argc, char *argv[]) {
/* This is a comment */
// Print &quot;Hello World&quot; to the screen
std::cout &lt;&lt; &quot;Hello World\n&quot;<span style="color:red;font-size:150%">;</span>
return 0<span style="color:red;font-size:150%">;</span>
}
</pre></div>
</div>
</div>
</div>
</div></div>
</section><section>
<div class="slide" style="float: left"><div class="full" style="width: 100%; float: left">
<div class="cell border-box-sizing code_cell rendered">
<div class="output_area">
<div class="output_html rendered_html output_subarea output_execute_result">
<style>
.hll { background-color: #ffffcc }
.c { color: #408080; font-style: italic } /* Comment */
.err { border: 1px solid #FF0000 } /* Error */
.k { color: #008000; font-weight: bold } /* Keyword */
.o { color: #666666 } /* Operator */
.ch { color: #408080; font-style: italic } /* Comment.Hashbang */
.cm { color: #408080; font-style: italic } /* Comment.Multiline */
.cp { color: #BC7A00 } /* Comment.Preproc */
.cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */
.c1 { color: #408080; font-style: italic } /* Comment.Single */
.cs { color: #408080; font-style: italic } /* Comment.Special */
.gd { color: #A00000 } /* Generic.Deleted */
.ge { font-style: italic } /* Generic.Emph */
.gr { color: #FF0000 } /* Generic.Error */
.gh { color: #000080; font-weight: bold } /* Generic.Heading */
.gi { color: #00A000 } /* Generic.Inserted */
.go { color: #888888 } /* Generic.Output */
.gp { color: #000080; font-weight: bold } /* Generic.Prompt */
.gs { font-weight: bold } /* Generic.Strong */
.gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.gt { color: #0044DD } /* Generic.Traceback */
.kc { color: #008000; font-weight: bold } /* Keyword.Constant */
.kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
.kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
.kp { color: #008000 } /* Keyword.Pseudo */
.kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
.kt { color: #B00040 } /* Keyword.Type */
.m { color: #666666 } /* Literal.Number */
.s { color: #BA2121 } /* Literal.String */
.na { color: #7D9029 } /* Name.Attribute */
.nb { color: #008000 } /* Name.Builtin */
.nc { color: #0000FF; font-weight: bold } /* Name.Class */
.no { color: #880000 } /* Name.Constant */
.nd { color: #AA22FF } /* Name.Decorator */
.ni { color: #999999; font-weight: bold } /* Name.Entity */
.ne { color: #D2413A; font-weight: bold } /* Name.Exception */
.nf { color: #0000FF } /* Name.Function */
.nl { color: #A0A000 } /* Name.Label */
.nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
.nt { color: #008000; font-weight: bold } /* Name.Tag */
.nv { color: #19177C } /* Name.Variable */
.ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
.w { color: #bbbbbb } /* Text.Whitespace */
.mb { color: #666666 } /* Literal.Number.Bin */
.mf { color: #666666 } /* Literal.Number.Float */
.mh { color: #666666 } /* Literal.Number.Hex */
.mi { color: #666666 } /* Literal.Number.Integer */
.mo { color: #666666 } /* Literal.Number.Oct */
.sa { color: #BA2121 } /* Literal.String.Affix */
.sb { color: #BA2121 } /* Literal.String.Backtick */
.sc { color: #BA2121 } /* Literal.String.Char */
.dl { color: #BA2121 } /* Literal.String.Delimiter */
.sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
.s2 { color: #BA2121 } /* Literal.String.Double */
.se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
.sh { color: #BA2121 } /* Literal.String.Heredoc */
.si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
.sx { color: #008000 } /* Literal.String.Other */
.sr { color: #BB6688 } /* Literal.String.Regex */
.s1 { color: #BA2121 } /* Literal.String.Single */
.ss { color: #19177C } /* Literal.String.Symbol */
.bp { color: #008000 } /* Name.Builtin.Pseudo */
.fm { color: #0000FF } /* Name.Function.Magic */
.vc { color: #19177C } /* Name.Variable.Class */
.vg { color: #19177C } /* Name.Variable.Global */
.vi { color: #19177C } /* Name.Variable.Instance */
.vm { color: #19177C } /* Name.Variable.Magic */
.il { color: #666666 } /* Literal.Number.Integer.Long */
</style>
<div class="highlight"><pre><span></span><span style="color:red;font-size:150%">#include</span> &lt;iostream&gt;
int main(int argc, char *argv[]) {
/* This is a comment */
// Print &quot;Hello World&quot; to the screen
std::cout &lt;&lt; &quot;Hello World\n&quot;;
return 0;
}
</pre></div>
</div>
</div>
</div>
</div></div>
</section><section>
<div class="slide" style="float: left"><div class="full" style="width: 100%; float: left">
<div class="cell border-box-sizing code_cell rendered">
<div class="output_area">
<div class="output_html rendered_html output_subarea output_execute_result">
<style>
.hll { background-color: #ffffcc }
.c { color: #408080; font-style: italic } /* Comment */
.err { border: 1px solid #FF0000 } /* Error */
.k { color: #008000; font-weight: bold } /* Keyword */
.o { color: #666666 } /* Operator */
.ch { color: #408080; font-style: italic } /* Comment.Hashbang */
.cm { color: #408080; font-style: italic } /* Comment.Multiline */
.cp { color: #BC7A00 } /* Comment.Preproc */
.cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */
.c1 { color: #408080; font-style: italic } /* Comment.Single */
.cs { color: #408080; font-style: italic } /* Comment.Special */
.gd { color: #A00000 } /* Generic.Deleted */
.ge { font-style: italic } /* Generic.Emph */
.gr { color: #FF0000 } /* Generic.Error */
.gh { color: #000080; font-weight: bold } /* Generic.Heading */
.gi { color: #00A000 } /* Generic.Inserted */
.go { color: #888888 } /* Generic.Output */
.gp { color: #000080; font-weight: bold } /* Generic.Prompt */
.gs { font-weight: bold } /* Generic.Strong */
.gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.gt { color: #0044DD } /* Generic.Traceback */
.kc { color: #008000; font-weight: bold } /* Keyword.Constant */
.kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
.kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
.kp { color: #008000 } /* Keyword.Pseudo */
.kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
.kt { color: #B00040 } /* Keyword.Type */
.m { color: #666666 } /* Literal.Number */
.s { color: #BA2121 } /* Literal.String */
.na { color: #7D9029 } /* Name.Attribute */
.nb { color: #008000 } /* Name.Builtin */
.nc { color: #0000FF; font-weight: bold } /* Name.Class */
.no { color: #880000 } /* Name.Constant */
.nd { color: #AA22FF } /* Name.Decorator */
.ni { color: #999999; font-weight: bold } /* Name.Entity */
.ne { color: #D2413A; font-weight: bold } /* Name.Exception */
.nf { color: #0000FF } /* Name.Function */
.nl { color: #A0A000 } /* Name.Label */
.nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
.nt { color: #008000; font-weight: bold } /* Name.Tag */
.nv { color: #19177C } /* Name.Variable */
.ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
.w { color: #bbbbbb } /* Text.Whitespace */
.mb { color: #666666 } /* Literal.Number.Bin */
.mf { color: #666666 } /* Literal.Number.Float */
.mh { color: #666666 } /* Literal.Number.Hex */
.mi { color: #666666 } /* Literal.Number.Integer */
.mo { color: #666666 } /* Literal.Number.Oct */
.sa { color: #BA2121 } /* Literal.String.Affix */
.sb { color: #BA2121 } /* Literal.String.Backtick */
.sc { color: #BA2121 } /* Literal.String.Char */
.dl { color: #BA2121 } /* Literal.String.Delimiter */
.sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
.s2 { color: #BA2121 } /* Literal.String.Double */
.se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
.sh { color: #BA2121 } /* Literal.String.Heredoc */
.si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
.sx { color: #008000 } /* Literal.String.Other */
.sr { color: #BB6688 } /* Literal.String.Regex */
.s1 { color: #BA2121 } /* Literal.String.Single */
.ss { color: #19177C } /* Literal.String.Symbol */
.bp { color: #008000 } /* Name.Builtin.Pseudo */
.fm { color: #0000FF } /* Name.Function.Magic */
.vc { color: #19177C } /* Name.Variable.Class */
.vg { color: #19177C } /* Name.Variable.Global */
.vi { color: #19177C } /* Name.Variable.Instance */
.vm { color: #19177C } /* Name.Variable.Magic */
.il { color: #666666 } /* Literal.Number.Integer.Long */
</style>
<div class="highlight"><pre><span></span>#include &lt;iostream&gt;
int main(int argc, char *argv[]) {
<span style="color:red;font-size:150%"> /* This is a comment */
</span>
// Print &quot;Hello World&quot; to the screen
std::cout &lt;&lt; &quot;Hello World\n&quot;;
return 0;
}
</pre></div>
</div>
</div>
</div>
</div></div>
</section><section>
<div class="slide" style="float: left"><div class="full" style="width: 100%; float: left">
<div class="cell border-box-sizing code_cell rendered">
<div class="output_area">
<div class="output_html rendered_html output_subarea output_execute_result">
<style>
.hll { background-color: #ffffcc }
.c { color: #408080; font-style: italic } /* Comment */
.err { border: 1px solid #FF0000 } /* Error */
.k { color: #008000; font-weight: bold } /* Keyword */
.o { color: #666666 } /* Operator */
.ch { color: #408080; font-style: italic } /* Comment.Hashbang */
.cm { color: #408080; font-style: italic } /* Comment.Multiline */
.cp { color: #BC7A00 } /* Comment.Preproc */
.cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */
.c1 { color: #408080; font-style: italic } /* Comment.Single */
.cs { color: #408080; font-style: italic } /* Comment.Special */
.gd { color: #A00000 } /* Generic.Deleted */
.ge { font-style: italic } /* Generic.Emph */
.gr { color: #FF0000 } /* Generic.Error */
.gh { color: #000080; font-weight: bold } /* Generic.Heading */
.gi { color: #00A000 } /* Generic.Inserted */
.go { color: #888888 } /* Generic.Output */
.gp { color: #000080; font-weight: bold } /* Generic.Prompt */
.gs { font-weight: bold } /* Generic.Strong */
.gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.gt { color: #0044DD } /* Generic.Traceback */
.kc { color: #008000; font-weight: bold } /* Keyword.Constant */
.kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
.kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
.kp { color: #008000 } /* Keyword.Pseudo */
.kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
.kt { color: #B00040 } /* Keyword.Type */
.m { color: #666666 } /* Literal.Number */
.s { color: #BA2121 } /* Literal.String */
.na { color: #7D9029 } /* Name.Attribute */
.nb { color: #008000 } /* Name.Builtin */
.nc { color: #0000FF; font-weight: bold } /* Name.Class */
.no { color: #880000 } /* Name.Constant */
.nd { color: #AA22FF } /* Name.Decorator */
.ni { color: #999999; font-weight: bold } /* Name.Entity */
.ne { color: #D2413A; font-weight: bold } /* Name.Exception */
.nf { color: #0000FF } /* Name.Function */
.nl { color: #A0A000 } /* Name.Label */
.nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
.nt { color: #008000; font-weight: bold } /* Name.Tag */
.nv { color: #19177C } /* Name.Variable */
.ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
.w { color: #bbbbbb } /* Text.Whitespace */
.mb { color: #666666 } /* Literal.Number.Bin */
.mf { color: #666666 } /* Literal.Number.Float */
.mh { color: #666666 } /* Literal.Number.Hex */
.mi { color: #666666 } /* Literal.Number.Integer */
.mo { color: #666666 } /* Literal.Number.Oct */
.sa { color: #BA2121 } /* Literal.String.Affix */
.sb { color: #BA2121 } /* Literal.String.Backtick */
.sc { color: #BA2121 } /* Literal.String.Char */
.dl { color: #BA2121 } /* Literal.String.Delimiter */
.sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
.s2 { color: #BA2121 } /* Literal.String.Double */
.se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
.sh { color: #BA2121 } /* Literal.String.Heredoc */
.si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
.sx { color: #008000 } /* Literal.String.Other */
.sr { color: #BB6688 } /* Literal.String.Regex */
.s1 { color: #BA2121 } /* Literal.String.Single */
.ss { color: #19177C } /* Literal.String.Symbol */
.bp { color: #008000 } /* Name.Builtin.Pseudo */
.fm { color: #0000FF } /* Name.Function.Magic */
.vc { color: #19177C } /* Name.Variable.Class */
.vg { color: #19177C } /* Name.Variable.Global */
.vi { color: #19177C } /* Name.Variable.Instance */
.vm { color: #19177C } /* Name.Variable.Magic */
.il { color: #666666 } /* Literal.Number.Integer.Long */
</style>
<div class="highlight"><pre><span></span>#include &lt;iostream&gt;
int main(int argc, char *argv[]) <span style="color:red;font-size:150%">{</span>
/* This is a comment */
// Print &quot;Hello World&quot; to the screen
std::cout &lt;&lt; &quot;Hello World\n&quot;;
return 0;
<span style="color:red;font-size:150%">}</span>
</pre></div>
</div>
</div>
</div>
</div></div>
</section><section>
<div class="slide" style="float: left"><div class="full" style="width: 100%; float: left">
<div class="cell border-box-sizing code_cell rendered">
<div class="output_area">
<div class="output_html rendered_html output_subarea output_execute_result">
<style>
.hll { background-color: #ffffcc }
.c { color: #408080; font-style: italic } /* Comment */
.err { border: 1px solid #FF0000 } /* Error */
.k { color: #008000; font-weight: bold } /* Keyword */
.o { color: #666666 } /* Operator */
.ch { color: #408080; font-style: italic } /* Comment.Hashbang */
.cm { color: #408080; font-style: italic } /* Comment.Multiline */
.cp { color: #BC7A00 } /* Comment.Preproc */
.cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */
.c1 { color: #408080; font-style: italic } /* Comment.Single */
.cs { color: #408080; font-style: italic } /* Comment.Special */
.gd { color: #A00000 } /* Generic.Deleted */
.ge { font-style: italic } /* Generic.Emph */
.gr { color: #FF0000 } /* Generic.Error */
.gh { color: #000080; font-weight: bold } /* Generic.Heading */
.gi { color: #00A000 } /* Generic.Inserted */
.go { color: #888888 } /* Generic.Output */
.gp { color: #000080; font-weight: bold } /* Generic.Prompt */
.gs { font-weight: bold } /* Generic.Strong */
.gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.gt { color: #0044DD } /* Generic.Traceback */
.kc { color: #008000; font-weight: bold } /* Keyword.Constant */
.kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
.kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
.kp { color: #008000 } /* Keyword.Pseudo */
.kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
.kt { color: #B00040 } /* Keyword.Type */
.m { color: #666666 } /* Literal.Number */
.s { color: #BA2121 } /* Literal.String */
.na { color: #7D9029 } /* Name.Attribute */
.nb { color: #008000 } /* Name.Builtin */
.nc { color: #0000FF; font-weight: bold } /* Name.Class */
.no { color: #880000 } /* Name.Constant */
.nd { color: #AA22FF } /* Name.Decorator */
.ni { color: #999999; font-weight: bold } /* Name.Entity */
.ne { color: #D2413A; font-weight: bold } /* Name.Exception */
.nf { color: #0000FF } /* Name.Function */
.nl { color: #A0A000 } /* Name.Label */
.nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
.nt { color: #008000; font-weight: bold } /* Name.Tag */
.nv { color: #19177C } /* Name.Variable */
.ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
.w { color: #bbbbbb } /* Text.Whitespace */
.mb { color: #666666 } /* Literal.Number.Bin */
.mf { color: #666666 } /* Literal.Number.Float */
.mh { color: #666666 } /* Literal.Number.Hex */
.mi { color: #666666 } /* Literal.Number.Integer */
.mo { color: #666666 } /* Literal.Number.Oct */
.sa { color: #BA2121 } /* Literal.String.Affix */
.sb { color: #BA2121 } /* Literal.String.Backtick */
.sc { color: #BA2121 } /* Literal.String.Char */
.dl { color: #BA2121 } /* Literal.String.Delimiter */
.sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
.s2 { color: #BA2121 } /* Literal.String.Double */
.se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
.sh { color: #BA2121 } /* Literal.String.Heredoc */
.si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
.sx { color: #008000 } /* Literal.String.Other */
.sr { color: #BB6688 } /* Literal.String.Regex */
.s1 { color: #BA2121 } /* Literal.String.Single */
.ss { color: #19177C } /* Literal.String.Symbol */
.bp { color: #008000 } /* Name.Builtin.Pseudo */
.fm { color: #0000FF } /* Name.Function.Magic */
.vc { color: #19177C } /* Name.Variable.Class */
.vg { color: #19177C } /* Name.Variable.Global */
.vi { color: #19177C } /* Name.Variable.Instance */
.vm { color: #19177C } /* Name.Variable.Magic */
.il { color: #666666 } /* Literal.Number.Integer.Long */
</style>
<div class="highlight"><pre><span></span>#include &lt;iostream&gt;
int main(int argc, char *argv[]) {
/* This is a comment */
// Print &quot;Hello World&quot; to the screen
<span style="color:red;font-size:150%">std::cout</span> &lt;&lt; &quot;Hello World\n&quot;;
return 0;
}
</pre></div>
</div>
</div>
</div>
</div></div>
</section><section>
<div class="slide" style="float: left"><div class="full" style="width: 100%; float: left">
<div class="cell border-box-sizing code_cell rendered">
<div class="output_area">
<div class="output_html rendered_html output_subarea output_execute_result">
<style>
.hll { background-color: #ffffcc }
.c { color: #408080; font-style: italic } /* Comment */
.err { border: 1px solid #FF0000 } /* Error */
.k { color: #008000; font-weight: bold } /* Keyword */
.o { color: #666666 } /* Operator */
.ch { color: #408080; font-style: italic } /* Comment.Hashbang */
.cm { color: #408080; font-style: italic } /* Comment.Multiline */
.cp { color: #BC7A00 } /* Comment.Preproc */
.cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */
.c1 { color: #408080; font-style: italic } /* Comment.Single */
.cs { color: #408080; font-style: italic } /* Comment.Special */
.gd { color: #A00000 } /* Generic.Deleted */
.ge { font-style: italic } /* Generic.Emph */
.gr { color: #FF0000 } /* Generic.Error */
.gh { color: #000080; font-weight: bold } /* Generic.Heading */
.gi { color: #00A000 } /* Generic.Inserted */
.go { color: #888888 } /* Generic.Output */
.gp { color: #000080; font-weight: bold } /* Generic.Prompt */
.gs { font-weight: bold } /* Generic.Strong */
.gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.gt { color: #0044DD } /* Generic.Traceback */
.kc { color: #008000; font-weight: bold } /* Keyword.Constant */
.kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
.kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
.kp { color: #008000 } /* Keyword.Pseudo */
.kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
.kt { color: #B00040 } /* Keyword.Type */
.m { color: #666666 } /* Literal.Number */
.s { color: #BA2121 } /* Literal.String */
.na { color: #7D9029 } /* Name.Attribute */
.nb { color: #008000 } /* Name.Builtin */
.nc { color: #0000FF; font-weight: bold } /* Name.Class */
.no { color: #880000 } /* Name.Constant */
.nd { color: #AA22FF } /* Name.Decorator */
.ni { color: #999999; font-weight: bold } /* Name.Entity */
.ne { color: #D2413A; font-weight: bold } /* Name.Exception */
.nf { color: #0000FF } /* Name.Function */
.nl { color: #A0A000 } /* Name.Label */
.nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
.nt { color: #008000; font-weight: bold } /* Name.Tag */
.nv { color: #19177C } /* Name.Variable */
.ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
.w { color: #bbbbbb } /* Text.Whitespace */
.mb { color: #666666 } /* Literal.Number.Bin */
.mf { color: #666666 } /* Literal.Number.Float */
.mh { color: #666666 } /* Literal.Number.Hex */
.mi { color: #666666 } /* Literal.Number.Integer */
.mo { color: #666666 } /* Literal.Number.Oct */
.sa { color: #BA2121 } /* Literal.String.Affix */
.sb { color: #BA2121 } /* Literal.String.Backtick */
.sc { color: #BA2121 } /* Literal.String.Char */
.dl { color: #BA2121 } /* Literal.String.Delimiter */
.sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
.s2 { color: #BA2121 } /* Literal.String.Double */
.se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
.sh { color: #BA2121 } /* Literal.String.Heredoc */
.si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
.sx { color: #008000 } /* Literal.String.Other */
.sr { color: #BB6688 } /* Literal.String.Regex */
.s1 { color: #BA2121 } /* Literal.String.Single */
.ss { color: #19177C } /* Literal.String.Symbol */
.bp { color: #008000 } /* Name.Builtin.Pseudo */
.fm { color: #0000FF } /* Name.Function.Magic */
.vc { color: #19177C } /* Name.Variable.Class */
.vg { color: #19177C } /* Name.Variable.Global */
.vi { color: #19177C } /* Name.Variable.Instance */
.vm { color: #19177C } /* Name.Variable.Magic */
.il { color: #666666 } /* Literal.Number.Integer.Long */
</style>
<div class="highlight"><pre><span></span><span class="cp">#include</span> <span class="cpf">&lt;iostream&gt;</span><span class="cp"></span>
<span class="kt">int</span> <span class="nf">main</span><span class="p">(</span><span class="kt">int</span> <span class="n">argc</span><span class="p">,</span> <span class="kt">char</span> <span class="o">*</span><span class="n">argv</span><span class="p">[])</span> <span class="p">{</span>
<span class="cm">/* This is a comment */</span>
<span class="c1">// Print &quot;Hello World&quot; to the screen</span>
<span class="n">std</span><span class="o">::</span><span class="n">cout</span> <span class="o">&lt;&lt;</span> <span class="s">&quot;Hello World</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">;</span>
<span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
<span class="p">}</span>
</pre></div>
</div>
</div>
</div>
</div></div>
</section><section>
<div class="slide" style="float: left"><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<h2 id="Let's-compile-the-code">Let's compile the code<a class="anchor-link" href="#Let's-compile-the-code">&#182;</a></h2><div class="highlight"><pre><span></span>g++ -Wall hello.cpp -o hello
</pre></div>
<h2 id="Let's-launch-it">Let's launch it<a class="anchor-link" href="#Let's-launch-it">&#182;</a></h2><div class="highlight"><pre><span></span>./hello
</pre></div>
</div>
</div></div>
</section></section><section><section>
<div class="slide" style="float: left"><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<h1 id="Build-systems-and-Makefiles">Build systems and Makefiles<a class="anchor-link" href="#Build-systems-and-Makefiles">&#182;</a></h1><ul>
<li><strong>Make</strong>: utility to automatically build executable programs and libraries</li>
<li>target program rules specified in file <strong>makefile</strong></li>
</ul>
<p><a href="http://en.wikipedia.org/wiki/Make_software">wikipedia: Makefiles</a></p>
</div>
</div></div>
</section><section>
<div class="slide" style="float: left"><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<h2 id="Rules-syntax">Rules syntax<a class="anchor-link" href="#Rules-syntax">&#182;</a></h2><div class="highlight"><pre><span></span><span class="nf">target</span><span class="o">:</span> <span class="n">dependency</span>1 <span class="n">dependency</span>2 <span class="n">dependency</span>3
<span class="err">&lt;TAB&gt;</span> <span class="err">rule</span>
</pre></div>
<ul>
<li>A simple example for building several files into an executable</li>
</ul>
<div class="highlight"><pre><span></span><span class="nf">all</span><span class="o">:</span> <span class="n">file</span>1.<span class="n">o</span> <span class="n">file</span>1.<span class="n">hh</span> <span class="n">main</span>.<span class="n">o</span>
gcc -o <span class="nb">exec</span> file1.o main.o
<span class="nf">file1.o</span><span class="o">:</span> <span class="n">file</span>1.<span class="n">hh</span>
g++ -c file1.cc
<span class="nf">main.o</span><span class="o">:</span> <span class="n">file</span>1.<span class="n">hh</span>
g++ -c main.cc
</pre></div>
</div>
</div></div>
</section><section>
<div class="slide" style="float: left"><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<ul>
<li>Using intermediate variables</li>
</ul>
<div class="highlight"><pre><span></span><span class="nv">CXX</span><span class="o">=</span>g++
<span class="nv">LD</span><span class="o">=</span>gcc
<span class="nv">CXXFLAGS</span><span class="o">=</span>-g -Wall
<span class="nv">LDFLAGS</span><span class="o">=</span>-g -Wall
<span class="nf">all</span><span class="o">:</span> <span class="n">file</span>1.<span class="n">o</span> <span class="n">file</span>1.<span class="n">hh</span> <span class="n">main</span>.<span class="n">o</span>
<span class="k">$(</span>LD<span class="k">)</span> <span class="k">$(</span>LDFLAGS<span class="k">)</span> -o <span class="nb">exec</span> file1.o main.o
<span class="nf">file1.o</span><span class="o">:</span> <span class="n">file</span>1.<span class="n">hh</span>
<span class="k">$(</span>CXX<span class="k">)</span> <span class="k">$(</span>CXXFLAGS<span class="k">)</span> -c file1.cc
<span class="nf">main.o</span><span class="o">:</span> <span class="n">file</span>1.<span class="n">hh</span>
<span class="k">$(</span>CXX<span class="k">)</span> <span class="k">$(</span>CXXFLAGS<span class="k">)</span> -c main.cc
</pre></div>
</div>
</div></div>
</section><section>
<div class="slide" style="float: left"><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<h2 id="CMake">CMake<a class="anchor-link" href="#CMake">&#182;</a></h2><h3 id="What-is-CMake-?">What is CMake ?<a class="anchor-link" href="#What-is-CMake-?">&#182;</a></h3><ul>
<li>CMake is cross-platform free and open-source software for managing the build process of software using a compiler-independent method.</li>
<li>It is designed to support directory hierarchies and applications that depend on multiple libraries.</li>
<li>It is used in conjunction with native build environments such as make, Apple's Xcode, and Microsoft Visual Studio.</li>
<li>It has minimal dependencies, requiring only a C++ compiler on its own build system.</li>
<li>Concretely, it is a build-system generator, which is multi-plateform.</li>
</ul>
</div>
</div></div>
</section><section>
<div class="slide" style="float: left"><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="CMake-basic-syntax">CMake basic syntax<a class="anchor-link" href="#CMake-basic-syntax">&#182;</a></h3><div class="highlight"><pre><span></span><span class="nb">cmake_minimum_required</span> <span class="p">(</span><span class="s">VERSION</span> <span class="s">2.6</span><span class="p">)</span>
<span class="nb">project</span> <span class="p">(</span><span class="s">GeneratedFromCodeGenerator</span><span class="p">)</span>
<span class="nb">add_executable</span><span class="p">(</span><span class="s">main</span>
<span class="s">main.cc</span>
<span class="p">)</span>
</pre></div>
<p>The first lines provide indication about the project and CMake version
requirements.</p>
<p>The command <strong>add_executable</strong> specifies that there is an executable to add,
named <strong>main</strong>, and the files to include are listed below: <strong>main.cc</strong>.</p>
</div>
</div></div>
</section><section>
<div class="slide" style="float: left"><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="Link-to-another-library-(example-math-library-libm.so)">Link to another library (example math library libm.so)<a class="anchor-link" href="#Link-to-another-library-(example-math-library-libm.so)">&#182;</a></h3><div class="highlight"><pre><span></span><span class="nb">cmake_minimum_required</span> <span class="p">(</span><span class="s">VERSION</span> <span class="s">2.6</span><span class="p">)</span>
<span class="nb">project</span> <span class="p">(</span><span class="s">GeneratedFromCodeGenerator</span><span class="p">)</span>
<span class="nb">add_executable</span><span class="p">(</span><span class="s">main</span>
<span class="s">main.cc</span>
<span class="p">)</span>
<span class="nb">target_link_libraries</span><span class="p">(</span><span class="s">main</span> <span class="s">m</span><span class="p">)</span>
</pre></div>
</div>
</div></div>
</section><section>
<div class="slide" style="float: left"><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="The-advantages-of-cmake">The advantages of cmake<a class="anchor-link" href="#The-advantages-of-cmake">&#182;</a></h3><ul>
<li><p>You can have two build directory, one configured in Debug, one in Release. Building the
Debug/Release can be made simply by changing directory.</p>
</li>
<li><p>CMake has many generators</p>
</li>
</ul>
</div>
</div><div class="split" style="width: 45%;padding: 2.5%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<ul>
<li>Borland Makefiles</li>
<li>MSYS Makefiles</li>
<li>MinGW Makefiles</li>
<li>NMake Makefiles</li>
<li>NMake Makefiles JOM</li>
<li>Ninja</li>
<li>Unix Makefiles</li>
<li>Watcom WMake</li>
<li>Visual Studio 6</li>
<li>Visual Studio 7</li>
<li>Visual Studio 7 .NET 2003</li>
<li>Visual Studio 8 2005</li>
</ul>
</div>
</div><div class="split" style="width: 45%;padding: 2.5%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<ul>
<li>Visual Studio 9 2008</li>
<li>Visual Studio 10 2010</li>
<li>Visual Studio 11 2012</li>
<li>Visual Studio 12 2013</li>
<li>Xcode</li>
<li>CodeBlocks</li>
<li>CodeLite</li>
<li>Eclipse CDT4</li>
<li>KDevelop3</li>
<li>Kate</li>
<li>Sublime Text 2</li>
</ul>
</div>
</div></div>
</section><section>
<div class="slide" style="float: left"><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<h1 id="CMake-default-generator">CMake default generator<a class="anchor-link" href="#CMake-default-generator">&#182;</a></h1><p>In general, Makefiles have to be generated with CMake. For this, the procedure is:</p>
<div class="highlight"><pre><span></span>mkdir build
<span class="nb">cd</span> build
ccmake ../
</pre></div>
<p>Then the GUI should launch. Hit 'c' to configure.
Hit 'g' to generate.</p>
<h2 id="CMAKE_BUILD_TYPE-(debug-or-not)"><em>CMAKE_BUILD_TYPE</em> (debug or not)<a class="anchor-link" href="#CMAKE_BUILD_TYPE-(debug-or-not)">&#182;</a></h2><ul>
<li>Debug (with debug symbols)</li>
<li>Release (optimized)</li>
</ul>
<h1 id="CLion-reads-automatically-CMakeLists-(recommended)">CLion reads <strong>automatically</strong> CMakeLists (recommended)<a class="anchor-link" href="#CLion-reads-automatically-CMakeLists-(recommended)">&#182;</a></h1>
</div>
</div></div>
</section></section><section><section>
<div class="slide" style="float: left"><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<h1 id="-C/C++-basic-syntax-"><center> C/C++ basic syntax </center><a class="anchor-link" href="#-C/C++-basic-syntax-">&#182;</a></h1>
</div>
</div></div>
</section><section>
<div class="slide" style="float: left"><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<ul>
<li>comments:</li>
</ul>
</div>
</div><div class="full" style="width: 100%; float: left">
<div class="cell border-box-sizing code_cell rendered">
<div class="output_area">
<div class="output_html rendered_html output_subarea output_execute_result">
<style>
.hll { background-color: #ffffcc }
.c { color: #408080; font-style: italic } /* Comment */
.err { border: 1px solid #FF0000 } /* Error */
.k { color: #008000; font-weight: bold } /* Keyword */
.o { color: #666666 } /* Operator */
.ch { color: #408080; font-style: italic } /* Comment.Hashbang */
.cm { color: #408080; font-style: italic } /* Comment.Multiline */
.cp { color: #BC7A00 } /* Comment.Preproc */
.cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */
.c1 { color: #408080; font-style: italic } /* Comment.Single */
.cs { color: #408080; font-style: italic } /* Comment.Special */
.gd { color: #A00000 } /* Generic.Deleted */
.ge { font-style: italic } /* Generic.Emph */
.gr { color: #FF0000 } /* Generic.Error */
.gh { color: #000080; font-weight: bold } /* Generic.Heading */
.gi { color: #00A000 } /* Generic.Inserted */
.go { color: #888888 } /* Generic.Output */
.gp { color: #000080; font-weight: bold } /* Generic.Prompt */
.gs { font-weight: bold } /* Generic.Strong */
.gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.gt { color: #0044DD } /* Generic.Traceback */
.kc { color: #008000; font-weight: bold } /* Keyword.Constant */
.kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
.kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
.kp { color: #008000 } /* Keyword.Pseudo */
.kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
.kt { color: #B00040 } /* Keyword.Type */
.m { color: #666666 } /* Literal.Number */
.s { color: #BA2121 } /* Literal.String */
.na { color: #7D9029 } /* Name.Attribute */
.nb { color: #008000 } /* Name.Builtin */
.nc { color: #0000FF; font-weight: bold } /* Name.Class */
.no { color: #880000 } /* Name.Constant */
.nd { color: #AA22FF } /* Name.Decorator */
.ni { color: #999999; font-weight: bold } /* Name.Entity */
.ne { color: #D2413A; font-weight: bold } /* Name.Exception */
.nf { color: #0000FF } /* Name.Function */
.nl { color: #A0A000 } /* Name.Label */
.nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
.nt { color: #008000; font-weight: bold } /* Name.Tag */
.nv { color: #19177C } /* Name.Variable */
.ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
.w { color: #bbbbbb } /* Text.Whitespace */
.mb { color: #666666 } /* Literal.Number.Bin */
.mf { color: #666666 } /* Literal.Number.Float */
.mh { color: #666666 } /* Literal.Number.Hex */
.mi { color: #666666 } /* Literal.Number.Integer */
.mo { color: #666666 } /* Literal.Number.Oct */
.sa { color: #BA2121 } /* Literal.String.Affix */
.sb { color: #BA2121 } /* Literal.String.Backtick */
.sc { color: #BA2121 } /* Literal.String.Char */
.dl { color: #BA2121 } /* Literal.String.Delimiter */
.sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
.s2 { color: #BA2121 } /* Literal.String.Double */
.se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
.sh { color: #BA2121 } /* Literal.String.Heredoc */
.si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
.sx { color: #008000 } /* Literal.String.Other */
.sr { color: #BB6688 } /* Literal.String.Regex */
.s1 { color: #BA2121 } /* Literal.String.Single */
.ss { color: #19177C } /* Literal.String.Symbol */
.bp { color: #008000 } /* Name.Builtin.Pseudo */
.fm { color: #0000FF } /* Name.Function.Magic */
.vc { color: #19177C } /* Name.Variable.Class */
.vg { color: #19177C } /* Name.Variable.Global */
.vi { color: #19177C } /* Name.Variable.Instance */
.vm { color: #19177C } /* Name.Variable.Magic */
.il { color: #666666 } /* Literal.Number.Integer.Long */
</style>
<div class="highlight"><pre><span></span><span class="c1">// my single line comment</span>
<span class="cm">/* here is</span>
<span class="cm"> my multiline comment</span>
<span class="cm">*/</span>
</pre></div>
</div>
</div>
</div>
</div></div>
</section><section>
<div class="slide" style="float: left"><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<ul>
<li>generic instruction syntax: Ends with ;</li>
</ul>
</div>
</div><div class="full" style="width: 100%; float: left">
<div class="cell border-box-sizing code_cell rendered">
<div class="output_area">
<div class="output_html rendered_html output_subarea output_execute_result">
<style>
.hll { background-color: #ffffcc }
.c { color: #408080; font-style: italic } /* Comment */
.err { border: 1px solid #FF0000 } /* Error */
.k { color: #008000; font-weight: bold } /* Keyword */
.o { color: #666666 } /* Operator */
.ch { color: #408080; font-style: italic } /* Comment.Hashbang */
.cm { color: #408080; font-style: italic } /* Comment.Multiline */
.cp { color: #BC7A00 } /* Comment.Preproc */
.cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */
.c1 { color: #408080; font-style: italic } /* Comment.Single */
.cs { color: #408080; font-style: italic } /* Comment.Special */
.gd { color: #A00000 } /* Generic.Deleted */
.ge { font-style: italic } /* Generic.Emph */
.gr { color: #FF0000 } /* Generic.Error */
.gh { color: #000080; font-weight: bold } /* Generic.Heading */
.gi { color: #00A000 } /* Generic.Inserted */
.go { color: #888888 } /* Generic.Output */
.gp { color: #000080; font-weight: bold } /* Generic.Prompt */
.gs { font-weight: bold } /* Generic.Strong */
.gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.gt { color: #0044DD } /* Generic.Traceback */
.kc { color: #008000; font-weight: bold } /* Keyword.Constant */
.kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
.kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
.kp { color: #008000 } /* Keyword.Pseudo */
.kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
.kt { color: #B00040 } /* Keyword.Type */
.m { color: #666666 } /* Literal.Number */
.s { color: #BA2121 } /* Literal.String */
.na { color: #7D9029 } /* Name.Attribute */
.nb { color: #008000 } /* Name.Builtin */
.nc { color: #0000FF; font-weight: bold } /* Name.Class */
.no { color: #880000 } /* Name.Constant */
.nd { color: #AA22FF } /* Name.Decorator */
.ni { color: #999999; font-weight: bold } /* Name.Entity */
.ne { color: #D2413A; font-weight: bold } /* Name.Exception */
.nf { color: #0000FF } /* Name.Function */
.nl { color: #A0A000 } /* Name.Label */
.nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
.nt { color: #008000; font-weight: bold } /* Name.Tag */
.nv { color: #19177C } /* Name.Variable */
.ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
.w { color: #bbbbbb } /* Text.Whitespace */
.mb { color: #666666 } /* Literal.Number.Bin */
.mf { color: #666666 } /* Literal.Number.Float */
.mh { color: #666666 } /* Literal.Number.Hex */
.mi { color: #666666 } /* Literal.Number.Integer */
.mo { color: #666666 } /* Literal.Number.Oct */
.sa { color: #BA2121 } /* Literal.String.Affix */
.sb { color: #BA2121 } /* Literal.String.Backtick */
.sc { color: #BA2121 } /* Literal.String.Char */
.dl { color: #BA2121 } /* Literal.String.Delimiter */
.sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
.s2 { color: #BA2121 } /* Literal.String.Double */
.se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
.sh { color: #BA2121 } /* Literal.String.Heredoc */
.si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
.sx { color: #008000 } /* Literal.String.Other */
.sr { color: #BB6688 } /* Literal.String.Regex */
.s1 { color: #BA2121 } /* Literal.String.Single */
.ss { color: #19177C } /* Literal.String.Symbol */
.bp { color: #008000 } /* Name.Builtin.Pseudo */
.fm { color: #0000FF } /* Name.Function.Magic */
.vc { color: #19177C } /* Name.Variable.Class */
.vg { color: #19177C } /* Name.Variable.Global */
.vi { color: #19177C } /* Name.Variable.Instance */
.vm { color: #19177C } /* Name.Variable.Magic */
.il { color: #666666 } /* Literal.Number.Integer.Long */
</style>
<div class="highlight"><pre><span></span>instruction<span style="color:red;font-size:150%">;</span>
</pre></div>
</div>
</div>
</div>
</div></div>
</section><section>
<div class="slide" style="float: left"><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<ul>
<li>blocks (scope concept)</li>
</ul>
</div>
</div><div class="full" style="width: 100%; float: left">
<div class="cell border-box-sizing code_cell rendered">
<div class="output_area">
<div class="output_html rendered_html output_subarea output_execute_result">
<style>
.hll { background-color: #ffffcc }
.c { color: #408080; font-style: italic } /* Comment */
.err { border: 1px solid #FF0000 } /* Error */
.k { color: #008000; font-weight: bold } /* Keyword */
.o { color: #666666 } /* Operator */
.ch { color: #408080; font-style: italic } /* Comment.Hashbang */
.cm { color: #408080; font-style: italic } /* Comment.Multiline */
.cp { color: #BC7A00 } /* Comment.Preproc */
.cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */
.c1 { color: #408080; font-style: italic } /* Comment.Single */
.cs { color: #408080; font-style: italic } /* Comment.Special */
.gd { color: #A00000 } /* Generic.Deleted */
.ge { font-style: italic } /* Generic.Emph */
.gr { color: #FF0000 } /* Generic.Error */
.gh { color: #000080; font-weight: bold } /* Generic.Heading */
.gi { color: #00A000 } /* Generic.Inserted */
.go { color: #888888 } /* Generic.Output */
.gp { color: #000080; font-weight: bold } /* Generic.Prompt */
.gs { font-weight: bold } /* Generic.Strong */
.gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.gt { color: #0044DD } /* Generic.Traceback */
.kc { color: #008000; font-weight: bold } /* Keyword.Constant */
.kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
.kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
.kp { color: #008000 } /* Keyword.Pseudo */
.kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
.kt { color: #B00040 } /* Keyword.Type */
.m { color: #666666 } /* Literal.Number */
.s { color: #BA2121 } /* Literal.String */
.na { color: #7D9029 } /* Name.Attribute */
.nb { color: #008000 } /* Name.Builtin */
.nc { color: #0000FF; font-weight: bold } /* Name.Class */
.no { color: #880000 } /* Name.Constant */
.nd { color: #AA22FF } /* Name.Decorator */
.ni { color: #999999; font-weight: bold } /* Name.Entity */
.ne { color: #D2413A; font-weight: bold } /* Name.Exception */
.nf { color: #0000FF } /* Name.Function */
.nl { color: #A0A000 } /* Name.Label */
.nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
.nt { color: #008000; font-weight: bold } /* Name.Tag */
.nv { color: #19177C } /* Name.Variable */
.ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
.w { color: #bbbbbb } /* Text.Whitespace */
.mb { color: #666666 } /* Literal.Number.Bin */
.mf { color: #666666 } /* Literal.Number.Float */
.mh { color: #666666 } /* Literal.Number.Hex */
.mi { color: #666666 } /* Literal.Number.Integer */
.mo { color: #666666 } /* Literal.Number.Oct */
.sa { color: #BA2121 } /* Literal.String.Affix */
.sb { color: #BA2121 } /* Literal.String.Backtick */
.sc { color: #BA2121 } /* Literal.String.Char */
.dl { color: #BA2121 } /* Literal.String.Delimiter */
.sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
.s2 { color: #BA2121 } /* Literal.String.Double */
.se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
.sh { color: #BA2121 } /* Literal.String.Heredoc */
.si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
.sx { color: #008000 } /* Literal.String.Other */
.sr { color: #BB6688 } /* Literal.String.Regex */
.s1 { color: #BA2121 } /* Literal.String.Single */
.ss { color: #19177C } /* Literal.String.Symbol */
.bp { color: #008000 } /* Name.Builtin.Pseudo */
.fm { color: #0000FF } /* Name.Function.Magic */
.vc { color: #19177C } /* Name.Variable.Class */
.vg { color: #19177C } /* Name.Variable.Global */
.vi { color: #19177C } /* Name.Variable.Instance */
.vm { color: #19177C } /* Name.Variable.Magic */
.il { color: #666666 } /* Literal.Number.Integer.Long */
</style>
<div class="highlight"><pre><span></span><span style="color:red;font-size:150%">{</span>
SOMECODE;
<span style="color:red;font-size:150%">}</span>
</pre></div>
</div>
</div>
</div>
</div><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<p><a href="http://en.wikibooks.org/wiki/C%2B%2B_Programming/Programming_Languages/C%2B%2B/Code/Statements/Variables#Locality_.28hardware.29">wikipedia: scope</a></p>
</div>
</div></div>
</section><section>
<div class="slide" style="float: left"><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="Variables">Variables<a class="anchor-link" href="#Variables">&#182;</a></h3>
</div>
</div><div class="full" style="width: 100%; float: left">
<div class="cell border-box-sizing code_cell rendered">
<div class="output_area">
<div class="output_html rendered_html output_subarea output_execute_result">
<style>
.hll { background-color: #ffffcc }
.c { color: #408080; font-style: italic } /* Comment */
.err { border: 1px solid #FF0000 } /* Error */
.k { color: #008000; font-weight: bold } /* Keyword */
.o { color: #666666 } /* Operator */
.ch { color: #408080; font-style: italic } /* Comment.Hashbang */
.cm { color: #408080; font-style: italic } /* Comment.Multiline */
.cp { color: #BC7A00 } /* Comment.Preproc */
.cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */
.c1 { color: #408080; font-style: italic } /* Comment.Single */
.cs { color: #408080; font-style: italic } /* Comment.Special */
.gd { color: #A00000 } /* Generic.Deleted */
.ge { font-style: italic } /* Generic.Emph */
.gr { color: #FF0000 } /* Generic.Error */
.gh { color: #000080; font-weight: bold } /* Generic.Heading */
.gi { color: #00A000 } /* Generic.Inserted */
.go { color: #888888 } /* Generic.Output */
.gp { color: #000080; font-weight: bold } /* Generic.Prompt */
.gs { font-weight: bold } /* Generic.Strong */
.gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.gt { color: #0044DD } /* Generic.Traceback */
.kc { color: #008000; font-weight: bold } /* Keyword.Constant */
.kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
.kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
.kp { color: #008000 } /* Keyword.Pseudo */
.kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
.kt { color: #B00040 } /* Keyword.Type */
.m { color: #666666 } /* Literal.Number */
.s { color: #BA2121 } /* Literal.String */
.na { color: #7D9029 } /* Name.Attribute */
.nb { color: #008000 } /* Name.Builtin */
.nc { color: #0000FF; font-weight: bold } /* Name.Class */
.no { color: #880000 } /* Name.Constant */
.nd { color: #AA22FF } /* Name.Decorator */
.ni { color: #999999; font-weight: bold } /* Name.Entity */
.ne { color: #D2413A; font-weight: bold } /* Name.Exception */
.nf { color: #0000FF } /* Name.Function */
.nl { color: #A0A000 } /* Name.Label */
.nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
.nt { color: #008000; font-weight: bold } /* Name.Tag */
.nv { color: #19177C } /* Name.Variable */
.ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
.w { color: #bbbbbb } /* Text.Whitespace */
.mb { color: #666666 } /* Literal.Number.Bin */
.mf { color: #666666 } /* Literal.Number.Float */
.mh { color: #666666 } /* Literal.Number.Hex */
.mi { color: #666666 } /* Literal.Number.Integer */
.mo { color: #666666 } /* Literal.Number.Oct */
.sa { color: #BA2121 } /* Literal.String.Affix */
.sb { color: #BA2121 } /* Literal.String.Backtick */
.sc { color: #BA2121 } /* Literal.String.Char */
.dl { color: #BA2121 } /* Literal.String.Delimiter */
.sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
.s2 { color: #BA2121 } /* Literal.String.Double */
.se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
.sh { color: #BA2121 } /* Literal.String.Heredoc */
.si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
.sx { color: #008000 } /* Literal.String.Other */
.sr { color: #BB6688 } /* Literal.String.Regex */
.s1 { color: #BA2121 } /* Literal.String.Single */
.ss { color: #19177C } /* Literal.String.Symbol */
.bp { color: #008000 } /* Name.Builtin.Pseudo */
.fm { color: #0000FF } /* Name.Function.Magic */
.vc { color: #19177C } /* Name.Variable.Class */
.vg { color: #19177C } /* Name.Variable.Global */
.vi { color: #19177C } /* Name.Variable.Instance */
.vm { color: #19177C } /* Name.Variable.Magic */
.il { color: #666666 } /* Literal.Number.Integer.Long */
</style>
<div class="highlight"><pre><span></span><span class="c1">// definition of some variables</span>
<span class="n">type</span> <span class="n">var_name</span><span class="p">;</span>
</pre></div>
</div>
</div>
</div>
</div><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<p>Possible (basic) types:
char, short, int, long int, float, double, long double, bool</p>
<ul>
<li>naming convention: name must make sense</li>
<li>const, signed, unsigned</li>
</ul>
<p><a href="http://en.wikibooks.org/wiki/C%2B%2B_Programming/Programming_Languages/C%2B%2B/Code/Statements/Variables#Endianness">wikipedia: types</a></p>
</div>
</div><div class="full" style="width: 100%; float: left">
<div class="cell border-box-sizing code_cell rendered">
<div class="output_area">
<div class="output_html rendered_html output_subarea output_execute_result">
<style>
.hll { background-color: #ffffcc }
.c { color: #408080; font-style: italic } /* Comment */
.err { border: 1px solid #FF0000 } /* Error */
.k { color: #008000; font-weight: bold } /* Keyword */
.o { color: #666666 } /* Operator */
.ch { color: #408080; font-style: italic } /* Comment.Hashbang */
.cm { color: #408080; font-style: italic } /* Comment.Multiline */
.cp { color: #BC7A00 } /* Comment.Preproc */
.cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */
.c1 { color: #408080; font-style: italic } /* Comment.Single */
.cs { color: #408080; font-style: italic } /* Comment.Special */
.gd { color: #A00000 } /* Generic.Deleted */
.ge { font-style: italic } /* Generic.Emph */
.gr { color: #FF0000 } /* Generic.Error */
.gh { color: #000080; font-weight: bold } /* Generic.Heading */
.gi { color: #00A000 } /* Generic.Inserted */
.go { color: #888888 } /* Generic.Output */
.gp { color: #000080; font-weight: bold } /* Generic.Prompt */
.gs { font-weight: bold } /* Generic.Strong */
.gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.gt { color: #0044DD } /* Generic.Traceback */
.kc { color: #008000; font-weight: bold } /* Keyword.Constant */
.kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
.kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
.kp { color: #008000 } /* Keyword.Pseudo */
.kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
.kt { color: #B00040 } /* Keyword.Type */
.m { color: #666666 } /* Literal.Number */
.s { color: #BA2121 } /* Literal.String */
.na { color: #7D9029 } /* Name.Attribute */
.nb { color: #008000 } /* Name.Builtin */
.nc { color: #0000FF; font-weight: bold } /* Name.Class */
.no { color: #880000 } /* Name.Constant */
.nd { color: #AA22FF } /* Name.Decorator */
.ni { color: #999999; font-weight: bold } /* Name.Entity */
.ne { color: #D2413A; font-weight: bold } /* Name.Exception */
.nf { color: #0000FF } /* Name.Function */
.nl { color: #A0A000 } /* Name.Label */
.nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
.nt { color: #008000; font-weight: bold } /* Name.Tag */
.nv { color: #19177C } /* Name.Variable */
.ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
.w { color: #bbbbbb } /* Text.Whitespace */
.mb { color: #666666 } /* Literal.Number.Bin */
.mf { color: #666666 } /* Literal.Number.Float */
.mh { color: #666666 } /* Literal.Number.Hex */
.mi { color: #666666 } /* Literal.Number.Integer */
.mo { color: #666666 } /* Literal.Number.Oct */
.sa { color: #BA2121 } /* Literal.String.Affix */
.sb { color: #BA2121 } /* Literal.String.Backtick */
.sc { color: #BA2121 } /* Literal.String.Char */
.dl { color: #BA2121 } /* Literal.String.Delimiter */
.sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
.s2 { color: #BA2121 } /* Literal.String.Double */
.se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
.sh { color: #BA2121 } /* Literal.String.Heredoc */
.si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
.sx { color: #008000 } /* Literal.String.Other */
.sr { color: #BB6688 } /* Literal.String.Regex */
.s1 { color: #BA2121 } /* Literal.String.Single */
.ss { color: #19177C } /* Literal.String.Symbol */
.bp { color: #008000 } /* Name.Builtin.Pseudo */
.fm { color: #0000FF } /* Name.Function.Magic */
.vc { color: #19177C } /* Name.Variable.Class */
.vg { color: #19177C } /* Name.Variable.Global */
.vi { color: #19177C } /* Name.Variable.Instance */
.vm { color: #19177C } /* Name.Variable.Magic */
.il { color: #666666 } /* Literal.Number.Integer.Long */
</style>
<div class="highlight"><pre><span></span><span class="kt">int</span> <span class="n">a</span> <span class="o">=</span> <span class="mi">2</span><span class="p">;</span>
<span class="kt">double</span> <span class="n">t</span> <span class="o">=</span> <span class="mf">34e10</span><span class="p">;</span>
</pre></div>
</div>
</div>
</div>
</div><div class="fragment" style="width: 100%;float: left"><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="Type-conversion-(needs-to-be-explicitly-converted)">Type conversion (needs to be explicitly converted)<a class="anchor-link" href="#Type-conversion-(needs-to-be-explicitly-converted)">&#182;</a></h3>
</div>
</div><div class="full" style="width: 100%; float: left">
<div class="cell border-box-sizing code_cell rendered">
<div class="output_area">
<div class="output_html rendered_html output_subarea output_execute_result">
<style>
.hll { background-color: #ffffcc }
.c { color: #408080; font-style: italic } /* Comment */
.err { border: 1px solid #FF0000 } /* Error */
.k { color: #008000; font-weight: bold } /* Keyword */
.o { color: #666666 } /* Operator */
.ch { color: #408080; font-style: italic } /* Comment.Hashbang */
.cm { color: #408080; font-style: italic } /* Comment.Multiline */
.cp { color: #BC7A00 } /* Comment.Preproc */
.cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */
.c1 { color: #408080; font-style: italic } /* Comment.Single */
.cs { color: #408080; font-style: italic } /* Comment.Special */
.gd { color: #A00000 } /* Generic.Deleted */
.ge { font-style: italic } /* Generic.Emph */
.gr { color: #FF0000 } /* Generic.Error */
.gh { color: #000080; font-weight: bold } /* Generic.Heading */
.gi { color: #00A000 } /* Generic.Inserted */
.go { color: #888888 } /* Generic.Output */
.gp { color: #000080; font-weight: bold } /* Generic.Prompt */
.gs { font-weight: bold } /* Generic.Strong */
.gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.gt { color: #0044DD } /* Generic.Traceback */
.kc { color: #008000; font-weight: bold } /* Keyword.Constant */
.kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
.kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
.kp { color: #008000 } /* Keyword.Pseudo */
.kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
.kt { color: #B00040 } /* Keyword.Type */
.m { color: #666666 } /* Literal.Number */
.s { color: #BA2121 } /* Literal.String */
.na { color: #7D9029 } /* Name.Attribute */
.nb { color: #008000 } /* Name.Builtin */
.nc { color: #0000FF; font-weight: bold } /* Name.Class */
.no { color: #880000 } /* Name.Constant */
.nd { color: #AA22FF } /* Name.Decorator */
.ni { color: #999999; font-weight: bold } /* Name.Entity */
.ne { color: #D2413A; font-weight: bold } /* Name.Exception */
.nf { color: #0000FF } /* Name.Function */
.nl { color: #A0A000 } /* Name.Label */
.nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
.nt { color: #008000; font-weight: bold } /* Name.Tag */
.nv { color: #19177C } /* Name.Variable */
.ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
.w { color: #bbbbbb } /* Text.Whitespace */
.mb { color: #666666 } /* Literal.Number.Bin */
.mf { color: #666666 } /* Literal.Number.Float */
.mh { color: #666666 } /* Literal.Number.Hex */
.mi { color: #666666 } /* Literal.Number.Integer */
.mo { color: #666666 } /* Literal.Number.Oct */
.sa { color: #BA2121 } /* Literal.String.Affix */
.sb { color: #BA2121 } /* Literal.String.Backtick */
.sc { color: #BA2121 } /* Literal.String.Char */
.dl { color: #BA2121 } /* Literal.String.Delimiter */
.sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
.s2 { color: #BA2121 } /* Literal.String.Double */
.se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
.sh { color: #BA2121 } /* Literal.String.Heredoc */
.si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
.sx { color: #008000 } /* Literal.String.Other */
.sr { color: #BB6688 } /* Literal.String.Regex */
.s1 { color: #BA2121 } /* Literal.String.Single */
.ss { color: #19177C } /* Literal.String.Symbol */
.bp { color: #008000 } /* Name.Builtin.Pseudo */
.fm { color: #0000FF } /* Name.Function.Magic */
.vc { color: #19177C } /* Name.Variable.Class */
.vg { color: #19177C } /* Name.Variable.Global */
.vi { color: #19177C } /* Name.Variable.Instance */
.vm { color: #19177C } /* Name.Variable.Magic */
.il { color: #666666 } /* Literal.Number.Integer.Long */
</style>
<div class="highlight"><pre><span></span><span class="cp">#include</span> <span class="cpf">&lt;cstdlib&gt;</span><span class="cp"></span>
<span class="kt">int</span> <span class="n">a</span> <span class="o">=</span> <span class="n">atoi</span><span class="p">(</span><span class="s">&quot;2&quot;</span><span class="p">);</span>
<span class="kt">double</span> <span class="n">b</span> <span class="o">=</span> <span class="n">atof</span><span class="p">(</span><span class="s">&quot;2.3&quot;</span><span class="p">);</span>
</pre></div>
</div>
</div>
</div>
</div></div></div>
</section><section>
<div class="slide" style="float: left"><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="Variable-scope">Variable scope<a class="anchor-link" href="#Variable-scope">&#182;</a></h3><ul>
<li>A variable defined outside of any scope is <strong>global</strong>.</li>
<li>Otherwise its name makes sense <strong>only</strong> in the block they are defined.</li>
</ul>
</div>
</div><div class="fragment" style="width: 100%;float: left"><div class="full" style="width: 100%; float: left">
<div class="cell border-box-sizing code_cell rendered">
<div class="output_area">
<div class="output_html rendered_html output_subarea output_execute_result">
<style>
.hll { background-color: #ffffcc }
.c { color: #408080; font-style: italic } /* Comment */
.err { border: 1px solid #FF0000 } /* Error */
.k { color: #008000; font-weight: bold } /* Keyword */
.o { color: #666666 } /* Operator */
.ch { color: #408080; font-style: italic } /* Comment.Hashbang */
.cm { color: #408080; font-style: italic } /* Comment.Multiline */
.cp { color: #BC7A00 } /* Comment.Preproc */
.cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */
.c1 { color: #408080; font-style: italic } /* Comment.Single */
.cs { color: #408080; font-style: italic } /* Comment.Special */
.gd { color: #A00000 } /* Generic.Deleted */
.ge { font-style: italic } /* Generic.Emph */
.gr { color: #FF0000 } /* Generic.Error */
.gh { color: #000080; font-weight: bold } /* Generic.Heading */
.gi { color: #00A000 } /* Generic.Inserted */
.go { color: #888888 } /* Generic.Output */
.gp { color: #000080; font-weight: bold } /* Generic.Prompt */
.gs { font-weight: bold } /* Generic.Strong */
.gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.gt { color: #0044DD } /* Generic.Traceback */
.kc { color: #008000; font-weight: bold } /* Keyword.Constant */
.kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
.kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
.kp { color: #008000 } /* Keyword.Pseudo */
.kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
.kt { color: #B00040 } /* Keyword.Type */
.m { color: #666666 } /* Literal.Number */
.s { color: #BA2121 } /* Literal.String */
.na { color: #7D9029 } /* Name.Attribute */
.nb { color: #008000 } /* Name.Builtin */
.nc { color: #0000FF; font-weight: bold } /* Name.Class */
.no { color: #880000 } /* Name.Constant */
.nd { color: #AA22FF } /* Name.Decorator */
.ni { color: #999999; font-weight: bold } /* Name.Entity */
.ne { color: #D2413A; font-weight: bold } /* Name.Exception */
.nf { color: #0000FF } /* Name.Function */
.nl { color: #A0A000 } /* Name.Label */
.nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
.nt { color: #008000; font-weight: bold } /* Name.Tag */
.nv { color: #19177C } /* Name.Variable */
.ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
.w { color: #bbbbbb } /* Text.Whitespace */
.mb { color: #666666 } /* Literal.Number.Bin */
.mf { color: #666666 } /* Literal.Number.Float */
.mh { color: #666666 } /* Literal.Number.Hex */
.mi { color: #666666 } /* Literal.Number.Integer */
.mo { color: #666666 } /* Literal.Number.Oct */
.sa { color: #BA2121 } /* Literal.String.Affix */
.sb { color: #BA2121 } /* Literal.String.Backtick */
.sc { color: #BA2121 } /* Literal.String.Char */
.dl { color: #BA2121 } /* Literal.String.Delimiter */
.sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
.s2 { color: #BA2121 } /* Literal.String.Double */
.se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
.sh { color: #BA2121 } /* Literal.String.Heredoc */
.si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
.sx { color: #008000 } /* Literal.String.Other */
.sr { color: #BB6688 } /* Literal.String.Regex */
.s1 { color: #BA2121 } /* Literal.String.Single */
.ss { color: #19177C } /* Literal.String.Symbol */
.bp { color: #008000 } /* Name.Builtin.Pseudo */
.fm { color: #0000FF } /* Name.Function.Magic */
.vc { color: #19177C } /* Name.Variable.Class */
.vg { color: #19177C } /* Name.Variable.Global */
.vi { color: #19177C } /* Name.Variable.Instance */
.vm { color: #19177C } /* Name.Variable.Magic */
.il { color: #666666 } /* Literal.Number.Integer.Long */
</style>
<div class="highlight"><pre><span></span><span class="p">{</span>
<span class="kt">int</span> <span class="n">a</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span>
<span class="p">{</span> <span class="kt">int</span> <span class="n">a</span> <span class="o">=</span> <span class="mi">2</span><span class="p">;</span> <span class="p">}</span>
<span class="c1">// here a is still 1</span>
<span class="p">}</span>
</pre></div>
</div>
</div>
</div>
</div></div></div>
</section><section>
<div class="slide" style="float: left"><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="Operators">Operators<a class="anchor-link" href="#Operators">&#182;</a></h3><ul>
<li>Algebra: + - * / = ()</li>
</ul>
</div>
</div><div class="full" style="width: 100%; float: left">
<div class="cell border-box-sizing code_cell rendered">
<div class="output_area">
<div class="output_html rendered_html output_subarea output_execute_result">
<style>
.hll { background-color: #ffffcc }
.c { color: #408080; font-style: italic } /* Comment */
.err { border: 1px solid #FF0000 } /* Error */
.k { color: #008000; font-weight: bold } /* Keyword */
.o { color: #666666 } /* Operator */
.ch { color: #408080; font-style: italic } /* Comment.Hashbang */
.cm { color: #408080; font-style: italic } /* Comment.Multiline */
.cp { color: #BC7A00 } /* Comment.Preproc */
.cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */
.c1 { color: #408080; font-style: italic } /* Comment.Single */
.cs { color: #408080; font-style: italic } /* Comment.Special */
.gd { color: #A00000 } /* Generic.Deleted */
.ge { font-style: italic } /* Generic.Emph */
.gr { color: #FF0000 } /* Generic.Error */
.gh { color: #000080; font-weight: bold } /* Generic.Heading */
.gi { color: #00A000 } /* Generic.Inserted */
.go { color: #888888 } /* Generic.Output */
.gp { color: #000080; font-weight: bold } /* Generic.Prompt */
.gs { font-weight: bold } /* Generic.Strong */
.gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.gt { color: #0044DD } /* Generic.Traceback */
.kc { color: #008000; font-weight: bold } /* Keyword.Constant */
.kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
.kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
.kp { color: #008000 } /* Keyword.Pseudo */
.kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
.kt { color: #B00040 } /* Keyword.Type */
.m { color: #666666 } /* Literal.Number */
.s { color: #BA2121 } /* Literal.String */
.na { color: #7D9029 } /* Name.Attribute */
.nb { color: #008000 } /* Name.Builtin */
.nc { color: #0000FF; font-weight: bold } /* Name.Class */
.no { color: #880000 } /* Name.Constant */
.nd { color: #AA22FF } /* Name.Decorator */
.ni { color: #999999; font-weight: bold } /* Name.Entity */
.ne { color: #D2413A; font-weight: bold } /* Name.Exception */
.nf { color: #0000FF } /* Name.Function */
.nl { color: #A0A000 } /* Name.Label */
.nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
.nt { color: #008000; font-weight: bold } /* Name.Tag */
.nv { color: #19177C } /* Name.Variable */
.ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
.w { color: #bbbbbb } /* Text.Whitespace */
.mb { color: #666666 } /* Literal.Number.Bin */
.mf { color: #666666 } /* Literal.Number.Float */
.mh { color: #666666 } /* Literal.Number.Hex */
.mi { color: #666666 } /* Literal.Number.Integer */
.mo { color: #666666 } /* Literal.Number.Oct */
.sa { color: #BA2121 } /* Literal.String.Affix */
.sb { color: #BA2121 } /* Literal.String.Backtick */
.sc { color: #BA2121 } /* Literal.String.Char */
.dl { color: #BA2121 } /* Literal.String.Delimiter */
.sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
.s2 { color: #BA2121 } /* Literal.String.Double */
.se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
.sh { color: #BA2121 } /* Literal.String.Heredoc */
.si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
.sx { color: #008000 } /* Literal.String.Other */
.sr { color: #BB6688 } /* Literal.String.Regex */
.s1 { color: #BA2121 } /* Literal.String.Single */
.ss { color: #19177C } /* Literal.String.Symbol */
.bp { color: #008000 } /* Name.Builtin.Pseudo */
.fm { color: #0000FF } /* Name.Function.Magic */
.vc { color: #19177C } /* Name.Variable.Class */
.vg { color: #19177C } /* Name.Variable.Global */
.vi { color: #19177C } /* Name.Variable.Instance */
.vm { color: #19177C } /* Name.Variable.Magic */
.il { color: #666666 } /* Literal.Number.Integer.Long */
</style>
<div class="highlight"><pre><span></span><span class="kt">int</span> <span class="n">a</span> <span class="o">=</span> <span class="mi">2</span><span class="p">;</span>
<span class="kt">int</span> <span class="n">b</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span>
<span class="kt">int</span> <span class="n">d</span> <span class="o">=</span> <span class="mi">3</span><span class="p">;</span>
<span class="kt">int</span> <span class="n">e</span> <span class="o">=</span> <span class="p">(</span><span class="n">a</span> <span class="o">+</span> <span class="n">b</span><span class="p">)</span> <span class="o">/</span> <span class="n">d</span><span class="p">;</span>
<span class="n">e</span> <span class="o">+=</span> <span class="mi">1</span><span class="p">;</span>
<span class="n">e</span><span class="o">++</span><span class="p">;</span>
<span class="n">e</span><span class="o">--</span><span class="p">;</span>
<span class="kt">int</span> <span class="n">f</span> <span class="o">=</span> <span class="n">e</span><span class="o">++</span><span class="p">;</span>
<span class="kt">int</span> <span class="n">g</span> <span class="o">=</span> <span class="o">++</span><span class="n">f</span><span class="p">;</span>
</pre></div>
</div>
</div>
</div>
</div></div>
</section><section>
<div class="slide" style="float: left"><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="Arrays">Arrays<a class="anchor-link" href="#Arrays">&#182;</a></h3>
</div>
</div><div class="full" style="width: 100%; float: left">
<div class="cell border-box-sizing code_cell rendered">
<div class="output_area">
<div class="output_html rendered_html output_subarea output_execute_result">
<style>
.hll { background-color: #ffffcc }
.c { color: #408080; font-style: italic } /* Comment */
.err { border: 1px solid #FF0000 } /* Error */
.k { color: #008000; font-weight: bold } /* Keyword */
.o { color: #666666 } /* Operator */
.ch { color: #408080; font-style: italic } /* Comment.Hashbang */
.cm { color: #408080; font-style: italic } /* Comment.Multiline */
.cp { color: #BC7A00 } /* Comment.Preproc */
.cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */
.c1 { color: #408080; font-style: italic } /* Comment.Single */
.cs { color: #408080; font-style: italic } /* Comment.Special */
.gd { color: #A00000 } /* Generic.Deleted */
.ge { font-style: italic } /* Generic.Emph */
.gr { color: #FF0000 } /* Generic.Error */
.gh { color: #000080; font-weight: bold } /* Generic.Heading */
.gi { color: #00A000 } /* Generic.Inserted */
.go { color: #888888 } /* Generic.Output */
.gp { color: #000080; font-weight: bold } /* Generic.Prompt */
.gs { font-weight: bold } /* Generic.Strong */
.gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.gt { color: #0044DD } /* Generic.Traceback */
.kc { color: #008000; font-weight: bold } /* Keyword.Constant */
.kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
.kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
.kp { color: #008000 } /* Keyword.Pseudo */
.kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
.kt { color: #B00040 } /* Keyword.Type */
.m { color: #666666 } /* Literal.Number */
.s { color: #BA2121 } /* Literal.String */
.na { color: #7D9029 } /* Name.Attribute */
.nb { color: #008000 } /* Name.Builtin */
.nc { color: #0000FF; font-weight: bold } /* Name.Class */
.no { color: #880000 } /* Name.Constant */
.nd { color: #AA22FF } /* Name.Decorator */
.ni { color: #999999; font-weight: bold } /* Name.Entity */
.ne { color: #D2413A; font-weight: bold } /* Name.Exception */
.nf { color: #0000FF } /* Name.Function */
.nl { color: #A0A000 } /* Name.Label */
.nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
.nt { color: #008000; font-weight: bold } /* Name.Tag */
.nv { color: #19177C } /* Name.Variable */
.ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
.w { color: #bbbbbb } /* Text.Whitespace */
.mb { color: #666666 } /* Literal.Number.Bin */
.mf { color: #666666 } /* Literal.Number.Float */
.mh { color: #666666 } /* Literal.Number.Hex */
.mi { color: #666666 } /* Literal.Number.Integer */
.mo { color: #666666 } /* Literal.Number.Oct */
.sa { color: #BA2121 } /* Literal.String.Affix */
.sb { color: #BA2121 } /* Literal.String.Backtick */
.sc { color: #BA2121 } /* Literal.String.Char */
.dl { color: #BA2121 } /* Literal.String.Delimiter */
.sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
.s2 { color: #BA2121 } /* Literal.String.Double */
.se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
.sh { color: #BA2121 } /* Literal.String.Heredoc */
.si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
.sx { color: #008000 } /* Literal.String.Other */
.sr { color: #BB6688 } /* Literal.String.Regex */
.s1 { color: #BA2121 } /* Literal.String.Single */
.ss { color: #19177C } /* Literal.String.Symbol */
.bp { color: #008000 } /* Name.Builtin.Pseudo */
.fm { color: #0000FF } /* Name.Function.Magic */
.vc { color: #19177C } /* Name.Variable.Class */
.vg { color: #19177C } /* Name.Variable.Global */
.vi { color: #19177C } /* Name.Variable.Instance */
.vm { color: #19177C } /* Name.Variable.Magic */
.il { color: #666666 } /* Literal.Number.Integer.Long */
</style>
<div class="highlight"><pre><span></span><span class="kt">int</span> <span class="n">a</span><span class="p">[</span><span class="mi">2</span><span class="p">];</span>
<span class="n">a</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span>
<span class="n">a</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="mi">2</span><span class="p">;</span>
</pre></div>
</div>
</div>
</div>
</div></div>
</section><section>
<div class="slide" style="float: left"><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="Pointers">Pointers<a class="anchor-link" href="#Pointers">&#182;</a></h3><ul>
<li>A pointer is a specific variable type to store the address
of a variable:</li>
</ul>
</div>
</div><div class="full" style="width: 100%; float: left">
<div class="cell border-box-sizing code_cell rendered">
<div class="output_area">
<div class="output_html rendered_html output_subarea output_execute_result">
<style>
.hll { background-color: #ffffcc }
.c { color: #408080; font-style: italic } /* Comment */
.err { border: 1px solid #FF0000 } /* Error */
.k { color: #008000; font-weight: bold } /* Keyword */
.o { color: #666666 } /* Operator */
.ch { color: #408080; font-style: italic } /* Comment.Hashbang */
.cm { color: #408080; font-style: italic } /* Comment.Multiline */
.cp { color: #BC7A00 } /* Comment.Preproc */
.cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */
.c1 { color: #408080; font-style: italic } /* Comment.Single */
.cs { color: #408080; font-style: italic } /* Comment.Special */
.gd { color: #A00000 } /* Generic.Deleted */
.ge { font-style: italic } /* Generic.Emph */
.gr { color: #FF0000 } /* Generic.Error */
.gh { color: #000080; font-weight: bold } /* Generic.Heading */
.gi { color: #00A000 } /* Generic.Inserted */
.go { color: #888888 } /* Generic.Output */
.gp { color: #000080; font-weight: bold } /* Generic.Prompt */
.gs { font-weight: bold } /* Generic.Strong */
.gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.gt { color: #0044DD } /* Generic.Traceback */
.kc { color: #008000; font-weight: bold } /* Keyword.Constant */
.kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
.kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
.kp { color: #008000 } /* Keyword.Pseudo */
.kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
.kt { color: #B00040 } /* Keyword.Type */
.m { color: #666666 } /* Literal.Number */
.s { color: #BA2121 } /* Literal.String */
.na { color: #7D9029 } /* Name.Attribute */
.nb { color: #008000 } /* Name.Builtin */
.nc { color: #0000FF; font-weight: bold } /* Name.Class */
.no { color: #880000 } /* Name.Constant */
.nd { color: #AA22FF } /* Name.Decorator */
.ni { color: #999999; font-weight: bold } /* Name.Entity */
.ne { color: #D2413A; font-weight: bold } /* Name.Exception */
.nf { color: #0000FF } /* Name.Function */
.nl { color: #A0A000 } /* Name.Label */
.nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
.nt { color: #008000; font-weight: bold } /* Name.Tag */
.nv { color: #19177C } /* Name.Variable */
.ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
.w { color: #bbbbbb } /* Text.Whitespace */
.mb { color: #666666 } /* Literal.Number.Bin */
.mf { color: #666666 } /* Literal.Number.Float */
.mh { color: #666666 } /* Literal.Number.Hex */
.mi { color: #666666 } /* Literal.Number.Integer */
.mo { color: #666666 } /* Literal.Number.Oct */
.sa { color: #BA2121 } /* Literal.String.Affix */
.sb { color: #BA2121 } /* Literal.String.Backtick */
.sc { color: #BA2121 } /* Literal.String.Char */
.dl { color: #BA2121 } /* Literal.String.Delimiter */
.sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
.s2 { color: #BA2121 } /* Literal.String.Double */
.se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
.sh { color: #BA2121 } /* Literal.String.Heredoc */
.si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
.sx { color: #008000 } /* Literal.String.Other */
.sr { color: #BB6688 } /* Literal.String.Regex */
.s1 { color: #BA2121 } /* Literal.String.Single */
.ss { color: #19177C } /* Literal.String.Symbol */
.bp { color: #008000 } /* Name.Builtin.Pseudo */
.fm { color: #0000FF } /* Name.Function.Magic */
.vc { color: #19177C } /* Name.Variable.Class */
.vg { color: #19177C } /* Name.Variable.Global */
.vi { color: #19177C } /* Name.Variable.Instance */
.vm { color: #19177C } /* Name.Variable.Magic */
.il { color: #666666 } /* Literal.Number.Integer.Long */
</style>
<div class="highlight"><pre><span></span><span class="kt">int</span> <span class="n">a</span><span class="p">;</span>
<span class="kt">int</span> <span class="o">*</span><span class="n">ptr</span> <span class="o">=</span> <span class="o">&amp;</span><span class="n">a</span><span class="p">;</span>
</pre></div>
</div>
</div>
</div>
</div><div class="fragment" style="width: 100%;float: left"><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<ul>
<li>You can access the contained value using the * operator</li>
</ul>
</div>
</div><div class="full" style="width: 100%; float: left">
<div class="cell border-box-sizing code_cell rendered">
<div class="output_area">
<div class="output_html rendered_html output_subarea output_execute_result">
<style>
.hll { background-color: #ffffcc }
.c { color: #408080; font-style: italic } /* Comment */
.err { border: 1px solid #FF0000 } /* Error */
.k { color: #008000; font-weight: bold } /* Keyword */
.o { color: #666666 } /* Operator */
.ch { color: #408080; font-style: italic } /* Comment.Hashbang */
.cm { color: #408080; font-style: italic } /* Comment.Multiline */
.cp { color: #BC7A00 } /* Comment.Preproc */
.cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */
.c1 { color: #408080; font-style: italic } /* Comment.Single */
.cs { color: #408080; font-style: italic } /* Comment.Special */
.gd { color: #A00000 } /* Generic.Deleted */
.ge { font-style: italic } /* Generic.Emph */
.gr { color: #FF0000 } /* Generic.Error */
.gh { color: #000080; font-weight: bold } /* Generic.Heading */
.gi { color: #00A000 } /* Generic.Inserted */
.go { color: #888888 } /* Generic.Output */
.gp { color: #000080; font-weight: bold } /* Generic.Prompt */
.gs { font-weight: bold } /* Generic.Strong */
.gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.gt { color: #0044DD } /* Generic.Traceback */
.kc { color: #008000; font-weight: bold } /* Keyword.Constant */
.kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
.kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
.kp { color: #008000 } /* Keyword.Pseudo */
.kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
.kt { color: #B00040 } /* Keyword.Type */
.m { color: #666666 } /* Literal.Number */
.s { color: #BA2121 } /* Literal.String */
.na { color: #7D9029 } /* Name.Attribute */
.nb { color: #008000 } /* Name.Builtin */
.nc { color: #0000FF; font-weight: bold } /* Name.Class */
.no { color: #880000 } /* Name.Constant */
.nd { color: #AA22FF } /* Name.Decorator */
.ni { color: #999999; font-weight: bold } /* Name.Entity */
.ne { color: #D2413A; font-weight: bold } /* Name.Exception */
.nf { color: #0000FF } /* Name.Function */
.nl { color: #A0A000 } /* Name.Label */
.nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
.nt { color: #008000; font-weight: bold } /* Name.Tag */
.nv { color: #19177C } /* Name.Variable */
.ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
.w { color: #bbbbbb } /* Text.Whitespace */
.mb { color: #666666 } /* Literal.Number.Bin */
.mf { color: #666666 } /* Literal.Number.Float */
.mh { color: #666666 } /* Literal.Number.Hex */
.mi { color: #666666 } /* Literal.Number.Integer */
.mo { color: #666666 } /* Literal.Number.Oct */
.sa { color: #BA2121 } /* Literal.String.Affix */
.sb { color: #BA2121 } /* Literal.String.Backtick */
.sc { color: #BA2121 } /* Literal.String.Char */
.dl { color: #BA2121 } /* Literal.String.Delimiter */
.sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
.s2 { color: #BA2121 } /* Literal.String.Double */
.se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
.sh { color: #BA2121 } /* Literal.String.Heredoc */
.si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
.sx { color: #008000 } /* Literal.String.Other */
.sr { color: #BB6688 } /* Literal.String.Regex */
.s1 { color: #BA2121 } /* Literal.String.Single */
.ss { color: #19177C } /* Literal.String.Symbol */
.bp { color: #008000 } /* Name.Builtin.Pseudo */
.fm { color: #0000FF } /* Name.Function.Magic */
.vc { color: #19177C } /* Name.Variable.Class */
.vg { color: #19177C } /* Name.Variable.Global */
.vi { color: #19177C } /* Name.Variable.Instance */
.vm { color: #19177C } /* Name.Variable.Magic */
.il { color: #666666 } /* Literal.Number.Integer.Long */
</style>
<div class="highlight"><pre><span></span><span class="o">*</span><span class="n">ptr</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span>
</pre></div>
</div>
</div>
</div>
</div></div><div class="fragment" style="width: 100%;float: left"><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<ul>
<li>Pointers are incrementable:</li>
</ul>
</div>
</div><div class="full" style="width: 100%; float: left">
<div class="cell border-box-sizing code_cell rendered">
<div class="output_area">
<div class="output_html rendered_html output_subarea output_execute_result">
<style>
.hll { background-color: #ffffcc }
.c { color: #408080; font-style: italic } /* Comment */
.err { border: 1px solid #FF0000 } /* Error */
.k { color: #008000; font-weight: bold } /* Keyword */
.o { color: #666666 } /* Operator */
.ch { color: #408080; font-style: italic } /* Comment.Hashbang */
.cm { color: #408080; font-style: italic } /* Comment.Multiline */
.cp { color: #BC7A00 } /* Comment.Preproc */
.cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */
.c1 { color: #408080; font-style: italic } /* Comment.Single */
.cs { color: #408080; font-style: italic } /* Comment.Special */
.gd { color: #A00000 } /* Generic.Deleted */
.ge { font-style: italic } /* Generic.Emph */
.gr { color: #FF0000 } /* Generic.Error */
.gh { color: #000080; font-weight: bold } /* Generic.Heading */
.gi { color: #00A000 } /* Generic.Inserted */
.go { color: #888888 } /* Generic.Output */
.gp { color: #000080; font-weight: bold } /* Generic.Prompt */
.gs { font-weight: bold } /* Generic.Strong */
.gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.gt { color: #0044DD } /* Generic.Traceback */
.kc { color: #008000; font-weight: bold } /* Keyword.Constant */
.kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
.kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
.kp { color: #008000 } /* Keyword.Pseudo */
.kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
.kt { color: #B00040 } /* Keyword.Type */
.m { color: #666666 } /* Literal.Number */
.s { color: #BA2121 } /* Literal.String */
.na { color: #7D9029 } /* Name.Attribute */
.nb { color: #008000 } /* Name.Builtin */
.nc { color: #0000FF; font-weight: bold } /* Name.Class */
.no { color: #880000 } /* Name.Constant */
.nd { color: #AA22FF } /* Name.Decorator */
.ni { color: #999999; font-weight: bold } /* Name.Entity */
.ne { color: #D2413A; font-weight: bold } /* Name.Exception */
.nf { color: #0000FF } /* Name.Function */
.nl { color: #A0A000 } /* Name.Label */
.nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
.nt { color: #008000; font-weight: bold } /* Name.Tag */
.nv { color: #19177C } /* Name.Variable */
.ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
.w { color: #bbbbbb } /* Text.Whitespace */
.mb { color: #666666 } /* Literal.Number.Bin */
.mf { color: #666666 } /* Literal.Number.Float */
.mh { color: #666666 } /* Literal.Number.Hex */
.mi { color: #666666 } /* Literal.Number.Integer */
.mo { color: #666666 } /* Literal.Number.Oct */
.sa { color: #BA2121 } /* Literal.String.Affix */
.sb { color: #BA2121 } /* Literal.String.Backtick */
.sc { color: #BA2121 } /* Literal.String.Char */
.dl { color: #BA2121 } /* Literal.String.Delimiter */
.sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
.s2 { color: #BA2121 } /* Literal.String.Double */
.se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
.sh { color: #BA2121 } /* Literal.String.Heredoc */
.si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
.sx { color: #008000 } /* Literal.String.Other */
.sr { color: #BB6688 } /* Literal.String.Regex */
.s1 { color: #BA2121 } /* Literal.String.Single */
.ss { color: #19177C } /* Literal.String.Symbol */
.bp { color: #008000 } /* Name.Builtin.Pseudo */
.fm { color: #0000FF } /* Name.Function.Magic */
.vc { color: #19177C } /* Name.Variable.Class */
.vg { color: #19177C } /* Name.Variable.Global */
.vi { color: #19177C } /* Name.Variable.Instance */
.vm { color: #19177C } /* Name.Variable.Magic */
.il { color: #666666 } /* Literal.Number.Integer.Long */
</style>
<div class="highlight"><pre><span></span><span class="kt">int</span> <span class="n">a</span><span class="p">[</span><span class="mi">2</span><span class="p">];</span>
<span class="kt">int</span> <span class="o">*</span><span class="n">ptr</span> <span class="o">=</span> <span class="n">a</span><span class="p">;</span>
<span class="o">*</span><span class="n">ptr</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="c1">// a[0] = 0;</span>
<span class="n">ptr</span><span class="o">++</span><span class="p">;</span>
<span class="o">*</span><span class="n">ptr</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span> <span class="c1">// a[1] = 1;</span>
</pre></div>
</div>
</div>
</div>
</div></div></div>
</section><section>
<div class="slide" style="float: left"><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="References">References<a class="anchor-link" href="#References">&#182;</a></h3><ul>
<li>Constant pointers, aliases</li>
</ul>
</div>
</div><div class="full" style="width: 100%; float: left">
<div class="cell border-box-sizing code_cell rendered">
<div class="output_area">
<div class="output_html rendered_html output_subarea output_execute_result">
<style>
.hll { background-color: #ffffcc }
.c { color: #408080; font-style: italic } /* Comment */
.err { border: 1px solid #FF0000 } /* Error */
.k { color: #008000; font-weight: bold } /* Keyword */
.o { color: #666666 } /* Operator */
.ch { color: #408080; font-style: italic } /* Comment.Hashbang */
.cm { color: #408080; font-style: italic } /* Comment.Multiline */
.cp { color: #BC7A00 } /* Comment.Preproc */
.cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */
.c1 { color: #408080; font-style: italic } /* Comment.Single */
.cs { color: #408080; font-style: italic } /* Comment.Special */
.gd { color: #A00000 } /* Generic.Deleted */
.ge { font-style: italic } /* Generic.Emph */
.gr { color: #FF0000 } /* Generic.Error */
.gh { color: #000080; font-weight: bold } /* Generic.Heading */
.gi { color: #00A000 } /* Generic.Inserted */
.go { color: #888888 } /* Generic.Output */
.gp { color: #000080; font-weight: bold } /* Generic.Prompt */
.gs { font-weight: bold } /* Generic.Strong */
.gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.gt { color: #0044DD } /* Generic.Traceback */
.kc { color: #008000; font-weight: bold } /* Keyword.Constant */
.kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
.kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
.kp { color: #008000 } /* Keyword.Pseudo */
.kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
.kt { color: #B00040 } /* Keyword.Type */
.m { color: #666666 } /* Literal.Number */
.s { color: #BA2121 } /* Literal.String */
.na { color: #7D9029 } /* Name.Attribute */
.nb { color: #008000 } /* Name.Builtin */
.nc { color: #0000FF; font-weight: bold } /* Name.Class */
.no { color: #880000 } /* Name.Constant */
.nd { color: #AA22FF } /* Name.Decorator */
.ni { color: #999999; font-weight: bold } /* Name.Entity */
.ne { color: #D2413A; font-weight: bold } /* Name.Exception */
.nf { color: #0000FF } /* Name.Function */
.nl { color: #A0A000 } /* Name.Label */
.nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
.nt { color: #008000; font-weight: bold } /* Name.Tag */
.nv { color: #19177C } /* Name.Variable */
.ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
.w { color: #bbbbbb } /* Text.Whitespace */
.mb { color: #666666 } /* Literal.Number.Bin */
.mf { color: #666666 } /* Literal.Number.Float */
.mh { color: #666666 } /* Literal.Number.Hex */
.mi { color: #666666 } /* Literal.Number.Integer */
.mo { color: #666666 } /* Literal.Number.Oct */
.sa { color: #BA2121 } /* Literal.String.Affix */
.sb { color: #BA2121 } /* Literal.String.Backtick */
.sc { color: #BA2121 } /* Literal.String.Char */
.dl { color: #BA2121 } /* Literal.String.Delimiter */
.sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
.s2 { color: #BA2121 } /* Literal.String.Double */
.se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
.sh { color: #BA2121 } /* Literal.String.Heredoc */
.si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
.sx { color: #008000 } /* Literal.String.Other */
.sr { color: #BB6688 } /* Literal.String.Regex */
.s1 { color: #BA2121 } /* Literal.String.Single */
.ss { color: #19177C } /* Literal.String.Symbol */
.bp { color: #008000 } /* Name.Builtin.Pseudo */
.fm { color: #0000FF } /* Name.Function.Magic */
.vc { color: #19177C } /* Name.Variable.Class */
.vg { color: #19177C } /* Name.Variable.Global */
.vi { color: #19177C } /* Name.Variable.Instance */
.vm { color: #19177C } /* Name.Variable.Magic */
.il { color: #666666 } /* Literal.Number.Integer.Long */
</style>
<div class="highlight"><pre><span></span><span class="kt">int</span> <span class="n">a</span><span class="p">[</span><span class="mi">2</span><span class="p">];</span>
<span class="kt">int</span> <span class="o">&amp;</span><span class="n">ref</span> <span class="o">=</span> <span class="n">a</span><span class="p">[</span><span class="mi">0</span><span class="p">];</span>
<span class="n">ref</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="c1">// a[0] = 0;</span>
</pre></div>
</div>
</div>
</div>
</div><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<p><a href="http://en.wikibooks.org/wiki/C%2B%2B_Programming/Operators/Pointers">wikipedia: Pointers</a></p>
</div>
</div></div>
</section><section>
<div class="slide" style="float: left"><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="if-statement:-decisional-branching"><strong>if</strong> statement: decisional branching<a class="anchor-link" href="#if-statement:-decisional-branching">&#182;</a></h3>
</div>
</div><div class="full" style="width: 100%; float: left">
<div class="cell border-box-sizing code_cell rendered">
<div class="output_area">
<div class="output_html rendered_html output_subarea output_execute_result">
<style>
.hll { background-color: #ffffcc }
.c { color: #408080; font-style: italic } /* Comment */
.err { border: 1px solid #FF0000 } /* Error */
.k { color: #008000; font-weight: bold } /* Keyword */
.o { color: #666666 } /* Operator */
.ch { color: #408080; font-style: italic } /* Comment.Hashbang */
.cm { color: #408080; font-style: italic } /* Comment.Multiline */
.cp { color: #BC7A00 } /* Comment.Preproc */
.cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */
.c1 { color: #408080; font-style: italic } /* Comment.Single */
.cs { color: #408080; font-style: italic } /* Comment.Special */
.gd { color: #A00000 } /* Generic.Deleted */
.ge { font-style: italic } /* Generic.Emph */
.gr { color: #FF0000 } /* Generic.Error */
.gh { color: #000080; font-weight: bold } /* Generic.Heading */
.gi { color: #00A000 } /* Generic.Inserted */
.go { color: #888888 } /* Generic.Output */
.gp { color: #000080; font-weight: bold } /* Generic.Prompt */
.gs { font-weight: bold } /* Generic.Strong */
.gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.gt { color: #0044DD } /* Generic.Traceback */
.kc { color: #008000; font-weight: bold } /* Keyword.Constant */
.kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
.kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
.kp { color: #008000 } /* Keyword.Pseudo */
.kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
.kt { color: #B00040 } /* Keyword.Type */
.m { color: #666666 } /* Literal.Number */
.s { color: #BA2121 } /* Literal.String */
.na { color: #7D9029 } /* Name.Attribute */
.nb { color: #008000 } /* Name.Builtin */
.nc { color: #0000FF; font-weight: bold } /* Name.Class */
.no { color: #880000 } /* Name.Constant */
.nd { color: #AA22FF } /* Name.Decorator */
.ni { color: #999999; font-weight: bold } /* Name.Entity */
.ne { color: #D2413A; font-weight: bold } /* Name.Exception */
.nf { color: #0000FF } /* Name.Function */
.nl { color: #A0A000 } /* Name.Label */
.nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
.nt { color: #008000; font-weight: bold } /* Name.Tag */
.nv { color: #19177C } /* Name.Variable */
.ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
.w { color: #bbbbbb } /* Text.Whitespace */
.mb { color: #666666 } /* Literal.Number.Bin */
.mf { color: #666666 } /* Literal.Number.Float */
.mh { color: #666666 } /* Literal.Number.Hex */
.mi { color: #666666 } /* Literal.Number.Integer */
.mo { color: #666666 } /* Literal.Number.Oct */
.sa { color: #BA2121 } /* Literal.String.Affix */
.sb { color: #BA2121 } /* Literal.String.Backtick */
.sc { color: #BA2121 } /* Literal.String.Char */
.dl { color: #BA2121 } /* Literal.String.Delimiter */
.sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
.s2 { color: #BA2121 } /* Literal.String.Double */
.se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
.sh { color: #BA2121 } /* Literal.String.Heredoc */
.si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
.sx { color: #008000 } /* Literal.String.Other */
.sr { color: #BB6688 } /* Literal.String.Regex */
.s1 { color: #BA2121 } /* Literal.String.Single */
.ss { color: #19177C } /* Literal.String.Symbol */
.bp { color: #008000 } /* Name.Builtin.Pseudo */
.fm { color: #0000FF } /* Name.Function.Magic */
.vc { color: #19177C } /* Name.Variable.Class */
.vg { color: #19177C } /* Name.Variable.Global */
.vi { color: #19177C } /* Name.Variable.Instance */
.vm { color: #19177C } /* Name.Variable.Magic */
.il { color: #666666 } /* Literal.Number.Integer.Long */
</style>
<div class="highlight"><pre><span></span>int a = 1;
bool c;
<span style="color:red;font-size:150%">if</span> (a == 2) {
c = true;
} <span style="color:red;font-size:150%">else</span> {
c = false;
}
</pre></div>
</div>
</div>
</div>
</div><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<p><a href="http://en.wikibooks.org/wiki/C%2B%2B_Programming/Programming_Languages/C%2B%2B/Code/Statements/Flow_Control#if_.28Fork_branching.29">wikipedia: if then else</a></p>
</div>
</div></div>
</section><section>
<div class="slide" style="float: left"><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="switch-&amp;-case:-decisional-branching-with-cases"><strong>switch &amp; case</strong>: decisional branching with cases<a class="anchor-link" href="#switch-&amp;-case:-decisional-branching-with-cases">&#182;</a></h3>
</div>
</div><div class="full" style="width: 100%; float: left">
<div class="cell border-box-sizing code_cell rendered">
<div class="output_area">
<div class="output_html rendered_html output_subarea output_execute_result">
<style>
.hll { background-color: #ffffcc }
.c { color: #408080; font-style: italic } /* Comment */
.err { border: 1px solid #FF0000 } /* Error */
.k { color: #008000; font-weight: bold } /* Keyword */
.o { color: #666666 } /* Operator */
.ch { color: #408080; font-style: italic } /* Comment.Hashbang */
.cm { color: #408080; font-style: italic } /* Comment.Multiline */
.cp { color: #BC7A00 } /* Comment.Preproc */
.cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */
.c1 { color: #408080; font-style: italic } /* Comment.Single */
.cs { color: #408080; font-style: italic } /* Comment.Special */
.gd { color: #A00000 } /* Generic.Deleted */
.ge { font-style: italic } /* Generic.Emph */
.gr { color: #FF0000 } /* Generic.Error */
.gh { color: #000080; font-weight: bold } /* Generic.Heading */
.gi { color: #00A000 } /* Generic.Inserted */
.go { color: #888888 } /* Generic.Output */
.gp { color: #000080; font-weight: bold } /* Generic.Prompt */
.gs { font-weight: bold } /* Generic.Strong */
.gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.gt { color: #0044DD } /* Generic.Traceback */
.kc { color: #008000; font-weight: bold } /* Keyword.Constant */
.kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
.kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
.kp { color: #008000 } /* Keyword.Pseudo */
.kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
.kt { color: #B00040 } /* Keyword.Type */
.m { color: #666666 } /* Literal.Number */
.s { color: #BA2121 } /* Literal.String */
.na { color: #7D9029 } /* Name.Attribute */
.nb { color: #008000 } /* Name.Builtin */
.nc { color: #0000FF; font-weight: bold } /* Name.Class */
.no { color: #880000 } /* Name.Constant */
.nd { color: #AA22FF } /* Name.Decorator */
.ni { color: #999999; font-weight: bold } /* Name.Entity */
.ne { color: #D2413A; font-weight: bold } /* Name.Exception */
.nf { color: #0000FF } /* Name.Function */
.nl { color: #A0A000 } /* Name.Label */
.nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
.nt { color: #008000; font-weight: bold } /* Name.Tag */
.nv { color: #19177C } /* Name.Variable */
.ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
.w { color: #bbbbbb } /* Text.Whitespace */
.mb { color: #666666 } /* Literal.Number.Bin */
.mf { color: #666666 } /* Literal.Number.Float */
.mh { color: #666666 } /* Literal.Number.Hex */
.mi { color: #666666 } /* Literal.Number.Integer */
.mo { color: #666666 } /* Literal.Number.Oct */
.sa { color: #BA2121 } /* Literal.String.Affix */
.sb { color: #BA2121 } /* Literal.String.Backtick */
.sc { color: #BA2121 } /* Literal.String.Char */
.dl { color: #BA2121 } /* Literal.String.Delimiter */
.sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
.s2 { color: #BA2121 } /* Literal.String.Double */
.se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
.sh { color: #BA2121 } /* Literal.String.Heredoc */
.si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
.sx { color: #008000 } /* Literal.String.Other */
.sr { color: #BB6688 } /* Literal.String.Regex */
.s1 { color: #BA2121 } /* Literal.String.Single */
.ss { color: #19177C } /* Literal.String.Symbol */
.bp { color: #008000 } /* Name.Builtin.Pseudo */
.fm { color: #0000FF } /* Name.Function.Magic */
.vc { color: #19177C } /* Name.Variable.Class */
.vg { color: #19177C } /* Name.Variable.Global */
.vi { color: #19177C } /* Name.Variable.Instance */
.vm { color: #19177C } /* Name.Variable.Magic */
.il { color: #666666 } /* Literal.Number.Integer.Long */
</style>
<div class="highlight"><pre><span></span><span class="kt">int</span> <span class="n">a</span><span class="p">;</span>
<span class="kt">int</span> <span class="n">res</span><span class="p">;</span>
<span class="k">switch</span> <span class="p">(</span><span class="n">a</span><span class="p">)</span> <span class="p">{</span>
<span class="k">case</span> <span class="mi">1</span><span class="o">:</span>
<span class="n">res</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span>
<span class="k">break</span><span class="p">;</span>
<span class="k">case</span> <span class="mi">2</span><span class="o">:</span>
<span class="n">res</span> <span class="o">=</span> <span class="mi">2</span><span class="p">;</span>
<span class="k">case</span> <span class="mi">3</span><span class="o">:</span>
<span class="n">res</span> <span class="o">=</span> <span class="mi">3</span><span class="p">;</span>
<span class="k">break</span><span class="p">;</span>
<span class="k">default</span><span class="o">:</span>
<span class="n">res</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span><span class="p">;</span>
<span class="p">}</span>
</pre></div>
</div>
</div>
</div>
</div><div class="fragment" style="width: 100%;float: left"><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<p>beware the <strong>break</strong> keyword to finish a case !</p>
</div>
</div><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<p><a href="http://en.wikibooks.org/wiki/C%2B%2B_Programming/Programming_Languages/C%2B%2B/Code/Statements/Flow_Control#switch_.28Multiple_branching.29">wikipedia: switch case</a></p>
</div>
</div></div></div>
</section><section>
<div class="slide" style="float: left"><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="while-loops"><strong>while</strong> loops<a class="anchor-link" href="#while-loops">&#182;</a></h3>
</div>
</div><div class="full" style="width: 100%; float: left">
<div class="cell border-box-sizing code_cell rendered">
<div class="output_area">
<div class="output_html rendered_html output_subarea output_execute_result">
<style>
.hll { background-color: #ffffcc }
.c { color: #408080; font-style: italic } /* Comment */
.err { border: 1px solid #FF0000 } /* Error */
.k { color: #008000; font-weight: bold } /* Keyword */
.o { color: #666666 } /* Operator */
.ch { color: #408080; font-style: italic } /* Comment.Hashbang */
.cm { color: #408080; font-style: italic } /* Comment.Multiline */
.cp { color: #BC7A00 } /* Comment.Preproc */
.cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */
.c1 { color: #408080; font-style: italic } /* Comment.Single */
.cs { color: #408080; font-style: italic } /* Comment.Special */
.gd { color: #A00000 } /* Generic.Deleted */
.ge { font-style: italic } /* Generic.Emph */
.gr { color: #FF0000 } /* Generic.Error */
.gh { color: #000080; font-weight: bold } /* Generic.Heading */
.gi { color: #00A000 } /* Generic.Inserted */
.go { color: #888888 } /* Generic.Output */
.gp { color: #000080; font-weight: bold } /* Generic.Prompt */
.gs { font-weight: bold } /* Generic.Strong */
.gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.gt { color: #0044DD } /* Generic.Traceback */
.kc { color: #008000; font-weight: bold } /* Keyword.Constant */
.kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
.kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
.kp { color: #008000 } /* Keyword.Pseudo */
.kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
.kt { color: #B00040 } /* Keyword.Type */
.m { color: #666666 } /* Literal.Number */
.s { color: #BA2121 } /* Literal.String */
.na { color: #7D9029 } /* Name.Attribute */
.nb { color: #008000 } /* Name.Builtin */
.nc { color: #0000FF; font-weight: bold } /* Name.Class */
.no { color: #880000 } /* Name.Constant */
.nd { color: #AA22FF } /* Name.Decorator */
.ni { color: #999999; font-weight: bold } /* Name.Entity */
.ne { color: #D2413A; font-weight: bold } /* Name.Exception */
.nf { color: #0000FF } /* Name.Function */
.nl { color: #A0A000 } /* Name.Label */
.nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
.nt { color: #008000; font-weight: bold } /* Name.Tag */
.nv { color: #19177C } /* Name.Variable */
.ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
.w { color: #bbbbbb } /* Text.Whitespace */
.mb { color: #666666 } /* Literal.Number.Bin */
.mf { color: #666666 } /* Literal.Number.Float */
.mh { color: #666666 } /* Literal.Number.Hex */
.mi { color: #666666 } /* Literal.Number.Integer */
.mo { color: #666666 } /* Literal.Number.Oct */
.sa { color: #BA2121 } /* Literal.String.Affix */
.sb { color: #BA2121 } /* Literal.String.Backtick */
.sc { color: #BA2121 } /* Literal.String.Char */
.dl { color: #BA2121 } /* Literal.String.Delimiter */
.sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
.s2 { color: #BA2121 } /* Literal.String.Double */
.se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
.sh { color: #BA2121 } /* Literal.String.Heredoc */
.si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
.sx { color: #008000 } /* Literal.String.Other */
.sr { color: #BB6688 } /* Literal.String.Regex */
.s1 { color: #BA2121 } /* Literal.String.Single */
.ss { color: #19177C } /* Literal.String.Symbol */
.bp { color: #008000 } /* Name.Builtin.Pseudo */
.fm { color: #0000FF } /* Name.Function.Magic */
.vc { color: #19177C } /* Name.Variable.Class */
.vg { color: #19177C } /* Name.Variable.Global */
.vi { color: #19177C } /* Name.Variable.Instance */
.vm { color: #19177C } /* Name.Variable.Magic */
.il { color: #666666 } /* Literal.Number.Integer.Long */
</style>
<div class="highlight"><pre><span></span><span class="k">while</span> <span class="p">(</span><span class="n">condition</span><span class="p">)</span> <span class="p">{</span>
<span class="n">instructions</span><span class="p">;</span>
<span class="p">}</span>
</pre></div>
</div>
</div>
</div>
</div><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<p><a href="http://en.wikibooks.org/wiki/C%2B%2B_Programming/Programming_Languages/C%2B%2B/Code/Statements/Flow_Control#while_.28Preconditional_loop.29">wikipedia: while loops</a></p>
</div>
</div></div>
</section><section>
<div class="slide" style="float: left"><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="for-loops:"><strong>for</strong> loops:<a class="anchor-link" href="#for-loops:">&#182;</a></h3>
</div>
</div><div class="full" style="width: 100%; float: left">
<div class="cell border-box-sizing code_cell rendered">
<div class="output_area">
<div class="output_html rendered_html output_subarea output_execute_result">
<style>
.hll { background-color: #ffffcc }
.c { color: #408080; font-style: italic } /* Comment */
.err { border: 1px solid #FF0000 } /* Error */
.k { color: #008000; font-weight: bold } /* Keyword */
.o { color: #666666 } /* Operator */
.ch { color: #408080; font-style: italic } /* Comment.Hashbang */
.cm { color: #408080; font-style: italic } /* Comment.Multiline */
.cp { color: #BC7A00 } /* Comment.Preproc */
.cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */
.c1 { color: #408080; font-style: italic } /* Comment.Single */
.cs { color: #408080; font-style: italic } /* Comment.Special */
.gd { color: #A00000 } /* Generic.Deleted */
.ge { font-style: italic } /* Generic.Emph */
.gr { color: #FF0000 } /* Generic.Error */
.gh { color: #000080; font-weight: bold } /* Generic.Heading */
.gi { color: #00A000 } /* Generic.Inserted */
.go { color: #888888 } /* Generic.Output */
.gp { color: #000080; font-weight: bold } /* Generic.Prompt */
.gs { font-weight: bold } /* Generic.Strong */
.gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.gt { color: #0044DD } /* Generic.Traceback */
.kc { color: #008000; font-weight: bold } /* Keyword.Constant */
.kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
.kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
.kp { color: #008000 } /* Keyword.Pseudo */
.kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
.kt { color: #B00040 } /* Keyword.Type */
.m { color: #666666 } /* Literal.Number */
.s { color: #BA2121 } /* Literal.String */
.na { color: #7D9029 } /* Name.Attribute */
.nb { color: #008000 } /* Name.Builtin */
.nc { color: #0000FF; font-weight: bold } /* Name.Class */
.no { color: #880000 } /* Name.Constant */
.nd { color: #AA22FF } /* Name.Decorator */
.ni { color: #999999; font-weight: bold } /* Name.Entity */
.ne { color: #D2413A; font-weight: bold } /* Name.Exception */
.nf { color: #0000FF } /* Name.Function */
.nl { color: #A0A000 } /* Name.Label */
.nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
.nt { color: #008000; font-weight: bold } /* Name.Tag */
.nv { color: #19177C } /* Name.Variable */
.ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
.w { color: #bbbbbb } /* Text.Whitespace */
.mb { color: #666666 } /* Literal.Number.Bin */
.mf { color: #666666 } /* Literal.Number.Float */
.mh { color: #666666 } /* Literal.Number.Hex */
.mi { color: #666666 } /* Literal.Number.Integer */
.mo { color: #666666 } /* Literal.Number.Oct */
.sa { color: #BA2121 } /* Literal.String.Affix */
.sb { color: #BA2121 } /* Literal.String.Backtick */
.sc { color: #BA2121 } /* Literal.String.Char */
.dl { color: #BA2121 } /* Literal.String.Delimiter */
.sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
.s2 { color: #BA2121 } /* Literal.String.Double */
.se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
.sh { color: #BA2121 } /* Literal.String.Heredoc */
.si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
.sx { color: #008000 } /* Literal.String.Other */
.sr { color: #BB6688 } /* Literal.String.Regex */
.s1 { color: #BA2121 } /* Literal.String.Single */
.ss { color: #19177C } /* Literal.String.Symbol */
.bp { color: #008000 } /* Name.Builtin.Pseudo */
.fm { color: #0000FF } /* Name.Function.Magic */
.vc { color: #19177C } /* Name.Variable.Class */
.vg { color: #19177C } /* Name.Variable.Global */
.vi { color: #19177C } /* Name.Variable.Instance */
.vm { color: #19177C } /* Name.Variable.Magic */
.il { color: #666666 } /* Literal.Number.Integer.Long */
</style>
<div class="highlight"><pre><span></span><span class="k">for</span> <span class="p">(</span><span class="n">init</span><span class="p">;</span> <span class="n">test_condition</span><span class="p">;</span> <span class="n">increment_instruction</span><span class="p">)</span> <span class="p">{</span>
<span class="n">instructions</span><span class="p">;</span>
<span class="p">}</span>
</pre></div>
</div>
</div>
</div>
</div><div class="full" style="width: 100%; float: left">
<div class="cell border-box-sizing code_cell rendered">
<div class="output_area">
<div class="output_html rendered_html output_subarea output_execute_result">
<style>
.hll { background-color: #ffffcc }
.c { color: #408080; font-style: italic } /* Comment */
.err { border: 1px solid #FF0000 } /* Error */
.k { color: #008000; font-weight: bold } /* Keyword */
.o { color: #666666 } /* Operator */
.ch { color: #408080; font-style: italic } /* Comment.Hashbang */
.cm { color: #408080; font-style: italic } /* Comment.Multiline */
.cp { color: #BC7A00 } /* Comment.Preproc */
.cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */
.c1 { color: #408080; font-style: italic } /* Comment.Single */
.cs { color: #408080; font-style: italic } /* Comment.Special */
.gd { color: #A00000 } /* Generic.Deleted */
.ge { font-style: italic } /* Generic.Emph */
.gr { color: #FF0000 } /* Generic.Error */
.gh { color: #000080; font-weight: bold } /* Generic.Heading */
.gi { color: #00A000 } /* Generic.Inserted */
.go { color: #888888 } /* Generic.Output */
.gp { color: #000080; font-weight: bold } /* Generic.Prompt */
.gs { font-weight: bold } /* Generic.Strong */
.gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.gt { color: #0044DD } /* Generic.Traceback */
.kc { color: #008000; font-weight: bold } /* Keyword.Constant */
.kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
.kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
.kp { color: #008000 } /* Keyword.Pseudo */
.kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
.kt { color: #B00040 } /* Keyword.Type */
.m { color: #666666 } /* Literal.Number */
.s { color: #BA2121 } /* Literal.String */
.na { color: #7D9029 } /* Name.Attribute */
.nb { color: #008000 } /* Name.Builtin */
.nc { color: #0000FF; font-weight: bold } /* Name.Class */
.no { color: #880000 } /* Name.Constant */
.nd { color: #AA22FF } /* Name.Decorator */
.ni { color: #999999; font-weight: bold } /* Name.Entity */
.ne { color: #D2413A; font-weight: bold } /* Name.Exception */
.nf { color: #0000FF } /* Name.Function */
.nl { color: #A0A000 } /* Name.Label */
.nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
.nt { color: #008000; font-weight: bold } /* Name.Tag */
.nv { color: #19177C } /* Name.Variable */
.ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
.w { color: #bbbbbb } /* Text.Whitespace */
.mb { color: #666666 } /* Literal.Number.Bin */
.mf { color: #666666 } /* Literal.Number.Float */
.mh { color: #666666 } /* Literal.Number.Hex */
.mi { color: #666666 } /* Literal.Number.Integer */
.mo { color: #666666 } /* Literal.Number.Oct */
.sa { color: #BA2121 } /* Literal.String.Affix */
.sb { color: #BA2121 } /* Literal.String.Backtick */
.sc { color: #BA2121 } /* Literal.String.Char */
.dl { color: #BA2121 } /* Literal.String.Delimiter */
.sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
.s2 { color: #BA2121 } /* Literal.String.Double */
.se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
.sh { color: #BA2121 } /* Literal.String.Heredoc */
.si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
.sx { color: #008000 } /* Literal.String.Other */
.sr { color: #BB6688 } /* Literal.String.Regex */
.s1 { color: #BA2121 } /* Literal.String.Single */
.ss { color: #19177C } /* Literal.String.Symbol */
.bp { color: #008000 } /* Name.Builtin.Pseudo */
.fm { color: #0000FF } /* Name.Function.Magic */
.vc { color: #19177C } /* Name.Variable.Class */
.vg { color: #19177C } /* Name.Variable.Global */
.vi { color: #19177C } /* Name.Variable.Instance */
.vm { color: #19177C } /* Name.Variable.Magic */
.il { color: #666666 } /* Literal.Number.Integer.Long */
</style>
<div class="highlight"><pre><span></span><span class="kt">int</span> <span class="n">res</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
<span class="k">for</span> <span class="p">(</span><span class="kt">int</span> <span class="n">a</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">a</span> <span class="o">&lt;</span> <span class="mi">10</span><span class="p">;</span> <span class="o">++</span><span class="n">a</span><span class="p">)</span> <span class="p">{</span>
<span class="n">res</span> <span class="o">+=</span> <span class="n">a</span><span class="p">;</span>
<span class="p">}</span>
</pre></div>
</div>
</div>
</div>
</div><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<p><a href="http://en.wikibooks.org/wiki/C%2B%2B_Programming/Programming_Languages/C%2B%2B/Code/Statements/Flow_Control#for_.28Preconditional_and_counter-controlled_loop.29">wikipedia: For loops</a></p>
</div>
</div></div>
</section><section>
<div class="slide" style="float: left"><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="Functions">Functions<a class="anchor-link" href="#Functions">&#182;</a></h3>
</div>
</div><div class="full" style="width: 100%; float: left">
<div class="cell border-box-sizing code_cell rendered">
<div class="output_area">
<div class="output_html rendered_html output_subarea output_execute_result">
<style>
.hll { background-color: #ffffcc }
.c { color: #408080; font-style: italic } /* Comment */
.err { border: 1px solid #FF0000 } /* Error */
.k { color: #008000; font-weight: bold } /* Keyword */
.o { color: #666666 } /* Operator */
.ch { color: #408080; font-style: italic } /* Comment.Hashbang */
.cm { color: #408080; font-style: italic } /* Comment.Multiline */
.cp { color: #BC7A00 } /* Comment.Preproc */
.cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */
.c1 { color: #408080; font-style: italic } /* Comment.Single */
.cs { color: #408080; font-style: italic } /* Comment.Special */
.gd { color: #A00000 } /* Generic.Deleted */
.ge { font-style: italic } /* Generic.Emph */
.gr { color: #FF0000 } /* Generic.Error */
.gh { color: #000080; font-weight: bold } /* Generic.Heading */
.gi { color: #00A000 } /* Generic.Inserted */
.go { color: #888888 } /* Generic.Output */
.gp { color: #000080; font-weight: bold } /* Generic.Prompt */
.gs { font-weight: bold } /* Generic.Strong */
.gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.gt { color: #0044DD } /* Generic.Traceback */
.kc { color: #008000; font-weight: bold } /* Keyword.Constant */
.kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
.kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
.kp { color: #008000 } /* Keyword.Pseudo */
.kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
.kt { color: #B00040 } /* Keyword.Type */
.m { color: #666666 } /* Literal.Number */
.s { color: #BA2121 } /* Literal.String */
.na { color: #7D9029 } /* Name.Attribute */
.nb { color: #008000 } /* Name.Builtin */
.nc { color: #0000FF; font-weight: bold } /* Name.Class */
.no { color: #880000 } /* Name.Constant */
.nd { color: #AA22FF } /* Name.Decorator */
.ni { color: #999999; font-weight: bold } /* Name.Entity */
.ne { color: #D2413A; font-weight: bold } /* Name.Exception */
.nf { color: #0000FF } /* Name.Function */
.nl { color: #A0A000 } /* Name.Label */
.nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
.nt { color: #008000; font-weight: bold } /* Name.Tag */
.nv { color: #19177C } /* Name.Variable */
.ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
.w { color: #bbbbbb } /* Text.Whitespace */
.mb { color: #666666 } /* Literal.Number.Bin */
.mf { color: #666666 } /* Literal.Number.Float */
.mh { color: #666666 } /* Literal.Number.Hex */
.mi { color: #666666 } /* Literal.Number.Integer */
.mo { color: #666666 } /* Literal.Number.Oct */
.sa { color: #BA2121 } /* Literal.String.Affix */
.sb { color: #BA2121 } /* Literal.String.Backtick */
.sc { color: #BA2121 } /* Literal.String.Char */
.dl { color: #BA2121 } /* Literal.String.Delimiter */
.sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
.s2 { color: #BA2121 } /* Literal.String.Double */
.se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
.sh { color: #BA2121 } /* Literal.String.Heredoc */
.si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
.sx { color: #008000 } /* Literal.String.Other */
.sr { color: #BB6688 } /* Literal.String.Regex */
.s1 { color: #BA2121 } /* Literal.String.Single */
.ss { color: #19177C } /* Literal.String.Symbol */
.bp { color: #008000 } /* Name.Builtin.Pseudo */
.fm { color: #0000FF } /* Name.Function.Magic */
.vc { color: #19177C } /* Name.Variable.Class */
.vg { color: #19177C } /* Name.Variable.Global */
.vi { color: #19177C } /* Name.Variable.Instance */
.vm { color: #19177C } /* Name.Variable.Magic */
.il { color: #666666 } /* Literal.Number.Integer.Long */
</style>
<div class="highlight"><pre><span></span><span class="n">return_type</span> <span class="nf">function_name</span><span class="p">(</span><span class="n">type1</span> <span class="n">param1</span><span class="p">,</span> <span class="n">type2</span> <span class="n">param2</span><span class="p">,</span> <span class="p">...)</span> <span class="p">{</span>
<span class="n">instructions</span><span class="p">;</span>
<span class="k">return</span> <span class="n">res</span><span class="p">;</span>
<span class="p">}</span>
</pre></div>
</div>
</div>
</div>
</div><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<p><a href="http://en.wikibooks.org/wiki/C%2B%2B_Programming/Code/Statements/Functions">wikipedia: functions</a></p>
</div>
</div></div>
</section><section>
<div class="slide" style="float: left"><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="Main-function:-entry-point-of-any-program.">Main function: entry point of any program.<a class="anchor-link" href="#Main-function:-entry-point-of-any-program.">&#182;</a></h3>
</div>
</div><div class="full" style="width: 100%; float: left">
<div class="cell border-box-sizing code_cell rendered">
<div class="output_area">
<div class="output_html rendered_html output_subarea output_execute_result">
<style>
.hll { background-color: #ffffcc }
.c { color: #408080; font-style: italic } /* Comment */
.err { border: 1px solid #FF0000 } /* Error */
.k { color: #008000; font-weight: bold } /* Keyword */
.o { color: #666666 } /* Operator */
.ch { color: #408080; font-style: italic } /* Comment.Hashbang */
.cm { color: #408080; font-style: italic } /* Comment.Multiline */
.cp { color: #BC7A00 } /* Comment.Preproc */
.cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */
.c1 { color: #408080; font-style: italic } /* Comment.Single */
.cs { color: #408080; font-style: italic } /* Comment.Special */
.gd { color: #A00000 } /* Generic.Deleted */
.ge { font-style: italic } /* Generic.Emph */
.gr { color: #FF0000 } /* Generic.Error */
.gh { color: #000080; font-weight: bold } /* Generic.Heading */
.gi { color: #00A000 } /* Generic.Inserted */
.go { color: #888888 } /* Generic.Output */
.gp { color: #000080; font-weight: bold } /* Generic.Prompt */
.gs { font-weight: bold } /* Generic.Strong */
.gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.gt { color: #0044DD } /* Generic.Traceback */
.kc { color: #008000; font-weight: bold } /* Keyword.Constant */
.kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
.kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
.kp { color: #008000 } /* Keyword.Pseudo */
.kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
.kt { color: #B00040 } /* Keyword.Type */
.m { color: #666666 } /* Literal.Number */
.s { color: #BA2121 } /* Literal.String */
.na { color: #7D9029 } /* Name.Attribute */
.nb { color: #008000 } /* Name.Builtin */
.nc { color: #0000FF; font-weight: bold } /* Name.Class */
.no { color: #880000 } /* Name.Constant */
.nd { color: #AA22FF } /* Name.Decorator */
.ni { color: #999999; font-weight: bold } /* Name.Entity */
.ne { color: #D2413A; font-weight: bold } /* Name.Exception */
.nf { color: #0000FF } /* Name.Function */
.nl { color: #A0A000 } /* Name.Label */
.nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
.nt { color: #008000; font-weight: bold } /* Name.Tag */
.nv { color: #19177C } /* Name.Variable */
.ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
.w { color: #bbbbbb } /* Text.Whitespace */
.mb { color: #666666 } /* Literal.Number.Bin */
.mf { color: #666666 } /* Literal.Number.Float */
.mh { color: #666666 } /* Literal.Number.Hex */
.mi { color: #666666 } /* Literal.Number.Integer */
.mo { color: #666666 } /* Literal.Number.Oct */
.sa { color: #BA2121 } /* Literal.String.Affix */
.sb { color: #BA2121 } /* Literal.String.Backtick */
.sc { color: #BA2121 } /* Literal.String.Char */
.dl { color: #BA2121 } /* Literal.String.Delimiter */
.sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
.s2 { color: #BA2121 } /* Literal.String.Double */
.se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
.sh { color: #BA2121 } /* Literal.String.Heredoc */
.si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
.sx { color: #008000 } /* Literal.String.Other */
.sr { color: #BB6688 } /* Literal.String.Regex */
.s1 { color: #BA2121 } /* Literal.String.Single */
.ss { color: #19177C } /* Literal.String.Symbol */
.bp { color: #008000 } /* Name.Builtin.Pseudo */
.fm { color: #0000FF } /* Name.Function.Magic */
.vc { color: #19177C } /* Name.Variable.Class */
.vg { color: #19177C } /* Name.Variable.Global */
.vi { color: #19177C } /* Name.Variable.Instance */
.vm { color: #19177C } /* Name.Variable.Magic */
.il { color: #666666 } /* Literal.Number.Integer.Long */
</style>
<div class="highlight"><pre><span></span><span class="kt">int</span> <span class="nf">main</span><span class="p">(</span><span class="kt">int</span> <span class="n">argc</span><span class="p">,</span> <span class="kt">char</span> <span class="o">**</span> <span class="n">argv</span><span class="p">){</span>
<span class="p">...</span>
<span class="p">}</span>
</pre></div>
</div>
</div>
</div>
</div><div class="fragment" style="width: 100%;float: left"><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<p>When you call your program like</p>
<div class="highlight"><pre><span></span>&gt; ./hello tata <span class="m">12</span> <span class="m">67</span>
</pre></div>
<p>argc is 4, and argv is a pointer of string (char array) containing "hello" "tata" "12" and "67"</p>
<p><a href="http://en.wikibooks.org/wiki/C%2B%2B_Programming/Code/Statements/Functions#main">wikipedia: main function</a></p>
</div>
</div></div><div class="fragment" style="width: 100%;float: left"><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<p><strong><center>What is the memory structure of argv ?</center></strong></p>
</div>
</div></div></div>
</section><section>
<div class="slide" style="float: left"><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="Preprocessing-macro">Preprocessing macro<a class="anchor-link" href="#Preprocessing-macro">&#182;</a></h3><ul>
<li>Operation performed before compilation</li>
<li>Text replacement &amp; macro-function</li>
<li>Include other files</li>
</ul>
</div>
</div><div class="full" style="width: 100%; float: left">
<div class="cell border-box-sizing code_cell rendered">
<div class="output_area">
<div class="output_html rendered_html output_subarea output_execute_result">
<style>
.hll { background-color: #ffffcc }
.c { color: #408080; font-style: italic } /* Comment */
.err { border: 1px solid #FF0000 } /* Error */
.k { color: #008000; font-weight: bold } /* Keyword */
.o { color: #666666 } /* Operator */
.ch { color: #408080; font-style: italic } /* Comment.Hashbang */
.cm { color: #408080; font-style: italic } /* Comment.Multiline */
.cp { color: #BC7A00 } /* Comment.Preproc */
.cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */
.c1 { color: #408080; font-style: italic } /* Comment.Single */
.cs { color: #408080; font-style: italic } /* Comment.Special */
.gd { color: #A00000 } /* Generic.Deleted */
.ge { font-style: italic } /* Generic.Emph */
.gr { color: #FF0000 } /* Generic.Error */
.gh { color: #000080; font-weight: bold } /* Generic.Heading */
.gi { color: #00A000 } /* Generic.Inserted */
.go { color: #888888 } /* Generic.Output */
.gp { color: #000080; font-weight: bold } /* Generic.Prompt */
.gs { font-weight: bold } /* Generic.Strong */
.gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.gt { color: #0044DD } /* Generic.Traceback */
.kc { color: #008000; font-weight: bold } /* Keyword.Constant */
.kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
.kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
.kp { color: #008000 } /* Keyword.Pseudo */
.kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
.kt { color: #B00040 } /* Keyword.Type */
.m { color: #666666 } /* Literal.Number */
.s { color: #BA2121 } /* Literal.String */
.na { color: #7D9029 } /* Name.Attribute */
.nb { color: #008000 } /* Name.Builtin */
.nc { color: #0000FF; font-weight: bold } /* Name.Class */
.no { color: #880000 } /* Name.Constant */
.nd { color: #AA22FF } /* Name.Decorator */
.ni { color: #999999; font-weight: bold } /* Name.Entity */
.ne { color: #D2413A; font-weight: bold } /* Name.Exception */
.nf { color: #0000FF } /* Name.Function */
.nl { color: #A0A000 } /* Name.Label */
.nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
.nt { color: #008000; font-weight: bold } /* Name.Tag */
.nv { color: #19177C } /* Name.Variable */
.ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
.w { color: #bbbbbb } /* Text.Whitespace */
.mb { color: #666666 } /* Literal.Number.Bin */
.mf { color: #666666 } /* Literal.Number.Float */
.mh { color: #666666 } /* Literal.Number.Hex */
.mi { color: #666666 } /* Literal.Number.Integer */
.mo { color: #666666 } /* Literal.Number.Oct */
.sa { color: #BA2121 } /* Literal.String.Affix */
.sb { color: #BA2121 } /* Literal.String.Backtick */
.sc { color: #BA2121 } /* Literal.String.Char */
.dl { color: #BA2121 } /* Literal.String.Delimiter */
.sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
.s2 { color: #BA2121 } /* Literal.String.Double */
.se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
.sh { color: #BA2121 } /* Literal.String.Heredoc */
.si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
.sx { color: #008000 } /* Literal.String.Other */
.sr { color: #BB6688 } /* Literal.String.Regex */
.s1 { color: #BA2121 } /* Literal.String.Single */
.ss { color: #19177C } /* Literal.String.Symbol */
.bp { color: #008000 } /* Name.Builtin.Pseudo */
.fm { color: #0000FF } /* Name.Function.Magic */
.vc { color: #19177C } /* Name.Variable.Class */
.vg { color: #19177C } /* Name.Variable.Global */
.vi { color: #19177C } /* Name.Variable.Instance */
.vm { color: #19177C } /* Name.Variable.Magic */
.il { color: #666666 } /* Literal.Number.Integer.Long */
</style>
<div class="highlight"><pre><span></span><span class="cp">#include</span> <span class="cpf">&quot;some_other_file.hh&quot;</span><span class="cp"></span>
<span class="cp">#include</span> <span class="cpf">&lt;standard_header.hh&gt;</span><span class="cp"></span>
</pre></div>
</div>
</div>
</div>
</div><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<ul>
<li>define/undef</li>
</ul>
</div>
</div><div class="full" style="width: 100%; float: left">
<div class="cell border-box-sizing code_cell rendered">
<div class="output_area">
<div class="output_html rendered_html output_subarea output_execute_result">
<style>
.hll { background-color: #ffffcc }
.c { color: #408080; font-style: italic } /* Comment */
.err { border: 1px solid #FF0000 } /* Error */
.k { color: #008000; font-weight: bold } /* Keyword */
.o { color: #666666 } /* Operator */
.ch { color: #408080; font-style: italic } /* Comment.Hashbang */
.cm { color: #408080; font-style: italic } /* Comment.Multiline */
.cp { color: #BC7A00 } /* Comment.Preproc */
.cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */
.c1 { color: #408080; font-style: italic } /* Comment.Single */
.cs { color: #408080; font-style: italic } /* Comment.Special */
.gd { color: #A00000 } /* Generic.Deleted */
.ge { font-style: italic } /* Generic.Emph */
.gr { color: #FF0000 } /* Generic.Error */
.gh { color: #000080; font-weight: bold } /* Generic.Heading */
.gi { color: #00A000 } /* Generic.Inserted */
.go { color: #888888 } /* Generic.Output */
.gp { color: #000080; font-weight: bold } /* Generic.Prompt */
.gs { font-weight: bold } /* Generic.Strong */
.gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.gt { color: #0044DD } /* Generic.Traceback */
.kc { color: #008000; font-weight: bold } /* Keyword.Constant */
.kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
.kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
.kp { color: #008000 } /* Keyword.Pseudo */
.kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
.kt { color: #B00040 } /* Keyword.Type */
.m { color: #666666 } /* Literal.Number */
.s { color: #BA2121 } /* Literal.String */
.na { color: #7D9029 } /* Name.Attribute */
.nb { color: #008000 } /* Name.Builtin */
.nc { color: #0000FF; font-weight: bold } /* Name.Class */
.no { color: #880000 } /* Name.Constant */
.nd { color: #AA22FF } /* Name.Decorator */
.ni { color: #999999; font-weight: bold } /* Name.Entity */
.ne { color: #D2413A; font-weight: bold } /* Name.Exception */
.nf { color: #0000FF } /* Name.Function */
.nl { color: #A0A000 } /* Name.Label */
.nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
.nt { color: #008000; font-weight: bold } /* Name.Tag */
.nv { color: #19177C } /* Name.Variable */
.ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
.w { color: #bbbbbb } /* Text.Whitespace */
.mb { color: #666666 } /* Literal.Number.Bin */
.mf { color: #666666 } /* Literal.Number.Float */
.mh { color: #666666 } /* Literal.Number.Hex */
.mi { color: #666666 } /* Literal.Number.Integer */
.mo { color: #666666 } /* Literal.Number.Oct */
.sa { color: #BA2121 } /* Literal.String.Affix */
.sb { color: #BA2121 } /* Literal.String.Backtick */
.sc { color: #BA2121 } /* Literal.String.Char */
.dl { color: #BA2121 } /* Literal.String.Delimiter */
.sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
.s2 { color: #BA2121 } /* Literal.String.Double */
.se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
.sh { color: #BA2121 } /* Literal.String.Heredoc */
.si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
.sx { color: #008000 } /* Literal.String.Other */
.sr { color: #BB6688 } /* Literal.String.Regex */
.s1 { color: #BA2121 } /* Literal.String.Single */
.ss { color: #19177C } /* Literal.String.Symbol */
.bp { color: #008000 } /* Name.Builtin.Pseudo */
.fm { color: #0000FF } /* Name.Function.Magic */
.vc { color: #19177C } /* Name.Variable.Class */
.vg { color: #19177C } /* Name.Variable.Global */
.vi { color: #19177C } /* Name.Variable.Instance */
.vm { color: #19177C } /* Name.Variable.Magic */
.il { color: #666666 } /* Literal.Number.Integer.Long */
</style>
<div class="highlight"><pre><span></span><span class="cp">#define AVOGADRO 6.02214129e23</span>
<span class="n">instructions</span><span class="p">;</span>
<span class="cp">#undef AVOGADRO</span>
</pre></div>
</div>
</div>
</div>
</div><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<p><a href="https://en.wikibooks.org/wiki/C%2B%2B_Programming/Programming_Languages/C%2B%2B/Code/Compiler/Preprocessor#Macros">wikipedia: preprocessing macro</a></p>
</div>
</div></div>
</section><section>
<div class="slide" style="float: left"><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="Simple-output-to-screen">Simple output to screen<a class="anchor-link" href="#Simple-output-to-screen">&#182;</a></h3>
</div>
</div><div class="full" style="width: 100%; float: left">
<div class="cell border-box-sizing code_cell rendered">
<div class="output_area">
<div class="output_html rendered_html output_subarea output_execute_result">
<style>
.hll { background-color: #ffffcc }
.c { color: #408080; font-style: italic } /* Comment */
.err { border: 1px solid #FF0000 } /* Error */
.k { color: #008000; font-weight: bold } /* Keyword */
.o { color: #666666 } /* Operator */
.ch { color: #408080; font-style: italic } /* Comment.Hashbang */
.cm { color: #408080; font-style: italic } /* Comment.Multiline */
.cp { color: #BC7A00 } /* Comment.Preproc */
.cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */
.c1 { color: #408080; font-style: italic } /* Comment.Single */
.cs { color: #408080; font-style: italic } /* Comment.Special */
.gd { color: #A00000 } /* Generic.Deleted */
.ge { font-style: italic } /* Generic.Emph */
.gr { color: #FF0000 } /* Generic.Error */
.gh { color: #000080; font-weight: bold } /* Generic.Heading */
.gi { color: #00A000 } /* Generic.Inserted */
.go { color: #888888 } /* Generic.Output */
.gp { color: #000080; font-weight: bold } /* Generic.Prompt */
.gs { font-weight: bold } /* Generic.Strong */
.gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.gt { color: #0044DD } /* Generic.Traceback */
.kc { color: #008000; font-weight: bold } /* Keyword.Constant */
.kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
.kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
.kp { color: #008000 } /* Keyword.Pseudo */
.kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
.kt { color: #B00040 } /* Keyword.Type */
.m { color: #666666 } /* Literal.Number */
.s { color: #BA2121 } /* Literal.String */
.na { color: #7D9029 } /* Name.Attribute */
.nb { color: #008000 } /* Name.Builtin */
.nc { color: #0000FF; font-weight: bold } /* Name.Class */
.no { color: #880000 } /* Name.Constant */
.nd { color: #AA22FF } /* Name.Decorator */
.ni { color: #999999; font-weight: bold } /* Name.Entity */
.ne { color: #D2413A; font-weight: bold } /* Name.Exception */
.nf { color: #0000FF } /* Name.Function */
.nl { color: #A0A000 } /* Name.Label */
.nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
.nt { color: #008000; font-weight: bold } /* Name.Tag */
.nv { color: #19177C } /* Name.Variable */
.ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
.w { color: #bbbbbb } /* Text.Whitespace */
.mb { color: #666666 } /* Literal.Number.Bin */
.mf { color: #666666 } /* Literal.Number.Float */
.mh { color: #666666 } /* Literal.Number.Hex */
.mi { color: #666666 } /* Literal.Number.Integer */
.mo { color: #666666 } /* Literal.Number.Oct */
.sa { color: #BA2121 } /* Literal.String.Affix */
.sb { color: #BA2121 } /* Literal.String.Backtick */
.sc { color: #BA2121 } /* Literal.String.Char */
.dl { color: #BA2121 } /* Literal.String.Delimiter */
.sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
.s2 { color: #BA2121 } /* Literal.String.Double */
.se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
.sh { color: #BA2121 } /* Literal.String.Heredoc */
.si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
.sx { color: #008000 } /* Literal.String.Other */
.sr { color: #BB6688 } /* Literal.String.Regex */
.s1 { color: #BA2121 } /* Literal.String.Single */
.ss { color: #19177C } /* Literal.String.Symbol */
.bp { color: #008000 } /* Name.Builtin.Pseudo */
.fm { color: #0000FF } /* Name.Function.Magic */
.vc { color: #19177C } /* Name.Variable.Class */
.vg { color: #19177C } /* Name.Variable.Global */
.vi { color: #19177C } /* Name.Variable.Instance */
.vm { color: #19177C } /* Name.Variable.Magic */
.il { color: #666666 } /* Literal.Number.Integer.Long */
</style>
<div class="highlight"><pre><span></span><span class="cp">#include</span> <span class="cpf">&lt;iostream&gt;</span><span class="cp"></span>
<span class="kt">int</span> <span class="nf">main</span><span class="p">()</span> <span class="p">{</span>
<span class="kt">int</span> <span class="n">a</span> <span class="o">=</span> <span class="mf">1e6</span><span class="p">;</span>
<span class="n">std</span><span class="o">::</span><span class="n">cout</span> <span class="o">&lt;&lt;</span> <span class="s">&quot;wanna have fun a &quot;</span> <span class="o">&lt;&lt;</span> <span class="n">a</span> <span class="o">&lt;&lt;</span> <span class="s">&quot; times&quot;</span> <span class="o">&lt;&lt;</span> <span class="n">std</span><span class="o">::</span><span class="n">endl</span><span class="p">;</span>
<span class="p">}</span>
</pre></div>
</div>
</div>
</div>
</div></div>
</section><section>
<div class="slide" style="float: left"><div class="full" style="width: 100%; float: left">
<div class="cell border-box-sizing code_cell rendered">
<div class="output_area">
<div class="output_html rendered_html output_subarea output_execute_result">
<style>
.hll { background-color: #ffffcc }
.c { color: #408080; font-style: italic } /* Comment */
.err { border: 1px solid #FF0000 } /* Error */
.k { color: #008000; font-weight: bold } /* Keyword */
.o { color: #666666 } /* Operator */
.ch { color: #408080; font-style: italic } /* Comment.Hashbang */
.cm { color: #408080; font-style: italic } /* Comment.Multiline */
.cp { color: #BC7A00 } /* Comment.Preproc */
.cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */
.c1 { color: #408080; font-style: italic } /* Comment.Single */
.cs { color: #408080; font-style: italic } /* Comment.Special */
.gd { color: #A00000 } /* Generic.Deleted */
.ge { font-style: italic } /* Generic.Emph */
.gr { color: #FF0000 } /* Generic.Error */
.gh { color: #000080; font-weight: bold } /* Generic.Heading */
.gi { color: #00A000 } /* Generic.Inserted */
.go { color: #888888 } /* Generic.Output */
.gp { color: #000080; font-weight: bold } /* Generic.Prompt */
.gs { font-weight: bold } /* Generic.Strong */
.gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.gt { color: #0044DD } /* Generic.Traceback */
.kc { color: #008000; font-weight: bold } /* Keyword.Constant */
.kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
.kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
.kp { color: #008000 } /* Keyword.Pseudo */
.kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
.kt { color: #B00040 } /* Keyword.Type */
.m { color: #666666 } /* Literal.Number */
.s { color: #BA2121 } /* Literal.String */
.na { color: #7D9029 } /* Name.Attribute */
.nb { color: #008000 } /* Name.Builtin */
.nc { color: #0000FF; font-weight: bold } /* Name.Class */
.no { color: #880000 } /* Name.Constant */
.nd { color: #AA22FF } /* Name.Decorator */
.ni { color: #999999; font-weight: bold } /* Name.Entity */
.ne { color: #D2413A; font-weight: bold } /* Name.Exception */
.nf { color: #0000FF } /* Name.Function */
.nl { color: #A0A000 } /* Name.Label */
.nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
.nt { color: #008000; font-weight: bold } /* Name.Tag */
.nv { color: #19177C } /* Name.Variable */
.ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
.w { color: #bbbbbb } /* Text.Whitespace */
.mb { color: #666666 } /* Literal.Number.Bin */
.mf { color: #666666 } /* Literal.Number.Float */
.mh { color: #666666 } /* Literal.Number.Hex */
.mi { color: #666666 } /* Literal.Number.Integer */
.mo { color: #666666 } /* Literal.Number.Oct */
.sa { color: #BA2121 } /* Literal.String.Affix */
.sb { color: #BA2121 } /* Literal.String.Backtick */
.sc { color: #BA2121 } /* Literal.String.Char */
.dl { color: #BA2121 } /* Literal.String.Delimiter */
.sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
.s2 { color: #BA2121 } /* Literal.String.Double */
.se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
.sh { color: #BA2121 } /* Literal.String.Heredoc */
.si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
.sx { color: #008000 } /* Literal.String.Other */
.sr { color: #BB6688 } /* Literal.String.Regex */
.s1 { color: #BA2121 } /* Literal.String.Single */
.ss { color: #19177C } /* Literal.String.Symbol */
.bp { color: #008000 } /* Name.Builtin.Pseudo */
.fm { color: #0000FF } /* Name.Function.Magic */
.vc { color: #19177C } /* Name.Variable.Class */
.vg { color: #19177C } /* Name.Variable.Global */
.vi { color: #19177C } /* Name.Variable.Instance */
.vm { color: #19177C } /* Name.Variable.Magic */
.il { color: #666666 } /* Literal.Number.Integer.Long */
</style>
<div class="highlight"><pre><span></span><span style="color:red;font-size:150%">#include</span> &lt;iostream&gt;
int main() {
int a = 1e6;
std::cout &lt;&lt; &quot;wanna have fun a &quot; &lt;&lt; a &lt;&lt; &quot; times&quot; &lt;&lt; std::endl;
}
</pre></div>
</div>
</div>
</div>
</div></div>
</section><section>
<div class="slide" style="float: left"><div class="full" style="width: 100%; float: left">
<div class="cell border-box-sizing code_cell rendered">
<div class="output_area">
<div class="output_html rendered_html output_subarea output_execute_result">
<style>
.hll { background-color: #ffffcc }
.c { color: #408080; font-style: italic } /* Comment */
.err { border: 1px solid #FF0000 } /* Error */
.k { color: #008000; font-weight: bold } /* Keyword */
.o { color: #666666 } /* Operator */
.ch { color: #408080; font-style: italic } /* Comment.Hashbang */
.cm { color: #408080; font-style: italic } /* Comment.Multiline */
.cp { color: #BC7A00 } /* Comment.Preproc */
.cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */
.c1 { color: #408080; font-style: italic } /* Comment.Single */
.cs { color: #408080; font-style: italic } /* Comment.Special */
.gd { color: #A00000 } /* Generic.Deleted */
.ge { font-style: italic } /* Generic.Emph */
.gr { color: #FF0000 } /* Generic.Error */
.gh { color: #000080; font-weight: bold } /* Generic.Heading */
.gi { color: #00A000 } /* Generic.Inserted */
.go { color: #888888 } /* Generic.Output */
.gp { color: #000080; font-weight: bold } /* Generic.Prompt */
.gs { font-weight: bold } /* Generic.Strong */
.gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.gt { color: #0044DD } /* Generic.Traceback */
.kc { color: #008000; font-weight: bold } /* Keyword.Constant */
.kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
.kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
.kp { color: #008000 } /* Keyword.Pseudo */
.kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
.kt { color: #B00040 } /* Keyword.Type */
.m { color: #666666 } /* Literal.Number */
.s { color: #BA2121 } /* Literal.String */
.na { color: #7D9029 } /* Name.Attribute */
.nb { color: #008000 } /* Name.Builtin */
.nc { color: #0000FF; font-weight: bold } /* Name.Class */
.no { color: #880000 } /* Name.Constant */
.nd { color: #AA22FF } /* Name.Decorator */
.ni { color: #999999; font-weight: bold } /* Name.Entity */
.ne { color: #D2413A; font-weight: bold } /* Name.Exception */
.nf { color: #0000FF } /* Name.Function */
.nl { color: #A0A000 } /* Name.Label */
.nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
.nt { color: #008000; font-weight: bold } /* Name.Tag */
.nv { color: #19177C } /* Name.Variable */
.ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
.w { color: #bbbbbb } /* Text.Whitespace */
.mb { color: #666666 } /* Literal.Number.Bin */
.mf { color: #666666 } /* Literal.Number.Float */
.mh { color: #666666 } /* Literal.Number.Hex */
.mi { color: #666666 } /* Literal.Number.Integer */
.mo { color: #666666 } /* Literal.Number.Oct */
.sa { color: #BA2121 } /* Literal.String.Affix */
.sb { color: #BA2121 } /* Literal.String.Backtick */
.sc { color: #BA2121 } /* Literal.String.Char */
.dl { color: #BA2121 } /* Literal.String.Delimiter */
.sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
.s2 { color: #BA2121 } /* Literal.String.Double */
.se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
.sh { color: #BA2121 } /* Literal.String.Heredoc */
.si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
.sx { color: #008000 } /* Literal.String.Other */
.sr { color: #BB6688 } /* Literal.String.Regex */
.s1 { color: #BA2121 } /* Literal.String.Single */
.ss { color: #19177C } /* Literal.String.Symbol */
.bp { color: #008000 } /* Name.Builtin.Pseudo */
.fm { color: #0000FF } /* Name.Function.Magic */
.vc { color: #19177C } /* Name.Variable.Class */
.vg { color: #19177C } /* Name.Variable.Global */
.vi { color: #19177C } /* Name.Variable.Instance */
.vm { color: #19177C } /* Name.Variable.Magic */
.il { color: #666666 } /* Literal.Number.Integer.Long */
</style>
<div class="highlight"><pre><span></span>#include &lt;iostream&gt;
int main() {
int a = 1e6;
<span style="color:red;font-size:150%">std::cout</span> &lt;&lt; &quot;wanna have fun a &quot; &lt;&lt; a &lt;&lt; &quot; times&quot; &lt;&lt; std::endl;
}
</pre></div>
</div>
</div>
</div>
</div></div>
</section><section>
<div class="slide" style="float: left"><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<h1 id="-Interactive-session-on-(C++)-"><center> Interactive session on (C++) </center><a class="anchor-link" href="#-Interactive-session-on-(C++)-">&#182;</a></h1><ul>
<li>Source files (.cc .cxx .cpp .hh .hpp convention)</li>
<li>CMake</li>
<li>Exercise to split a source file into header and implementation</li>
<li>Manipulating the argc and argv</li>
<li>Loops</li>
<li>Debugger GDB</li>
<li>Implementing the computation of pi in C++</li>
</ul>
</div>
</div></div>
</section></section><section><section>
<div class="slide" style="float: left"><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<h1 id="Numbers">Numbers<a class="anchor-link" href="#Numbers">&#182;</a></h1><h2 id="Integer-numbers">Integer numbers<a class="anchor-link" href="#Integer-numbers">&#182;</a></h2><p>Integers are numbers stored with a fixed number of bits</p>
<ul>
<li>char or unsigned char: 8bits (1 Byte) $[-128,127]$ or $[0,255]$</li>
<li>short or unsigned short: 16bits (2 Bytes) $[-2^{15},2^{15}-1]$ or $[0,2^{16}-1 = 65535]$</li>
<li>integer or unsigned int: 32bits (4 Bytes) $[-2^{31},2^{31}-1]$ or $[0,2^{32}-1 = 4294967295]$</li>
</ul>
</div>
</div></div>
</section><section>
<div class="slide" style="float: left"><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<h2 id="Floating-point-numbers">Floating point numbers<a class="anchor-link" href="#Floating-point-numbers">&#182;</a></h2><p>Any floating point number in a computer are stored with the representation:
$$(-1)^s \times c \times b^q$$</p>
<ul>
<li>$(-1)^s$ is the sign ($s$ is its encoding)</li>
<li>$c$ is the significand, an integer</li>
<li>$b$ is the base</li>
<li>$q$ is an (integer) exponent</li>
</ul>
</div>
</div></div>
</section><section>
<div class="slide" style="float: left"><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="Standards-(wikipedia:-IEEE-floating-point-standard)">Standards (<a href="http://en.wikipedia.org/wiki/IEEE_floating_point">wikipedia: IEEE floating point standard</a>)<a class="anchor-link" href="#Standards-(wikipedia:-IEEE-floating-point-standard)">&#182;</a></h3><ul>
<li><strong>float</strong> (single) precision (4 Bytes = 32 bits), significand 24 bits ~ 7.22 decimal digits.</li>
<li><strong>double</strong> precision (8 Bytes = 64 bits), significand 53 bits ~ 15.95 decimal digits.</li>
<li><strong>long double</strong> (16 Bytes = 128 bits), significand 113 bits ~ 34.02 decimal digits.</li>
</ul>
<p><a href="http://en.wikipedia.org/wiki/Floating-point#IEEE_754:_floating_point_in_modern_computers">wikipedia: floating point in modern computers</a></p>
</div>
</div><div class="fragment" style="width: 100%;float: left"><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<ul>
<li>Special values<ul>
<li>$\pm$ 0</li>
<li>$\pm$ inf</li>
<li>NaN (not a number)</li>
</ul>
</li>
</ul>
</div>
</div></div><div class="fragment" style="width: 100%;float: left"><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<ul>
<li>Rounding problems (for demo assume 4 digits available)<ul>
<li>$1. + 10^{-4} = 1.$</li>
</ul>
</li>
</ul>
</div>
</div></div></div>
</section><section>
<div class="slide" style="float: left"><div class="full" style="width: 100%; float: left">
<div class="text_cell_render border-box-sizing rendered_html">
<h2 id="Interactive-session-Manipulating-floating-point-numbers">Interactive session Manipulating floating point numbers<a class="anchor-link" href="#Interactive-session-Manipulating-floating-point-numbers">&#182;</a></h2><ul>
<li>Casting from integer to float/double</li>
<li>Overflow</li>
<li>Underflow</li>
</ul>
</div>
</div></div>
</section></section>
</div>
</div>
<!-- loads reveal -->
<script>
require(
{
// it makes sense to wait a little bit when you are loading
// reveal from a cdn in a slow connection environment
waitSeconds: 1
},
[
"reveal.js/lib/js/head.min.js",
"reveal.js/js/reveal.js"
],
function(head, Reveal){
Reveal.initialize({
//width: '1200px',
//height: '100%'
// margins: 0.1,
controls: true,
progress: true,
history: true,
transition: 'fade',
margin: 0.02,
progress: true,
slideNumber: true,
// Optional libraries used to extend on reveal.js plugins
dependencies: [
{ src: 'reveal.js/lib/js/classList.js',
condition: function() { return !document.body.classList; }
},
{ src: 'reveal.js/plugin/markdown/marked.js',
condition: function() { return !!document.querySelector( '[data-markdown]' ); }
},
{ src: 'reveal.js/plugin/markdown/markdown.js',
condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
{ src: 'reveal.js/plugin/highlight/highlight.js',
async: true, callback: function() { hljs.initHighlightingOnLoad(); }
},
{ src: 'reveal.js/plugin/zoom-js/zoom.js', async: true },
{ src: 'reveal.js/plugin/notes/notes.js',
async: true, condition: function() { return !!document.body.classList; }
}]});
var update = function(event){
if(MathJax.Hub.getAllJax(Reveal.getCurrentSlide())){
MathJax.Hub.Rerender(Reveal.getCurrentSlide());
}
};
Reveal.addEventListener('slidechanged', update);
}
);
$(document).ready(function(){
//$(".cell").css("width","90%");
//$(".cell").css("margin","0 auto");
//$(".output_area").css("text-align","center");
//$(".output_png").css("margin","0 auto");
//$("img").css("margin","0 auto");
//$(".output_html").css("margin", "0 auto");
//$(".output_latex").css("margin", "0 auto");
//$(".output_subarea").css("flex", "None");
$( "markdown" ).each(function( index ) {
$( this ).html(Markdown($( this ).text()));
});
})
</script>
</body>
</html>

Event Timeline