MDSN Software
The MDSN DC 1.0 makes snowfall on windows desktop.
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\background\shell\runas]
"icon"="imageres.dll,73"
@="Run CMD as administrator"
[HKEY_CLASSES_ROOT\Directory\background\shell\runas\command]
@="cmd.exe /s /k \"pushd %V && title Command Prompt\""
Character | Escape Sequences | ASCII Value |
Null | \0 | 0 |
Bell (alert) | \a | 7 |
Backspase | \b | 8 |
Horizontal tab | \t | 9 |
New line | \n | 10 |
Vertical tab | \v | 11 |
Formfeed | \f | 12 |
Carriage return | \r | 13 |
Double quote | \" | 34 |
Single quote | \' | 39 |
Question mark | \? | 63 |
Backslash | \\ | 92 |
Octal number | \ooo | any |
Hexadecimal number |
\xhh | any |
#include <stdio.h>
int main(){
printf("Null=%d\n",'\0');
printf("Bell (alert)=%d\n",'\a');
printf("Backspase=%d\n",'\b');
printf("Horizontal tab=%d\n",'\t');
printf("New line=%d\n",'\n');
printf("Vertical tab=%d\n",'\v');
printf("Formfeed=%d\n",'\f');
printf("Carriage return=%d\n",'\r');
printf("Double quote=%d\n",'\"');
printf("Single quote=%d\n",'\'');
printf("Question mark=%d\n",'\?');
printf("Backslash=%d\n",'\\');
return 0;
}
#include <stdio.h>
int main(){
printf("\aC Program\n");
printf("New line =\\n\n");
printf("Percentage symbol=%%");
return 0;
}
Priority | Category | Operator | What is it (or does) | Associativity |
1 | Highest | ( ) [ ] -> . |
Function call Array subscript Indirect component selector Direct component selector |
Left to Right |
2 | Unary | ! ~ + - ++ -- & * sizeof (type) |
Logical negation (NOT) Bitwise (1's) complement Unary plus Unary minus Preincrement or postincrement Predecrement or postdecrement Address Indirection Size of operand, in bytes TypeCast |
Right to Left |
3 | Multiplicative | * / % |
Multiply Divide Remainder (modulus) |
Left to Right |
4 | Aditive | + - |
Binary plus Binary minus |
Left to Right |
5 | Shift | << >> |
Shift left Shift right |
Left to Right |
6 | Relational | < <= > >= |
Less than Less than or equal to Greater than Greater than or equal to |
Left to Right |
7 | Equality | == != |
Equal to Not equal to |
Left to Right |
8 | Bitwise AND | & | Bitwise AND | Left to Right |
9 | Bitwise XOR | ^ | Bitwise XOR | Left to Right |
10 | Bitwise OR | | | Bitwise OR | Left to Right |
11 | Logical AND | && | Logical AND | Left to Right |
12 | Logical OR | || | Logical OR | Left to Right |
13 | Conditional | ?: | "a ? x : y" means "if a then x, else y" | Right to Left |
14 | Assignment | = *= /= %= += -= &= ^= |= <<= >>= |
Simple assignment Assign product Assign quotient Assign remainder (modulus) Assign sum Assign difference Assign bitwise AND Assign bitwise XOR Assign bitwise OR Assign left shift Assign right shift |
Right to Left |
15 | Comma | , | Evaluate | Left to Right |
#include <stdio.h>
int main(){
float a=1,b=2,c=3,d;
d=a+b*c;
printf("a+b*c=%f\n",d);
d=(a+b)*c;
printf("(a+b)*c=%f",a);
return 0;
}
Operator | Meanning |
[ ] | Array subscript Operator |
( ) | Parentheses Operator |
{ } | Braces |
= | Equal sign |
, | Comma Operator (or) Punctuator |
: | Colon |
; | Semicolon |
* | Astrisk |
" " | Quotes |
' ' | Ellipsis |
Operator or punctuator |
Alternative Representation |
# | %: |
## | %:%: |
{ | <% |
} | %> |
[ | <: |
] | :> |
// Alternative Representation Example
%:include<stdio.h>
int main()
<% // Open Brace {.
char a<:5:>="MDSN"; // Array subscript operator Ex: a[5]="MDSN"
printf("%s",a); // Output MDSN
return 0;
%> // Close Brace {.
Operator or punctuator |
Alternative Representation |
& | bitand |
&& | and |
&= | and_eq |
| | bitor |
|| | or |
|= | or_eq |
^ | xor |
^= | xor_eq |
! | not |
!= | not_eq |
~ | compl |
%:include<stdio.h> // # preprocessor
%:include<iso646.h>
int main()
<% // Open Brace {.
int a=5,b=5,c=2;
if((a==5)and(a==b)) //if((a==5)&&(a==b))
{printf("a=5 and a=b\n");}
if(a not_eq c) //if(a != c)
{printf("a is not equal to c\n");}
return 0;
%> // Close Brace {.
Operator | Meaning |
& | Referencing Operator |
* | Dereferencing Operator |
+ | Unary PlusOperator |
- | Unary Minus Operator |
++ | Increment Operator |
-- | Decrement Operator |
! | Logical Not Operator |
~ | Bitwise Complement Operator |
sizeof | Size of operand in bytes |
(type) | Type Cast |
Operator | Meaning |
++a | Pre increment |
a++ | Post increment |
--a | Pre decrement |
a-- | Post decrement |
Expression | Value |
++a | 6 |
a++ | 6 |
--b | 4 |
b-- | 4 |
#include<stdio.h>
int main()
{
int a=5,b=5;
printf("Value of a=%d\n",a);
printf("Pre increment %d\n",++a);
printf("After pre increment the value of a=%d\n",a);
printf("Post increment %d\n",a++);
printf("After post increment the value of a=%d\n\n",a);
printf("Value of b=%d\n",b);
printf("Pre decrement %d\n",--b);
printf("After pre decrement the value of a=%d\n",b);
printf("Post decrement %d\n",b--);
printf("After post decrement the value of a=%d\n",b--);
return 0;
}
Expression | Interpretation | Value |
!(a==c) | False | 0 |
!(a==b) | True | 1 |
#include<stdio.h>
int main()
{
int m;
printf("%d",sizeof(int));
printf("\n%d",sizeof(m));
return 0;
}
#include<stdio.h>
int main()
{
int a=5,b=3;
float c;
c=(float) a/b;
printf("a/b=%f",c);
return 0;
}
Operator | Meaning |
&& | Logical AND |
|| | Logical OR |
! | Logical NOT |
X | Y | !X | !Y | X && Y | X || Y |
F | F | T | T | F | F |
F | T | T | F | F | T |
T | F | F | T | F | T |
T | T | F | F | T | T |
Expression | Interpretation | Value |
(a>=5)&&(a<b) | True | 1 |
!(a==c) | False | 0 |
(a!=5)||(b>c) | True | 1 |
!(a==b) | True | 1 |
#include<stdio.h>
int main()
{
int a=5,b=7,c=5;
if((a>=5)&&(a<b)){printf("\"(a>=5)&&(a<b)\" = True\n");}
else{printf("\"(a>=5)&&(a<b)\" = False\n");}
if(!(a==c)){printf("\"!(a==b) or a is not equal to c\" = True\n");}
else{printf("\"!(a==b) or a is not equal to c\" = False\n");}
if((a!=5)||(b>c)){printf("\"(a!=5)||(b>c)\" = True\n");}
else{printf("\"(a!=5)||(b>c)\" = False\n");}
if(!(a==b)){printf("\"!(a==b) or a is not equal to b\" = True\n");}
else{printf("\"!(a==b) or a is not equal to b\" = False\n");}
return 0;
}
Operator | Meanning |
< | Is less than |
<= | Is less then or equal to |
> | Is greater then |
>= | Is greater then or equal to |
!= | Is not equal to |
== | Is equal to |
Expression | Interpretation | Value |
a<b | True | 1 |
b>c | False | 0 |
a<=b | True | 1 |
c>=b | True | 1 |
c!=3 | False | 0 |
a==1 | True | 1 |
#include<stdio.h>
int main()
{
int a=1,b=2,c=3;
if(a<b)
{printf("a is less then b ,value= 1 \n");}
else{printf("a is not less then b ,value=0 \n");}
if(b>c)
{printf("b is greater then c ,value=1 \n");}
else{printf("b is not greater then c ,value=0 \n");}
if(a<=b)
{printf("a is less then or equal to b ,value=1 \n");}
else{printf("a is not less then or equal to b ,value=0 \n");}
if(c>b)
{printf("c is greater then or equal to b ,value=1 \n");}
else{printf("c is not greater then or equal to b ,value=0 \n");}
if(c!=3)
{printf("c is not equal to 3 ,value=1 \n");}
else{printf("c is equal to 3 ,value=0 \n");}
if(a==1)
{printf("a is equal to 1 ,value=1 \n");}
else{printf("a is not equal to 1 ,value=0 \n");}
return 0;
}
#include<stdio.h>
int main()
{
int a=7,b=5,c;
c=(0) ? a:b; // c=5
printf("c=%d\n",c);
c=(1) ? a:b; // c=7
printf("c=%d\n",c);
return 0;
}
#include<stdio.h>
int main()
{
int a=7,b=5,c;
c=(a>b) ? a:b;
printf("c=%d",c);
return 0;
}
// Conditional operator using multiple function
#include<stdio.h>
int comp();
int prin1();
int prin2();
int main()
{
comp()?prin1():prin2();//multiple function using Turnary Operator
return 0;
}
/* Comparing the values in comp()[function]
int comp()
{
int a=7,b=5;
if(a<b)
{return 0;}
if(a>b)
{return 1;}
}
int prin1() // printing function 1
{
printf("A is bigger\n");
return 0;
}
int prin2() // printing function 2
{
printf("B is bigger\n");
return 0;
}
Operator | Meaning |
& | Bitwise AND |
| | Bitwise OR |
^ |
Bitwise XOR |
<< | Shift Left |
>> | Shift Right |
~ | Bitwise Complement (or) One's Complement |
X | Y | X & Y | X | Y | X ^ Y |
0 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 | 1 |
1 | 0 | 0 | 1 | 1 |
1 | 1 | 1 | 1 | 0 |
0001 00112 | Left Shift(2) |
0100 11002 | <-- Insert 2 Zero's (0) |
Right Shift(2) | 0001 00112 |
Insert 2 Zero's (0) --> | 0100 11002 |
#include<stdio.h>
int main()
{
int X=19,Y=16,Z;
Z=X&Y;
printf("X&Y=%d\n",Z);
Z=X|Y;
printf("X|Y=%d\n",Z);
Z=X^Y;
printf("X^Y=%d\n",Z);
Z=X<<2;
printf("X<<2=%d\n",Z);
Z=X>>2;
printf("X>>2=%d\n",Z);
Z=~X;
printf("~X=%d\n",Z);
return 0;
}
Binary | Decimal | |
X & Y | 0001 0000 | 1610 |
X | Y | 0001 00112 | 1910 |
X ^ Y | 0000 00112 | 310 |
X<<2 | 0100 11002 | 7610 |
X>>2 | 0000 01002 | 410 |
~X | 1110 11002 | -2010 |
#include<stdio.h>
int main()
{
int x; // Declaration of a variable
x=5; // Assignment Operator
printf("x=%d",x);
return 0;
}
Operator | Example | Meaning |
+ = | X + = Y | X = X + Y |
- = | X - = Y | X = X - Y |
* = | X * = Y | X = X * Y |
/ = | X / = Y | X = X / Y |
% = | X % = Y | X = X % Y |
#include<stdio.h>
int main()
{
int x=5,y=5; // Declaration of a variable
x+=y; // Compound Assignment X = X + Y
printf("x=%d",x);
return 0;
}
#include<stdio.h>
int main()
{
int x,y,z=5; // Declaration of a variable
x=y=z; // Multiple Assignment X=Y=Z(5)
printf("x=%d,y=%d,z=%d",x,y,z);
return 0;
}
Operator | Meaning | Example |
+ | Addition | 7 + 3 = 10 |
- | Subtraction | 10 - 3 = 7 |
* | Multiplication | 5 * 2 = 10 |
/ | Division | 10 / 2 = 5 |
% | Modulus | 9 % 2 = 1 |
// Arithmetic Operators
#include<stdio.h>
int main()
{
int X=16,Y=10,Z;
Z=X+Y;
printf("X+Y=%d\n",Z);
Z=X-Y;
printf("X-Y=%d\n",Z);
Z=X*Y;
printf("X*Y=%d\n",Z);
Z=X/Y;
printf("X/Y=%d\n",Z);
Z=X%Y;
printf("X%%Y=%d\n\b",Z);
return 0;
}
Decimal Number | 0 to 9 | Ex: 7, 8, 6, -80, 786, etc., |
Octal Number | 0 to 7 | EX: 0, 012, 052, etc., |
Hexadecimal Number | 0 to 9, A, B, C, D, E, F | Ex: 0x786, 0xA123, 0x2b, etc., |
Float Constant | Value |
7.867e3 | 7,867 |
4e-11 | 0.00000000004 |
1e+5 | 100000 |
7.e10 | 60000000000 |
0.16 | 0.16 |
#include <stdio.h>
#define Length 10 //Preprocessor
#define Width 5 //Preprocessor
int main(){
int Area;
Area=Length*Width;
printf("Area=%d",Area);
return 0;
}
#include <stdio.h>
int main(){
const Length=10, Width=5; // Keyword
int Area;
Area=Length*Width;
printf("Area=%d",Area);
return 0;
}
auto | extern | sizeof |
break | float | static |
case | for | struct |
char | goto | switch |
const | if | typdef |
continue | int | union |
default | long | unsigned |
do | register | void |
double | return | volatile |
else | short | while |
enum | signed |
asm | inline | this |
bool | mutable | throw |
catch | namespace | true |
class | new | try |
const_cast | operator | typeid |
delete | private | typename |
dynamic_cast | protected | using |
explicit | public | virtual |
export | reinterpret_cast | wchar_t |
false | static_cast | |
friend | template |