diff options
Diffstat (limited to 'Programming_in_C_using_ANSI_C/KamthaneChapter11.ipynb')
-rwxr-xr-x | Programming_in_C_using_ANSI_C/KamthaneChapter11.ipynb | 446 |
1 files changed, 446 insertions, 0 deletions
diff --git a/Programming_in_C_using_ANSI_C/KamthaneChapter11.ipynb b/Programming_in_C_using_ANSI_C/KamthaneChapter11.ipynb new file mode 100755 index 00000000..c8fac375 --- /dev/null +++ b/Programming_in_C_using_ANSI_C/KamthaneChapter11.ipynb @@ -0,0 +1,446 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h1>Chapter 11: Storage Class<h1>"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h3>Example 11.1, Page number: 376<h3>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Working of auto variable\n",
+ "\n",
+ "import sys\n",
+ "\n",
+ "#Functio definitions\n",
+ "def call1():\n",
+ " v = 20\n",
+ " sys.stdout.write(\"\\nV = %d\"%(v))\n",
+ " \n",
+ "def call2():\n",
+ " v = 30\n",
+ " call1()\n",
+ " sys.stdout.write(\"\\nV = %d\"%(v))\n",
+ " \n",
+ "#Variable Initialization\n",
+ "v = 10\n",
+ "\n",
+ "#Function call\n",
+ "call2()\n",
+ "\n",
+ "#Result\n",
+ "sys.stdout.write(\"\\nV = %d\"%(v))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ "V = 20\n",
+ "V = 30\n",
+ "V = 10"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h3>Example 11.2, Page number: 376<h3>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Working of auto variables in different blocks\n",
+ "\n",
+ "import sys\n",
+ "\n",
+ "#Variable Initialization\n",
+ "x = 10\n",
+ "\n",
+ "sys.stdout.write(\"\\nX = %d\"%(x))\n",
+ "\n",
+ "x = 20\n",
+ "sys.stdout.write(\"\\nX = %d\"%(x))\n",
+ "\n",
+ "x = 10\n",
+ "sys.stdout.write(\"\\nX = %d\"%(x))\n",
+ "\n",
+ "#In python, block of statements are indicated using intendation.\n",
+ "#block of statements can be written for conditional,loop or function statements"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ "X = 10\n",
+ "X = 20\n",
+ "X = 10"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h3>Example 11.3, Page number: 377<h3>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Use same variable in different blocks with different data types\n",
+ "\n",
+ "import sys\n",
+ "\n",
+ "#Variable Initialization & Result\n",
+ "x = 10\n",
+ "sys.stdout.write(\"\\nX = %d\"%(x))\n",
+ "\n",
+ "x = 2.22\n",
+ "sys.stdout.write(\"\\nX = %g\"%(x))\n",
+ "\n",
+ "x = \"Auto Storage Class\"\n",
+ "sys.stdout.write(\"\\nX = %s\"%(x))\n",
+ "\n",
+ "x = 10\n",
+ "sys.stdout.write(\"\\nX = %d\"%(x))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ "X = 10\n",
+ "X = 2.22\n",
+ "X = Auto Storage Class\n",
+ "X = 10"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h3>Example 11.4, Page number: 378<h3>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Working of external variables\n",
+ "\n",
+ "import sys\n",
+ "\n",
+ "#Function definitions\n",
+ "def call1():\n",
+ " sys.stdout.write(\"\\nIn Call1() V = %d\"%(v))\n",
+ " \n",
+ "def call2():\n",
+ " sys.stdout.write(\"\\nIn call2() V = %d\"%(v))\n",
+ " \n",
+ "#Variable Initialization\n",
+ "global v\n",
+ "v = 10\n",
+ "\n",
+ "call1()\n",
+ "call2()\n",
+ "sys.stdout.write(\"\\nIn main() V = %d\"%(v))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ "In Call1() V = 10\n",
+ "In call2() V = 10\n",
+ "In main() V = 10"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h3>Example 11.5, Page number: 379<h3>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Working of auto and global variables with same name\n",
+ "\n",
+ "import sys\n",
+ "\n",
+ "#Function definitions\n",
+ "def call1():\n",
+ " v = 20\n",
+ " sys.stdout.write(\"\\nIn Call1() V = %d\"%(v))\n",
+ " \n",
+ "def call2():\n",
+ " sys.stdout.write(\"\\nIn call2() V = %d\"%(v))\n",
+ " \n",
+ "#Variable Initialization\n",
+ "global v\n",
+ "v = 10\n",
+ "\n",
+ "#Function call\n",
+ "call1()\n",
+ "call2()\n",
+ "\n",
+ "#Result\n",
+ "sys.stdout.write(\"\\nIn main() V = %d\"%(v))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ "In Call1() V = 20\n",
+ "In call2() V = 10\n",
+ "In main() V = 10"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h3>Example 11.6, Page number: 380<h3>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Declare external variables using extern keyword\n",
+ "\n",
+ "#Variable Initialization\n",
+ "global m\n",
+ "m = 10\n",
+ "\n",
+ "#There is no extern keyword in python, global is used instead\n",
+ "sys.stdout.write(\"\\nM = %d\"%(m))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ "M = 10"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h3>Example 11.7, Page number: 380<h3>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Use of static variable\n",
+ "\n",
+ "import sys\n",
+ "\n",
+ "#Function definition\n",
+ "def print1(m):\n",
+ " sys.stdout.write(\"\\nm = %d\"%(m))\n",
+ " if m == 3:\n",
+ " return\n",
+ " \n",
+ "m = 0\n",
+ "\n",
+ "for i in range(0,3):\n",
+ " m += 1\n",
+ " print1(m)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ "m = 1\n",
+ "m = 2\n",
+ "m = 3"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h3>Example 11.8, Page number: 381<h3>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Difference between variables of auto and static class\n",
+ "\n",
+ "import sys\n",
+ "\n",
+ "#Result\n",
+ "y = 0\n",
+ "sys.stdout.write(\"\\nx = %d & y = %d\"%(x,y))\n",
+ "\n",
+ "#Since x display the junk value which stored already, it differs in different systems"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ "x = 10 & y = 0"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h3>Example 11.9, Page number: 382<h3>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Register class variable\n",
+ "\n",
+ "import sys\n",
+ "\n",
+ "#There is no register keyword in python\n",
+ "m = 1\n",
+ "\n",
+ "#Result\n",
+ "for m in range(1,5+1):\n",
+ " sys.stdout.write(\"\\t%d\"%(m))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\t1\t2\t3\t4\t5"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h3>Example 11.10, Page number: 382<h3>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Register class variable\n",
+ "\n",
+ "import sys\n",
+ "\n",
+ "#There is no register class variable in python\n",
+ "m = 1\n",
+ "\n",
+ "for m in range(1,6):\n",
+ " sys.stdout.write(\"\\t%d\"%(m))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\t1\t2\t3\t4\t5"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file |