C programming Language – Code snippets
C Programming Language, 2nd Edition
Compiling and running the sample codes using gcc :
1 2 | gcc sample.c -o sample . /sample |
Chapter 2 – Types, Operators and Expressions
1.Convert to lower case.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | #include<stdio.h> int main( int argc, char *argv[]) { while (*argv[1]) { if (*argv[1] >= 'A' && *argv[1] <= 'Z' ) { putchar (*argv[1] + 'a' - 'A' ); *++argv[1]; } else { putchar (*argv[1]); *++argv[1]; } } printf ( "\n" ); return 0; } |
2. Get bits
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #include<stdio.h> unsigned getbits(unsigned x, int p, int n); int main() { int x=16; printf ( "%d\n" ,getbits(x,4,3)); return 0; } unsigned getbits(unsigned x, int p, int n) { return ( x >> (p+1-n)) & ~(~0 << n); } |
3. Count one bits
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | #include<stdio.h> int bitcount(unsigned x); int main() { unsigned short x=38; printf ( "%d has %d 1 bits\n" ,x,bitcount(x)); return 0; } int bitcount(unsigned x) { int b; for (b=0; x!=0; x>>=1) if (x&1) b++; return b; } |
4. Remove character from string
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | #include<stdio.h> int main( int argc, char *argv[]) { if (argc !=3) { printf ( "usage: del string char\n" ); return -1;} while (*argv[1]) { if (*argv[1] != *argv[2]) { putchar (*argv[1]); *++argv[1]; } else { *++argv[1]; continue ; } } printf ( "\n" ); return 0; } |
5. Convert x to binary
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | #include<stdio.h> #define LEN 16 int main() { int x=112,counter=0; int binary[LEN]={0}; while (x) { binary[counter]=x%2; x/=2; counter++; } while (counter>=0) { printf ( "%d" ,binary[counter]); counter--; } printf ( "\n" ); return 0; } |
6. Convert char to integer
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #include<stdio.h> #define NUM 1 int main( int argc, char *argv[]) { int counter=1,n=0; if (argc!=2) { printf ( "usage: atoi arglist\n" ); return -1;} while (*argv[NUM]) { if (*argv[NUM]>= '0' && *argv[NUM]<= '9' ) { n=10*n+(*argv[NUM]- '0' ); *++argv[NUM]; } else { *++argv[NUM]; continue ; } } printf ( "number=%d\n" ,n); return 0; } |
Reference –
https://www.amazon.com/Programming-Language-2nd-Brian-Kernighan/dp/0131103628#reader_0131103628