清华大学出版社 TSINGHUA UNIVERSITY PRESS 如何提高编程能力: 第一步理清解题思路,用伪代 码描述清變解题步(自顶向下, 步细化);第二步用NS图将算 法准确地予以意示(此时分析算法 是否有错),第三步根据NS图上 机調试(训试语法是否有错)并骖诳 结果正确性(不正确则看算法)
如何提高编程能力: 第一步理清解题思路,用伪代 码描述清楚解题步骤(自顶向下, 逐步细化);第二步用N-S图将算 法准确地予以表示(此时分析算法 是否有错),第三步根据N-S图上 机调试(调试语法是否有错)并验证 结果正确性(不正确则看算法)
清华大学出版社 00 关子字符与字符串輸入的缆明 char cl, c2, temp char str 120- str 2 20 /*以下语句执行结果与通常预期不同,注意测试* scanf("%od", &i); scanf("%c, &c1): printf("errorI\n; scanf("%c, &cl); scanf(%c", &c2); printf("error2 in scan f(%od", &i); gets( str 1) printf(error n scanf("%c " &cl) gets( str 1): printf("error4 n") scanf(%os" strD) gets(str ): printf(error5In 体以下形式的语有则能避免上述语句的问题* scanf"O⌒ &cl): scant("%c, &c2): printi("%oc ok7n", c2) /*第二个%前有空格* scanf("%oc", &c1); scanf("%s", &str 1); printf("%s ok8 n", str1) gets( str 1); gets(str 2) printf("ok9\n") scanf("%od", &i); scanf("%c", &ctemp); scanf("%oc", &cl): printf("ok1on
关于字符与字符串输入的说明: int i,j; char c1,c2,ctemp; char str1[20],str2[20]; /*以下语句执行结果与通常预期不同,注意测试*/ scanf("%d",&i);scanf("%c",&c1);printf("error1\n"); scanf("%c",&c1);scanf("%c",&c2);printf("error2\n"); scanf("%d",&i);gets(str1);printf("error3\n"); scanf("%c",&c1);gets(str1);printf("error4\n"); scanf("%s",str1);gets(str1);printf("error5\n"); /*以下形式的语句则能避免上述语句的问题*/ scanf("%c",&c1);scanf(" %c",&c2);printf("%c ok7\n",c2); /*第二个%c前有空格*/ scanf("%c",&c1);scanf("%s",&str1);printf("%s ok8\n",str1); gets(str1);gets(str2);printf("ok9\n"); scanf("%d",&i);scanf("%c",&ctemp);scanf("%c",&c1);printf("ok10\n");
清华大学出版社 TSINGHUA UNIVERSITY PRESS 第八章
第八章
清华大学出版社 TSINGHUA UNIVERSITY PRESS 本章要 8.1什么是函数,为什么用函数? 82-84如何定义函数,函数工作原理如何? 88局部变量与全局变量 89/810内部函数与外部函数、变量存信类分 函数的嵌套调用、递归调用与数组作函数参数
本章要点: 8.1 什么是函数,为什么用函数? 8.2-8.4 如何定义函数,函数工作原理如何? 8.8 局部变量与全局变量 8.9/8.10 内部函数与外部函数、变量存储类别 函数的嵌套调用、递归调用与数组作函数参数
§8.1概述一什么是函数,为样么用函数? 编程求解复杂问题时通常把整个程序划分为若干 功能较为单一的程序模块,然后分别予以实现,最 后再把所有的程序模块像搭积木一样装配起来,这 种在程序设计中分而治之的策略,被称为模块化程 序设计方法 C语言把每个模块都编写成一个C函数,然后通 过主函数调用这些功能相对独立的模块从而实现大 型问题的求解。 这样,一方面可以使程序设计简单直观,提高 了程序的易读性和可维护性;另一方面可以把常用 的一些计算或操作编成通用的函数供随时调用,这 样可以大大地减轻程序员的代码工作量
§8.1概述--什么是函数,为什么用函数? 编程求解复杂问题时通常把整个程序划分为若干 功能较为单一的程序模块,然后分别予以实现,最 后再把所有的程序模块像搭积木一样装配起来,这 种在程序设计中分而治之的策略,被称为模块化程 序设计方法 C语言把每个模块都编写成一个C函数,然后通 过主函数调用这些功能相对独立的模块从而实现大 型问题的求解。 这样,一方面可以使程序设计简单直观,提高 了程序的易读性和可维护性;另一方面可以把常用 的一些计算或操作编成通用的函数供随时调用,这 样可以大大地减轻程序员的代码工作量