03 Cintro en
03 Cintro en
ESTiG
2 C Language Virtues
4 Identiers
Summary
2 C Language Virtues
4 Identiers
C++
C++
Summary
2 C Language Virtues
4 Identiers
C Language Virtues
C Language Virtues
C Language Virtues
C Language Virtues
C Language Virtues
C Language Virtues
C Language Virtues
Due to worldwide adoption, the language is very well documented:
On independent initiatives - http://devdocs.io/cdevdocs.io,
http://en.cppreference.com/w/c/languagecppreference.com,
...
On unix-based individual man pages (ex.: man 3 printf )
As inline-documentation on IDEs (Integrated Development
Environments)1
Currently, almost every device with processing capabilities is
provided with a C compiler
This leads to a huge community of developers, contributing with:
Developer Community Support -
https://stackoverflow.com/questions/tagged/cstack overow,
https://www.reddit.com/r/C_Programming/reddit,
https://cboard.cprogramming.com/Cprogramming.com, . . .
Thousands of shared libraries of code -
https://github.com/trending?l=Cgithub.com, . . .
1 Where available. . .
C Language Virtues
Due to worldwide adoption, the language is very well documented:
On independent initiatives - http://devdocs.io/cdevdocs.io,
http://en.cppreference.com/w/c/languagecppreference.com,
...
On unix-based individual man pages (ex.: man 3 printf )
As inline-documentation on IDEs (Integrated Development
Environments)1
Currently, almost every device with processing capabilities is
provided with a C compiler
This leads to a huge community of developers, contributing with:
Developer Community Support -
https://stackoverflow.com/questions/tagged/cstack overow,
https://www.reddit.com/r/C_Programming/reddit,
https://cboard.cprogramming.com/Cprogramming.com, . . .
Thousands of shared libraries of code -
https://github.com/trending?l=Cgithub.com, . . .
1 Where available. . .
C Language Virtues
Due to worldwide adoption, the language is very well documented:
On independent initiatives - http://devdocs.io/cdevdocs.io,
http://en.cppreference.com/w/c/languagecppreference.com,
...
On unix-based individual man pages (ex.: man 3 printf )
As inline-documentation on IDEs (Integrated Development
Environments)1
Currently, almost every device with processing capabilities is
provided with a C compiler
This leads to a huge community of developers, contributing with:
Developer Community Support -
https://stackoverflow.com/questions/tagged/cstack overow,
https://www.reddit.com/r/C_Programming/reddit,
https://cboard.cprogramming.com/Cprogramming.com, . . .
Thousands of shared libraries of code -
https://github.com/trending?l=Cgithub.com, . . .
1 Where available. . .
C Language Virtues
Due to worldwide adoption, the language is very well documented:
On independent initiatives - http://devdocs.io/cdevdocs.io,
http://en.cppreference.com/w/c/languagecppreference.com,
...
On unix-based individual man pages (ex.: man 3 printf )
As inline-documentation on IDEs (Integrated Development
Environments)1
Currently, almost every device with processing capabilities is
provided with a C compiler
This leads to a huge community of developers, contributing with:
Developer Community Support -
https://stackoverflow.com/questions/tagged/cstack overow,
https://www.reddit.com/r/C_Programming/reddit,
https://cboard.cprogramming.com/Cprogramming.com, . . .
Thousands of shared libraries of code -
https://github.com/trending?l=Cgithub.com, . . .
1 Where available. . .
C Language Virtues
Due to worldwide adoption, the language is very well documented:
On independent initiatives - http://devdocs.io/cdevdocs.io,
http://en.cppreference.com/w/c/languagecppreference.com,
...
On unix-based individual man pages (ex.: man 3 printf )
As inline-documentation on IDEs (Integrated Development
Environments)1
Currently, almost every device with processing capabilities is
provided with a C compiler
This leads to a huge community of developers, contributing with:
Developer Community Support -
https://stackoverflow.com/questions/tagged/cstack overow,
https://www.reddit.com/r/C_Programming/reddit,
https://cboard.cprogramming.com/Cprogramming.com, . . .
Thousands of shared libraries of code -
https://github.com/trending?l=Cgithub.com, . . .
1 Where available. . .
C Language Virtues
Due to worldwide adoption, the language is very well documented:
On independent initiatives - http://devdocs.io/cdevdocs.io,
http://en.cppreference.com/w/c/languagecppreference.com,
...
On unix-based individual man pages (ex.: man 3 printf )
As inline-documentation on IDEs (Integrated Development
Environments)1
Currently, almost every device with processing capabilities is
provided with a C compiler
This leads to a huge community of developers, contributing with:
Developer Community Support -
https://stackoverflow.com/questions/tagged/cstack overow,
https://www.reddit.com/r/C_Programming/reddit,
https://cboard.cprogramming.com/Cprogramming.com, . . .
Thousands of shared libraries of code -
https://github.com/trending?l=Cgithub.com, . . .
1 Where available. . .
C Language Virtues
Due to worldwide adoption, the language is very well documented:
On independent initiatives - http://devdocs.io/cdevdocs.io,
http://en.cppreference.com/w/c/languagecppreference.com,
...
On unix-based individual man pages (ex.: man 3 printf )
As inline-documentation on IDEs (Integrated Development
Environments)1
Currently, almost every device with processing capabilities is
provided with a C compiler
This leads to a huge community of developers, contributing with:
Developer Community Support -
https://stackoverflow.com/questions/tagged/cstack overow,
https://www.reddit.com/r/C_Programming/reddit,
https://cboard.cprogramming.com/Cprogramming.com, . . .
Thousands of shared libraries of code -
https://github.com/trending?l=Cgithub.com, . . .
1 Where available. . .
C Language Virtues
Due to worldwide adoption, the language is very well documented:
On independent initiatives - http://devdocs.io/cdevdocs.io,
http://en.cppreference.com/w/c/languagecppreference.com,
...
On unix-based individual man pages (ex.: man 3 printf )
As inline-documentation on IDEs (Integrated Development
Environments)1
Currently, almost every device with processing capabilities is
provided with a C compiler
This leads to a huge community of developers, contributing with:
Developer Community Support -
https://stackoverflow.com/questions/tagged/cstack overow,
https://www.reddit.com/r/C_Programming/reddit,
https://cboard.cprogramming.com/Cprogramming.com, . . .
Thousands of shared libraries of code -
https://github.com/trending?l=Cgithub.com, . . .
1 Where available. . .
C Language Virtues
C Language Virtues
C Language Virtues
C Language Virtues
C Language Virtues
C Language Virtues
Summary
2 C Language Virtues
4 Identiers
3 UNIX-based O.S.
3 UNIX-based O.S.
3 UNIX-based O.S.
3 UNIX-based O.S.
3 UNIX-based O.S.
3 UNIX-based O.S.
If you use an IDE, you get useful error information on the user
interface
If you use an IDE, you get useful error information on the user
interface
If you don't use an IDE (ex.: command line) you get an error in the
console
// main . c
# include < stdio .h >
int main () {
printf (" Hello World !") ;
}
// main . c
# include < stdio .h >
int main () {
printf (" Hello World !") ;
}
// main . c
# include < stdio .h > Review Compile
int main () {
printf (" Hello World !") ;
}
errors?
:::::
// main . c
# include < stdio .h > Review Compile
int main () {
printf (" Hello World !") ;
}
errors?
:::::
// main . c
# include < stdio .h > Review Compile
int main () {
printf (" Hello World !") ;
}
errors?
:::::
// main . c
# include < stdio .h > Review Compile
int main () {
printf (" Hello World !") ;
}
errors?
:::::
// main . c
# include < stdio .h > Review Compile
int main () {
printf (" Hello World !") ;
}
errors?
:::::
// main . c
# include < stdio .h > Review Compile
int main () {
printf (" Hello World !") ;
}
errors?
:::::
.o .o
exe
.o .o
.o .o
exe
.o .o
.o .o
exe
.o .o
.o .o
exe
.o .o
.o .o
exe
.o .o
.o .o
exe
.o .o
.o .o
exe
.o .o
pre-processor pre-processor
pre-processor pre-processor
C-code C-code
pre-processor pre-processor
C-code C-code
compiler compiler
pre-processor pre-processor
C-code C-code
compiler compiler
object-code object-code
pre-processor pre-processor
C-code C-code
compiler compiler
object-code object-code
Linker
pre-processor pre-processor
C-code C-code
compiler compiler
Linker
pre-processor pre-processor
C-code C-code
compiler compiler
Linker
executable le
To help track possible logical errors (also known as bugs) you can
use a feature called debugging
To help track possible logical errors (also known as bugs) you can
use a feature called debugging
To help track possible logical errors (also known as bugs) you can
use a feature called debugging
Summary
2 C Language Virtues
4 Identiers
Identiers
Identiers
Identiers
Identiers
Identiers
Identiers
myImportant_variable1
Identiers
myImportant_variable1
Identiers
myImportant_variable1
Identiers - Keywords
Identiers - Keywords
Identiers - Keywords
Identiers - Keywords
Identiers - Practice
1count
Identiers - Practice
1count → 1count
:
count!
Identiers - Practice
1count → 1count
:
count! → count!:
count1
Identiers - Practice
1count → 1count
:
count! → count!:
count1 → count1
Opção
Identiers - Practice
1count → 1count
:
count! → count!:
count1 → count1
Opção → Op::
ção
Option
Identiers - Practice
1count → 1count
:
count! → count!:
count1 → count1
Opção → Op::
ção
Identiers - Practice
1count → 1count
:
count! → count!:
count1 → count1
Opção → Op::
ção
Value#
Identiers - Practice
1count → 1count
:
count! → count!:
count1 → count1
Opção → Op::
ção
Value# → Value::
#
value_15
Identiers - Practice
1count → 1count
:
count! → count!:
count1 → count1
Opção → Op::
ção
Value# → Value::
#
value_15 → value_15
Value15
Identiers - Practice
1count → 1count
:
count! → count!:
count1 → count1
Opção → Op::
ção
Value# → Value::
#
value_15 → value_15
Value15 → Value15
Value 15
Identiers - Practice
1count → 1count
:
int
count! → count!:
count1 → count1
Opção → Op::
ção
Value# → Value::
#
value_15 → value_15
Value15 → Value15
Value 15 → Value: 15
Identiers - Practice
1count → 1count
:
int → int
::
count1 → count1
Opção → Op::
ção
Value# → Value::
#
value_15 → value_15
Value15 → Value15
Value 15 → Value: 15
Identiers - Practice
1count → 1count
:
int → int
::
Opção → Op::
ção
Value# → Value::
#
value_15 → value_15
Value15 → Value15
Value 15 → Value: 15
Identiers - Practice
1count → 1count
:
int → int
::
Opção → Op::
ção 'integer'
Value# → Value::
#
value_15 → value_15
Value15 → Value15
Value 15 → Value: 15
Identiers - Practice
1count → 1count
:
int → int
::
Opção → Op::
ção 'integer' → :
'integer:'
Option → Option
Value# → Value::
#
value_15 → value_15
Value15 → Value15
Value 15 → Value: 15
Identiers - Practice
1count → 1count
:
int → int
::
Opção → Op::
ção 'integer' → :
'integer:'
Value# → Value::
#
value_15 → value_15
Value15 → Value15
Value 15 → Value: 15
Identiers - Practice
1count → 1count
:
int → int
::
Opção → Op::
ção 'integer' → :
'integer:'
Value# → Value::
# average value
value_15 → value_15
Value15 → Value15
Value 15 → Value: 15
Identiers - Practice
1count → 1count
:
int → int
::
Opção → Op::
ção 'integer' → :
'integer:'
Value# → Value::
# average value → average value
Value15 → Value15
Value 15 → Value: 15
Identiers - Practice
1count → 1count
:
int → int
::
Opção → Op::
ção 'integer' → :
'integer:'
Value# → Value::
# average value → average value
Value 15 → Value: 15
Identiers - Practice
1count → 1count
:
int → int
::
Opção → Op::
ção 'integer' → :
'integer:'
Value# → Value::
# average value → average value
Identiers - Practice
1count → 1count
:
int → int
::
Opção → Op::
ção 'integer' → :
'integer:'
Value# → Value::
# average value → average value
Summary
2 C Language Virtues
4 Identiers
Data Structures
variables, constants, data types → allow storing/processing data in
the appropriate format
Control Structures
iteration and selection that allow the programmer to change the ow
of the execution
Data Types
Describe the type of data that can be stored in a given entity
Variables
Memory resident entities that are of a given data type
Can be changed during the normal ow of the program
Data Structures
variables, constants, data types → allow storing/processing data in
the appropriate format
Control Structures
iteration and selection that allow the programmer to change the ow
of the execution
Data Types
Describe the type of data that can be stored in a given entity
Variables
Memory resident entities that are of a given data type
Can be changed during the normal ow of the program
Data Structures
variables, constants, data types → allow storing/processing data in
the appropriate format
Control Structures
iteration and selection that allow the programmer to change the ow
of the execution
Data Types
Describe the type of data that can be stored in a given entity
Variables
Memory resident entities that are of a given data type
Can be changed during the normal ow of the program
Data Structures
variables, constants, data types → allow storing/processing data in
the appropriate format
Control Structures
iteration and selection that allow the programmer to change the ow
of the execution
Data Types
Describe the type of data that can be stored in a given entity
Variables
Memory resident entities that are of a given data type
Can be changed during the normal ow of the program
Scope/Composed expressions
Group of instructions inside a code block, outlined by {}
Example:
{
intruction1 ;
intruction2 ;
intruction3 ;
intruction4 ;
}
Scope/Composed expressions
Group of instructions inside a code block, outlined by {}
Example:
{
intruction1 ;
intruction2 ;
intruction3 ;
intruction4 ;
}