Visão Geral
Este Curso C Programming oferece um estudo abrangente da linguagem de programação C. As palestras em sala de aula enfatizam os pontos fortes do C, que fornece aos programadores os meios de escrever código eficiente, sustentável e portátil. As aulas teóricas são complementadas com exercícios laboratoriais.
Objetivo
Ao participar do Curso C Programming , os participantes aprenderão:
- Para entender a programação de soquete em C
- Para criar servidores e clientes e comunicar-se entre eles
- Programação TCP
- Programação de servidor HTTP
Publico Alvo
Este Curso C Programming é para programadores que tiveram experiência em qualquer linguagem de programação ou foram encarregados de um projeto de programação C, e outros tipos técnicos, incluindo gerentes e engenheiros de suporte ao cliente que precisam aprender C.
Programação de soquete em C é para programadores C que desejam aprender programação avançada de soquete usando C
Pre-Requisitos
- Experiência com programação ou linguagem assembly.
Materiais
Inglês/Português/Lab Prático
Conteúdo Programatico
Using C with UNIX
- Writing the Program
- Compiling the Program
- The C Compiler (cc)
- Make, a Program Builder
- Improved Type Checking Using Link
- Running the Program
Constant and Variable Types
- Variables
- Variable Names
- Global Variables
- External Variables
- Static Variables
- Constants
- Arrays
Expressions and Operators
- Assignment Statement
- Arithmetic operators
- Type conversion
- Comparison
- Logical Connectors
Control Statements
- The if else Statement
- The switch Statement
- Loops
- The while Loop
- The do while Loop
- The for Loop
- The break Statement
- The continue Statement
- The goto Statement
Functions in C
- Scope of Function Variables
- Modifying Function Arguments
- Pointers in C
- Arrays and Pointers
- Recursive Functions
Pointers in C
- What is a pointer?
- Advantages of a pointer
- Declaring pointers
- Using pointers to access the memory locations
- Changing pointers
- Passing and returning pointers to and from the functions
- Pointers to arrays
- Changing pointers
- Passing and returning pointers to and from the functions
- Pointers to arrays
Dynamic Memory Allocation
- Why dynamic memory allocation?
- Allocating memory dynamically with malloc ()
- Using realloc ()
- Using calloc()
- Working with strings in a dynamically allocated memory
Input and Output
- The Standard Input Output File
- Character Input / Output
- getchar
- putchar
- Formatted Input / Output
- printf
- scanf
- Whole Lines of Input and Output
- gets
- puts
Handling Files in C
- UNIX File Redirection
- C File Handling - File Pointers
- Standard file pointers in UNIX
- Closing a file using fclose
- Input and Output using file pointers
- Character Input and Output with
- Files
- Formatted Input Output with File
- Pointers
- Formatted Input Output with Strings
- Whole Line Input and Output using
- File Pointers
- Special Characters
- NULL, The Null Pointer or Character
- EOF, The End of File Marker
- Other String Handling Functions
Structures in C
- Defining a Structure
- Accessing Members of a Structure
- Structures as Function Arguments
- Further Uses of Structures
Multithreading in C
- Pthreads Overview
- What is a Thread?
- What are Pthreads?
- Why Pthreads?
- Designing Threaded Programs
The Pthreads API
Compiling Threaded Programs
Thread Management
- Creating and Terminating Threads
- Passing Arguments to Threads
- Joining and Detaching Threads
- Stack Management
- Miscellaneous Routines
Mutex Variables
- Mutex Variables Overview
- Creating and Destroying Mutexes
- Locking and Unlocking Mutexes
Condition Variables
- Condition Variables Overview
- Creating and Destroying Condition Variables
- Waiting and Signaling on Condition Variables
LLNL Specific Information and Recommendations
Socket Programming in C
Introduction
Socket Programming Basics
- Introduction to Sockets
- Coding Sockets in C
- Data transfer over sockets
- Communicating on the same machine
HTTP Protocol
- Introduction to HTTP
- Building the HTTP Server
- Testing our Web Server
- Advance Concepts
TENHO INTERESSE