diff options
Diffstat (limited to 'Teach_Yourself_C_in_24_Hours/hour23.ipynb')
-rwxr-xr-x | Teach_Yourself_C_in_24_Hours/hour23.ipynb | 232 |
1 files changed, 232 insertions, 0 deletions
diff --git a/Teach_Yourself_C_in_24_Hours/hour23.ipynb b/Teach_Yourself_C_in_24_Hours/hour23.ipynb new file mode 100755 index 00000000..ba61a82d --- /dev/null +++ b/Teach_Yourself_C_in_24_Hours/hour23.ipynb @@ -0,0 +1,232 @@ +{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:95f715496e847b4ccbd328c0da6129f101af5cd4b3c551a2f5644703db14657d"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Hour 23 : Compiling Programs: The C Preprocessor"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 23.1, Page No 394"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "METHOD = \"ABS\"\n",
+ "def ABS(val):\n",
+ " if val < 0:\n",
+ " return -(val)\n",
+ " else:\n",
+ " return (val)\n",
+ "MAX_LEN = 8\n",
+ "NEGATIVE_NUM = -10\n",
+ "array = range(MAX_LEN)\n",
+ "print \"The orignal values in array:\"\n",
+ "for i in range(MAX_LEN):\n",
+ " array[i] = (i + 1) * NEGATIVE_NUM;\n",
+ " print \"array[\",i,\"]:\",array[i]\n",
+ "print \"\\nApplying the \",METHOD,\" macro:\\n\"\n",
+ "for i in range(MAX_LEN):\n",
+ " print \"ABS(%d) : \"%(array[i]), ABS(array[i])"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The orignal values in array:\n",
+ "array[ 0 ]: -10\n",
+ "array[ 1 ]: -20\n",
+ "array[ 2 ]: -30\n",
+ "array[ 3 ]: -40\n",
+ "array[ 4 ]: -50\n",
+ "array[ 5 ]: -60\n",
+ "array[ 6 ]: -70\n",
+ "array[ 7 ]: -80\n",
+ "\n",
+ "Applying the ABS macro:\n",
+ "\n",
+ "ABS(-10) : 10\n",
+ "ABS(-20) : 20\n",
+ "ABS(-30) : 30\n",
+ "ABS(-40) : 40\n",
+ "ABS(-50) : 50\n",
+ "ABS(-60) : 60\n",
+ "ABS(-70) : 70\n",
+ "ABS(-80) : 80\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 23.2, Page No 398"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#There is no concept of the mentioned directives in Python.\n",
+ "UPPER_CASE = True\n",
+ "LOWER_CASE = False\n",
+ "if UPPER_CASE:\n",
+ " print \"THIS LINE IS PRINTED OUT,\\n\"\n",
+ " print \"BECAUSE UPPER_CASE IS DEFINED.\\n\"\n",
+ "if not LOWER_CASE:\n",
+ " print \"\\nThis line is printed out,\\n\"\n",
+ " print \"because LOWER_CASE is not defined.\\n\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "THIS LINE IS PRINTED OUT,\n",
+ "\n",
+ "BECAUSE UPPER_CASE IS DEFINED.\n",
+ "\n",
+ "\n",
+ "This line is printed out,\n",
+ "\n",
+ "because LOWER_CASE is not defined.\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 23.3, Page No 401"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "C_LANG = 'C'\n",
+ "B_LANG = 'B'\n",
+ "NO_ERROR = 0\n",
+ "if C_LANG == 'C' and B_LANG == 'B':\n",
+ " del C_LANG\n",
+ " C_LANG = \"I only know C language.\\n\"\n",
+ " print C_LANG\n",
+ " del B_LANG\n",
+ " B_LANG = \"I know BASIC.\\n\"\n",
+ " print C_LANG,B_LANG\n",
+ "elif C_LANG == 'C':\n",
+ " del C_LANG\n",
+ " C_LANG = \"I only know C language.\\n\"\n",
+ " print C_LANG\n",
+ "elif B_LANG == 'B':\n",
+ " del B_LANG\n",
+ " B_LANG = \"I only know BASIC.\\n\"\n",
+ " print B_LANG\n",
+ "else:\n",
+ " print \"\u201cI don\u2019t know C or BASIC.\\n\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "I only know C language.\n",
+ "\n",
+ "I only know C language.\n",
+ "I know BASIC.\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 23.4, Page No 403"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "ZERO = 0\n",
+ "ONE = 1\n",
+ "TWO = ONE + ONE\n",
+ "THREE = ONE + TWO\n",
+ "TEST_1 = ONE\n",
+ "TEST_2 = TWO\n",
+ "TEST_3 = THREE\n",
+ "MAX_NUM = THREE\n",
+ "NO_ERROR = ZERO\n",
+ "def StrPrint(ptr_s,max1):\n",
+ " for i in range(max1):\n",
+ " print \"Content: \",ptr_s[i],\"\\n\"\n",
+ "\n",
+ "str1 = [\"The choice of a point of view\",\"is the initial act of culture.\",\"--- by O. Gasset\"]\n",
+ "if TEST_1 == 1:\n",
+ " if TEST_2 == 2:\n",
+ " if TEST_3 == 3:\n",
+ " StrPrint(str1,MAX_NUM)\n",
+ " else:\n",
+ " StrPrint(str1,MAX_NUM - ONE)\n",
+ " else:\n",
+ " StrPrint(str1,MAX_NUM - ONE)\n",
+ "else:\n",
+ " \"No TEST macro has been set.\\n\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Content: The choice of a point of view \n",
+ "\n",
+ "Content: is the initial act of culture. \n",
+ "\n",
+ "Content: --- by O. Gasset \n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file |