summaryrefslogtreecommitdiff
path: root/Mastering_C/chapter2.ipynb
diff options
context:
space:
mode:
Diffstat (limited to 'Mastering_C/chapter2.ipynb')
-rw-r--r--Mastering_C/chapter2.ipynb981
1 files changed, 981 insertions, 0 deletions
diff --git a/Mastering_C/chapter2.ipynb b/Mastering_C/chapter2.ipynb
new file mode 100644
index 00000000..03566b1a
--- /dev/null
+++ b/Mastering_C/chapter2.ipynb
@@ -0,0 +1,981 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:c47c99279bcc1ed930609c37047619e07a7ba5a5f3802de8eeb54d6cf31ebdd4"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 2: Variables and Expressions"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example integer.c, page no. 35"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "val = 10\n",
+ "print \"%d\" %val"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "10\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example float.c, page no. 36"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "i_var = 10\n",
+ "f_var = 100.3125\n",
+ "print \"i_var is %d and f_var is %f\" %(i_var, f_var)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "i_var is 10 and f_var is 100.312500\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example decimal.c, page no. 37"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "inp_int = int(raw_input())\n",
+ "print \"The input integer (in decimal) is %u\" %inp_int\n",
+ "print \"The input integer (in hexadecimal) is %x\" %inp_int"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "45\n"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The input integer (in decimal) is 45\n",
+ "The input integer (in hexadecimal) is 2d\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example scanf.c, page no. 37"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "years = float(raw_input(\"Input your age in years: \"))\n",
+ "secs = years*365*24*60*60\n",
+ "print \"You have lived for %0.1f seconds\" %secs"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Input your age in years: 21\n"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "You have lived for 662256000.0 seconds\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example char.c, page no. 38"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "c = '#'\n",
+ "print \"This is the hash symbol: %s\" %c"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "This is the hash symbol: #\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example ascii.c, page no. 39 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "code = int(raw_input(\"Input an ASCII code (0 to 127):\" ))\n",
+ "symbol = chr(code)\n",
+ "print \"The symbol corresponding to %d is %s\" %(code,symbol)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Input an ASCII code (0 to 127):75\n"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The symbol corresponding to 75 is K\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example string.c, page no. 40"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "my_string = \"13 is unlucky.\"\n",
+ "print \"my_string: %s\" %my_string"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "my_string: 13 is unlucky.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example size.c ,page no. 41"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import sys\n",
+ "print \"Size of a int is %d\" %sys.getsizeof(int)\n",
+ "print \"Size of a long int is %d\" %sys.getsizeof(long)\n",
+ "\n",
+ "#Note: there is no short interger data type in Python\n",
+ "#Answers will differ"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Size of a int is 872\n",
+ "Size of a long int is 872\n"
+ ]
+ }
+ ],
+ "prompt_number": 27
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example inout.c, page no. 42"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "shorti = int(raw_input(\"Input short int: \"))\n",
+ "longi = int(raw_input(\"Input long int: \"))\n",
+ "print \"shorti = %d and longi = %d\" %(shorti, longi)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Input short int: 12\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Input long int: 200000000\n"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "shorti = 12 and longi = 200000000\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example beep.c, page no. 47"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "print \"%c\" %('\\x07')\n",
+ "\n",
+ "#note: there won't be any beep in Python"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\u0007\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example tax.c, page no. 49"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "sal = float(raw_input(\"Salary: \"))\n",
+ "tax = sal * 0.3\n",
+ "print \"tax = %.1f\" %tax"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Salary: 200000\n"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "tax = 60000.0\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example tax1.c, page no. 49"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "tax_rate = 0.3\n",
+ "sal = float(raw_input(\"Salary: \"))\n",
+ "tax = sal * tax_rate\n",
+ "print \"tax = %.1f\" %tax"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Salary: 200000\n"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "tax = 60000.0\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example const.c, page no. 50"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "tax_rate = 0.3\n",
+ "sal = float(raw_input(\"Salary: \"))\n",
+ "tax = sal * tax_rate\n",
+ "print \"tax = %.1f\" %tax\n",
+ "\n",
+ "#Note: there is no constant data type in Python so the program will remain same as above"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Salary: 200000\n"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "tax = 60000.0\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example const.c, page no. 50"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "tax_rate = 0.3\n",
+ "sal = float(raw_input(\"Salary: \"))\n",
+ "tax = sal * tax_rate\n",
+ "print \"tax = %.1f\" %tax\n",
+ "\n",
+ "#Note: there is no #define preprocessor in Python so the program will remain same as above"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Salary: 200000\n"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "tax = 60000.0\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example relation.c, page no. 53"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "print \"Input two numbers\"\n",
+ "i = int(raw_input(\"num1: \"))\n",
+ "j = int(raw_input(\"num2: \"))\n",
+ "if (i == j):\n",
+ " print \"They are equal.\"\n",
+ "print \"Got the message?\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Input two numbers\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "num1: 34\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "num2: 34\n"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "They are equal.\n",
+ "Got the message?\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example char.c, page no. 54"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "c = 255\n",
+ "d = -1\n",
+ "if c < 0:\n",
+ " print \"c is less than 0\"\n",
+ "else:\n",
+ " print \"c is not less than 0\"\n",
+ "if d < 0:\n",
+ " print \"d is less than 0\"\n",
+ "else:\n",
+ " print \"d is not less than 0\"\n",
+ " \n",
+ "#the program will not have output as that given in the textbook\n",
+ "#because, there is no concept of char, signed or unsigned values in Python\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "c is not less than 0\n",
+ "d is less than 0\n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example char8.c, page no. 55"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "c = '255'\n",
+ "d = '-1'\n",
+ "if c < 0:\n",
+ " print \"c is less than 0\"\n",
+ "else:\n",
+ " print \"c is not less than 0\"\n",
+ "if d < 0:\n",
+ " print \"d is less than 0\"\n",
+ "else:\n",
+ " print \"d is not less than 0\"\n",
+ "\n",
+ "#the program will not have output as that given in the textbook\n",
+ "#because, there is no concept of char, signed or unsigned values in Python"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "c is not less than 0\n",
+ "d is not less than 0\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example extract.c, page no. 59"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "i = int(raw_input(\"Input an integer: \"))\n",
+ "n = int(raw_input(\"Bit position to extract: \"))\n",
+ "bit = (i >> n)&1\n",
+ "print \"The bit is: %d\" %bit"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Input an integer: 10\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Bit position to extract: 1\n"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The bit is: 1\n"
+ ]
+ }
+ ],
+ "prompt_number": 29
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example max.c, page no. 62"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "print \"Input two numbers\"\n",
+ "i = int(raw_input(\"num1: \"))\n",
+ "j = int(raw_input(\"num2: \"))\n",
+ "larger = i if i > j else j\n",
+ "print \"The larger of the two is %d\" %larger"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Input two numbers\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "num1: 34\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "num2: 45\n"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The larger of the two is 45\n"
+ ]
+ }
+ ],
+ "prompt_number": 33
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example interest.c, page no. 65"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "p = float(raw_input(\"Principal: \"))\n",
+ "r = float(raw_input(\"Rate: \"))\n",
+ "t = float(raw_input(\"Time: \"))\n",
+ "ncmp_year = float(raw_input(\"Compoundings per year: \"))\n",
+ "simple = p * r * t / 100\n",
+ "cmp_amount = p * pow(1 + r / (ncmp_year * 100), ncmp_year * t)\n",
+ "compound = cmp_amount - p\n",
+ "print \"The simple interest is : %f\" %simple\n",
+ "print \"The compound interest is : %f\" %compound"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Principal: 1000\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Rate: 10\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Time: 2\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Compoundings per year: 4\n"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The simple interest is : 200.000000\n",
+ "The compound interest is : 218.402898\n"
+ ]
+ }
+ ],
+ "prompt_number": 35
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.10, page no. 66"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "c = float(raw_input(\"Enter temperature in celsius: \"))\n",
+ "f = 1.8 * c + 32\n",
+ "print \"Equivalent fahrenheit = %f\" %f\n",
+ "f = float(raw_input(\"Enter temperature in fahrenheit: \"))\n",
+ "c = (f - 32) / 1.8\n",
+ "print \"Equivalent celsius = %f\" %c\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Enter temperature in celsius: 10\n"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Equivalent fahrenheit = 50.000000\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Enter temperature in fahrenheit: 50\n"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Equivalent celsius = 10.000000\n"
+ ]
+ }
+ ],
+ "prompt_number": 36
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.11, page no. 66"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "print \"Enter the 3 sides: \"\n",
+ "a = float(raw_input(\"side1:\"))\n",
+ "b = float(raw_input(\"side2:\"))\n",
+ "c = float(raw_input(\"side3:\"))\n",
+ "peri = a + b + c\n",
+ "s = peri / 2\n",
+ "area = math.sqrt(s * (s - a) * (s - b) * (s - c))\n",
+ "print \"Area of the triangle is %f\" %area"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Enter the 3 sides: \n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "side1:4\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "side2:5\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "side3:6\n"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Area of the triangle is 9.921567\n"
+ ]
+ }
+ ],
+ "prompt_number": 39
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.12, page no. 67"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "b = float(raw_input(\"Enter the base: \"))\n",
+ "h = float(raw_input(\"Enter the height: \"))\n",
+ "area = b * h / 2\n",
+ "print \"Area of the triangle is %f\" %area"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Enter the base: 3\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Enter the height: 2\n"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Area of the triangle is 3.000000\n"
+ ]
+ }
+ ],
+ "prompt_number": 40
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file