[C Programming]
1 ASCII code Here is the ASCII code table: Dec Hx Oct Char Dec Hx Oct Html ChrDec Hx Oct Html Chr Dec Hx Oct Html Chr 00 000 NUL (null) 32 20 040   Space 64 40 100 @ @ 96 60 140 ` 1 1 001 SOH (start of heading) 33 21 041 ! ! 65 41 101 A A 97 61 141 a a 2 2 002 STX (start of text) 34 22 042 " " 66 42 102 B B 98 62 142 b b 3 003 ETX (end of text) 35 23 043 # # | 99 63 143 c C 4 004 EOT (end of transmission) 36 24 044 $ $ 68 44 104 D D 100 64 144 d d 5 5 005 ENQ (enquiry) 37 25 045 % 69 45 105 E E 101 65 145 e e 6 6 006 ACK (acknowledge) 38 26 046 & & 70 46 106 F F 102 66 146 f f 7 7 007 BEL (bell) 39 27 047 ' 71 47 107 G G 103 67 147 g 9 8 8 010 BS (backspace) 40 28 050 (( 72 48 110 H H 104 68 150 h h 9 9 011 TAB (horizontal tab) 41 29 051 )) 73 49 111 I I 105 69 151 i i 10 A 012 LF (NL line feed, new line) 42 2A 052 * * 74 44 112 J J 106 6A 152 j ) 11 B013 VT (vertical tab) 43 2B 053 + + 75 4B 113 #75; K 107 6B 153 kk 12 C 014 FF (NP form feed, new page) 44 2C 054 , 76 4C 114 L L 108 6C 154 l 1 13 D015 CR (carriage return) 45 2D 055 - - 77 4D 115 M M 109 6D 155 m m 14 E016 SO (shift out) 46 2E 056 . . 78 4E 116 N N 110 6E 156 n n 15 F017 SI (shift in) 47 2F 057 // 79 4F 117 O 0 111 6 157 o O 16 10 020 DLE (data link escape) 48 30 060 #48; 0 80 50 120 P P 112 70 160 p p 17 ll 021 DCl (device control 1) 49 31 061 6#49; 1 81 51 121 Q 0 113 21 161 q 9 18 12 022 DC2 (device control 2) 50 32 062 2 2 82 52 122 R R 114 72 162 r r 19 13 023 DC3 (device control 3) 51 33 063 6#51; 3 83 53 123 S S 115 73 163 s 3 20 14 024 DC4 (device control 4) 52 34 064 4 4 84 54 124 T T 116 74 164 tt 21 15 025 NAK (negative acknowledge) 53 35 065 5 5 85 55 125 U U |117 75 165 u u 22 16 026 SYN (synchronous idle) 54 36 066 6 6 86 56 126 V V 118 76 166 v V 23 17 027 ETB (end of trans. block) 55 37 067 G#55; 7 87 57 127 W W 119 77 167 w W 24 18 030 CAN (cancel) 56 38 070 8 8 88 58 130 X X 120 78 170 x X 25 19 031 EM (end of medium) 57 39 071 9 9 89 59 131 Y Y 121 79 171 y Y 26 1A 032 SUB (substitute) 58 3A 072 : : 90 5A 132 Z Z 122 7A 172 z Z 27 1B 033 ESC (escape) 59 3B 073 ;; 91 5B 133 [ [ 123 7B 173 { { 28 1C 034 FS (file separator) 60 3C 074 < < 92 5C 134 \ 124 7C 174 | 29 ID 035 GS (group separator) 61 3D 075 = = 93 5D 135 ]] 125 7D 175 } } 30 IE 036 RS (record separator) 62 3E 076 >> 94 5E 136 ^ 126 7E 176 ~ 31 1F 037 US (unit separator) 63 3F 077 ? ? 95 5F 137 _ -127 7F 177  DEL Source: www.Lookup Tables.com And here is a program (prtASCII.c) that prints out the table: #include <stdio.h> int main() int i; for( i=0; i<=127 ; i++ ) / *ASCII values ranges from 0-127*/ printf("ASCII value of character %c = %dn", i, i); return 0; Try it. Why does this work given that we are printing out the same variable 'i' twice and getting two different things - a character and a numeric code? Task 1: Write a program - name TOASCII.C - that reads a name and prints an ASCII character for each letter. Task 2: A palindrome is a word that reads the same from front and back. Write a program (you can start with palindrome.c) to detect if a word is a palindrome or not. Your program should interact with a user as follows: Enter a word or "q" to stop: something "something" is not a palindrome Enter a word or "q" to stop: kayak "kayak" is a palindrome Enter a word or "q" to stop: q Show transcribed image text 1 ASCII code Here is the ASCII code table: Dec Hx Oct Char Dec Hx Oct Html ChrDec Hx Oct Html Chr Dec Hx Oct Html Chr 00 000 NUL (null) 32 20 040 Space 64 40 100 @ @ 96 60 140 ` 1 1 001 SOH (start of heading) 33 21 041 ! ! 65 41 101 A A 97 61 141 a a 2 2 002 STX (start of text) 34 22 042 " " 66 42 102 B B 98 62 142 b b 3 003 ETX (end of text) 35 23 043 # # | 99 63 143 c C 4 004 EOT (end of transmission) 36 24 044 $ $ 68 44 104 D D 100 64 144 d d 5 5 005 ENQ (enquiry) 37 25 045 % 69 45 105 E E 101 65 145 e e 6 6 006 ACK (acknowledge) 38 26 046 & & 70 46 106 F F 102 66 146 f f 7 7 007 BEL (bell) 39 27 047 ' 71 47 107 G G 103 67 147 g 9 8 8 010 BS (backspace) 40 28 050 (( 72 48 110 H H 104 68 150 h h 9 9 011 TAB (horizontal tab) 41 29 051 )) 73 49 111 I I 105 69 151 i i 10 A 012 LF (NL line feed, new line) 42 2A 052 * * 74 44 112 J J 106 6A 152 j ) 11 B013 VT (vertical tab) 43 2B 053 + + 75 4B 113 #75; K 107 6B 153 kk 12 C 014 FF (NP form feed, new page) 44 2C 054 , 76 4C 114 L L 108 6C 154 l 1 13 D015 CR (carriage return) 45 2D 055 - - 77 4D 115 M M 109 6D 155 m m 14 E016 SO (shift out) 46 2E 056 . . 78 4E 116 N N 110 6E 156 n n 15 F017 SI (shift in) 47 2F 057 // 79 4F 117 O 0 111 6 157 o O 16 10 020 DLE (data link escape) 48 30 060 #48; 0 80 50 120 P P 112 70 160 p p 17 ll 021 DCl (device control 1) 49 31 061 6#49; 1 81 51 121 Q 0 113 21 161 q 9 18 12 022 DC2 (device control 2) 50 32 062 2 2 82 52 122 R R 114 72 162 r r 19 13 023 DC3 (device control 3) 51 33 063 6#51; 3 83 53 123 S S 115 73 163 s 3 20 14 024 DC4 (device control 4) 52 34 064 4 4 84 54 124 T T 116 74 164 tt 21 15 025 NAK (negative acknowledge) 53 35 065 5 5 85 55 125 U U |117 75 165 u u 22 16 026 SYN (synchronous idle) 54 36 066 6 6 86 56 126 V V 118 76 166 v V 23 17 027 ETB (end of trans. block) 55 37 067 G#55; 7 87 57 127 W W 119 77 167 w W 24 18 030 CAN (cancel) 56 38 070 8 8 88 58 130 X X 120 78 170 x X 25 19 031 EM (end of medium) 57 39 071 9 9 89 59 131 Y Y 121 79 171 y Y 26 1A 032 SUB (substitute) 58 3A 072 : : 90 5A 132 Z Z 122 7A 172 z Z 27 1B 033 ESC (escape) 59 3B 073 ;; 91 5B 133 [ [ 123 7B 173 { { 28 1C 034 FS (file separator) 60 3C 074 < 94 5E 136 ^ 126 7E 176 ~ 31 1F 037 US (unit separator) 63 3F 077 ? ? 95 5F 137 _ -127 7F 177 DEL Source: www.Lookup Tables.com