- std::sort() in C++ STL
- Core Dump (Segmentation fault) in C/C++
- Arrays in C/C++
- Bitwise Operators in C/C++
- Pointers in C and C++ | Set 1 (Introduction, Arithmetic and Array)
- std::string class in C++
- Converting Strings to Numbers in C/C++
- Different methods to reverse a string in C/C++
- C++ string class and its applications
- Sorting Vector of Pairs in C++ | Set 1 (Sort by first and second)
- Commonly Asked C Programming Interview Questions | Set 1
- Operators in C / C++
- C/C++ Preprocessors
- Functions in C/C++
- Memory Layout of C Programs
- Substring in C++
- Is it fine to write “void main()” or “main()” in C/C++?
- Converting string to number and vice-versa in C++
- Switch Statement in C/C++
- How to pass a 2D array as a parameter in C?
- Clearing The Input Buffer In C/C++
- Storage Classes in C
- <bits/stdc++.h> in C++
- References in C++
- unorderd_set in C++ STL
- Structures in C
- Interesting Facts about Macros and Preprocessors in C
- Dangling, Void , Null and Wild Pointers
- How to dynamically allocate a 2D array in C?
C is a procedural programming language. It was initially developed by Dennis Ritchie between 1969 and 1973. It was mainly developed as a system programming language to write operating system. The main features of C language include low-level access to memory, simple set of keywords, and clean style, these features make C language suitable for system programming like operating system or compiler development.
Beginning with C programming:
1) Finding a Compiler:
Before we start C programming, we need to have a compiler to compile and run our programs. There are certain online compilers like https://ide.geeksforgeeks.org/ , http://ideone.com/ or http://codepad.org/ that can be used to start C without installing a compiler.
Windows: There are many compilers available freely for compilation of C programs like Code Blocks and Dev-CPP . We strongly recommend Code Blocks.
Linux: For Linux, gcc comes bundled with the linux, Code Blocks can also be used with Linux.
2) Writing first program:
Following is first program in C
Let us analyze the program line by line.
Line 1: [ #include <stdio.h> ] In a C program, all lines that start with # are processed by preprocessor which is a program invoked by the compiler. In a very basic term, preprocessor takes a C program and produces another C program. The produced program has no lines starting with #, all such lines are processed by the preprocessor. In the above example, preprocessor copies the preprocessed code of stdio.h to our file. The .h files are called header files in C. These header files generally contain declaration of functions. We need stdio.h for the function printf() used in the program.
Line 2 [ int main(void) ] There must to be starting point from where execution of compiled C program begins. In C, the execution typically begins with first line of main(). The void written in brackets indicates that the main doesn’t take any parameter (See this for more details). main() can be written to take parameters also. We will be covering that in future posts.
The int written before main indicates return type of main(). The value returned by main indicates status of program termination. See this post for more details on return type.
Line 3 and 6: [ and ] In C language, a pair of curly brackets define a scope and mainly used in functions and control statements like if, else, loops. All functions must start and end with curly brackets.
Line 4 [ printf(“GeeksQuiz”); ] printf() is a standard library function to print something on standard output. The semicolon at the end of printf indicates line termination. In C, semicolon is always used to indicate end of statement.
Line 5 [ return 0; ] The return statement returns the value from main(). The returned value may be used by operating system to know termination status of your program. The value 0 typically means successful termination.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above
- Signals in C language
- kbhit in C language
- fgets() and gets() in C language
- Stopwatch using C language
- Difference between while(1) and while(0) in C language
- lvalue and rvalue in C language
- How to use POSIX semaphores in C language
- A C Programming Language Puzzle
- C Programming Language Standard
- isalnum() function in C Language
- How to clear console in C language?
- isupper() function in C Language
- Arrays in C Language | Set 2 (Properties)
- isxdigit() function in C Language
- trunc() , truncf() , truncl() in C language
Writing code in comment? Please use ide.geeksforgeeks.org , generate link and share the link here.
- calloc() versus malloc()
- Function Pointer in C
- fork() in C
- Data Types in C
- What happen when we exceed valid range of built-in data types in C++?
- Namespace in C++ | Set 1 (Introduction)
- Understanding “extern” keyword in C
- How to use getline() in C++ when there are blank lines in input?
- Enumeration (or enum) in C
- C Programming Language Standard
- Multidimensional Arrays in C / C++
- Multiple Inheritance in C++
- Difference between pointer and array in C?
- Commonly Asked C Programming Interview Questions | Set 2
- Pointer to an Array | Array Pointer
- Lexicographically next permutation in C++
- Left Shift and Right Shift Operators in C/C++
- Storage for Strings in C
- Static Variables in C
- ‘this’ pointer in C++
- Difference between “int main()” and “int main(void)” in C/C++?
- Exception Handling in C++
- Zombie Processes and their Prevention
- INT_MAX and INT_MIN in C/C++ and Applications
- Program error signals